Spring MVC Controller配置方式

pring MVC 入门示例http://cuisuqiang.iteye.com/blog/2042931中,配置Controller时使用的是URL对应Bean的方式
在SpringMVC中,对于Controller的配置方式有很多种,如下做简单总结

 

第一种 URL对应Bean

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

<!-- 表示将请求的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做关系映射

<!-- 最常用的映射配置方式 -->
<!-- <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名称规范,也可以使用如下配置


<!-- 将hello*.do交给helloController处理-->
<bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"></bean>
<bean name="helloController" class="test.HelloController"></bean>

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

<!-- 启用 spring 注解 -->
<context:component-scan base-package="test" />
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/>

在编写类上使用注解@org.springframework.stereotype.Controller标记这是个Controller对象
使用@RequestMapping("/hello.do")指定方法对应处理的路径,这里只是简单示例,会有更复杂配置

代码类如下:


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());
		return "hello";
	}
}

转载地址:http://cuisuqiang.iteye.com/blog/2043697

最近整理了学习材料,有需要的请下载,我放微信里面了,方便下载,还能交流,扫描我的二维码头像即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值