- 相關(guān)推薦
Java開(kāi)發(fā)web的幾種開(kāi)發(fā)模式
Java Web開(kāi)發(fā)方案有多種可供選擇,這里列舉一些經(jīng)典的開(kāi)發(fā)模式進(jìn)行橫向比較,為Java Web的開(kāi)發(fā)模式選擇提供參考。下面是小編整理的關(guān)于Java開(kāi)發(fā)web的幾種開(kāi)發(fā)模式,希望大家認真閱讀!
Java開(kāi)發(fā)web的幾種開(kāi)發(fā)模式
JSP+JAVABEAN開(kāi)發(fā)模式:
特點(diǎn):該模式將業(yè)務(wù)邏輯與頁(yè)面表現進(jìn)行分離,在一定程度上增加了程序的可調試性和維護性。
缺點(diǎn):頁(yè)面將控制與顯示集于一身。
結論:簡(jiǎn)單,適合小型項目的快速構建與運行。
JSP+Servlet+JavaBean開(kāi)發(fā)模式:
特點(diǎn):JSP作為視圖,來(lái)表現頁(yè)面;Servlet作為控制器,控制程序的流程并調用業(yè)務(wù)進(jìn)行處理;JavaBean封裝了業(yè)務(wù)邏輯。遵循了MVC設計模式。
缺點(diǎn):沒(méi)有統一的開(kāi)發(fā)框架導致開(kāi)發(fā)周期長(cháng)。
Struts開(kāi)發(fā)方案:
特點(diǎn):成熟的MVC開(kāi)發(fā)框架。
構成:控制器:ActionServlet 組件:Struts框架的中央控制器。
RequestProcessor 組件:每個(gè)子模塊都具有的請求處理器。
Action 組件:業(yè)務(wù)代理,它將調用模型進(jìn)行一項具體的業(yè)務(wù)邏輯處理。
視圖:主要由JSP頁(yè)面構成
還包括HTML文檔;標準標簽庫(JSTL)和Struts標簽庫;
JavaScript腳本和CSS樣式;
多媒體文件;
消息資源文件;
ActionForm類(lèi)。
模式:通常在Structs中使用其他模型組建來(lái)實(shí)現業(yè)務(wù)邏輯。
如:JavaBean技術(shù)、EJB技術(shù)、Hibernates設計模式。
結論:對于一些大型的項目,Struts框架會(huì )提高開(kāi)發(fā)效率,并對后期的維護有很大好處。
Spring開(kāi)發(fā)方案:
特點(diǎn):擁有IOC和AOP兩種先進(jìn)的技術(shù)為基礎,完美的簡(jiǎn)化了企業(yè)級開(kāi)發(fā)的復雜度,
是一個(gè)理想的Web程序框架。
構成:核心模塊:實(shí)現了IOC模式,包含BeanFactory類(lèi)負責對JavaBean的配置與管理。
上下文模塊:繼承BeanFactory類(lèi),
添加了事件處理、國際化、資源裝載、透明裝載以及數據校驗等功能,
提供了框架式的Bean訪(fǎng)問(wèn)方式和很多企業(yè)級功能。
如:JNDI訪(fǎng)問(wèn)、支持EJB、遠程調用、繼承模板框架、E-mail和定時(shí)任務(wù)調度等。
AOP模塊:提供了用標準Java語(yǔ)言編寫(xiě)的AOP框架,
使應用程序拋開(kāi)EJB的復雜性,但擁有傳統EJB的關(guān)鍵功能。
DAO模塊:提供了JDBC的抽象層,并且提供了對聲明式事物和編程式事務(wù)的支持。
Web模塊:建立在上下文模塊基礎之上,提供了Servlet探聽(tīng)器的Context和Web應用的上下文。
對現有的Web框架如:JSF、Tapestry、Struts等提供了集成。
O/R映射模塊:提供了對現有ORM框架的支持如Hibernate。
Spring MVC框架:建立在核心模塊之上,嫩夠適應于多種多視圖、模板技術(shù)、國際化和驗證服務(wù),
實(shí)現控制邏輯和業(yè)務(wù)邏輯清晰的分離。
Struts+HIbernate開(kāi)發(fā)方案:
特點(diǎn):利用Struts的MVC設計模式,與Hibernate持久化對象組成的開(kāi)發(fā)方案。
Struts+Spring+Hibernate開(kāi)發(fā)方案:
特點(diǎn):Struts負責表示層,
Spring負責邏輯層的業(yè)務(wù),
Hibernate持久層中數據庫的操作,組成的開(kāi)發(fā)方案。
拓展:Java語(yǔ)言與Java技術(shù)的介紹
一、 Java語(yǔ)言的出現
自從1946年世界上第一臺電子計算機問(wèn)世以來(lái),計算模式的發(fā)展經(jīng)歷了三個(gè)階段:集中計算模式、分散計算模式和網(wǎng)絡(luò )計算模式。Internet的出現,為在網(wǎng)絡(luò )計算模式下的科學(xué)計算和信息處理提供了良好平臺。然而,要充分利用網(wǎng)絡(luò )計算模式的功能與效益,平臺的運行環(huán)境是個(gè)制約因素,而Java語(yǔ)言和Java技術(shù)則是解決這一問(wèn)題的最佳途徑。
二、Java語(yǔ)言的主要特點(diǎn)
Java語(yǔ)言是一種適用于網(wǎng)絡(luò )編程的語(yǔ)言,它的基本結構與C++極為相似,但卻簡(jiǎn)單得多。它集成了其它一些語(yǔ)言的特點(diǎn)和優(yōu)勢,又避開(kāi)了它們的不足之處。它的主要特點(diǎn)如下:
1. 簡(jiǎn)單性
Java增加了內存空間自動(dòng)垃圾收集的功能,復雜特性的省略和實(shí)用功能的增加使得開(kāi)發(fā)變得簡(jiǎn)單而可靠,系統非常小,其基本解釋和類(lèi)支持部分只占40KB,附加的基本標準庫和線(xiàn)程支持也只需增加175KB。因此,Java應用軟件能在相當小的系統之上獨立工作。
2. 平臺的獨立性
可以說(shuō)這是Java最吸引人的地方。由于它采用先編譯成中間碼(字節碼),然后裝載與校驗,再解釋成不同的機器碼來(lái)執行,即“Java虛擬機”的思想,“屏蔽”了具體的“平臺環(huán)境”特性要求,使得只要能支持Java虛擬機,就可運行各種Java程序。
3. 面向對象的技術(shù)
面向對象的技術(shù)是近年來(lái)軟件開(kāi)發(fā)中用得最為普遍的程序設計方法,它通過(guò)把客觀(guān)事物進(jìn)行分類(lèi)組合、參數封裝、用成員變量來(lái)描述對象的性質(zhì)、狀態(tài),而用方法(成員函數)來(lái)實(shí)現其行為和功能。
4. 多線(xiàn)程
多線(xiàn)程機制使應用程序能并行執行,Java有一套成熟的同步原語(yǔ) ,保證了對共享數據的正確操作.通過(guò)使用多線(xiàn)程,程序設計者可以分別用不同的線(xiàn)程完成特定的行為,而不需要采用全局的事件循環(huán)機制,這樣就很容易實(shí)現網(wǎng)絡(luò )上實(shí)時(shí)的交互行為。
5. 動(dòng)態(tài)性
Java的設計使它適合于一個(gè)不斷發(fā)展的環(huán)境。在類(lèi)庫中可以自由地加入新的方法和實(shí)例變量而不會(huì )影響用戶(hù)程序的執行。并且Java通過(guò)接口來(lái)支持多重繼承,使之比嚴格的類(lèi)繼承具有更靈活的方式和擴展性。
6. 安全性
Java有建立在公共密鑰技術(shù)基礎上的確認技術(shù),指示器語(yǔ)義的改變將使應用程序不能再去訪(fǎng)問(wèn)以前的數據結構或是私有數據,大多數病毒也就無(wú)法破壞數據.因而,用Java可以構造出無(wú)病毒、安全的系統。
三、Java語(yǔ)言的發(fā)展
Java自正式問(wèn)世以來(lái)已經(jīng)歷了17年的歷程,時(shí)間雖短,發(fā)展極快。一年一度在美國舊金山召開(kāi)的世界Java One語(yǔ)言開(kāi)發(fā)者大會(huì ),既是了解Java最新技術(shù)動(dòng)態(tài)、應用成果和下一步發(fā)展趨勢的最好場(chǎng)所,又是推動(dòng)下一年Java快速發(fā)展的重要動(dòng)力。
1. 重點(diǎn)放在企業(yè)平臺
隨著(zhù)Internet的飛速發(fā)展,企業(yè)計算模式正摒棄C/S結構而采用Web-Browser結構,此即瘦客戶(hù)端/胖服務(wù)器、大容量數據庫的3層或N層體系結構。由于Java的特點(diǎn),使得它在開(kāi)發(fā)服務(wù)器端的應用程序方面有著(zhù)得天獨厚的優(yōu)勢,面向服務(wù)器端的J2EE為當今逐漸流行的N層體系結構提供了一個(gè)標準的Java計算平臺:界面一致、工具簡(jiǎn)易、豐富、Web頁(yè)面互聯(lián)便捷,從而能大大加速和簡(jiǎn)化各種應用系統的開(kāi)發(fā)。
2. 加速后PC時(shí)代的進(jìn)程
計算機的發(fā)展創(chuàng )造了Internet,但是計算機現在卻不是訪(fǎng)問(wèn)Internet的唯一方式。正在出現的信息化、智能化的消費類(lèi)電子產(chǎn)品打破了PC作為信息終端的壟斷地位,成為人類(lèi)進(jìn)入Internet的新門(mén)戶(hù)。信息終端的多元化預示著(zhù)所謂后PC(post-PC)時(shí)代的到來(lái)。消費類(lèi)的信息終端量大面廣,是典型的瘦客戶(hù)機,其本身的資源和能力不能與PC相比,但必須更加智能化,并對服務(wù)器端的管理提出了更高的要求。而Java平臺恰恰滿(mǎn)足了這種要求。
3. 應用系統異彩紛呈
Java語(yǔ)言的出現和發(fā)展,得到了IT業(yè)界的青睞,它像一面大旗,凝聚了世界眾多的廠(chǎng)商與Sun公司一道,結成了對抗微軟壟斷的聯(lián)盟特別在實(shí)時(shí)系統開(kāi)發(fā)方面,以IBM為首開(kāi)發(fā)出了應用于工業(yè)實(shí)時(shí)環(huán)境的Java嵌入系統,展現出Java在工業(yè)領(lǐng)域的廣闊應用前景。
4. Java技術(shù)
Java發(fā)展至今日,已不僅僅是一種編程語(yǔ)言,實(shí)際上已形成了一門(mén)技術(shù).其內容包括:
(1)Java軟件包,Java語(yǔ)言及其編程技術(shù)、Java OS、Java開(kāi)發(fā)環(huán)境與工具、Java語(yǔ)言的各種軟件包、數據庫接口JDBC等。
(2)Java虛擬機及其規范。
(3)Java嵌入技術(shù)(Java芯片)已推出的有Java戒指、Java卡等。Java處理器將應用在從低價(jià)消費電子產(chǎn)品到高端因特網(wǎng)服務(wù)器領(lǐng)域。
(4)Java計算,基于Java技術(shù)的企業(yè)Internet/Intranet信息系統以及其他應用系統。
四、結語(yǔ)
Java自問(wèn)世以來(lái),以其得天獨厚的優(yōu)勢,在IT業(yè)界掀起了研究、開(kāi)發(fā)它的浪潮,顯示了“鵬程萬(wàn)里”的美好前景。作為一種與底層硬件無(wú)關(guān)的、“編寫(xiě)一次,到處運行”的高級語(yǔ)言和計算平臺,Java天生就具有將網(wǎng)絡(luò )上的各個(gè)平臺連成一體的能力,真正實(shí)現了“網(wǎng)絡(luò )就是計算機”的理念。以Java為代表的網(wǎng)絡(luò )的成長(cháng),改變了我們的聯(lián)系方式、生活方式、學(xué)習方式和經(jīng)營(yíng)方式。它的來(lái)到使我們目睹了一場(chǎng)類(lèi)似印刷術(shù)的重大變革。毫無(wú)疑問(wèn),它將影響人類(lèi)社會(huì )的發(fā)展,加速人類(lèi)進(jìn)入網(wǎng)絡(luò )時(shí)代!
【Java開(kāi)發(fā)web的幾種開(kāi)發(fā)模式】相關(guān)文章:
web前端開(kāi)發(fā)工程師工作的崗位職責06-22
JAVA和.NET開(kāi)發(fā)過(guò)程中的區別04-27
Java中級開(kāi)發(fā)工程師知識點(diǎn)歸納08-12
Java中級開(kāi)發(fā)工程師筆試題及答案201608-21
物流園區開(kāi)發(fā)運營(yíng)模式對比分析10-21
百度實(shí)習生web前端開(kāi)發(fā)工程師的面試經(jīng)歷09-02
NIIT軟件開(kāi)發(fā)專(zhuān)業(yè)07-18
軟件項目開(kāi)發(fā)崗位的設置08-13
常規游戲項目開(kāi)發(fā)流程05-19