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