国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

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

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

舒禮蓮

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

0 引言

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

1 Spring MCV框架工作原理

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

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

2 控制器配置方法

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

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

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

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

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

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

HTTP請求參數(shù)也可直接傳入業(yè)務方法參數(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)用這個方法之前,Spring MVC會創(chuàng)建一個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應用設置了一個WebApplicationContext,它包含了Web應用中使用的bean配置。其中視圖解析器的配置如下:

表示使用JSP視圖,JSP的URL路徑前綴為“/WEBINF/jsp/”,后綴為“.jsp”。例如,控制器業(yè)務方法最后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ù)的耦合,提高代碼的可維護性。Spring MVC框架可以較好地實現(xiàn)企業(yè)應用程序的MVC模式,并不會對原有業(yè)務邏輯代碼產(chǎn)生侵入。它支持XML配置和Java注解配置,為設計提供了較大的靈活性。Spring MVC框架是一種較好的設計方法,可以在企業(yè)應用開發(fā)中廣泛應用。

[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è)應用開發(fā)實戰(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)設計與實現(xiàn)[D].上海:華東師范大學,2008.

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

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

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

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

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

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

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

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

猜你喜歡
視圖應用程序頁面
刷新生活的頁面
刪除Win10中自帶的應用程序
電腦報(2019年12期)2019-09-10 05:08:20
5.3 視圖與投影
視圖
Y—20重型運輸機多視圖
SA2型76毫米車載高炮多視圖
關(guān)閉應用程序更新提醒
電腦迷(2012年15期)2012-04-29 17:09:47
同一Word文檔 縱橫頁面并存
淺析ASP.NET頁面導航技術(shù)
三星電子將開設應用程序下載商店
绥江县| 海晏县| 德惠市| 保德县| 扶风县| 嫩江县| 永仁县| 尼勒克县| 台前县| 新和县| 留坝县| 鄂托克旗| 苍梧县| 石嘴山市| 饶河县| 灌阳县| 内江市| 北碚区| 水城县| 始兴县| 含山县| 馆陶县| 兴业县| 靖西县| 增城市| 阿巴嘎旗| 大埔区| 南部县| 黑龙江省| 中阳县| 纳雍县| 郧西县| 甘泉县| 墨江| 马山县| 白沙| 垣曲县| 武邑县| 永济市| 中宁县| 牟定县|