内容简介:SpringMVC——请求映射
SpringMVC中,如何处理请求是很重要的任务。 请求映射都会使用@RequestMapping标注。其中,类上的标注相当于一个前缀,表示该处理器是处理同一类请求;方法上的标注则更加细化。如,类的标注可能是“user”,表示全部都是与用户相关的操作;具体到方法可能有“create”“update”“delete”等,分别表示对用户进行哪一类操作。
package cn.javass.chapter6.web.controller; @Controller @RequestMapping(value="/user") //①处理器的通用映射前缀 public class HelloWorldController2 { @RequestMapping(value = "/hello2") //②相对于①处的映射进行窄化 public ModelAndView helloWorld() { //省略实现 } }
现在就来总结一下请求映射有哪些。
一、URL路径映射
这种映射涉及的属性只有value。
@RequestMapping(value={"/test1", "/user/create"}) //或,表示多个路径都可以映射到同一个处理方法 @RequestMapping(value="/users/{userId}/topics/{topicId}") //也可以使用大括号,表示变量占位符 @RequestMapping(value="/product?") //可匹配“/product1”或“/producta”,但不匹配“/product”或“/productaa” @RequestMapping(value="/products/**/{productId}") //可匹配“/products/abc/abc/123”或“/products/123” @RequestMapping(value="/products/{categoryCode:\\d+}-{pageNumber:\\d+}") //支持正则表达式
二、请求方法映射限定
不仅要提供value属性,还要提供method属性。
@RequestMapping(value="/create", method = RequestMethod.GET) //表示可处理匹配“/create”且请求方法为“GET”的请求 @RequestMapping(value="/create", method = RequestMethod.POST) //表示可处理匹配“/create”且请求方法为“POST”的请求
一般浏览器仅支持GET和POST类型,其他如PUT、DELETE等需要进行模拟。
三、请求参数映射限定
需要提供params属性和method属性。
以下面的控制器为例,
@Controller @RequestMapping("/parameter1") //①处理器的通用映射前缀 public class RequestParameterController1 { // Something... }
@RequestMapping(params="create", method=RequestMethod.GET) //表示请求中有“create”的参数名且请求方法为“GET”即可匹配, 如可匹配的请求URL“http://×××/parameter1?create” @RequestMapping(params="create", method=RequestMethod.POST) //表示请求中有“create”的参数名且请求方法为“POST”即可匹配 @RequestMapping(params="!create", method=RequestMethod.GET) //表示请求中没有“create”参数名且请求方法为“GET”即可匹配, 如可匹配的请求URL“http://×××/parameter1?abc” @RequestMapping(params="submitFlag=create", method=RequestMethod.GET) //表示请求中有“submitFlag=create”请求参数且请求方法为“GET”即可匹配, 如请求URL为http://×××/parameter2?submitFlag=create @RequestMapping(params="submitFlag=create", method=RequestMethod.POST) //表示请求中有“submitFlag=create”请求参数且请求方法为“POST”即可匹配 @RequestMapping(params="submitFlag=create", method=RequestMethod.GET) //表示请求中有“submitFlag=create”请求参数且请求方法为“GET”即可匹配, 如请求URL为http://×××/parameter2?submitFlag=create
与value中的参数组合表示“或”不同,params参数组合表示“且”,即:
@RequestMapping(params={"test1", "test2=create"}) //表示请求中的有“test1”参数名 且 有“test2=create”参数即可匹配,如可匹配的请求URL“http://×××/parameter3?test1&test2=create
本文永久更新链接地址 : http://www.linuxidc.com/Linux/2017-06/144409.htm
以上所述就是小编给大家介绍的《SpringMVC——请求映射》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- Spring Boot教程(6) – 请求映射
- SpringMVC中的注解式控制器(一)——请求映射规则
- MyBatis从入门到精通(十一):MyBatis高级结果映射之一对多映射
- MyBatis从入门到精通(九):MyBatis高级结果映射之一对一映射
- 【mybatis xml】数据层框架应用--Mybatis(三)关系映射之一对一关系映射
- Hibernate 关系映射整理
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Inside Larry's and Sergey's Brain
Richard Brandt / Portfolio / 17 Sep 2009 / USD 24.95
You’ve used their products. You’ve heard about their skyrocketing wealth and “don’t be evil” business motto. But how much do you really know about Google’s founders, Larry Page and Sergey Brin? Inside......一起来看看 《Inside Larry's and Sergey's Brain》 这本书的介绍吧!
html转js在线工具
html转js在线工具
RGB CMYK 转换工具
RGB CMYK 互转工具