版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、基于STRUTS 2框架產(chǎn)品信息Web發(fā)布系統(tǒng)的實(shí)現(xiàn)摘要在對STRUTS2框架和V2模型分析比擬的根底上,研究了STRUTS2框架的施行方法,將STRUTS2框架應(yīng)用于實(shí)際開發(fā),建立了產(chǎn)品信息發(fā)布系統(tǒng)模型,并分析了開發(fā)中的關(guān)鍵問題。關(guān)鍵詞STRUTS2;V2;信息發(fā)布系統(tǒng)1引言隨著互聯(lián)網(wǎng)技術(shù)的飛速開展,JavaEE以其開放性、擴(kuò)展性和各大廠商的支持,逐漸成為eb應(yīng)用軟件的開發(fā)標(biāo)準(zhǔn)。近幾年來,STRUTS框架作為V模型的一個(gè)良好實(shí)現(xiàn),使基于JavaEE的eb應(yīng)用的開發(fā)可以獲得更好的可擴(kuò)展性、可重用性、易開發(fā)性和易維護(hù)性。STRUTS出現(xiàn)至今,其自身也在不斷地成熟和完善,STRUTS2(ebrk2
2、)的發(fā)布為JavaEEeb應(yīng)用的開發(fā)者提供了更好的V實(shí)現(xiàn)和更加簡單易用的施行方法。我們綜合可擴(kuò)展性、易使用性等各方面考慮,采用STRUTS2框架,以及JSP、Servlet、JavaBean、JDB等技術(shù)開發(fā)本產(chǎn)品信息eb發(fā)布系統(tǒng),充分發(fā)揮了STRUTS2框架的優(yōu)勢,使得系統(tǒng)層次明晰,保證了系統(tǒng)的穩(wěn)定高效,并獲得了較好的擴(kuò)展性和易維護(hù)性。2STRUTS框架概述STRUTS是ApaheJakarta工程組的一個(gè)pen-Sure工程,是V模型的一個(gè)良好實(shí)現(xiàn)。V(del-Vie-ntrller)模型把一個(gè)應(yīng)用的輸入、處理、輸出流程按照del、Vie、ntrller的方式進(jìn)展別離,使得應(yīng)用程序設(shè)計(jì)過程
3、更加明晰,進(jìn)步了系統(tǒng)的靈敏性和可擴(kuò)展性。V應(yīng)用于eb便開展出了V2模型,在V2模型中,Vie由JSP來擔(dān)當(dāng),ntrller由Servlet來擔(dān)當(dāng),del由JavaBean/EJB來擔(dān)當(dāng)。Servlet先承受客戶端的懇求,然后調(diào)用相應(yīng)的Bean進(jìn)展業(yè)務(wù)邏輯處理,根據(jù)處理結(jié)果再調(diào)用相應(yīng)的JSP頁面,JSP頁面根據(jù)存儲(chǔ)結(jié)果的Bean生成結(jié)果頁面,返回給客戶端。STRUTS框架包括一組互相協(xié)作的類(組件)、AtinSerlvet以及JSPTaglib標(biāo)簽庫,實(shí)現(xiàn)了V2模型中的ntrller和Vie,而V2模型中的del必須由開發(fā)者自己來實(shí)現(xiàn),STRUTS提供了抽象類Atin,使開發(fā)者可以將del應(yīng)用于
4、STRUTS框架。3STRUTS2體系構(gòu)造STRUTS2是STRUTS1的更新版本,對STRUTS1進(jìn)展了改良和晉級,例如用Atin接口取代了Atin抽象類,為每一個(gè)懇求創(chuàng)立一個(gè)Atin對象,去掉了AtinFr類,用重新定義的struts.xl替代了struts-nfig.xl,數(shù)據(jù)校驗(yàn)方法更加靈敏以及采用了分層的國際化方法等等。STRUTS2更好地實(shí)現(xiàn)了V2模型。其體系構(gòu)造圖和處理流程如圖1所示。圖1STRUTS2框架體系構(gòu)造在HttpServletRequest到達(dá)Servlet容器之前要經(jīng)過一系列過濾器鏈,包括AtinntextleanUp過濾器等;然后,F(xiàn)ileterDispather
5、被調(diào)用,F(xiàn)ileterDispather參考Atinapper來決定懇求是否與相應(yīng)Atin相關(guān)聯(lián)。假如Atinapper確定了懇求對一個(gè)Atin的調(diào)用,它就會(huì)將控制權(quán)委托給AtinPrxy,AtinPrxy創(chuàng)立對應(yīng)的Atin實(shí)例,然后AtinPrxy參考由struts.xl配置的nfiguratinanager生成AtinInvatin。之后,Atin和Intereptr的執(zhí)行都由AtinInvatin來控制。在Atin執(zhí)行前可能會(huì)執(zhí)行多個(gè)Intereptr。當(dāng)Atin執(zhí)行完畢后,AtinInvatin根據(jù)struts.xl中的result配置查找相應(yīng)的結(jié)果頁面,并將Atin的執(zhí)行結(jié)果輸出到結(jié)
6、果頁面中。這個(gè)頁面一般是使用STRUTS提供的標(biāo)簽庫編寫的JSP頁面。接下來,AtinInvatin控制Intereptr以反序執(zhí)行。最后,HttpServletRespnse根據(jù)eb.xl中的配置通過相應(yīng)的過濾器,返回客戶端。4STRUTS2框架的施行1)Atin類的施行在STRUTS1中,必須繼承Atin抽象類,才能將應(yīng)用集成到STRUTS框架,而在STRUTS2中的施行方法更加簡單,只需要實(shí)現(xiàn)Atin或AtinSupprt接口,甚至可以使用有exute()方法的PJ。而且STRUTS2取消了AtinFr類,直接在Atin類中保存頁面提交的輸入信息和需要提交給頁面的輸出信息,對于數(shù)據(jù)的操作
7、更加簡便。在exute()方法中可以直接處理這些信息,并實(shí)現(xiàn)對數(shù)據(jù)庫的查詢、增加、刪除和修改。2)映射關(guān)系的配置STRUTS2使用重新定義的關(guān)鍵配置文件struts.xl來代替STRUTS1中的struts-nfig.xl,通過struts.xl控制Atin懇求到Atin類的映射,以及Atin類到JSP頁面的映射關(guān)系。在struts.xl文件中,主要使用三種標(biāo)簽定義這些映射關(guān)系:(1)使用pakagenae=naespae=extends=標(biāo)簽,配置eb應(yīng)用中用到的Atin類的包的相關(guān)屬性,nae屬性指定Atin類的包名。(2)使用atinnae=lass=標(biāo)簽,配置Atin類的相關(guān)屬性,其中
8、nae屬性指定Atin的類名,lass屬性用“包名.類名的格式指定Atin類完好的包名和類名。(3)使用result標(biāo)簽配置某個(gè)Atin類的輸出頁面,在result標(biāo)簽的內(nèi)容中,以“/開頭表示以發(fā)布目錄作為當(dāng)前目錄。3)標(biāo)簽庫和國際化的施行在STRUTS框架中,JSPTaglib標(biāo)簽庫和國際化(Internatinalizatin)是對V2模型中Vie模塊的實(shí)現(xiàn)。通過在JSP頁面中使用框架提供的標(biāo)簽庫,可以實(shí)現(xiàn)顯示Atin中動(dòng)態(tài)數(shù)據(jù)的目的。對于國際化,STRUTS1將所有的資源簇(ResureBundle)保存在一個(gè)本地資源文件appliatin.prperties文件中,而STRUTS2提供
9、了分層的本地資源文件,我們可以將用到的資源簇分別存放在這些資源文件中,框架可以通過標(biāo)簽屬性和getText()等方法使用資源文件的內(nèi)容。這些資源文件的搜索順序是:Atinlass.prpertiesBaselass.prpertiesInterfae.prpertiespakage.prperties。在開發(fā)過程中通常使用pakage.prperties保存一個(gè)pakage中用到的資源簇。在這些資源文件中,其內(nèi)容以“關(guān)鍵字=值的形式保存,如“usernae=UserNae。5系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)5.1系統(tǒng)的層次構(gòu)造本系統(tǒng)的層次構(gòu)造如圖2所示。圖2系統(tǒng)層次構(gòu)造本產(chǎn)品信息發(fā)布系統(tǒng)總體上采用“閱讀器/eb效
10、勞器/數(shù)據(jù)庫的三層體系構(gòu)造。eb效勞器承受懇求,STRUTS框架負(fù)責(zé)懇求的處理,在框架內(nèi)通過特定的映射關(guān)系調(diào)用相應(yīng)的業(yè)務(wù)邏輯,并將結(jié)果以JSP頁面的形式返回客戶端閱讀器,實(shí)現(xiàn)與客戶端的交互。數(shù)據(jù)庫效勞器用來存儲(chǔ)系統(tǒng)用到的所有數(shù)據(jù),數(shù)據(jù)可以由管理員通過數(shù)據(jù)庫管理程序錄入,也可以由擁有權(quán)限的客戶通過客戶端進(jìn)展管理。系統(tǒng)的客戶端只需要一個(gè)閱讀器,不同的用戶通過閱讀器對數(shù)據(jù)進(jìn)展查詢、增加、刪除、修改操作,對信息進(jìn)展管理。5.2系統(tǒng)功能構(gòu)造設(shè)計(jì)本系統(tǒng)的功能構(gòu)造如圖3所示。圖3系統(tǒng)功能構(gòu)造根據(jù)需求分析,用戶可分為一般用戶、注冊用戶、商家用戶和系統(tǒng)管理員。一般用戶進(jìn)入該網(wǎng)站后,可以閱讀該網(wǎng)站的商品內(nèi)容,查找
11、需要的商品信息和商家信息;注冊用戶登錄后,除了擁有一般用戶的全部功能以外,還具有登記缺貨,向商家留言,聯(lián)絡(luò)商家等功能;商家用戶登錄后,除了擁有注冊用戶的全部功能外,還具有查詢?nèi)必?,發(fā)布新產(chǎn)品,產(chǎn)品下架等功能;系統(tǒng)管理員具有系統(tǒng)的全部功能的使用權(quán)限,可以查看所有用戶資料,核準(zhǔn)商家注冊,刪除用戶和商家信息等。5.3數(shù)據(jù)庫設(shè)計(jì)本系統(tǒng)使用SQLServer2000作為后臺數(shù)據(jù)庫,對數(shù)據(jù)信息標(biāo)準(zhǔn)化后可以得到以下幾個(gè)數(shù)據(jù)庫表:user:(用戶ID,用戶名,真實(shí)姓名,密碼,性別,地址, ,e-ail,地址,密碼提示問題,密碼問題答案,簡介,權(quán)限)用來記錄用戶信息,其中“權(quán)限標(biāo)明該用戶的使用權(quán)限是注冊用戶、商
12、家或者是系統(tǒng)管理員。bilePhne:( 編號,品牌,型號,產(chǎn)地,配件,技術(shù)指標(biāo),上市時(shí)間.)用來記錄各商家所有 產(chǎn)品的信息。B2Pap(Bss2Prdutap):(商家ID, 編號,上架時(shí)間,下架時(shí)間,庫存,售價(jià))用來記錄單個(gè)商家發(fā)布的 產(chǎn)品的信息。S(utfStk):(編號, 名稱,品牌,型號,登記時(shí)間,用戶ID)用來記錄用戶登記的缺貨信息。5.4系統(tǒng)主要功能模塊的實(shí)現(xiàn)本產(chǎn)品信息發(fā)布系統(tǒng)為眾多 銷售商家提供了一個(gè)統(tǒng)一的信息發(fā)布平臺,商家用戶登錄后可以將自家銷售的產(chǎn)品信息發(fā)布到本系統(tǒng)上供其它用戶查看,注冊用戶可以通過該系統(tǒng)登記缺少的產(chǎn)品,商家可以根據(jù)登記的缺貨調(diào)整自家的上架產(chǎn)品。因此,商家是
13、本系統(tǒng)的主要用戶對象,產(chǎn)品信息發(fā)布功能是本系統(tǒng)的核心功能。(1)商家發(fā)布產(chǎn)品信息的程序文件是Phne_inf_publish.lass,該類實(shí)現(xiàn)了AtinSupprt接口,用相應(yīng)的屬性保存了JSP頁面提交的產(chǎn)品信息數(shù)據(jù),實(shí)現(xiàn)了相應(yīng)屬性的getter和setter方法,并在exute()方法中處理這些數(shù)據(jù),將產(chǎn)品信息寫入數(shù)據(jù)庫,主要代碼如下:ntextinittx=neInitialntext();ntexttx=(ntext)inittx.lkup(java:p/env);bjetbj=(bjet)tx.lkup(jdb/PlatfrDB);this.ds=(DataSure)bj;Resul
14、tSet.TYPE_SRLL_SENSITIVE,ResultSet.NUR_UPDATABLE);pakagenae=platfrnaespae=/platfrextends=struts-defaultatinnae=Prdut_inf_publilass=platfr.Prdut_inf_publiresult/platfr/prdutList.jsp/result/atin(3)prdutList.jsp頁面使用Taglib顯示動(dòng)態(tài)數(shù)據(jù),部分代碼如下:tablebrder=1trth 編號/thth品牌/thth型號/thth產(chǎn)地/thth配件/th/trlgi:presentnae=resultlgi:iterateid=phnenae=resulttype=platfr.Phnelgi:presentnae=phnetr/tr6完畢語本信息發(fā)布系統(tǒng)采用STRUTS以及JSP、servlet
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 課題申報(bào)參考:教育治理視域下師德問責(zé)制度化研究
- 課題申報(bào)參考:江南風(fēng)景攝影的審美范式及其傳統(tǒng)轉(zhuǎn)化研究
- 課題申報(bào)參考:價(jià)值醫(yī)療視角下安寧療護(hù)經(jīng)濟(jì)可持續(xù)性機(jī)理解析及促進(jìn)機(jī)制設(shè)計(jì)
- 二零二五版道路照明設(shè)施節(jié)能補(bǔ)貼申請合同4篇
- 2025年度大型商場裝修設(shè)計(jì)與施工一體化承包合同范本4篇
- 2025年金昌b2貨運(yùn)資格證多少道題
- 二零二五年度輪胎產(chǎn)品綠色環(huán)保認(rèn)證服務(wù)合同4篇
- 基于云計(jì)算的2025年度企業(yè)級應(yīng)用集成合同3篇
- 中介和房東的委托協(xié)議 2篇
- 二零二五年度商業(yè)綜合體消防安全與安保服務(wù)合同3篇
- 道路瀝青工程施工方案
- 《田口方法的導(dǎo)入》課件
- 承包鋼板水泥庫合同范本(2篇)
- 人教版(2024年新教材)七年級上冊英語Unit 7 Happy Birthday 單元整體教學(xué)設(shè)計(jì)(5課時(shí))
- DLT 572-2021 電力變壓器運(yùn)行規(guī)程
- 公司沒繳社保勞動(dòng)仲裁申請書
- 損傷力學(xué)與斷裂分析
- 2024年縣鄉(xiāng)教師選調(diào)進(jìn)城考試《教育學(xué)》題庫及完整答案(考點(diǎn)梳理)
- 車借給別人免責(zé)協(xié)議書
- 應(yīng)急預(yù)案評分標(biāo)準(zhǔn)表
- “網(wǎng)絡(luò)安全課件:高校教師網(wǎng)絡(luò)安全與信息化素養(yǎng)培訓(xùn)”
評論
0/150
提交評論