码迷,mamicode.com
首页 > 编程语言 > 详细

Spring MVC http请求地址映射(三)

时间:2017-07-26 22:16:05      阅读:218      评论:0      收藏:0      [点我收藏+]

标签:mapping   依据   user   add   public   操作   xxx   通过   标准   

Spring MVC框架通过扫描将带有@Controller的类中的@RequestMapping的方法进行映射,然后调用映射的方法处理请求,这个分发过程默认是由DispaterServlet处理的。

 

http请求映射原理

  技术分享

Spring MVC进行映射的依据

技术分享

通过URL限定:URL表达式

Spring MVC的地址映射支持标准的URL,同时默认支持是ant风格的URL。列如:

URL说明
/account/*/create 匹配/account/aaa/create、/account/bbb/create等URL
/account/**/create 匹配/account/create、/account/aaa/bbb/create等URL
/account/create?? 匹配/account/createaa、/account/createbb等URL
/account/{accountId} 匹配account/123、account/abc等URL
/account/**/{userId} 匹配account/aaa/bbb/123、account/aaa/456等URL
account/{accountId}/customer/{customerId}/detail 匹配account/1234/customer/0000/detail等的URL

通过URL限定:绑定路径中{xxx}的值

  

@RequestMapping("/{accountId}")
    public ModelAndView showDetail(@PathVariable("accountId")String accountId){
        ModelAndView mav= new ModelAndView();
        mav.setViewName("user/showDetail");
        mav.addObject("user", userService.getUserById(userId));
    return mav;
}

URL中的{xxx}占位符可以通过@PathVariable(“xxx”)绑定到操作方法的入参中。

在3.X中如果@PathVariable不指定参数名,只有在编译时打开debug开关(javac -debug=no)时才可行!!(不建议),貌似4.x没有这个问题了。

Spring MVC http请求地址映射(三)

标签:mapping   依据   user   add   public   操作   xxx   通过   标准   

原文地址:http://www.cnblogs.com/fzng/p/7241807.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!