作用:用于建立请求 URL 和处理请求方法之间的对应关系
客户端会发一个请求过来,后台会有一个方法去执行它,现在我们需要把请求地址路径和我们的方法建立一个映射关联,发了请求,我们的方法就执行。
RequestMapping用来建立他们之间的对应关系。
源码
表名requestMapping既可以作用在方法上,也可以作用在类或者接口上。
如果路径是/user/hello
表名它有两级目录,如果把注解放在类上,可以声明一级目录,把注解放在方法上,指的就是二级目录
好处:可以分模块开发。
比如我现在user下的有增删改查方法,我们在account中也有。
例如:当我们的类中写了/user,那么我们在请求的时候必须要加上user/,否则点击的时候就会404错误,即请求路径不正确。
index.jsp文件中
<a href="user/testRequestMapping">RequestMapping注解</a>
HelloController类中
/*控制器类,用来接收请求*/
@Controller
@RequestMapping(path="/user")
public class HelloController {@RequestMapping(path="/testRequestMapping")public String testRequestMapping(){System.out.println("测试RequstMapping注解...");return "success";}
}
ssm框架注解的作用、鼠标左键+ctrl可以点击requestMapping查看源码
如图可知,path和value属性的作用是相同的,value和path可以互换。都是指我们映射的路径。
由于此时我们是value属性,所以可以省略不写。
value:用于指定请求的 URL。它和 path 属性的作用是一样的。
method:用于指定请求的方式
如果点击的是超链接,我们现在用的是超链接,它是固定的,一定是get方式,如果后台方法规定,get方法可以请求我,点击超链接,方法就可以执行了。如果规定方法必须是有post请求来访问,则不会执行。
枚举类直接用类名.属性就可以拿到其中的值了。再加属性如果不是一个属性,value就必须要写上去了。我们后面再写,method。
@RequestMapping(value="/testRequestMapping",method={RequestMethod.POST})
此时,我们只适用于post方式提交请求,
而由于超链接是get请求,重新部署服务器,报405错
method not allowed
method可以决定一个方法的具体请求的方式
params:用于指定限制请求参数的条件。它支持简单的表达式。要求请求参数的 key 和 value 必须和 配置的一模一样。
类型是字符串
@RequestMapping(value="/testRequestMapping",params={"username"})
Springboot框架、表示请求我这个方法,必须给我传一个username的属性,如果不传,这个方法就不会被执行。
当我们不传参数的时候,报的400错误,Bad Request
<a href="user/testRequestMapping?username=hehe">RequestMapping注解</a>
此时就可以执行了,必须要有属性,并且名字是username
@RequestMapping(value="/testRequestMapping",params={"username=heihei"})
dubbo框架使用注解。此时也不行,它要求请求的key和配置是一模一样的。
headers:用于指定限制请求消息头的条件。
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态