SpringMVC RequestMapping注解类·Ant和占位符URL

来源:互联网 发布:淘宝ipad为什么便宜 编辑:程序博客网 时间:2024/06/07 05:10

RequestMapping注解类

一、RequestMapping注解类的使用方法

•开发Controller控制器类,使用@Controller注解标注,并在配置文件中用<context:component-scan/>扫描
•在Controller控制器类的类定义和方法定义处都可以标注@RequestMapping注解
•DispatcherServlet截获请求后,就可以通过控制器上的@RequestMapping提供的映射信息确定请求所对应的处理方法


RequestMapping注解类的属性,分别有value, method, consumes, produces, params, headers


这里介绍value属性:

•代表具体的请求路径,比如上面的 /user, /login都是value的值
•value可以省略,就像例子中一样,直接用@RequestMapping("/login") 的格式,它等同于@RequestMapping(value ="/login") 

这里介绍method属性:

•指定请求的method类型, GET、POST、PUT、DELETE等

•例:@RequestMapping(value = "/login", method =RequestMethod.POST) 那么只有发送POST请求才会触发这个方法

•例:@RequestMapping(value = "/login", method ={RequestMethod.POST, RequestMethod.GET}) 

介绍consumes属性:

•指定请求的提交内容类型(Content-Type),例如application/json,text/html

•它的值既可以是字符串也可以是数组


这里介绍produces属性:

•指定请求中必须包含某些参数值,才会触发这个处理方法。

这里介绍params属性:

•指定请求中必须包含某些参数值,才会触发这个处理方法

•参数中除了使用=等号外,还可以使用!=号,表示在参数的值不等于的情况下触发这个方法

•也可以不指定具体的值,直接使用"paramName" 的格式,代表请求中必须包含参数名为 paramName 的参数
•直接使用“!paramName”格式表示请求不能包含名为paramName的请求参数

这里介绍headers属性:

•请求头Header中必须包含某些指定的参数值,才能让该方法处理请求




定义Ant风格和带占位符的URL

@RequestMapping不仅支持标准的URL,还支持Ant风格和带{xxx}占位符的URL,下面的URL都是合法的:

•/user/*/login:匹配/user/aaa/login,/user/任意字符/login等
•/user/**/login:匹配/user/login,/user/aaa/bbb/login 等
•/user/login??:匹配/user/loginAA,/user/loginbb 等
•/user/{userId}:匹配/user/123,/user/234 等
•/user/**/{userId}:匹配/user/aaa/bbb/123,/user/aaa/234等

这些占位符需要用pathvariable绑定后使用

0 0
原创粉丝点击