亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

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

        龐琳琳 蔡冬玲 馮剛

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

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

        1 引言

        目前,網(wǎng)上購(gòu)物已成為人們?nèi)粘OM(fèi)的一種重要形式,而構(gòu)建網(wǎng)購(gòu)系統(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)頁(yè)設(shè)計(jì)者和軟件開發(fā)者職責(zé)不分[2]。本文使用Struts框架來(lái)設(shè)計(jì)網(wǎng)上書店中的用戶注冊(cè)系統(tǒng),提高了系統(tǒng)的開發(fā)效率、可維護(hù)性和可擴(kuò)展性。

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

        Struts是一個(gè)開放資源框架,它在Servlet和JSP 技術(shù)中被用來(lái)創(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è)邏輯,可以訪問(wèn)Java Bean或調(diào)用EJB[5]。最后動(dòng)作類把控制權(quán)傳給后續(xù)的JSP文件來(lái)生成視圖。Struts中的視圖由JSP生成頁(yè)面來(lái)完成,利用自定義標(biāo)記庫(kù)編寫用戶界面來(lái)實(shí)現(xiàn)應(yīng)用邏輯和顯示邏輯的分離。Struts框架通過(guò)這些自定義標(biāo)記建立了視圖和模型之間的聯(lián)系。

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

        以網(wǎng)上書店系統(tǒng)中的用戶注冊(cè)信息系統(tǒng)為例,說(shuō)明基于Struts的Web應(yīng)用軟件的開發(fā)流程。新用戶在網(wǎng)頁(yè)上輸入注冊(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)簽庫(kù),能夠大大提高開發(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類,用來(lái)存放表單數(shù)據(jù);指令類組件(ActionBean),它擴(kuò)展了Action類,主要是用來(lái)控制應(yīng)用程序的流程,當(dāng)注冊(cè)用戶按“提交”按鈕后,來(lái)自用戶的請(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è)信息過(guò)程中,用newAccount.jsp實(shí)現(xiàn)注冊(cè)頁(yè)面;用NewUserActionForm封裝表單數(shù)據(jù);用NewUserAction實(shí)現(xiàn)用戶注冊(cè)信息(業(yè)務(wù)邏輯)并控制應(yīng)用程序流程;而在struts-config.xml里實(shí)現(xiàn)了注冊(cè)頁(yè)面(newAccount.jsp)、數(shù)據(jù)bean(NewUserForm)、邏輯bean(NewUserAction)之間的聯(lián)系。

        當(dāng)在注冊(cè)頁(yè)面上單擊“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è)用戶購(gòu)書結(jié)賬的處理。當(dāng)用戶確認(rèn)所買圖書,點(diǎn)擊結(jié)賬付款按鈕時(shí),在bookshopcart.jsp頁(yè)面通過(guò)超鏈接產(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)登錄,如果沒(méi)有登錄則返回mapping對(duì)象,ActionServlet根據(jù)此mapping對(duì)象返回的參數(shù)查找配置文件struts-config.xml中的元素轉(zhuǎn)向userLogin.jsp頁(yè)面。在這個(gè)頁(yè)面用戶若已經(jīng)注冊(cè),只需要輸入賬號(hào)和密碼即可登錄。如果用戶第一次購(gòu)書,則需要注冊(cè),點(diǎn)擊新用戶注冊(cè)按鈕,通過(guò)超鏈接產(chǎn)生響應(yīng)。代碼如下:”新用戶注冊(cè)”,由此可見轉(zhuǎn)向userRegister.jsp頁(yè)面使用戶注冊(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ù)庫(kù)表user中,然后使用mapping對(duì)象,ActionServlet根據(jù)此mapping對(duì)象返回的參數(shù)查找配置文件struts-config.xml中的元素轉(zhuǎn)向userLogin.jsp頁(yè)面讓用戶先登錄,登錄后轉(zhuǎn)到確認(rèn)送貨頁(yè)面。

        4 結(jié)語(yǔ)

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

        參考文獻(xiàn):

        [1]李立春,劉卓.基于Struts框架的網(wǎng)上購(gòu)物系統(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].長(zhǎng)春理工大學(xué),2009.

        少妇人妻综合久久中文字幕| 麻豆视频在线观看免费在线观看| 久久亚洲乱码中文字幕熟女| 无码人妻丰满熟妇区bbbbxxxx| 国产色a在线观看| 国产精品久久婷婷婷婷| 一本到亚洲av日韩av在线天堂| 97丨九色丨国产人妻熟女| 性生交大片免费看淑女出招| 午夜短无码| 按摩偷拍一区二区三区| 2018天天躁夜夜躁狠狠躁| 亚洲av无码精品色午夜蛋壳| 国产欧美日本亚洲精品一4区| 96中文字幕一区二区| 又黄又爽又无遮挡免费的网站| 亚洲av永久无码一区| 亚洲国产一区二区三区在观看| 91精品久久久中文字幕| 女女互揉吃奶揉到高潮视频| 亚洲色图视频在线| 小草手机视频在线观看| 欧美国产激情18| 中文字幕无码不卡一区二区三区| 精品午夜一区二区三区久久| 久久久亚洲av午夜精品| 免费观看18禁无遮挡真人网站| 精品三级久久久久久久电影| 女同av免费在线播放| 公厕偷拍一区二区三区四区五区| 亚洲aⅴ在线无码播放毛片一线天| 99JK无码免费| 亚洲av专区一区二区| 久久久久久九九99精品| 国产鲁鲁视频在线播放| 成人综合激情自拍视频在线观看| 久久亚洲中文字幕精品一区| 国产在线精品一区二区三区不卡| 国产自产拍精品视频免费看| 风韵犹存丰满熟妇大屁股啪啪| 久久综合国产乱子伦精品免费 |