Spring MVC中Controller的四种配置方法

来源:互联网 发布:迅游加速器mac版 编辑:程序博客网 时间:2024/06/05 09:56

来自: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.