Spring MVC http请求地址映射(三)
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请求地址映射(三)的更多相关文章
- spring MVC处理请求过程及配置详解
本文主要梳理下Spring MVC处理http请求的过程,以及配置servlet及业务application需要的常用标签,及其包含的意义. spring MVC处理请求过程 首先看一个整体图 简单说 ...
- spring MVC处理请求过程
spring MVC处理请求过程 首先看一个整体图 简单说下各步骤: handlerMapping handlerMapping将请求映射到处理器,即图中的HandlerExecutionChain. ...
- spring mvc get请求也可以接受DTO对象
spring mvc get请求也可以接受DTO对象,比如:url上面你还是将参数&符号连接起来,并自动封装进一个DTO对象里. 只有@RequestBody注解spring mvc才会从ht ...
- Spring MVC 学习总结(三)——请求处理方法Action详解
Spring MVC中每个控制器中可以定义多个请求处理方法,我们把这种请求处理方法简称为Action,每个请求处理方法可以有多个不同的参数,以及一个多种类型的返回结果. 一.Action参数类型 如果 ...
- 跟踪spring MVC的请求
当我们点击一个超链接时,spring MVC在后台都做了些什么呢,今天就来看看后台都干了啥 首先需要在web.xml里配置一下:
- spring mvc ajax请求
jar包中增加 jackson-annotations-2.5.0.jar jackson-core-2.5.0.jar jackson-databind-2.5.0.jar springmvx.xm ...
- spring mvc get请求中文乱码问题
使用Spring MVC进行get请求时发现get请求带上中文参数,后台收到的是乱码,即使加了encoding filter也没用. 原因是,encoding filter 是针对post请求的,to ...
- Spring MVC 之请求参数和路径变量
请求参数和路径变量都可以用于发送值给服务器.二者都是URL的一部分.请求参数采用key=value形式,并用“&”分隔. 例如,下面的URL带有一个名为productId的请求参数,其值为3: ...
- spring mvc之请求过程源码分析
简介 上一篇,我们分析了spring mvc启动过程的源码,这一节,来一起分析下在用户请求controller的过程中,spring mvc做了什么事? 一.准备 我写这么一个controller p ...
随机推荐
- setTime
var getTime = function() { var _ = ['00', '01', '02', '03', '04', '05', '06', '07', '08', '09'], //补 ...
- linux 查看可执行文件动态链接库相关信息(转)
转自 http://blog.sina.com.cn/s/blog_67eb1f2f0100mgd8.html ldd <可执行文件名> 查看可执行文件链接了哪些 系统动态链 ...
- 关于linux PPA源问题
添加PPA: 1.首先进入ubuntu系统,system—>administration—>update manager—>setting,在软件源界面,点击other softwa ...
- 2. Retrofit2 -- Basic Authentication on Android
2. Retrofit2 -- Basic Authentication on Android android Retrofit tutorial 整合基本的认证 Retrofit 1.9 Retro ...
- ZABBIX监控原理
zabbix实现原理及架构详解 想要用好zabbix进行监控,那么我们首要需要了解下zabbix这个软件的实现原理及它的架构.建议多阅读官方文档. 一.总体上zabbix的整体架构如下图所示: 重 ...
- 使用jmeter实现对jar包的调用
一.前言 在我们测试接口的过程中,可能有时需要用到第三方jar包来生成一些测试数据(如有时需要对参数的输入值使用第三方jar包进行加密操作),涉及到这种的情况,普遍做法是:手动调用jar包获得需要的值 ...
- 下列哪个为JSP的隐含对象。
下列哪个为JSP的隐含对象. A.env B.page C.jspinfo D.context 解答:B JSP有九个隐士对象 request对象:保存了很多客户端请求的信息. response对象: ...
- (转)负载均衡,回话保持,cookie
servlet操作cookie:http://elf8848.iteye.com/blog/253198 负载均衡,回话保持:http://www.cnblogs.com/qq78292959/arc ...
- 图表 Chart
工作中,需要实现如下的图表,查阅了不少的资料,问了不少的人,下面对下图表的实现代码做下讲解. 实现代码: chart1.Series.Clear();//清空图表中的序列,图表中有默认的序列 //ch ...
- Charlse 抓包
下载Charlse:https://www.charlesproxy.com/ 安装使用: https://www.cnblogs.com/ceshijiagoushi/p/6812493.html ...