999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Struts框架在網(wǎng)上書店系統(tǒng)中的應(yīng)用

2014-07-09 07:03:26龐琳琳蔡冬玲馮剛
中國科技縱橫 2014年8期

龐琳琳 蔡冬玲 馮剛

【摘 要】 闡述了J2EE中的Struts框架結(jié)構(gòu)和組件重用技術(shù)的先進(jìn)理念,實(shí)現(xiàn)了Struts在網(wǎng)上書店用戶注冊(cè)系統(tǒng)中的應(yīng)用,解決了網(wǎng)頁設(shè)計(jì)者和軟件開發(fā)者職責(zé)不分的問題,使程序的可重用性、可維護(hù)性和可擴(kuò)展性大大提高。

【關(guān)鍵詞】 Struts Servlet JSP 網(wǎng)上書店

1 引言

目前,網(wǎng)上購物已成為人們?nèi)粘OM(fèi)的一種重要形式,而構(gòu)建網(wǎng)購系統(tǒng)的重要技術(shù)之一就是J2EE中的Servlet/JSP技術(shù)[1]。然而,在僅使用JSP技術(shù)開發(fā)的Web應(yīng)用中,業(yè)務(wù)邏輯處理、動(dòng)態(tài)顯示用的Java代碼以及HTML混合在一起,使得程序可重用性低、維護(hù)困難、網(wǎng)頁設(shè)計(jì)者和軟件開發(fā)者職責(zé)不分[2]。本文使用Struts框架來設(shè)計(jì)網(wǎng)上書店中的用戶注冊(cè)系統(tǒng),提高了系統(tǒng)的開發(fā)效率、可維護(hù)性和可擴(kuò)展性。

2 Struts框架結(jié)構(gòu)

Struts是一個(gè)開放資源框架,它在Servlet和JSP 技術(shù)中被用來創(chuàng)建 WEB 應(yīng)用程序,它以實(shí)用的、可擴(kuò)展的方式實(shí)現(xiàn)了良好的軟件設(shè)計(jì)理念,具有組件的模塊化、靈活性和重用性的優(yōu)點(diǎn)[3]。

Struts中的模型以一個(gè)或多個(gè)Java Bean的形式存在,設(shè)計(jì)和實(shí)現(xiàn)系統(tǒng)的業(yè)務(wù)邏輯。它根據(jù)不同的請(qǐng)求從Action派生具體處理對(duì)象,調(diào)用由Bean構(gòu)成的業(yè)務(wù)組件,創(chuàng)建由ActionForm的派生類,實(shí)現(xiàn)對(duì)客戶端表單數(shù)據(jù)的封裝[4]。Struts中的控制器是ActionServlet組件,它提供了處理所有發(fā)送到Struts的HTTP請(qǐng)求的入口點(diǎn),截取和分發(fā)這些請(qǐng)求到相應(yīng)的動(dòng)作類。另外控制組件也負(fù)責(zé)用相應(yīng)的請(qǐng)求參數(shù)填充Action Form,并傳給動(dòng)作類ActionBean,實(shí)現(xiàn)核心商業(yè)邏輯,可以訪問Java Bean或調(diào)用EJB[5]。最后動(dòng)作類把控制權(quán)傳給后續(xù)的JSP文件來生成視圖。Struts中的視圖由JSP生成頁面來完成,利用自定義標(biāo)記庫編寫用戶界面來實(shí)現(xiàn)應(yīng)用邏輯和顯示邏輯的分離。Struts框架通過這些自定義標(biāo)記建立了視圖和模型之間的聯(lián)系。

3 基于struts的網(wǎng)上書店用戶注冊(cè)系統(tǒng)

以網(wǎng)上書店系統(tǒng)中的用戶注冊(cè)信息系統(tǒng)為例,說明基于Struts的Web應(yīng)用軟件的開發(fā)流程。新用戶在網(wǎng)頁上輸入注冊(cè)信息,若注冊(cè)成功,則轉(zhuǎn)到用戶的登錄界面,否則提示注冊(cè)失敗。

(1)視圖功能的用戶界面設(shè)計(jì)。JSP具有定制標(biāo)記和包含Web組件的能力,利用這兩個(gè)特色,可以實(shí)現(xiàn)定制的組件、容器和布局管理器,從而實(shí)現(xiàn)可擴(kuò)展、可重用和可維護(hù)的Web應(yīng)用界面。利用Struts框架提供的taglib標(biāo)簽庫,能夠大大提高開發(fā)效率。因此,在JSP文件中根據(jù)需要分別引用Struts bean、html、logic、template標(biāo)簽。在用戶注冊(cè)系統(tǒng)中,用戶需要填寫詳細(xì)的信息并提交表單。

(2)模型功能的組件設(shè)計(jì)。構(gòu)建模型部分的組件包含了整個(gè)應(yīng)用程序的業(yè)務(wù)邏輯。此系統(tǒng)設(shè)計(jì)的組件為:系統(tǒng)狀態(tài)組件(FormBean), 即實(shí)體模型類,它繼承自ActionForm類,用來存放表單數(shù)據(jù);指令類組件(ActionBean),它擴(kuò)展了Action類,主要是用來控制應(yīng)用程序的流程,當(dāng)注冊(cè)用戶按“提交”按鈕后,來自用戶的請(qǐng)求被Servlet送到指令類組件NewUserAction,指令類調(diào)用相應(yīng)的業(yè)務(wù)邏輯組件Account進(jìn)行處理,然后把請(qǐng)求轉(zhuǎn)發(fā)給相關(guān)的JSP。

(3)控制器功能的指令Servlet類設(shè)計(jì)。對(duì)于控制器類,不需要重新設(shè)計(jì),直接使用Struts提供的ActionServlet類即可。它的核心是struts-config.xml配置文件,它包含了應(yīng)用程序的整個(gè)邏輯流程。在用戶注冊(cè)信息過程中,用newAccount.jsp實(shí)現(xiàn)注冊(cè)頁面;用NewUserActionForm封裝表單數(shù)據(jù);用NewUserAction實(shí)現(xiàn)用戶注冊(cè)信息(業(yè)務(wù)邏輯)并控制應(yīng)用程序流程;而在struts-config.xml里實(shí)現(xiàn)了注冊(cè)頁面(newAccount.jsp)、數(shù)據(jù)bean(NewUserForm)、邏輯bean(NewUserAction)之間的聯(lián)系。

當(dāng)在注冊(cè)頁面上單擊“OK”按鈕時(shí),用戶請(qǐng)求被提交給ActionServlet,根據(jù)struts-config.xml中的配置信息,把/newUserAction.do的URI映射到com.shjt.ebookstore.NewUserAction,把用戶注冊(cè)信息封裝到NewUserForm,由NewUserAction完成注冊(cè)操作,然后轉(zhuǎn)發(fā)給index.jsp。由此可見,struts-config.xml對(duì)于前期的開發(fā)和后期的維護(hù)升級(jí)都是非常重要的。

(4)對(duì)未登錄或未注冊(cè)用戶購書結(jié)賬的處理。當(dāng)用戶確認(rèn)所買圖書,點(diǎn)擊結(jié)賬付款按鈕時(shí),在bookshopcart.jsp頁面通過超鏈接產(chǎn)生響應(yīng),對(duì)應(yīng)代碼為:,后臺(tái)的ActionServlet查詢struts配置文件struts-config.xml文件中元素,根據(jù)IsUserLogin.do,將請(qǐng)求分發(fā)給BookStore.IsUserLogin這個(gè)Action bean進(jìn)行判斷用戶是否已經(jīng)登錄,如果沒有登錄則返回mapping對(duì)象,ActionServlet根據(jù)此mapping對(duì)象返回的參數(shù)查找配置文件struts-config.xml中的元素轉(zhuǎn)向userLogin.jsp頁面。在這個(gè)頁面用戶若已經(jīng)注冊(cè),只需要輸入賬號(hào)和密碼即可登錄。如果用戶第一次購書,則需要注冊(cè),點(diǎn)擊新用戶注冊(cè)按鈕,通過超鏈接產(chǎn)生響應(yīng)。代碼如下:”新用戶注冊(cè)”,由此可見轉(zhuǎn)向userRegister.jsp頁面使用戶注冊(cè),當(dāng)用戶填好基本信息后,點(diǎn)擊注冊(cè)按鈕,根據(jù)form的Action對(duì)象可知,將請(qǐng)求提交給registe.do處理。后臺(tái)的ActionServlet查詢struts配置文件struts-config.xml文件中元素,根據(jù)registe.do將請(qǐng)求分發(fā)給BookStore.registAction這個(gè)Action Bean處理。它將動(dòng)態(tài)表單userForm中用戶基本信息插入到數(shù)據(jù)庫表user中,然后使用mapping對(duì)象,ActionServlet根據(jù)此mapping對(duì)象返回的參數(shù)查找配置文件struts-config.xml中的元素轉(zhuǎn)向userLogin.jsp頁面讓用戶先登錄,登錄后轉(zhuǎn)到確認(rèn)送貨頁面。

4 結(jié)語

本文充分利用J2EE的強(qiáng)大功能和平臺(tái)無關(guān)性特點(diǎn),采用Struts框架來實(shí)現(xiàn)網(wǎng)上書店中的用戶注冊(cè)系統(tǒng),使用戶界面和事務(wù)邏輯分離,使頁面設(shè)計(jì)者和Java程序開發(fā)者高效地協(xié)調(diào)工作,有利于整個(gè)系統(tǒng)的開發(fā)、集成、維護(hù)和擴(kuò)展。

參考文獻(xiàn):

[1]李立春,劉卓.基于Struts框架的網(wǎng)上購物系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù),2014年01期,226-227.

[2]張志剛.Struts 2框架技術(shù)開發(fā)與應(yīng)用[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2013年23期,119-120.

[3]張舉,王敏思.基于Struts和Hibernate的MVC設(shè)計(jì)模式[J].電力學(xué)報(bào),2012年06期,603-606.

[4]周春龍.基于MVC模式的Struts框架應(yīng)用方法研究[J].信息與電腦(理論版),2011年04期,79.

[5]于光.基于MVC模式的Struts技術(shù)在Web應(yīng)用中的研究與實(shí)現(xiàn)[D].長春理工大學(xué),2009.

主站蜘蛛池模板: 国产精品性| 亚洲性影院| 国产制服丝袜91在线| 国产噜噜噜视频在线观看| 国产在线视频欧美亚综合| 国产精品视频公开费视频| 国产亚洲欧美日韩在线观看一区二区| 亚洲国产中文综合专区在| 国产视频一二三区| 欧美三级不卡在线观看视频| 亚洲精品人成网线在线| 最新无码专区超级碰碰碰| 国产新AV天堂| 免费看美女自慰的网站| 国产一二视频| 国产成人久视频免费| 午夜福利视频一区| 国产一级小视频| 国产成人毛片| 国产精品分类视频分类一区| 欧美激情视频一区二区三区免费| 2021国产在线视频| 国产第一色| 99视频全部免费| 免费观看男人免费桶女人视频| 国产在线第二页| 国产日韩欧美视频| 国禁国产you女视频网站| 久久人体视频| 久久久久国产一区二区| 午夜爽爽视频| 国产国模一区二区三区四区| 国产人人射| 欲色天天综合网| 夜夜操天天摸| 激情亚洲天堂| 久无码久无码av无码| 日本91在线| 91精品日韩人妻无码久久| 99视频精品全国免费品| 日韩精品高清自在线| 国产91色在线| swag国产精品| 无码人妻热线精品视频| 欧美精品成人| 97国产精品视频自在拍| 91系列在线观看| 亚洲精品视频免费观看| 成人欧美在线观看| 久久精品丝袜高跟鞋| 色妞www精品视频一级下载| 国产一区在线视频观看| 亚洲性网站| av大片在线无码免费| 欧美亚洲一二三区| 亚洲一区第一页| 成人免费网站久久久| 国产乱论视频| WWW丫丫国产成人精品| 香蕉久人久人青草青草| 日本精品视频一区二区| 高清国产在线| 毛片a级毛片免费观看免下载| 亚洲精品波多野结衣| 一区二区三区精品视频在线观看| 欧美性精品| 在线观看视频一区二区| 18禁黄无遮挡免费动漫网站| 国产噜噜在线视频观看| 免费中文字幕在在线不卡| 免费看av在线网站网址| swag国产精品| 亚洲日本在线免费观看| 99热6这里只有精品| 国产成a人片在线播放| 亚洲系列中文字幕一区二区| 91网站国产| 91啪在线| 呦女亚洲一区精品| 91亚洲精选| 亚洲无码高清免费视频亚洲| 亚洲国产精品日韩欧美一区|