版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Struts框架在OA系統(tǒng)開(kāi)發(fā)中的應(yīng)用論文摘要:是基于MVC(Model-View-Controller)的Web應(yīng)用框架,在應(yīng)用開(kāi)發(fā)中將界面和業(yè)務(wù)邏輯進(jìn)行了別離,提高了代碼的可重用性和靈活性。在對(duì)MVC模式、Struts的工作原理進(jìn)行簡(jiǎn)要介紹的根底上,詳細(xì)介紹了基于Struts框架的網(wǎng)上辦公系統(tǒng)的開(kāi)發(fā)思路及具體實(shí)現(xiàn)。論文關(guān)鍵詞:框架,系統(tǒng),開(kāi)發(fā),中的,應(yīng)用為了提高應(yīng)用系統(tǒng)中組件的重用能力和事務(wù)控制的靈活性,越來(lái)越多的開(kāi)發(fā)人員采用MVC設(shè)計(jì)模式來(lái)別離系統(tǒng)的用戶(hù)界面、業(yè)務(wù)邏輯及業(yè)務(wù)控制。Struts框架結(jié)構(gòu)是MVC設(shè)計(jì)模式的一種具體實(shí)現(xiàn),它為Web應(yīng)用提供了一個(gè)通用的框架,使得開(kāi)發(fā)人員可以把精力
2、集中在如何解決實(shí)際業(yè)務(wù)問(wèn)題上。此外,Struts框架提供了許多可供擴(kuò)展和定制的技術(shù),使得應(yīng)用程序可以方便地?cái)U(kuò)展框架,更好地適應(yīng)用戶(hù)的實(shí)際需求。本文首先介紹了MVC模式的根本思想及Struts的工作原理,并以網(wǎng)上辦公系統(tǒng)為例,詳細(xì)地說(shuō)明了基于Struts框架進(jìn)行信息管理系統(tǒng)開(kāi)發(fā)的方法與思路。1Struts框架Struts是Apache軟件基金的一個(gè)開(kāi)源工程,是基于MVC設(shè)計(jì)模式構(gòu)建JavaWeb應(yīng)用程序的框架。Struts框架在構(gòu)建復(fù)雜的Web應(yīng)用時(shí),允許把應(yīng)用程序的業(yè)務(wù)邏輯、控制邏輯和表現(xiàn)邏輯進(jìn)行別離,從而提高系統(tǒng)靈活性、重用性和可維護(hù)性,進(jìn)而簡(jiǎn)化Web應(yīng)用程序的開(kāi)發(fā)。1.1MVC模式MVC是
3、80年代Smalltalk中使用的一種軟件模式,目前已經(jīng)被廣泛使用,是J2EE平臺(tái)上推薦使用的設(shè)計(jì)模式。該模式將應(yīng)用系統(tǒng)的輸入、處理和輸出按照Model、View和Controller的方式進(jìn)行徹底的別離,因此應(yīng)用系統(tǒng)就被分為了三個(gè)核心局部:模型、視圖和控制器,它們各自處理各自的事務(wù)。1模型Model:它代表的是應(yīng)用的業(yè)務(wù)邏輯,可以對(duì)業(yè)務(wù)流程、狀態(tài)處理和業(yè)務(wù)規(guī)那么的進(jìn)行制定。業(yè)務(wù)流程的處理過(guò)程對(duì)其它局部來(lái)說(shuō)是黑箱操作,模型接受視圖請(qǐng)求的數(shù)據(jù),并返回最終的處理結(jié)果。業(yè)務(wù)模型的設(shè)計(jì)可以說(shuō)是MVC最主要的核心。2視圖View:它代表的是應(yīng)用的表示,是與用戶(hù)交互的局部。它一般進(jìn)行數(shù)據(jù)的采集,并把數(shù)據(jù)交
4、給其它局部處理。3控制器Controller:它位于模型與視圖之間,控制著它們之間的交互處理過(guò)程。控制器把客戶(hù)端來(lái)的請(qǐng)求轉(zhuǎn)換成模型能夠理解和執(zhí)行的請(qǐng)求,并且根據(jù)請(qǐng)求選擇處理的模型,接著根據(jù)執(zhí)行結(jié)果斷定下一次顯示的視圖。圖1描述了模型、視圖和控制器三者之間的關(guān)系。在應(yīng)用系統(tǒng)開(kāi)發(fā)過(guò)程中,通過(guò)該設(shè)計(jì)模式可以將業(yè)務(wù)邏輯、控制邏輯和表現(xiàn)邏輯分別用用不同的組件實(shí)現(xiàn),以提高代碼的重用性和可維護(hù)性。圖1MVC模式圖1.2Struts工作原理Struts是一個(gè)開(kāi)放資源框架,是MVC設(shè)計(jì)模式的一個(gè)實(shí)現(xiàn),由一組相互協(xié)作的類(lèi)、Servlet以及JSP標(biāo)簽庫(kù)組成。Struts的體系結(jié)構(gòu)將Model、View、Contr
5、oller分別映射到Web應(yīng)用中的組件。在Struts中Model由Action和ActionForm對(duì)象來(lái)實(shí)現(xiàn),所有的Action處理器對(duì)象都是Action類(lèi)的子類(lèi),Action處理器對(duì)象封裝了具體的處理邏輯,調(diào)用業(yè)務(wù)邏輯模塊,并且把響應(yīng)提交到相關(guān)的View組件以產(chǎn)生響應(yīng)。通過(guò)ActionForm組件對(duì)象實(shí)現(xiàn)了對(duì)View和Model根本的控制器組件是ActionServlet,但是對(duì)于業(yè)務(wù)邏輯的操作那么主要由Action、ActionMapping和ActionForward這幾個(gè)組件協(xié)調(diào)完成。其中Action扮演了真正的業(yè)務(wù)邏輯的實(shí)現(xiàn)者,或者說(shuō)是業(yè)務(wù)邏輯調(diào)用的接口;而ActionMappi
6、ng和ActionForward那么制定了不同業(yè)務(wù)邏輯或流程的運(yùn)行方向,其工作原理如圖2所示。圖2Struts的工作原理2網(wǎng)上辦公系統(tǒng)的實(shí)現(xiàn)2.1系統(tǒng)介紹網(wǎng)上辦公系統(tǒng)是為幫助企事業(yè)單位內(nèi)部員工更好地進(jìn)行合作或更有效地工作而設(shè)計(jì)的,旨在實(shí)現(xiàn)企事業(yè)單位內(nèi)部的無(wú)紙化辦公。由于不同單位所需辦公系統(tǒng)功能的不同,在此我們選取了網(wǎng)上辦公系統(tǒng)中通用的幾個(gè)模塊進(jìn)行了實(shí)現(xiàn),主要包括:文件夾、待辦事項(xiàng)、通訊錄、日程安排、文件柜、電子公告、用戶(hù)設(shè)置和系統(tǒng)管理等模塊。2.2系統(tǒng)實(shí)現(xiàn)由于系統(tǒng)各功能的實(shí)現(xiàn)無(wú)論是在步驟上,還是在方法上都是大同小異,所以在此以用戶(hù)登錄為例詳細(xì)說(shuō)明該系統(tǒng)的實(shí)現(xiàn)方法及思路。在登錄窗口當(dāng)用戶(hù)輸入用戶(hù)
7、名和密碼,點(diǎn)擊登錄;按鈕,即向Controller發(fā)出一個(gè)HTTP請(qǐng)求。用戶(hù)輸入的表單參數(shù)將以LoginForm的形式封裝提交到ActionForward。這個(gè)ActionForward調(diào)用相應(yīng)的login執(zhí)行業(yè)務(wù)邏輯,完成用戶(hù)登錄功能。以下是登錄功能的具體實(shí)現(xiàn)過(guò)程:首先,編寫(xiě)登錄相關(guān)的業(yè)務(wù)邏輯代碼,其具體代碼如下所示:publicintlogin(Stringuid,Stringpwd)throwsOAServiceExceptionSessionsession=null;Transactiontx=null;Queryquery1=null;Queryquery2=null;intresu
8、lt=1;trysession=HibernateUtil.getSession();tx=session.beginTransaction();query1=session.createQuery(fromUseruwhereu.uid=:vUid);query1.setParameter(vUid,uid);if(query1.uniqueResult()=null)return1;query2=session.createQuery(fromUseruwhereu.uid=:vUidandu.password=:vPwd);query2.setParameter(vUid,uid);qu
9、ery2.setParameter(vPwd,pwd);Useru=(User)query2.uniqueResult();tx mit();return(u=null)?2:3);catch(Exceptione)rollBack(tx);finallycloseSession(session);returnresult;然后,編寫(xiě)登錄要用到的ActionForm類(lèi):publicclassLoginFormextendsActionFormprivateStringuid;privateStringpassword;publicActionErrorsvalidate(ActionMappi
10、ngmapping,HttpServletRequestrequest)ActionErrorserrors=newActionErrors();if(uid.length()if(password.length()returnerrors;publicActionForwardlogin(ActionMappingmapping,ActionFormactionForm,HttpServletRequestrequest,HttpServletResponseresponse)ActionForwardforward=null;Stringmsg=null;Useru=null;intres
11、ult=0;LoginFormform=(LoginForm)actionForm;Stringuid=form.getUid();Stringpwd=form.getPassword();tryresult=service.login(uid,pwd);u=service.getUser(uid);catch(OAServiceExceptione)if(u=null)result=2;forward=processResult(result,msg);returnforward;最后,在配置文件中添加與登錄相關(guān)的配置。具體步驟如下:(1)在Struts的配置文件中找到標(biāo)簽,在此標(biāo)簽下添加子
12、標(biāo)簽。其具體內(nèi)容如下:(2)在Struts的配置文件中找到標(biāo)簽,在此標(biāo)簽下添加子元素以及相關(guān)的局部標(biāo)簽。其具體內(nèi)容如下:name=LoginForminput=/login.jspscope=request(3)由于本系統(tǒng)中使用了tiles,因此還得在tiles-defs.xml文件中添加相應(yīng)的配置。登錄模塊的運(yùn)行界面如圖3所示,如果登錄成功,那么進(jìn)入系統(tǒng),系統(tǒng)登錄成功的主界面如圖4所示。圖3用戶(hù)登錄界圖4系統(tǒng)主界面3結(jié)束語(yǔ)Struts作為一種有效的進(jìn)行Web應(yīng)用開(kāi)發(fā)的框架,充分利用了MVC模式的優(yōu)點(diǎn)。應(yīng)用Struts框架構(gòu)建網(wǎng)上辦公系統(tǒng)很好地實(shí)現(xiàn)了業(yè)務(wù)邏輯與表示邏輯的別離,大大簡(jiǎn)化系統(tǒng)開(kāi)發(fā)的難度。尤其是各層邏輯組件的同時(shí)開(kāi)發(fā),縮短了開(kāi)發(fā)周期,其靈活的、大量豐富的標(biāo)記庫(kù)語(yǔ)言大大提高了開(kāi)發(fā)效率,而且應(yīng)用Struts框架構(gòu)建的Web應(yīng)用系統(tǒng),具有良好的可重用性、可維護(hù)性和可擴(kuò)展性。參考文獻(xiàn)1 石海鵬. 基于MVC模式的J2EE應(yīng)用研究與開(kāi)發(fā):. 江西:江西師范大學(xué), 2004.2 馬黎明. 基于J2EE平臺(tái)的Web應(yīng)用系統(tǒng)研究:. 武漢:武漢理工大學(xué),
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年企業(yè)用車(chē)借用協(xié)議范本3篇
- 2025年度文化旅游融合項(xiàng)目投資借款協(xié)議
- 買(mǎi)賣(mài)合同第三方保證擔(dān)保合同(2024版)
- 二零二五年度旅行社旅游培訓(xùn)合作合同4篇
- 2025年度女方婚內(nèi)出軌離婚財(cái)產(chǎn)分割及贍養(yǎng)費(fèi)協(xié)議
- 2025年度個(gè)人商鋪?zhàn)赓U合同能源消耗監(jiān)測(cè)與管理合同4篇
- 2025年度個(gè)人與企業(yè)間特殊用途車(chē)輛租賃合同3篇
- 二零二五年度農(nóng)民工勞動(dòng)保護(hù)補(bǔ)貼發(fā)放合同標(biāo)準(zhǔn)
- 2024苗木運(yùn)輸合同范本全面規(guī)范運(yùn)輸過(guò)程中的風(fēng)險(xiǎn)防控3篇
- 二零二五年度加油站LED廣告屏安裝裝修合同3篇
- 北師大版小學(xué)三年級(jí)上冊(cè)數(shù)學(xué)第五單元《周長(zhǎng)》測(cè)試卷(含答案)
- DB45T 1950-2019 對(duì)葉百部生產(chǎn)技術(shù)規(guī)程
- 資源枯竭型城市的轉(zhuǎn)型發(fā)展 課件 2024-2025學(xué)年高二上學(xué)期地理人教版選擇性必修2
- 2025屆河北省衡水市衡水中學(xué)高考仿真模擬英語(yǔ)試卷含解析
- 新修訂《保密法》知識(shí)考試題及答案
- 電工基礎(chǔ)知識(shí)培訓(xùn)課程
- 住宅樓安全性檢測(cè)鑒定方案
- 廣東省潮州市潮安區(qū)2023-2024學(xué)年五年級(jí)上學(xué)期期末考試數(shù)學(xué)試題
- 市政道路及設(shè)施零星養(yǎng)護(hù)服務(wù)技術(shù)方案(技術(shù)標(biāo))
- 選擇性必修一 期末綜合測(cè)試(二)(解析版)2021-2022學(xué)年人教版(2019)高二數(shù)學(xué)選修一
- 《論語(yǔ)》學(xué)而篇-第一課件
評(píng)論
0/150
提交評(píng)論