@RequestMapping的分类
类级别的和方法级别的
@RequestMapping的几种形式:
@RequestMapping(method = RequestMethod.GET)
@RequestMapping(value="/{day}", method = RequestMethod.GET)//day为方法中的参数
@RequestMapping (value="/new", method = RequestMethod.GET)
@RequestMapping是一种通过匹配URL路径来访问相应页面的
将@RequestMapping放在类级别上
这可令它与方法级别上的@RequestMapping注解协同工作,取得缩小选择范围的效果,如下:
@RequestMapping("/a")//类级别,可以不需要,如果要了,下面所有的请求路径前都需要加入 /a
public class ccccontroller{
@RequestMapping("/b")//方法级别,必须有,决定这个方法处理哪个请求,如果有类级别 /a/b
@RequestMapping(value="/b" method=RequestMethod.POST)
@RequestMapping(value="/b", method=RequestMethod.GET, params="type=checking")
@RequestMapping public String show() {
//如果没有类级别的就直接请求/b return;
} }
第一个是一种简写方式,匹配路径为 “/a/b”;
第二个方法级的请求映射和类级别的映射结合,当HTTP方法是POST时与路径“/a/b”匹配;
第三个添加了一个要求,就是名为“type”的请求参数和其值“checking”都需要在请求中出现;
第四个根本就没有指定路径,这个方法匹配所有的 HTTP方法,如果有必要的话可以用它的方法名。下面改写我们的方法,使它可以依靠方法名进行匹配。
2:问题:接收用户请求参数 值
1)请求1: /test/start.do?name=zhangsan
请求2: /test/start/zhangsan.do
在请求2中 将参数作为请求URL 传递
采用 URL模板
2)@RequestMapping("/start/{name}") 这个name 随便 啥都可以
public String start(@PathVariable("name") string name){ 反正和上面的对应
return 方法体里面就可以直接获得参数
}
3)包含多个 @RequestMapping ("/start/{name}/{age}")
标签:RequestMapping,级别,分类,请求,方法,method,name From: https://blog.51cto.com/u_16034393/6153311