这篇文章给大家介绍RequestMapping注解在SpringMVC中的作用是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
作用出现位置属性
用于建立请求 URL 和处理请求方法之间的对应关系。
1.作用在类上:请求 URL 的第一级访问目录。此处不写的话,就相当于应用的根目录。写的话需要以/开头。
2.作用在方法上:请求 URL 的第二级访问目录。
控制器中部分代码示例:
@Controller
@RequestMapping(path = "/user") //第一级的访问目录
public class HelloController {
@RequestMapping(path = "/hello") //第二级的访问目录
public String sayHello(){
System.out.println("Hello SpringMVC");
return "success";
}
@RequestMapping(value = "/testRequestmapping") //第二级的访问目录
public String testRequestmapping(){
System.out.println("测试注解");
return "success";
}
}
jsp中部分代码示例:
<!-- 第一种访问方式 -->
<a href="${pageContext.request.contextPath}/user/hello">sayHello</a> <br/>
<!-- 第二种访问方式 -->
<a href="user/testRequestmapping">测试注解</a>
需要注意的细节:
1.细节:路径可以不编写 / 表示应用的根目录开始
2.细节:${ pageContext.request.contextPath }也可以省略不写,但是路径上不能写 /
属性
value: 用于指定请求的 URL。它和 path 属性的作用是一样的。
method: 用于指定请求的方式。
params: 用于指定限制请求参数的条件。它支持简单的表达式。要求请求参数的 key 和 value 必须和配置的一模一样。
例如:
params = {“username”},表示请求参数必须有 username
params = {“age!100”},表示请求参数中 age 不能是 100
headers: 用于指定限制请求消息头的条件。
注意:以上四个属性只要出现 2 个或以上时,他们的关系是与的关系。
value或path 属性的示例
上面出现位置的示例就是value或path 属性的示例。
method 属性的示例
控制器的部分代码:
@RequestMapping(value="/saveAccount",method=RequestMethod.POST)
public String saveAccount() {
System.out.println("保存了账户");
return "success";
}
jsp的部分代码:
<!-- 请求方式的示例 -->
<a href="account/saveAccount">保存账户,get 请求</a> <br/>
<form action="account/saveAccount" method="post">
<input type="submit" value="保存账户,post 请求">
</form>
注意:当使用 get 请求时即method="get"
,提示错误信息是 405,信息是方法不支持 get 方式请求。
params 属性的示例
控制器的部分代码:
@RequestMapping(value="/removeAccount",params= {"accountName","money>100"})
public String removeAccount() {
System.out.println("删除了账户");
return "success";
}
jsp的部分代码:
<!-- 请求参数的示例 -->
<a href="account/removeAccount?accountName=aaa&money>100">删除账户,金额 100</a> <br/>
<a href="account/removeAccount?accountName=aaa&money>150">删除账户,金额 150</a>
注意:
当我们点击第一个超链接时,可以访问成功。
当我们点击第二个超链接时,无法访问。如下图:
params键值对的情况以及headers属性
还存在params = {"username=keafmd"}
键值对的情况:这个示例的意思就是不光要有username的属性还要求值为Keafmd。
同时headers属性也就是表示必须包含相应的请求头才可以。
控制器的部分代码:
@Controller
@RequestMapping(path = "/user")
public class HelloController {
@RequestMapping(value = "/testRequestmapping",method = {RequestMethod.GET},params = {"username=keafmd"},headers = {"Accept"})
public String testRequestmapping(){
System.out.println("测试注解");
return "success";
}
}
jsp的部分代码:
<a href="user/testRequestmapping?username=keafmd">RequestMapping注解</a>
关于RequestMapping注解在SpringMVC中的作用是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。