• 
    

    
    

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

      ?

      基于Spring MVC的Web應(yīng)用開發(fā)

      2013-10-15 07:38:32舒禮蓮
      計(jì)算機(jī)與現(xiàn)代化 2013年11期
      關(guān)鍵詞:視圖應(yīng)用程序頁面

      舒禮蓮

      (江西省計(jì)算技術(shù)研究所,江西 南昌 330002)

      0 引言

      Spring框架是當(dāng)前流行的輕量級一站式企業(yè)應(yīng)用程序解決方案,它為應(yīng)用程序開發(fā)提供了許多基礎(chǔ)結(jié)構(gòu),例如:事務(wù)處理、遠(yuǎn)程方法、消息處理等,使開發(fā)人員能夠?qū)W⒂诔绦驑I(yè)務(wù)邏輯的實(shí)現(xiàn)。MVC模式是近年來流行的應(yīng)用程序架構(gòu),它將應(yīng)用程序分為模型(Model)、視圖(View)、控制器(Controller)3個(gè)部分。其中,模型負(fù)責(zé)存儲數(shù)據(jù),視圖負(fù)責(zé)顯示用戶界面,控制器負(fù)責(zé)控制模型和視圖。MVC模式使得程序結(jié)構(gòu)更加清晰,利于維護(hù)。目前已經(jīng)有許多流行的MVC框架,如Struts、WebWork等。Spring框架也包含了一個(gè)MVC框架,它與Spring能夠更加有機(jī)地結(jié)合。

      1 Spring MCV框架工作原理

      Spring MVC框架支持 XML配置和 Java注解(Annotation)配置。Spring MVC框架圍繞DispatcherServlet設(shè)計(jì)。DispatcherServlet是一個(gè) Java Servlet,它根據(jù)用戶提交的HTTP請求指派不同的處理程序。DispatcherServlet是一個(gè)前端控制器,它負(fù)責(zé)接收用戶的HTTP請求,并分配給其他控制器進(jìn)行處理。其他控制器接收用戶請求,提取其中的參數(shù)信息,并提取模型中存儲的數(shù)據(jù),進(jìn)行處理,然后再傳遞給DispatcherServlet。DispatcherServlet將結(jié)果數(shù)據(jù)傳遞給一個(gè)視圖模板,例如JSP頁面,JSP頁面將數(shù)據(jù)顯示在頁面上返回給用戶。這樣就較好地實(shí)現(xiàn)了數(shù)據(jù)、程序邏輯和用戶界面的分離。Spring框架結(jié)構(gòu)圖如圖1所示。

      圖1 Spring MVC框架結(jié)構(gòu)圖

      2 控制器配置方法

      Spring MVC框架充分利用了Spring框架的非侵入性編程的優(yōu)點(diǎn)。開發(fā)人員無需實(shí)現(xiàn)任何Spring框架有關(guān)的接口。

      DispatcherServlet在web.xml中的配置如下:

      類BusinessController的定義前面加上了Java注解@Controller,表示它是一個(gè)控制器類,該類中的方法用于處理用戶請求。該類前面的@RequestMapping("/myurl")注解表示該類用于處理 URL路徑“/myurl”的用戶請求。例如應(yīng)用程序名為myapp,則用戶在瀏覽器輸入http://localhost/myapp/myurl的請求地址,該請求將轉(zhuǎn)到類BusinessController中的方法進(jìn)行處理。

      該類中的方法doGet前面加上了@RequestMapping(method=RequestMethod.GET),則表示對于用戶HTTP請求為GET類型的,將調(diào)用doGet方法進(jìn)行處理。如果要處理POST類型的HTTP請求,則將method屬性值改為RequestMethod.POST。

      RequestMapping可將參數(shù)值傳入業(yè)務(wù)方法,例如:

      表示用戶請求URL中的一部分可以作為參數(shù)傳入該業(yè)務(wù)方法的personId參數(shù)。personId參數(shù)前面的@PathVariable注解表示該參數(shù)從URL路徑中獲取。例如:用戶輸入 http://localhost/myapp/102405,則“102405”被作為參數(shù)傳遞給doBusiness方法。

      HTTP請求參數(shù)也可直接傳入業(yè)務(wù)方法參數(shù),例如:

      則HTTP請求中的personId查詢參數(shù)被傳入business-Method的personId參數(shù)。用戶輸入http://localhost/myapp?personId=102405,則“102405”被作為參數(shù)傳遞給businessMethod方法。方法參數(shù)不一定要求是String類型,int、long、Date均可從查詢字符串解析得到,如果解析失敗將拋出異常。

      HTTP請求參數(shù)可直接綁定到模型數(shù)據(jù),例如:

      在調(diào)用這個(gè)方法之前,Spring MVC會創(chuàng)建一個(gè)Person類型的person對象,該對象有諸如 personId、name等屬性,Spring MVC會將請求頁面上的person-Id、name等參數(shù)值賦值給這些屬性,然后將person對象加入到模型中,再將person對象傳遞給processRequest方法的person參數(shù)。

      3 視圖與控制器的接口

      最常用的視圖是JSP,此外,Spring MVC還支持Velocity、Freemarker、XML、JSON 等多種視圖形式。

      在Spring MVC中,除了原來的ApplicationContext配置環(huán)境之外,還專門針對Web應(yīng)用設(shè)置了一個(gè)WebApplicationContext,它包含了Web應(yīng)用中使用的bean配置。其中視圖解析器的配置如下:

      表示使用JSP視圖,JSP的URL路徑前綴為“/WEBINF/jsp/”,后綴為“.jsp”。例如,控制器業(yè)務(wù)方法最后return“myview”,則表示將 myapp/WEB-INF/jsp/myview.jsp頁面返回給用戶。

      可以重定向視圖如下:

      表示將用戶路徑的URL中的 path部分重定向到files/目錄下。例如,用戶輸入 http://localhost/myapp/mypath/mypage.jsp,則將重定向到 http://localhost/myapp/files/mypath/mypage.jsp 頁面。

      4 結(jié)束語

      在Web開發(fā)中使用MVC模式將降低用戶界面和合同數(shù)據(jù)的耦合,提高代碼的可維護(hù)性。Spring MVC框架可以較好地實(shí)現(xiàn)企業(yè)應(yīng)用程序的MVC模式,并不會對原有業(yè)務(wù)邏輯代碼產(chǎn)生侵入。它支持XML配置和Java注解配置,為設(shè)計(jì)提供了較大的靈活性。Spring MVC框架是一種較好的設(shè)計(jì)方法,可以在企業(yè)應(yīng)用開發(fā)中廣泛應(yīng)用。

      [1]SpringSource.Web MVC Framework[EB/OL].http://static.springsource.org/spring/docs/3.2.x/spring-frameworkreference/html/mvc.html,2012-12-05.

      [2]Colin Sampaleanu.Green Beans:Getting Started with Spring MVC[EB/OL].http://blog.springsource.com/2011/01/04/green-beans-getting-started-with-spring-mvc/,2011-01-04.

      [3]陳雄華,林開雄.Spring 3.x企業(yè)應(yīng)用開發(fā)實(shí)戰(zhàn)[M].北京:電子工業(yè)出版社,2012.

      [4][美]Gary Mark,Daniel Rubio,Josh Long.Spring攻略(第2版)[M].陳宗恒,姚軍,蔣亮譯.北京:人民郵電出版社,2012.

      [5][美]Craig Walls,Ryan Breidenbach.Spring in Action(第2版)[M].畢慶紅,王軍譯.北京:人民郵電出版社,2008.

      [6]王坤.基于J2EE平臺Spring MVC框架開發(fā)的MIS系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].上海:華東師范大學(xué),2008.

      [7]邵剛.基于Spring框架的MVC控制器的優(yōu)化與改進(jìn)[D].濟(jì)南:山東大學(xué),2011.

      [8]鄒存潔.基于MVC模式的Spring框架的應(yīng)用與研究[D].大連:大連海事大學(xué),2006.

      [9]歐勤坪.基于Spring MVC+iBATIS框架的生物信息數(shù)據(jù)庫系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].重慶:西南大學(xué),2009.

      [10]郭俊卿.基于MVC框架的上海財(cái)稅征管系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2007.

      [11]劉軍,戴金山.基于 Spring MVC與iBATIS的輕量級Web應(yīng)用研究[J].計(jì)算機(jī)應(yīng)用,2006,26(4):840-843.

      [12]張宇,王映輝,張翔南.基于Spring的MVC框架設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2010,36(4):59-62.

      [13]符培炯,杜忠軍.Spring在實(shí)現(xiàn)MVC構(gòu)架中的應(yīng)用[J].計(jì)算機(jī)技術(shù)與發(fā)展,2006,16(6):236-238.

      [14]劉星沙,羅昔軍.基于MVC模式的Struts和Spring整合框架的研究與應(yīng)用[J].湘潭大學(xué)自然科學(xué)學(xué)報(bào),2007,29(1):92-95.

      猜你喜歡
      視圖應(yīng)用程序頁面
      刷新生活的頁面
      刪除Win10中自帶的應(yīng)用程序
      5.3 視圖與投影
      視圖
      Y—20重型運(yùn)輸機(jī)多視圖
      SA2型76毫米車載高炮多視圖
      關(guān)閉應(yīng)用程序更新提醒
      電腦迷(2012年15期)2012-04-29 17:09:47
      同一Word文檔 縱橫頁面并存
      淺析ASP.NET頁面導(dǎo)航技術(shù)
      三星電子將開設(shè)應(yīng)用程序下載商店
      方正县| 庆城县| 安图县| 盐津县| 崇信县| 佳木斯市| 新兴县| 喀喇沁旗| 丽水市| 长治县| 曲阜市| 石棉县| 乌苏市| 龙井市| 滨州市| 通山县| 通海县| 错那县| 克拉玛依市| 库伦旗| 庆安县| 瓦房店市| 孙吴县| 南陵县| 通化县| 禄丰县| 绵竹市| 鹿邑县| 忻城县| 黄梅县| 连云港市| 同江市| 观塘区| 西畴县| 中方县| 嘉善县| 图木舒克市| 永城市| 三门峡市| 沛县| 宾川县|