• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

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

      2016-06-14 16:36:26石家莊職業(yè)技術(shù)學(xué)院電氣與電子工程系石家莊050081
      山東工業(yè)技術(shù) 2016年10期
      關(guān)鍵詞:中央處理器配置文件計(jì)算器

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

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

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

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

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

      0 引言

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

      1 Struts框架的工作流程

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

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

      2 框架組件及配置

      2.1Struts框架主要組件

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      完成代碼的編寫、并確認(rèn)正確。使用Eclipse中的調(diào)試功能,分析程序運(yùn)行結(jié)果,結(jié)果符合預(yù)期要求,即用戶端輸入的數(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ù)。

      猜你喜歡
      中央處理器配置文件計(jì)算器
      提示用戶配置文件錯(cuò)誤 這樣解決
      搭建簡單的Kubernetes集群
      互不干涉混用Chromium Edge
      [計(jì)算器不是萬能的]
      忘記ESXi主機(jī)root密碼怎么辦
      計(jì)算機(jī)中央處理器液體循環(huán)散熱器實(shí)驗(yàn)研究
      電子測試(2018年13期)2018-09-26 03:29:16
      關(guān)于計(jì)算機(jī)中央處理器的研究
      CPU與GPU探究
      計(jì)算機(jī)中央處理器的研究
      一個(gè)損壞的計(jì)算器
      讀寫算(中)(2015年10期)2015-11-07 07:24:10
      南涧| 玉山县| 清河县| 库尔勒市| 阿克陶县| 哈巴河县| 绩溪县| 乐业县| 宣恩县| 桓仁| 兴化市| 清新县| 同仁县| 乌拉特后旗| 襄垣县| 壤塘县| 儋州市| 华阴市| 四平市| 汤原县| 盐城市| 来凤县| 商洛市| 龙胜| 嘉义市| 合阳县| 芮城县| 南城县| 涡阳县| 哈尔滨市| 德州市| 胶南市| 韶关市| 郑州市| 托克托县| 大名县| 温宿县| 汉源县| 珠海市| 五原县| 雷波县|