SpringMVC中RequestMapping注解(作用、出现的位置、属性)
RequestMapping注解
作用出现位置属性
作用
用于建立请求 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>
这样就是可以成功访问的。
以上就是SpringMVC中RequestMapping注解【作用、出现的位置、属性】全部内容。
到此这篇关于SpringMVC中RequestMapping注解(作用、出现的位置、属性)的文章就介绍到这了,更多相关SpringMVC中RequestMapping注解内容请搜索猪先飞以前的文章或继续浏览下面的相关文章希望大家以后多多支持猪先飞!
相关文章
- 这篇文章主要介绍了Swagger中@ApiIgnore注解的使用,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-10-21
校验非空的注解@NotNull如何取得自定义的message
这篇文章主要介绍了校验非空的注解@NotNull如何取得自定义的message,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-09-29- @Autowired 注解的主要功能就是完成自动注入,使用也非常简单,但这篇文章主要给大家介绍了关于Spring为什么不推荐使用@Autowired注解的相关资料,需要的朋友可以参考下...2021-11-03
Java中lombok的@Builder注解的解析与简单使用详解
这篇文章主要介绍了Java中lombok的@Builder注解的解析与简单使用,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-01-06处理@PathVariable注解允许参数为空、允许不传参数的问题
这篇文章主要介绍了处理@PathVariable注解允许参数为空、允许不传参数的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-23- 这篇文章主要介绍了Mybatis用注解写in查询的实现方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-07-13
解决@Transactional注解事务不回滚不起作用的问题
这篇文章主要介绍了解决@Transactional注解事务不回滚不起作用的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-23- 这篇文章主要介绍了@Query注解的原生用法和native用法解析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-08-27
- 这篇文章主要介绍了springboot RESTful以及参数注解的使用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-10-19
聊聊@RequestParam,@PathParam,@PathVariable等注解的区别
这篇文章主要介绍了聊聊@RequestParam,@PathParam,@PathVariable等注解的区别,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-23- 这篇文章主要介绍了基于SpringBoot实现一个简单的权限控制注解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-01
SpringCloud之@FeignClient()注解的使用方式
这篇文章主要介绍了SpringCloud之@FeignClient()注解的使用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-09-25使用jQuery.form.js/springmvc框架实现文件上传功能
这篇文章主要介绍了使用jQuery.form.jsspringmvc框架实现文件上传功能,非常具有参考借鉴价值,感兴趣的朋友一起学习吧...2016-05-14- 这篇文章主要介绍了SpringMVC和rabbitmq集成的使用案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-01-20
- 注解是JUnit的标志性技术,本文就来对它的20个注解,以及元注解和组合注解进行学习,感兴趣的可以了解一下...2021-07-03
- 这篇文章主要介绍了Column注解的columnDefinition用法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-10-25
SpringMVC中的handlerMappings对象用法
这篇文章主要介绍了SpringMVC中的handlerMappings对象用法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-09-26- 这篇文章主要介绍了教你一文搞懂Kotlin中的Jvm注解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-10-11
SpringBoot @Validated注解实现参数分组校验的方法实例
这篇文章主要给大家介绍了关于SpringBoot @Validated注解实现参数分组校验的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-09-14- 今天带大家学习SpringMVC的相关知识,文中对SpringMVC数据输出作了非常详细的代码示例,对正在学习的小伙伴们很有帮助,需要的朋友可以参考下...2021-06-06