天天看點

Spring MVC基礎入門

spring mvc簡介

spring web mvc是一種基于java的實作了web mvc設計模式的請求驅動類型的輕量級web架構,即使用了mvc架構模式的思想,将web層進行職責解耦,基于請求驅動指的就是使用請求-響應模型,架構的目的就是幫助我們簡化開發,spring web mvc也是要簡化我們日常web開發的。

spring web mvc處理請求的流程:

Spring MVC基礎入門

具體執行步驟如下:

1、  首先使用者發送請求到前端控制器,前端控制器根據請求資訊(如url)來決定選擇哪一個頁面控制器進行處理并把請求委托給它;

2、  頁面控制器接收到請求後,進行功能處理,處理請求和建立相應的model,處理完畢後傳回一個modelandview(模型資料和邏輯視圖名);

3、  前端控制器收回控制權,然後根據傳回的邏輯視圖名,選擇相應的視圖進行渲染,并把模型資料傳入以便視圖渲染;

4、  前端控制器将響應傳回給使用者,至此整個結束。

spring mvc demo

寫一個簡單的例子來說明spring mvc是如何工作的,該例子預設啟動一個歡迎頁面,并有一個login的頁面,輸入使用者名和密碼,當使用者名和密碼不為空傳回“登入成功”,當輸入有空時,則停留在login頁面,例子非常簡單。

建立一個dynamic web project。

看web.xml的配置:

Spring MVC基礎入門
Spring MVC基礎入門

load-on-startup:表示啟動容器時初始化該servlet;

url-pattern:表示哪些請求交給spring web mvc處理, “/” 是用來定義預設servlet映射的。也可以如“*.html”表示攔截所有以html為擴充名的請求。

注意配置spring mvc dispatcherservlet:預設dispatcherservlet會加載web-inf/[dispatcherservlet的servlet名字]-servlet.xml配置檔案。即每個servlet都要有個配置檔案,檔案名為[servlet名字]-servlet.xml配置檔案。但這裡我使用了contextconfiglocation來設定配置檔案的檔案名和路徑。

springconfig.xml的配置:

Spring MVC基礎入門
Spring MVC基礎入門

internalresourceviewresolver:用于支援servlet、jsp視圖解析;

prefix和suffix:查找視圖頁面的字首和字尾(字首[邏輯視圖名]字尾),比如傳進來的邏輯視圖名為hello,則該該jsp視圖頁面應該存放在“web-inf/pages/hello.jsp”;

login 頁面:

Spring MVC基礎入門
Spring MVC基礎入門

login成功頁面:

Spring MVC基礎入門
Spring MVC基礎入門

home頁面:

Spring MVC基礎入門
Spring MVC基礎入門

controller實作:

homecontroller:

Spring MVC基礎入門
Spring MVC基礎入門

usercontroller:

Spring MVC基礎入門
Spring MVC基礎入門

spring常用注解:

@autowired:spring通過一個beanpostprocessor對 @autowired 進行解析,是以要讓 @autowired 起作用必須事先在 spring 容器中聲明 autowiredannotationbeanpostprocessor bean。

@controller:通過@controller标注即可将class定義為一個controller類,成為spring的一個bean。為使spring能找到定義為controller的bean,需要在spring配置檔案中增加如下配置:

@requestmapping:在類定義處和方法定義處使用 @requestmapping 注解,就可以很容易通過url參數指定controller的處理方法了。

@requestparam:通過 @requestparam 注解指定綁定的url參數。

對listboardtopic()請求處理方法的 topicid 入參标注了 @requestparam("id") 注解,是以它将和id的url參數綁定。

運作結果:

Spring MVC基礎入門
Spring MVC基礎入門

源碼下載下傳:http://download.csdn.net/detail/luxiaoxun/8029561

參考:

spring framework 首頁:http://projects.spring.io/spring-framework/

spring framework source code: https://github.com/spring-projects/spring-framework

spring mvc document: http://docs.spring.io/spring/docs/current/spring-framework-reference/html/mvc.html

spring注解:http://www.ibm.com/developerworks/cn/java/j-lo-spring25-mvc/

本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接,否則保留追究法律責任的權利。

http://www.cnblogs.com/luxiaoxun/p/4020795.html