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