![面試必備三大框架作用_第1頁(yè)](http://file4.renrendoc.com/view/751f1992a348fedeaf7011f9dd2f7e0e/751f1992a348fedeaf7011f9dd2f7e0e1.gif)
![面試必備三大框架作用_第2頁(yè)](http://file4.renrendoc.com/view/751f1992a348fedeaf7011f9dd2f7e0e/751f1992a348fedeaf7011f9dd2f7e0e2.gif)
![面試必備三大框架作用_第3頁(yè)](http://file4.renrendoc.com/view/751f1992a348fedeaf7011f9dd2f7e0e/751f1992a348fedeaf7011f9dd2f7e0e3.gif)
![面試必備三大框架作用_第4頁(yè)](http://file4.renrendoc.com/view/751f1992a348fedeaf7011f9dd2f7e0e/751f1992a348fedeaf7011f9dd2f7e0e4.gif)
下載本文檔
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、一、Struts 在項(xiàng)目中的作用a)b)Struts 在項(xiàng)目主要起控制作用,只要用于 web 層(即視圖層和控制層)Struts 本身是使型的 MVC 結(jié)構(gòu)實(shí)現(xiàn)的,項(xiàng)目中使用了 struts 之后就等于項(xiàng)目也是一個(gè) MVC 結(jié)構(gòu),使項(xiàng)目結(jié)構(gòu)更清晰,分工更明細(xì)。Struts 在項(xiàng)目中主要負(fù)責(zé)視圖層、控制層,在視圖層提供了大量的c)庫(kù),提高視圖層的開(kāi)發(fā)速度。在控制層使用 控制器(Actionsupport)和配置文件(struts.xml),實(shí)現(xiàn) 用戶(hù)請(qǐng)求、封裝請(qǐng)求參數(shù)及頁(yè)面導(dǎo)航。優(yōu)點(diǎn):實(shí)現(xiàn) MVC 模式,結(jié)構(gòu)清晰,使開(kāi)發(fā)者只關(guān)注業(yè)務(wù)邏輯的實(shí)現(xiàn).有豐富的 tag 可以用 ,Struts 的標(biāo)記庫(kù)(
2、Taglib),如能靈活動(dòng)用,則能大大提高開(kāi)發(fā)效率。另外,就目前國(guó)內(nèi)的 JSP 開(kāi)發(fā)者而言,除了使用 JSP 自帶的常用標(biāo)記外,很少開(kāi)發(fā)自己的標(biāo)記,或許 Struts 是一個(gè)很好的起點(diǎn)。頁(yè)面導(dǎo)航.頁(yè)面導(dǎo)航將是今后的一個(gè)發(fā)展方向,事實(shí)上,這樣做,使系統(tǒng)的脈絡(luò)更加清晰。通過(guò)一個(gè)配置文件,即可把握整個(gè)系統(tǒng)各部分之間的聯(lián)系,這對(duì)于后期的維護(hù)有著4.5.6.的好處。尤其是當(dāng)另一批開(kāi)發(fā)者接手這個(gè)項(xiàng)目時(shí),這種優(yōu)勢(shì)體現(xiàn)得更加明顯。提供 Exception 處理機(jī)制 .數(shù)據(jù)庫(kù)池管理支持 I18Ne)缺點(diǎn):1、 轉(zhuǎn)到展示層時(shí),需要配置 forward,每一次轉(zhuǎn)到展示層,相信大多數(shù)都是直接轉(zhuǎn)到 jsp,而涉及到轉(zhuǎn)向
3、,需要配置 forward,如果有十個(gè)展示層的 jsp,需要配置十次 struts,而且還不包括有時(shí)候目錄、文件變更,需要重新修改 forward,注意,每次修改配置之后,要求重新部署整個(gè)項(xiàng)目,而 tomcate 這樣的服務(wù)器,還必須重新啟動(dòng)服務(wù)器,如果業(yè)務(wù)變更復(fù)雜頻繁的系統(tǒng),這樣的操作簡(jiǎn)單不可想象?,F(xiàn)在就是這樣,幾十上百個(gè)人同時(shí)使用的系統(tǒng),大家可以想象一下,煩惱有多大。2、 Struts 的 Action 必需是 threadsafe 方式,它僅僅允許一個(gè)實(shí)例去處理所有的請(qǐng)求。所以 action 用到的所有的資源都必需同步,這個(gè)就引起了線程安全。3、 測(cè)試不方便. Struts 的每個(gè) Ac
4、tion 都同 Web 層耦合在一起,這樣它的測(cè)試依賴(lài)于 Web 容器,單元測(cè)試也很難實(shí)現(xiàn)。不過(guò)有一個(gè) Junit 的擴(kuò)展工具 Struts TestCase 可以實(shí)現(xiàn)它的單元測(cè)試。4、 類(lèi)型的轉(zhuǎn)換. Struts 的 FormBean 把所有的數(shù)據(jù)都作為 String 類(lèi)型,它可以使用工具 Commons-Beanutils 進(jìn)行類(lèi)型轉(zhuǎn)化。但它的轉(zhuǎn)化都是在 Class 級(jí)別,而且轉(zhuǎn)化的類(lèi)型是不可配置的。類(lèi)型轉(zhuǎn)化時(shí)的錯(cuò)誤信息返回給用戶(hù)也是非常的。5、 對(duì) Servlet 的依賴(lài)性過(guò)強(qiáng). Struts 處理 Action 時(shí)必需要依賴(lài) ServletRequest 和ServletRespons
5、e,所有它擺脫不了 Servlet 容器。6、 前端表達(dá)式語(yǔ)言方面.Struts 集成了 JSTL,所以它主要使用 JSTL 的表達(dá)式語(yǔ)言來(lái)獲取數(shù)據(jù)。JSTL 的表達(dá)式語(yǔ)言在 Collection 和索引屬性方面處理顯得很弱。7、 對(duì) Action 執(zhí)行的控制. Struts 創(chuàng)建一個(gè) Action,如果想控制它的執(zhí)行順序?qū)?huì)非常。甚至你要重新去寫(xiě) Servlet 來(lái)實(shí)現(xiàn)你的這個(gè)功能需求。8、 對(duì) Action 執(zhí)行前和后的處理. Struts 處理 Action 的時(shí)候是基于 class 的hierarchies,很難在 action 處理前和后進(jìn)行操作。9、 對(duì)事件支持不夠. 在 stru
6、ts 中,實(shí)際是一個(gè)表單 Form 對(duì)應(yīng)一個(gè) Action 類(lèi)(或DispatchAction),換一句話(huà)說(shuō):在 Struts 中實(shí)際是一個(gè)表單只能對(duì)應(yīng)一個(gè)事件,struts 這種事件方式稱(chēng)為 application event,application event 和 component event 相比是一種粗粒度的事件。二、Spring 在項(xiàng)目中的作用a)Spring 是一個(gè)全方位的整合框架,在項(xiàng)目中對(duì) hibernate 和 struts 進(jìn)行整合,解決層與層之間的耦合問(wèn)題。b)c)Spring 的作用貫穿了整個(gè)中間層,將 Web 層、Service 層、層及 PO 無(wú)縫整合。Sprin
7、g 的 IoC 來(lái)實(shí)現(xiàn)組件之間的依賴(lài)關(guān)系注入,上層框架不會(huì)滲透到下層組件,提高組件移植性和重用性,使得程序更靈活,上層框架不依賴(lài)實(shí)現(xiàn)而是依賴(lài)于抽象(委托接口)、使得實(shí)現(xiàn)類(lèi)的變化不會(huì)影響上層組件,解決了層與層之間的藕合帶來(lái)的或升級(jí)d)SprinP 是面向切面編程,實(shí)現(xiàn)事務(wù)處理、日志服務(wù)等與業(yè)務(wù)無(wú)關(guān)的系統(tǒng)服務(wù),實(shí)現(xiàn)插件式編程。e)優(yōu)點(diǎn)它是一個(gè)開(kāi)源的項(xiàng)目,而且目前非?;钴S;它基于IoC(Inverof Control,控制反轉(zhuǎn))和 AOP(面向切面)的構(gòu)架多層j2ee 系統(tǒng)的框架,但它不強(qiáng)迫你必須在每一層中必須使用Spring,因?yàn)樗K化的很好,允許你根據(jù)自己的需要選擇使用它的某一個(gè)模塊;它實(shí)現(xiàn)了
8、很優(yōu)雅的 MVC,對(duì)不同的數(shù)據(jù)技術(shù)提供了的接口,采用 IoC 使得可以很容易的實(shí)現(xiàn) bean 的裝配,提供了簡(jiǎn)潔的 AOP 并據(jù)此實(shí)現(xiàn)TranscationManagment,等等a. Spring 能有效地組織你的中間層對(duì)象,不管你是否選擇使用了 EJB。如果你僅僅使用了 Struts 或其他為J2EE 的 API 特制的framework,Spring 致力于解決剩下。b. Spring 能消除在許多工程中常見(jiàn)的對(duì)Singleton 的過(guò)多使用。根據(jù)經(jīng)驗(yàn),這是一個(gè)很大,它降低了系統(tǒng)的可測(cè)試性和面象的程度。c. 通過(guò)一種在不同應(yīng)用程序和項(xiàng)目間一致的方法來(lái)處理配置文件,Spring 能消除各種
9、各樣自定義格式的屬性文件的需要。曾經(jīng)對(duì)某個(gè)類(lèi)要尋找的是哪個(gè)魔法般的屬性項(xiàng)或系統(tǒng)屬Javadoc 甚至源編碼?有了Spring,你僅僅需要看看類(lèi)的JavaBean 屬性。Inver到不解,為此不得不去讀of Control 的使用(在下面)幫助完成了這種簡(jiǎn)化。d. 通過(guò)把對(duì)接口編程而不是對(duì)類(lèi)編程的代價(jià)幾乎減少到?jīng)]有,Spring 能夠促進(jìn)養(yǎng)成好的編程。e. Spring 被設(shè)計(jì)為讓使用它創(chuàng)建的應(yīng)用盡可能少的依賴(lài)于他的 APIs。在 Spring 應(yīng)用中的大多數(shù)業(yè)務(wù)對(duì)象沒(méi)有依賴(lài)于Spring。f. 使用Spring 構(gòu)建的應(yīng)用程序易于單元測(cè)試。g. Spring 能使EJB 的使用成為一個(gè)實(shí)現(xiàn)選擇
10、,而不是應(yīng)用架構(gòu)的必然選擇。你能選擇用POJOs 或local EJBs來(lái)實(shí)現(xiàn)業(yè)務(wù)接口,卻不會(huì)影響調(diào)用代碼。h. Spring 幫助你解決許多問(wèn)題而無(wú)需使用EJB。Spring 能提供一種EJB 的替換物,它們適用于許多web 應(yīng)用。例如,Spring 能使用AOP 提供道,甚至不需要一個(gè)JTA 實(shí)現(xiàn)。性事務(wù)管理而不通過(guò)EJB 容器,如果你僅僅需要與單個(gè)數(shù)據(jù)庫(kù)打交i. Spring 為數(shù)據(jù)存取提供了一個(gè)一致的框架,不論是使用的是JDBC 還是 O/R map產(chǎn)品Spring 確實(shí)使你能通過(guò)最簡(jiǎn)單可行的解決辦法來(lái)解決你。而這是有有很大價(jià)值的。f)缺點(diǎn)jsp 中要寫(xiě)很多代碼、控制器過(guò)于靈活,缺少一
11、個(gè)公用控制器。三、Hibernate 在項(xiàng)目中的作用a)Hibernate 應(yīng)用于數(shù)據(jù)持久化層,是對(duì) JDBC 的輕量級(jí)封裝。是一種對(duì)象、關(guān)系的工具, 提供了從 Java 類(lèi)到數(shù)據(jù)表的,也提供了數(shù)據(jù)查詢(xún)和恢復(fù)等機(jī)制,的復(fù)雜度。把對(duì)數(shù)據(jù)庫(kù)的直接操作 , 轉(zhuǎn)換為對(duì)持久對(duì)象的操作。大大減少數(shù)據(jù)b)在項(xiàng)目中的主要作用就是 1、解決程序與數(shù)據(jù)庫(kù)的依賴(lài),即使用了 Hibernate 之后,以后更改數(shù)據(jù)庫(kù)不需要更改代碼,因?yàn)?Hibernate 會(huì)根據(jù)數(shù)據(jù)庫(kù)方言來(lái)生成對(duì)應(yīng)的SQL 語(yǔ)句;2、是對(duì) JDBC 的輕量級(jí)封裝,簡(jiǎn)化持久層的代碼,提高開(kāi)發(fā)速度。c)優(yōu)點(diǎn)Hibernate 是一個(gè)開(kāi)放源代碼的對(duì)象關(guān)系框
12、架,它對(duì)JDBC 進(jìn)行了非常輕量級(jí)的對(duì)象封裝,使得Java程序員可以隨心所欲的使用對(duì)象編程思維來(lái)數(shù)據(jù)庫(kù)。Hibernate 可以應(yīng)用在任何使用JDBC 的場(chǎng)合,既可以在Java 的客戶(hù)端程序使用,也可以在Servlet/JSP的Web 應(yīng)用中使用,最具據(jù)持久化的重任。意義的是,Hibernate 可以在應(yīng)用EJB 的J2EE 架構(gòu)中取代CMP,完成數(shù)大多數(shù)開(kāi)發(fā)機(jī)構(gòu)經(jīng)常采取創(chuàng)建各自獨(dú)立的數(shù)據(jù)持久層。一旦底層的數(shù)據(jù)結(jié)構(gòu)發(fā)生改變,那么修改應(yīng)用的其余部分使之適應(yīng)這種改變的代價(jià)將是十分巨大的。Hibernate 適時(shí)的填補(bǔ)了這一空白,它為 Java 應(yīng)用提供了一個(gè)易用的、高效率的對(duì)象關(guān)系框架。hibernate 是個(gè)輕量級(jí)的持久性框架,功能卻非常豐富。1. Hibernate 使用 Java 反射機(jī)制而不是字節(jié)碼增強(qiáng)程序來(lái)實(shí)現(xiàn)透明性。2. Hibernate 的性能非常好,因?yàn)樗莻€(gè)輕量級(jí)框架。的靈活性很出色。3. 它支持各種關(guān)系數(shù)據(jù)庫(kù),從一對(duì)一到多對(duì)多的各種復(fù)雜關(guān)系d)缺點(diǎn)1、由于 Hibernate 實(shí)現(xiàn)了復(fù)雜的關(guān)系靈活。,并且進(jìn)行大量的封裝,所以對(duì)于復(fù)雜的查詢(xún)語(yǔ)句不是很2、它限制您所使用的對(duì)象模型。(例如,一個(gè)持久性類(lèi)不能到多個(gè)表),盡管如此,Hibernate 還是以其強(qiáng)大的發(fā)展動(dòng)力減輕了這些風(fēng)險(xiǎn)。其他的
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 班主任心理健康與壓力管理的培訓(xùn)總結(jié)
- 公交掃惡除霸承諾書(shū)范本
- 2025-2030全球船用防火窗行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025年全球及中國(guó)運(yùn)動(dòng)刺激療法行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025年全球及中國(guó)矩形橋式起重機(jī)行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025-2030全球便攜式鼻腔沖洗器行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025-2030全球農(nóng)用氧化亞銅行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025年全球及中國(guó)鋼制螺旋錐齒輪行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025年全球及中國(guó)戶(hù)外電氣箱行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025-2030全球軸承精密滾珠行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 蛋糕店服務(wù)員勞動(dòng)合同
- 土地買(mǎi)賣(mài)合同參考模板
- 2025高考數(shù)學(xué)二輪復(fù)習(xí)-專(zhuān)題一-微專(zhuān)題10-同構(gòu)函數(shù)問(wèn)題-專(zhuān)項(xiàng)訓(xùn)練【含答案】
- 2025年天津市政建設(shè)集團(tuán)招聘筆試參考題庫(kù)含答案解析
- 2024-2030年中國(guó)烘焙食品行業(yè)運(yùn)營(yíng)效益及營(yíng)銷(xiāo)前景預(yù)測(cè)報(bào)告
- 寧德時(shí)代筆試題庫(kù)
- 五年級(jí)下冊(cè)北京版英語(yǔ)單詞
- 康復(fù)醫(yī)院患者隱私保護(hù)管理制度
- 新課標(biāo)I、Ⅱ卷 (2024-2020) 近五年高考英語(yǔ)真題滿(mǎn)分作文
- 公司安全事故隱患內(nèi)部舉報(bào)、報(bào)告獎(jiǎng)勵(lì)制度
- 沈陽(yáng)理工大學(xué)《數(shù)》2022-2023學(xué)年第一學(xué)期期末試卷
評(píng)論
0/150
提交評(píng)論