下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
一種javaweb應(yīng)用中srus框架的缺陷與改進(jìn)
0本文改進(jìn)方案的內(nèi)容在web應(yīng)用程序體系結(jié)構(gòu)的發(fā)展過程中,它主要經(jīng)歷了兩個重要的階段:模型1和模型2。在Model1中,JSP頁面訪問Web層的JavaBeans,然后通過超鏈接或請求參數(shù)轉(zhuǎn)向下一個頁面。在Model1中控制權(quán)分散于各頁面。這不利于開發(fā)人員的合作和程序的維護(hù)。因此產(chǎn)生了Model2。Model2是一種抽象的設(shè)計思路,它把應(yīng)用劃分為三層模型-視圖-控制器。這種思路的實現(xiàn)難度較大,而MVC應(yīng)用框架可降低實現(xiàn)它的難度。MVC應(yīng)用框架很多,其中Struts框架是較流行的。本文分析了Struts框架的缺點,提出了Struts框架的改進(jìn)方案。它大量采用XML、Xpath、XSL等技術(shù)和Struts框架,而不再使用JSP,同時將Struts中的FormBean、Session等需要顯示的內(nèi)容映射成XML內(nèi)容,在XSL(表現(xiàn)層)中通過XSLT、Xpath技術(shù)訪問,從而保證了XSL(表現(xiàn)層)中不再需要任何Java代碼。真正實現(xiàn)了MVC的承諾。1控制層的結(jié)構(gòu)應(yīng)用框架為Web應(yīng)用的開發(fā)提供了抽象類,我們可以擴(kuò)展這些抽象類來處理請求。Struts中請求的處理通常由Servlet(控制器)完成。它從客戶端接收請求,然后將請求轉(zhuǎn)發(fā)給相應(yīng)的應(yīng)用模塊。圖1顯示了Struts組件是如何一起工作的。Struts中的視圖部分主要是由JSP組成。模型是以一個或多個Bean的形式存在,它主要處理應(yīng)用的業(yè)務(wù)邏輯。由于業(yè)務(wù)邏輯取決于Web應(yīng)用的功能,所以Struts框架未實現(xiàn)Model??刂破鲝目蛻舳?通常指客戶端瀏覽器)接收請求,然后將請求轉(zhuǎn)發(fā)給相應(yīng)的業(yè)務(wù)邏輯處理,最后把處理結(jié)果發(fā)送給客戶端。在Struts中,控制器層主要組件是ActionServlet,它是Servlet的子類。當(dāng)應(yīng)用初始化時,ActionServlet根據(jù)配置文件(struts-config.xml)加載其他的控制層對象。Struts配置文件中定義了應(yīng)用的映射關(guān)系,ActionServlet根據(jù)映射關(guān)系把HTTP請求路由到框架中的其他組件。通常,請求首先被轉(zhuǎn)發(fā)給一個ActionBean(行為類)然后再到JSP。雖然Struts/JSP較之其他模式有許多優(yōu)勢,但它也存在著一些缺點和不足:程序員可以把應(yīng)用邏輯放入JSP。遇到問題時,開發(fā)人員可以很快地加以修改,經(jīng)驗表明這實際上是陷阱。程序結(jié)構(gòu)很容易變得復(fù)雜和難以管理。JSP不能很好地支持XML,也就不能保證生成的結(jié)果文檔(XML或HTML)將會是100%“格式良好”的。開發(fā)人員需要學(xué)習(xí)如何使用Struts的標(biāo)志庫。事實上要理解這些Struts的標(biāo)志庫,特別是Bean和HTML標(biāo)志庫的確要花費比較長的時間。開發(fā)人員不能在視圖中用JSP來實現(xiàn)處理管道。只能做些簡單的include和forward,這樣很明顯就會限制視圖的靈活性。對JSP頁面的任何修改都會導(dǎo)致JSP的重新編譯,這樣是非常耗費時間的。2strutss的改進(jìn)2.1xlat、服務(wù)于xtst的struts框架設(shè)計為了彌補(bǔ)Struts的不足,本文提出了一種新的方案,它采用XML、Xpath、XSL等技術(shù)和Struts框架,而不再使用JSP,同時將Struts中的FormBean、Session等需要顯示的內(nèi)容映射成XML內(nèi)容,在XSL(表現(xiàn)層)中通過XSLT、Xpath技術(shù)訪問,從而保證了XSL(表現(xiàn)層)中不再需要任何Java代碼。圖2展示了改進(jìn)的Struts框架設(shè)計的核心構(gòu)成。從圖2可以看出,改進(jìn)的Struts框架處理流程的最初部分和Struts的類似。不同的地方在于:改進(jìn)的Struts用一個XSLServlet配合XSLT樣式表實現(xiàn)了原來在Struts中由JSP實現(xiàn)的視圖部分。這個XSLServlet首先根據(jù)Bean和上下文環(huán)境生成XML文檔,然后調(diào)用XSLT進(jìn)行轉(zhuǎn)換。由于我們可以把一個請求提交給任何一個已經(jīng)在Struts配置文件中注冊的URL,所以在這個過程中不用對Struts作任何的修改。2.2生成wp文件改進(jìn)的Struts框架的設(shè)計核心是XSLServlet類的實現(xiàn)。本文提供了一種實現(xiàn)方案如圖3所示。XSLServlet首先調(diào)用類DocumentBuilder的方法獲取XML文檔。XML文檔的生成方法有很多,它們都有各自的優(yōu)點,可以用基本的Java類創(chuàng)建,也可以依賴于某些強(qiáng)大的類庫。本方案用JDOM產(chǎn)生XML文檔。然后XSLServlet調(diào)用Transformer類中的方法實現(xiàn)XML文檔的轉(zhuǎn)換。2.3struts框架的主要優(yōu)點(1)支持一些擴(kuò)展XML文件流根據(jù)模式和上下文環(huán)境而生成,樣式表對XML文件流再進(jìn)行加工。雖然一些XSLT轉(zhuǎn)換器可以支持一些擴(kuò)展,通過這些擴(kuò)展可以在樣式表中調(diào)用Java或是其他類型的語言。但這些擴(kuò)展往往缺乏移植性,而且使用起來比較麻煩。這樣就不能再把業(yè)務(wù)邏輯放入到XSL樣式表。(2)抽樣數(shù)據(jù)的選取Xpath是一種強(qiáng)大的表達(dá)式語言,用來從XML流中抽取數(shù)據(jù)。XSLT使用了W3C標(biāo)準(zhǔn)語言,不但提供了Struts標(biāo)簽庫類似的功能,而且還提供了Struts沒有的功能,比如XSLT支持的函數(shù)和遞歸。(3)對網(wǎng)格化的struts自動存儲資源本地化水平和目標(biāo)語言的復(fù)雜程度會影響到了頁面的布局。Struts開發(fā)人員通常把所有的文本信息和圖像資源的鏈接根據(jù)不同的地區(qū)保存到一起。根據(jù)用戶的地區(qū),Struts就會調(diào)用適當(dāng)?shù)馁Y源。改進(jìn)的Struts通過自動把資源存儲到DOM中,然后把他們傳遞給視圖。DOM樹包括了從FormBean生成的動態(tài)內(nèi)容,可以輕松地用XPath在XSLT樣式表中訪問資源。應(yīng)用的國際化不再通過Java資源捆綁技術(shù)實現(xiàn),而是通過純XML技術(shù)根據(jù)用戶當(dāng)前的地區(qū)動態(tài)地切換樣式表來實現(xiàn)。(4)xllt轉(zhuǎn)換目前,IE5/6、Mozilla這樣的瀏覽器已經(jīng)能夠在客戶端執(zhí)行XSLT轉(zhuǎn)換。如果要減輕Web服務(wù)器的負(fù)擔(dān),可以在客戶端執(zhí)行XSLT轉(zhuǎn)換。(5)系統(tǒng)接口設(shè)計改進(jìn)的Struts架構(gòu)的一個重要特性就是能夠動態(tài)改變輸出的內(nèi)容類型以及用戶接口的風(fēng)格。比方說,同樣的應(yīng)用項目可以針對新老版本的瀏覽器生成相應(yīng)的代碼。利用XSLT可以方便地獲得各種輸出格式:XHTML、XSL/FO、WML、簡單的文本、CSV、PDF、SVG等等。3基于效率的辦公系統(tǒng)架構(gòu)智能大廈是通過對建筑結(jié)構(gòu)、系統(tǒng)、服務(wù)和管理等要素進(jìn)行分析后,設(shè)計的一種投資少、效率高的舒適溫馨又便利的場所。從功能上講,它又被稱為“三A”大廈,即CA(通信自動化)、OA(辦公自動化)和BA(樓宇管理自動化)。OA系統(tǒng)使人們借助Internet更快地獲得更多的多媒體信息,最大限度地提高辦公效率和改進(jìn)辦公質(zhì)量,縮短辦公周期,減少和避免各種差錯,提高管理和決策的科學(xué)水平。系統(tǒng)架構(gòu)圖如圖4所示。系統(tǒng)功能:(1)人事、財務(wù)模塊它包括人事管理、考勤管理及薪資管理。財務(wù)管理的功能主要是基于會計核算的數(shù)據(jù),再加以分析,從而進(jìn)行相應(yīng)的預(yù)測,管理和控制活動。它側(cè)重于財務(wù)計劃、控制、分析和預(yù)測。(2)領(lǐng)導(dǎo)辦公模塊該模塊主要包括公文管理、文檔管理、總經(jīng)理查詢管理、本行業(yè)國內(nèi)外商情管理。(3)管理模塊該模塊主要包括酒店管理、客房管理、停車場管理、大廈運行管理。(4)商場模塊該模塊主要包括商場POS管理、商品供銷存管理、舞廳健身管理。(5)公共服務(wù)模塊該模塊主要包括交通時刻表與訂票管理、顧客綜合服務(wù)管理、游覽觀光服務(wù)管理、娛樂服務(wù)管理。根據(jù)系統(tǒng)需求,考慮到開發(fā)的效率、維護(hù)的可能性以及擴(kuò)展的方便性,我們采用了改進(jìn)的Struts框架。使得頁面設(shè)計者和程序開發(fā)者更好地協(xié)調(diào)工作,從而提高應(yīng)用
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度新型城鎮(zhèn)化農(nóng)民工就業(yè)保障合同范本4篇
- 2025年浙江新勁空調(diào)設(shè)備有限公司招聘筆試參考題庫含答案解析
- 2025年江西上饒市廣信旅游發(fā)展集團(tuán)有限責(zé)任公司招聘筆試參考題庫附帶答案詳解
- 2025年浙江杭州富陽開發(fā)區(qū)建設(shè)投資集團(tuán)有限公司招聘筆試參考題庫附帶答案詳解
- 2025年陜西西安市干道市政建設(shè)開發(fā)有限責(zé)任公司招聘筆試參考題庫附帶答案詳解
- 2025年度教育培訓(xùn)機(jī)構(gòu)門店承包合同4篇
- 二零二五年度特色美發(fā)產(chǎn)品全國連鎖加盟合同4篇
- 2024-2025學(xué)年高中政治第3單元發(fā)展社會主義民主政治第7課第1框中國特色社會主義政黨制度課堂訓(xùn)練含解析
- 2025年湘教版選修6地理下冊月考試卷
- 2024年度陜西省公共營養(yǎng)師之四級營養(yǎng)師能力測試試卷B卷附答案
- 2024年內(nèi)蒙古自治區(qū)專業(yè)技術(shù)人員繼續(xù)教育公需課考試答案
- T-CSTM 01124-2024 油氣管道工程用工廠預(yù)制袖管三通
- 2019版新人教版高中英語必修+選擇性必修共7冊詞匯表匯總(帶音標(biāo))
- 新譯林版高中英語必修二全冊短語匯總
- 基于自適應(yīng)神經(jīng)網(wǎng)絡(luò)模糊推理系統(tǒng)的游客規(guī)模預(yù)測研究
- 河道保潔服務(wù)投標(biāo)方案(完整技術(shù)標(biāo))
- 品管圈(QCC)案例-縮短接臺手術(shù)送手術(shù)時間
- 精神科病程記錄
- 閱讀理解特訓(xùn)卷-英語四年級上冊譯林版三起含答案
- 清華大學(xué)考博英語歷年真題詳解
- 人教版三年級上冊口算題(全冊完整20份 )
評論
0/150
提交評論