您的位置:首页 > 编程语言 > Java开发

SpringMVC Controller的配置方式

2016-08-18 16:07 381 查看
Spring MVC 入门示例http://cuisuqiang.iteye.com/blog/2042931中,配置Controller时使用的是URL对应Bean的方式

在SpringMVC中,对于Controller的配置方式有很多种,如下做简单总结

 

第一种 URL对应Bean

如果要使用此类配置方式,需要在XML中做如下样式配置

Java代码  


<!-- 表示将请求的URL和Bean名字映射-->  

<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>  

<bean name="/hello.do" class="test.HelloController"></bean>  

 

以上配置,访问/hello.do就会寻找ID为/hello.do的Bean,此类方式仅适用小型的应用系统

 

第二种 为URL分配Bean

使用一个统一配置集合,对各个URL对应的Controller做关系映射

Java代码  


<!-- 最常用的映射配置方式 -->  

<!-- <prop key="/hello*.do">helloController</prop>-->  

<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">  

 <property name="mappings">  

  <props>  

   <prop key="/hello.do">helloController</prop>  

  </props>  

 </property>  

</bean>  

<bean name="helloController" class="test.HelloController"></bean>  

 

此类配置还可以使用通配符,访问/hello.do时,Spring会把请求分配给helloController进行处理

 

第三种 URL匹配Bean

如果定义的Controller名称规范,也可以使用如下配置

Java代码  


<!-- 将hello*.do交给helloController处理-->  

<bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"></bean>  

<bean name="helloController" class="test.HelloController"></bean>  

 

第四种 注解

首先在配置文件中开启注解

Java代码  


<!-- 启用 spring 注解 -->  

<context:component-scan base-package="test" />  

<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/>  

 

在编写类上使用注解@org.springframework.stereotype.Controller标记这是个Controller对象

使用@RequestMapping("/hello.do")指定方法对应处理的路径,这里只是简单示例,会有更复杂配置

代码类如下:

Java代码  


package test;  

import java.util.Date;  

import javax.servlet.http.HttpServletRequest;  

import javax.servlet.http.HttpServletResponse;  

import org.springframework.web.bind.annotation.RequestMapping;  

// http://localhost:8080/spring/hello.do?user=java  

@org.springframework.stereotype.Controller  

public class HelloController{  

    @SuppressWarnings("deprecation")  

    @RequestMapping("/hello.do")  

    public String hello(HttpServletRequest request,HttpServletResponse response){  

        request.setAttribute("user", request.getParameter("user") + "-->" + new Date().toLocaleString())
a66a
;  

        return "hello";  

    }  

}  

 

附件是源码,导入Eclipse查看示例。

 

请您到ITEYE网站看 java小强 原创,谢谢!

http://cuisuqiang.iteye.com/ !
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: