@RequestMapping详细说明
@RequestMapping:的作用是建立请求URL和处理方法之间的对应关系
1、就是告诉SpringMVC这个方法用来处理什么请求;
2、 这个/是可以省略的,即使省略了,也默认是从当前项目下开始的
3、 习惯上加上比较好 /hello
4、 RequestMapping,既能用在方法上面,也能加在类上面
@RequestMapping的属性:
1. method:可以来限定请求方式
* GET、POST
* method = RequestMethod.POST:只接触这种请求方式的请求,默认是全部都可以
* 不是规定的方式报错:4xx,都是客户端错误
* 405-Request method 'GET' not supported(注意:a标签发送的请求是get请求)
2.params:规定请求参数
params和headers支持简单的表达式:
param1:表示请求必须包含为param1的请求参数
eg:params = {"username"};表示发送请求必须带上名为username的参数,没带就会爆404
!param1:表示请求不能包含为param1的请求参数
eg:params = {"!username"};表示发送请求的时候必须不带这个username参数,带了就会带404
param1!=value1:表示请求包含param1的请求参数,但其值不能包含value1
eg:params = {"username!=123"},发送请求的时候,携带的username的值必须不是123(不带username,或者username的值不是123)
{"param1=value1","param2"}:请求必须包含为param1和param2的参数
eg:params={"username!=123","pwd","!age"}
请求参数必须满足以上的规则:
请求的username不能是123,必须有pwd的值,不能含有age的值(全体满足才行)
3.headers:规定请求头;也和params一样
4.consumes:只接收内容是哪种的请求,规定请求头中的Content-Type
5.produces:告诉浏览器返回的内容是什么,给相应头中加上Context-Type:text/html;charset=utf-8
代码演示
//一个方法处理一个请求,不能一个请求对应两个方法
@RequestMapping("/handle01")
public String handle01() {
System.out.println("RequestMappingTestController............handle01被调用");
return "success";
}
@RequestMapping(value = "/handle02", method = RequestMethod.POST)
public String handle02() {
System.out.println("RequestMappingTestController............handle01被调用");
return "success";
}
@RequestMapping(value = "/handle03", params={"username!=123","pwd","!age"})
public String handle03() {
System.out.println("RequestMappingTestController............handle01被调用");
return "success";
}
/**
* User-Agent:浏览器信息
* 让IE能访问,让谷歌不能访问
* IE: User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 Edg/92.0.902.73
* chrome User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.101 Safari/537.36
*
* @return
*/
@RequestMapping(value = "/handle04",headers = {"User-Agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 Edg/92.0.902.73"})
public String handle04() {
System.out.println("handle04............被调用");
return "success";
}
本文详细介绍了@RequestMapping注解在SpringMVC中的作用,包括请求方式限制、参数匹配和头信息设置,通过实例展示如何配置方法和类级别的请求处理。
1217

被折叠的 条评论
为什么被折叠?



