Spring MVC中Controller的四種配置方法

來自:http://cuisuqiang.iteye.com/blog/2043697

在SpringMVC中,對於Controller的配置方式有很多種,如下做簡單總結

 

第一種 URL對應Bean
如果要使用此類配置方式,需要在XML中做如下樣式配置

Java代碼  
  1.   
  2. class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>  
  3. "/hello.do" class="test.HelloController">  

 
以上配置,訪問/hello.do就會尋找ID爲/hello.do的Bean,此類方式僅適用小型的應用系統

 

第二種 爲URL分配Bean
使用一個統一配置集合,對各個URL對應的Controller做關係映射

Java代碼  
  1.   
  2.   
  3. class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">  
  4.  "mappings">  
  5.     
  6.    "/hello.do">helloController  
  7.     
  8.    
  9.   
  10. "helloController" class="test.HelloController">  

 
此類配置還可以使用通配符,訪問/hello.do時,Spring會把請求分配給helloController進行處理

 

第三種 URL匹配Bean
如果定義的Controller名稱規範,也可以使用如下配置

Java代碼  
  1.   
  2. class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping">  
  3. "helloController" class="test.HelloController">  

 

第四種 註解
首先在配置文件中開啓註解

Java代碼  
  1.   
  2. package="test" />  
  3. class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/>  

 
在編寫類上使用註解@org.springframework.stereotype.Controller標記這是個Controller對象
使用@RequestMapping("/hello.do")指定方法對應處理的路徑,這裏只是簡單示例,會有更復雜配置

代碼類如下:

Java代碼  
  1. package test;  
  2. import java.util.Date;  
  3. import javax.servlet.http.HttpServletRequest;  
  4. import javax.servlet.http.HttpServletResponse;  
  5. import org.springframework.web.bind.annotation.RequestMapping;  
  6. // http://localhost:8080/spring/hello.do?user=java  
  7. @org.springframework.stereotype.Controller  
  8. public class HelloController{  
  9.     @SuppressWarnings("deprecation")  
  10.     @RequestMapping("/hello.do")  
  11.     public String hello(HttpServletRequest request,HttpServletResponse response){  
  12.         request.setAttribute("user", request.getParameter("user") + "-->" + new Date().toLocaleString());  
  13.         return "hello";  
  14.     }  
  15. }  
發佈了23 篇原創文章 · 獲贊 13 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章