灵活一点的 Spring MVC 的 Url Mapping

 

Spring MVC 中常见的 URL Mapping 有两种 BeanNameUrlHandlerMappingSimpleUrlHandlerMapping 。但是使用这两种 UrlHandlerMapping 都有不足。前者只能将 Url 定位到 Class 级别;后者缺乏灵活性。

 

在 Spring 2.5 的 MVC 中,有了 @RequestMapping。它能够将 Url Mapping 对应到 Method 级别。但直接将 Url 对应到 Method 也不是很好的方式。

 

其实,将 @RequestMapping 和传统的 UrlHandlerMapping 结合使用,我们就能够得到一个较为理想的解决方案。通过使用 ControllerBeanNameHandlerMapping 或 ControllerClassNameHandlerMapping,我们能够将 Url 对应到 Controller 级别,这只是 Url 中的一级。通过 @RequestMapping,我们可以将最终的 Url 对应到 Method 上。

 

举个例子:

 

@Controller
public class TestController extends BaseController {
	@RequestMapping
	public void create() {
	}
}

 

Spring 配置:

 

<context:component-scan base-package="com.xxx.xxx" />
	
<bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping" />
	
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />
		

 

通过这些代码,我们就可以将 app_root/test/create.(do) (.do 是可换的,这取决于 web.xml 的配置) 对应到 TestController 的 create 方法上了。但是,目前这种 Url Mapping 方式还不能处理 Method overload。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值