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

基于Struts框架簡(jiǎn)易計(jì)算器的實(shí)現(xiàn)

2016-06-14 16:36:26石家莊職業(yè)技術(shù)學(xué)院電氣與電子工程系石家莊050081
山東工業(yè)技術(shù) 2016年10期
關(guān)鍵詞:頁(yè)面用戶(hù)

李 鑫(石家莊職業(yè)技術(shù)學(xué)院電氣與電子工程系,石家莊 050081)

基于Struts框架簡(jiǎn)易計(jì)算器的實(shí)現(xiàn)

李鑫
(石家莊職業(yè)技術(shù)學(xué)院電氣與電子工程系,石家莊050081)

Struts框架是MVC模式的經(jīng)典開(kāi)源框架,它通過(guò)定義中央處理器(ActionServlet),利用核心配置文件隔離了模式和視圖,并用Action類(lèi)的方法統(tǒng)一定義用戶(hù)請(qǐng)求,并且還提供了標(biāo)簽庫(kù)以及ActionForm類(lèi)自動(dòng)將用戶(hù)提交的數(shù)據(jù)填充到Bean中等簡(jiǎn)化代碼的工具。使用Struts框架實(shí)現(xiàn)簡(jiǎn)易計(jì)算器,開(kāi)發(fā)過(guò)程簡(jiǎn)單,代碼量小,功能實(shí)現(xiàn)完善。

Struts;MVC;簡(jiǎn)易計(jì)算器

0 引言

Struts 是一個(gè)基于Sun JavaEE平臺(tái)的MVC開(kāi)源框架,它不僅具有MVC的各項(xiàng)特性,而且還在其基礎(chǔ)之上做了相應(yīng)的改進(jìn),它主要采用Servlet和JSP技術(shù)來(lái)實(shí)現(xiàn)。Struts開(kāi)源框架能充分滿足Web程序員的需求,簡(jiǎn)單易用,敏捷迅速,廣受開(kāi)發(fā)人員喜愛(ài)。目前世界上很多的網(wǎng)站,包括企業(yè)內(nèi)部應(yīng)用和外部的Internet網(wǎng)站都是基于Struts框架來(lái)實(shí)現(xiàn)的,當(dāng)然這與它開(kāi)源、可擴(kuò)展性、支持國(guó)際化、強(qiáng)大的標(biāo)簽庫(kù)、輕量級(jí)等眾多優(yōu)點(diǎn)是分不開(kāi)的。

1 Struts框架的工作流程

在Struts框架中,擔(dān)任中央控制器(Controller)工作的是ActionServlet,系統(tǒng)中所有的請(qǐng)求都會(huì)自動(dòng)發(fā)給中央控制器ActionServlet。需要注意的一點(diǎn)是:無(wú)論是GET請(qǐng)求還是POST請(qǐng)求,在系統(tǒng)看來(lái)都是沒(méi)有區(qū)別的,因?yàn)樵贏ctionServlet中,doGet()和doPost()都會(huì)調(diào)用過(guò)程方法。當(dāng)中央控制器接收到某個(gè)請(qǐng)求時(shí),會(huì)根據(jù)發(fā)送請(qǐng)求的URI路徑來(lái)決定使用哪個(gè)Action方法處理請(qǐng)求。

Action中包括一個(gè)execute方法,它負(fù)責(zé)執(zhí)行相應(yīng)的業(yè)務(wù)邏輯。在Action中,要處理的客戶(hù)端提交的數(shù)據(jù)是由特殊的JavaBean提供的,JavaBean特殊之處就在于它必須是ActionForm的子類(lèi)。當(dāng)每次用戶(hù)提交數(shù)據(jù)時(shí),中央處理器和Action都會(huì)根據(jù)請(qǐng)求的路徑來(lái)指定其對(duì)應(yīng)的ActionForm,同時(shí)中央處理器會(huì)把用戶(hù)輸入的值綁定到ActionForm中。Action執(zhí)行完業(yè)務(wù)邏輯后,返回一個(gè)ActionForward對(duì)象,中央處理器通過(guò)ActionForward對(duì)象進(jìn)行消息的轉(zhuǎn)發(fā)和Web的重定位。

2 框架組件及配置

2.1Struts框架主要組件

中央處理器(核心處理器)通過(guò)判斷URI的值來(lái)決定使用哪個(gè)Action類(lèi)處理業(yè)務(wù)邏輯,并且轉(zhuǎn)發(fā)所有的Action請(qǐng)求。Action的主要功能就是進(jìn)行業(yè)務(wù)邏輯的處理,它是用戶(hù)請(qǐng)求和業(yè)務(wù)邏輯之間溝通的媒介。ActionForm屬于一種實(shí)體類(lèi),用于在View層和Control層之間傳遞表單數(shù)據(jù)和用戶(hù)請(qǐng)求。核心配置文件struts-confi g.xml將Struts框架中的各個(gè)常用組件集合在一起,協(xié)同工作,完成用戶(hù)的需求,是Struts組件的集成器。

Struts將這些信息綁定在一個(gè)ActionMapping對(duì)象中,一個(gè)ActionMapping對(duì)應(yīng)一個(gè)請(qǐng)求URI,當(dāng)請(qǐng)求路徑到達(dá)的時(shí)候,ActionServlet就會(huì)查詢(xún)ActionMapping對(duì)象,ActionMapping對(duì)象將告訴ActionServlet哪個(gè)Action類(lèi)會(huì)被調(diào)用、哪個(gè)ActionForm類(lèi)被用于傳遞頁(yè)面數(shù)據(jù)以及哪些ActionForward將被用于轉(zhuǎn)向。

2.2配置文件中元素各屬性的含義

Action Bean對(duì)應(yīng)的是配置文件struts-confi g.xml中的子元素,其主要屬性介紹如下:

①path:和當(dāng)前Action類(lèi)對(duì)應(yīng)的request頁(yè)面的相對(duì)路徑,該相對(duì)路徑通常定義為以“/”開(kāi)頭。

②type:指定當(dāng)前Action 類(lèi)的包含完整路徑名的類(lèi)名。

③name:指定和當(dāng)前Action關(guān)聯(lián)的ActionForm 的名字,該ActionForm Bean名字必須在元素中定義過(guò)。

④scope:規(guī)定ActionForm 的存在范圍,可接受值為:request和session,默認(rèn)值為session范圍。

⑤input:表單驗(yàn)證出錯(cuò)時(shí)要轉(zhuǎn)向的錯(cuò)誤處理頁(yè)面。

⑥className:指定在調(diào)用Action Bean時(shí)要用到的ActionMapping類(lèi),通常省略。

⑦validate:表明是否首先調(diào)用ActionForm類(lèi)的驗(yàn)證方法進(jìn)行驗(yàn)證,true表示是。

⑧forward:指定目標(biāo)響應(yīng)頁(yè)面。當(dāng)不想使用Action Bean處理請(qǐng)求,而是直接轉(zhuǎn)到目標(biāo)響應(yīng)頁(yè)面時(shí),可使用此方式。只有當(dāng)前元素中未指定type屬性時(shí),本屬性才生效。

3 簡(jiǎn)易計(jì)算器的實(shí)現(xiàn)

新建項(xiàng)目后,根據(jù)系統(tǒng)功能分析和輸入數(shù)據(jù)的特點(diǎn),建立CalActionForm對(duì)象,并自動(dòng)生成get()和set()方法。根據(jù)Struts框架運(yùn)行機(jī)制,ActionForm對(duì)象能夠自動(dòng)收集用戶(hù)輸入信息,交由事物類(lèi)CalAction處理,處理過(guò)程為:

(1)實(shí)例化CalActionForm,并收集計(jì)算器的操作數(shù);

(2)執(zhí)行判斷語(yǔ)句,根據(jù)操作符,執(zhí)行不同的運(yùn)算;

(3)存儲(chǔ)結(jié)果,并轉(zhuǎn)發(fā)到顯示頁(yè)面

(4)系統(tǒng)調(diào)試。

完成代碼的編寫(xiě)、并確認(rèn)正確。使用Eclipse中的調(diào)試功能,分析程序運(yùn)行結(jié)果,結(jié)果符合預(yù)期要求,即用戶(hù)端輸入的數(shù)據(jù)和顯示的結(jié)果一直,程序運(yùn)行成功,功能實(shí)現(xiàn)。

[1]武寶珠,梁聲灼,牛德雄著.基于Struts2+Spring+Hibernate架構(gòu)構(gòu)Web應(yīng)用系統(tǒng)[J].計(jì)算機(jī)與現(xiàn)代化,2009(08).

10.16640/j.cnki.37-1222/t.2016.10.141

李鑫(1982-),女,河北石家莊人,講師,研究方向:計(jì)算機(jī)應(yīng)用技術(shù)。

猜你喜歡
頁(yè)面用戶(hù)
微信群聊總是找不到,打開(kāi)這個(gè)開(kāi)關(guān)就好了
大狗熊在睡覺(jué)
刷新生活的頁(yè)面
關(guān)注用戶(hù)
關(guān)注用戶(hù)
關(guān)注用戶(hù)
Camera360:拍出5億用戶(hù)
100萬(wàn)用戶(hù)
如何獲取一億海外用戶(hù)
同一Word文檔 縱橫頁(yè)面并存
主站蜘蛛池模板: 日韩在线2020专区| 亚洲无限乱码| 亚洲永久精品ww47国产| 亚洲天堂网在线视频| 亚洲va在线观看| 好吊日免费视频| 四虎国产精品永久一区| 毛片a级毛片免费观看免下载| 无码中文字幕精品推荐| 久久综合亚洲鲁鲁九月天| 亚洲国产一成久久精品国产成人综合| 无码内射中文字幕岛国片| 日本午夜三级| 国产香蕉国产精品偷在线观看| 无码日韩精品91超碰| 亚洲国产精品VA在线看黑人| 五月天福利视频| 熟妇丰满人妻av无码区| 欧美.成人.综合在线| 亚洲欧美自拍中文| 亚洲专区一区二区在线观看| 欧美人与牲动交a欧美精品| 欧美激情视频二区三区| 高清久久精品亚洲日韩Av| 国外欧美一区另类中文字幕| 亚洲a级毛片| 综合人妻久久一区二区精品| 日韩第九页| 伊人AV天堂| 亚洲中久无码永久在线观看软件| 看av免费毛片手机播放| 九色在线观看视频| 综合亚洲网| 色偷偷男人的天堂亚洲av| 一区二区午夜| 国产欧美视频综合二区| www.亚洲一区二区三区| 米奇精品一区二区三区| 亚洲第一视频免费在线| 久久无码高潮喷水| 日韩精品资源| 欧美日韩中文字幕二区三区| 色丁丁毛片在线观看| 91成人免费观看在线观看| 色婷婷色丁香| 永久免费AⅤ无码网站在线观看| 国产精品久线在线观看| 亚洲第一天堂无码专区| 国产乱人伦偷精品视频AAA| 欧美精品亚洲精品日韩专区va| 国产中文一区二区苍井空| JIZZ亚洲国产| 色妺妺在线视频喷水| 99一级毛片| 毛片免费试看| 日韩精品成人在线| 国产在线拍偷自揄拍精品| 国产成人精品亚洲77美色| 久久天天躁夜夜躁狠狠| 亚洲国产成人无码AV在线影院L| 国产精品成人一区二区| 黄色网站在线观看无码| 日韩视频免费| 亚洲一欧洲中文字幕在线| 69av在线| 国产无码精品在线播放| 日韩欧美一区在线观看| 老司机午夜精品网站在线观看| 亚洲制服丝袜第一页| 亚洲精品无码高潮喷水A| 国产综合日韩另类一区二区| 人妻精品久久无码区| 亚洲一区二区成人| 久久99精品久久久久纯品| 在线看免费无码av天堂的| 91原创视频在线| 在线中文字幕网| 日韩第一页在线| 国产SUV精品一区二区| 国产欧美日韩一区二区视频在线| 亚洲成aⅴ人在线观看| 国产喷水视频|