作用出现位置属性
用于建立请求 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注解内容请搜索小牛知识库以前的文章或继续浏览下面的相关文章希望大家以后多多支持小牛知识库!
主要内容:@Controller 注解,@RequestMapping 注解,示例,支持 Ant 风格的路径从 Java 5 开始,Java 就增加了对注解(Annotation)的支持,它是代码中的一种特殊标记,可以在编译、加载和运行时被读取,执行相应的处理。通过注解,开发人员可以在不改变原有代码逻辑的情况下,在代码中嵌入补充信息。 Spring 从 2.5 版本开始提供了对注解技术的全面支持,以替换传统的 XML 配置,简化 Spring 的配置。作为 Spring 框架的一个子项目, Sp
11.3.1 @RestController和@RequestMapping注解 我们Example类的第一个注解是@RestController,它被称为stereotype注解。它为人们阅读代码提供了一些提示,而对Spring来说,该类具有特定的作用。在这种情况下,我们的类是一个Web @Controller,所以当处理传入的Web请求时Spring会考虑该类。 @RequestMapping
我从Spring Boot开始,并尝试提供Rest服务。我正在编写一个控制器,其中有3个方法的RequestMappings。其中两个工作正常,而第三个注释在编写代码时给出了这个错误。 此行有多个标记 - 语法错误,插入“枚举标识符”以完成枚举标头 - 语法错误,插入“枚举正文”以完成枚举声明 我尝试了其他答案,但似乎找不到问题所在。这是我的控制器代码- } 错误出现在最后一行,即最后一个请求映射
我正在学习Spring核心认证,我对SpringMVC如何处理REST网络服务有些怀疑。 阅读留档我发现了这个例子: 好的,它显示了2SpringMVC方法(我认为应该将其声明为控制器类,是真的吗)。 这些方法都处理对 /orders 资源的 HTTP 请求(根据 REST 样式,其中资源被视为管理一种数据和状态并提供此类处理的编程元素)。 在这种情况下,如果对 /订单的 HTTP 请求是 GET
本文向大家介绍SpringMVC基于注解的Controller详解,包括了SpringMVC基于注解的Controller详解的使用技巧和注意事项,需要的朋友参考一下 概述 继 Spring 2.0 对 Spring MVC 进行重大升级后,Spring 2.5 又为 Spring MVC 引入了注解驱动功能。现在你无须让 Controller 继承任何接口,无需在 XML 配置文件中定义请求和
本文向大家介绍使用注解开发SpringMVC详细配置教程,包括了使用注解开发SpringMVC详细配置教程的使用技巧和注意事项,需要的朋友参考一下 1、使用注解开发SpringMVC 1、新建一个普通的maven项目,添加web支持 2、在pom.xml中导入相关依赖 SpringMVC相关 Servlet jsp 为了防止资源导出失败,我们加入以下代码 3、配置web.xml 注意web.xml