資源描述:
《SSH框架的理解》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第一章什么是SSHSSH在J2EE項(xiàng)目中表示了3種框架,即Spring+Struts+Hibernate1.1Struts1.1.1Struts的起源Struts最早是作為ApacheJakarta項(xiàng)目的組成部分,項(xiàng)目的創(chuàng)立者希望通過對(duì)該項(xiàng)目的研究,改進(jìn)和提高JavaServerPages、Servlet、標(biāo)簽庫以及面向?qū)ο蟮募夹g(shù)水準(zhǔn)。Struts這個(gè)名字來源于在建筑和舊式飛機(jī)中使用的支持金屬架。這個(gè)框架之所以叫"Struts",是為了提醒我們記住那些支撐我們房屋,建筑,橋梁,甚至我們踩高蹺時(shí)候的基礎(chǔ)支撐。這也是一個(gè)解釋Struts在開發(fā)Web應(yīng)用程序中所扮演的
2、角色的精彩描述。當(dāng)建立一個(gè)物理建筑時(shí),建筑工程師使用支柱為建筑的每一層提供支持。同樣,軟件工程師使用Struts為業(yè)務(wù)應(yīng)用的每一層提供支持。它的目的是為了幫助我們減少在運(yùn)用MVC設(shè)計(jì)模型來開發(fā)Web應(yīng)用的時(shí)間。我們?nèi)匀恍枰獙W(xué)習(xí)和應(yīng)用該架構(gòu),不過它將可以完成其中一些繁重的工作。如果想混合使用Servlets和JSP的優(yōu)點(diǎn)來建立可擴(kuò)展的應(yīng)用,Struts是一個(gè)不錯(cuò)的選擇。第44頁共44頁早期Smalltalk程序語言便采用了MVC(Model-View-Controller)模式(Patterns)以增加程序代碼彈性,MVC模式將程序代碼整理切割為三部份,Model
3、部分是業(yè)務(wù)與應(yīng)用領(lǐng)域(Businessdomain)相關(guān)邏輯、管理狀態(tài)之對(duì)象,Controller部分接收來自View所輸入的資料并與Model部分互動(dòng),是業(yè)務(wù)流程控制(FlowControl)之處,View部分則負(fù)責(zé)展現(xiàn)資料、接收使用者輸入資料。在Java應(yīng)用中,JFC/Swing、AWT、JSP皆是可用作View之技術(shù)規(guī)格,而JavaBean與EnterpriseJavaBean規(guī)格則可用于Model程序代碼,一旦應(yīng)用程序以MVC模式加以適當(dāng)(的)分割,Model部分程序代碼可在不同使用者接口外觀(的)應(yīng)用程序中重復(fù)使用。隨著JSP與Servlet技術(shù)大量應(yīng)
4、用于以Web為基礎(chǔ)(的)應(yīng)用程序,Java開發(fā)人員群體認(rèn)為應(yīng)以較佳之模式以提升Web應(yīng)用程序之可維護(hù)性與重復(fù)使用性。早期JSP規(guī)格書中曾列舉兩種可行之JSP應(yīng)用架構(gòu),分別為Model1與Model2。在Model1架構(gòu)中,JSP直接處理Web瀏覽器送來之請(qǐng)求(Request),并輔以JavaBean處理應(yīng)用相關(guān)邏輯。Model1架構(gòu)單純編寫比較容易,但在Model1中JSP可能同時(shí)肩負(fù)View與Controller角色,兩類程序代碼有可能混雜而不易維護(hù)。而Model2中將Servlet納入架構(gòu)中扮演前端Controller角色,將Web瀏覽器送出之請(qǐng)求集中送至S
5、ervlet,Servlet第44頁共44頁可集中管理使用者登入、權(quán)限控制、多國語言轉(zhuǎn)換等前置處理,再視需求轉(zhuǎn)向給對(duì)應(yīng)之JSP處理。Model2中采用了較佳之MVC模式,但增加了編寫復(fù)雜度。Struts是Apache軟件基金下Jakarta項(xiàng)目的一部分。除Struts之外,還有其他成功的開源產(chǎn)品,包括Tomcat,Ant和Velocity。2000年CraigR.McClanahan先生貢獻(xiàn)了他編寫的JSPModel2架構(gòu)之ApplicationFramework原始程序代碼給Apache基金會(huì),成為ApacheJakarta計(jì)劃StrutsFramework前
6、身。開始的代碼基礎(chǔ)從2000年5月開始開發(fā),直到2001年6月,1.0版本發(fā)布。有30多個(gè)開發(fā)者參與進(jìn)來,并有數(shù)千人參與到討論組中。Struts代碼基礎(chǔ)由一個(gè)志愿的Commnitter團(tuán)隊(duì)來管理。到2002年,Struts小組共有9個(gè)志愿Commnitter。Struts框架的主要架構(gòu)設(shè)計(jì)和開發(fā)者是CraigR.McClanahan。Craig也是Tomcat4的主要架構(gòu)師,以及JavaWebServicesDeveloperPack的主要架構(gòu)師和實(shí)現(xiàn)者。他現(xiàn)在是Sun的JavaServerFaces(JSR-127)以及J2EE平臺(tái)的Web層架構(gòu)的規(guī)范領(lǐng)導(dǎo)。C
7、raigR.McClanahan先生是JCPExpertGroup成員之一,曾參與JSP規(guī)格制定與Tomcat4之編寫,因此StrutsFramework廣受Java開發(fā)人員群體所重視。Borland自2002年底開始于開發(fā)工具JBuilder中支持StrutsFramework。Struts是Apache基金會(huì)Jakarta項(xiàng)目組的一個(gè)OpenSource項(xiàng)目,它采用MVC模式,能夠很好地幫助java開發(fā)者利用J2EE開發(fā)Web應(yīng)用。和其他的java架構(gòu)一樣,Struts第44頁共44頁也是面向?qū)ο笤O(shè)計(jì),將MVC模式"分離顯示邏輯和業(yè)務(wù)邏輯"的能力發(fā)揮得淋漓盡
8、致。Structs框架的