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.

主站蜘蛛池模板: 婷婷六月激情综合一区| 无码免费视频| 日本一本在线视频| 福利在线免费视频| 亚洲最大综合网| 一本无码在线观看| 黄色国产在线| 欧美一区中文字幕| 鲁鲁鲁爽爽爽在线视频观看 | 日韩av手机在线| 国产亚洲精品91| 中文字幕av无码不卡免费| 成人另类稀缺在线观看| 国产女人综合久久精品视| 精品视频在线观看你懂的一区| 97影院午夜在线观看视频| 国内精品久久人妻无码大片高| 国产精品一区不卡| 亚洲欧美综合在线观看| 特级精品毛片免费观看| 国产一级特黄aa级特黄裸毛片| 欧美一级在线| 欧美日韩国产在线播放| 亚洲精品在线观看91| 国产成人区在线观看视频| 久久久91人妻无码精品蜜桃HD| 成人中文字幕在线| 日韩欧美成人高清在线观看| 亚洲第一中文字幕| 一区二区三区四区日韩| 国产成人精品第一区二区| 亚洲精品视频免费| 不卡午夜视频| 亚洲男人的天堂久久香蕉网 | 亚洲国产清纯| 欧美一区二区三区国产精品| 超碰aⅴ人人做人人爽欧美 | 欧美一级一级做性视频| 97超级碰碰碰碰精品| 国产va在线| 久久久久亚洲AV成人人电影软件| 91久久偷偷做嫩草影院精品| 欧美色图第一页| 国产超碰在线观看| AV无码一区二区三区四区| 2021国产精品自拍| 色精品视频| 亚洲一区无码在线| 天天色综网| 久久黄色视频影| 久久香蕉国产线看观| 狠狠色狠狠综合久久| 亚洲国产av无码综合原创国产| 亚洲第一中文字幕| 亚洲一道AV无码午夜福利| 国产男人天堂| 国产主播喷水| 婷婷六月天激情| 99re这里只有国产中文精品国产精品 | 国产精品对白刺激| 啊嗯不日本网站| 国产在线精品99一区不卡| 久久夜色精品国产嚕嚕亚洲av| 免费人成网站在线观看欧美| 久久特级毛片| 黄色成年视频| 91精品啪在线观看国产91九色| 婷婷五月在线视频| 中文字幕第4页| 欧美日韩亚洲综合在线观看 | 精品国产一区二区三区在线观看| 热伊人99re久久精品最新地| 伊人成人在线| 欧美午夜在线观看| 在线精品自拍| 久久久久国产精品免费免费不卡| 激情无码字幕综合| 中国毛片网| 少妇人妻无码首页| 欧美成一级| 综合亚洲色图| 免费福利视频网站|