RequestMapping的使用
1)@RequestMapping除了修饰方法,还可以修饰类
2)
@RequestMapping的value,method,params和heads分别表示请求URL,请求方法,请求参数以及请求头
的映射条件,他们之间是与的关系,联合使用多个条件可以让请求映射更加精确化
params和headers支持简单的表达式
--param1:表示请求必须包含名为param1的请求参数
--!param1:表示请求不能包含名为param1的请求参数
--param1!=value1:表示请求包含名为param1的请求参数,但值不能为value1
--{“param1=value1”,“param2”}:请求必须包含名为param1和param2的两个请求参数,且param1
参数的值必须为value1
3)
Ant风格资源地址支持3种匹配符
-?:匹配文件名中的一个字符
-*:匹配文件名中任意字符
-**:**匹配多层路径
@RequestMapping还支持Ant风格的URL
-/user/*/createUser:匹配/user/aaa/createUser
/user/bbb/createUser等URL
-/user/**/createUser:匹配/user/createUser
/user/aaa/bbb/createUser等URL
-/user/createUser??:匹配/user/createUseraa
/user/createUserbb等URL
4)
通过@PathVariable可以将URL中占位符参数绑定到控制器处理方法的入参中:
URL中的{xxx}占位符可以通过@PathVariable("xxx")绑定到操作方法的入参中
以下是代码示例,按号入座
package com.hous.springmvc.controller; import org.junit.runner.Request; import org.springframework.stereotype.Controller; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @RequestMapping("/shanshanbox") @Controller public class ShanShanBox { private static final String SUCCESS = "success"; /** * 1. @RequestMapping除了修饰方法,还可以修饰类 * 2. * 1)类定义处:提供初步请求映射信息,相对于WEB应用的根目录 * 2)方法处:提供细分映射信息,相对于类定义处的URL。 * 若类处未标明@RequestMapping,则方法处的URL相对于WEB应用的根目录 * @return */ @RequestMapping("/testRequestMapping") public String testRequestMapping() { System.out.println("testRequestMapping"); return SUCCESS; } /** * 使用method指定请求的方式 * @return */ @RequestMapping(value="/testMethod", method=RequestMethod.POST) public String testMethod() { System.out.println("testMethod"); return SUCCESS; } /** * 使用params和headers可以更加精确的映射请求 * params和headers支持简单的表达式 * @return */ @RequestMapping(value="/testParamsAndHeaders", params={"user","age!=24"}, headers={}) public String testParamsAndHeaders() { System.out.println("testParamsAndHeaders"); return SUCCESS; } /** * 支持通配符 * ?表示一个字符 * *表示任意字符 * **匹配多层路径 * @return */ @RequestMapping("/testAntPath/*/abc") public String testAntPath() { System.out.println("testAntPath"); return SUCCESS; } /** * @PathVariable可以映射URL中的占位符到目标方法的参数中 * @param id * @return */ @RequestMapping("/testPathVariable/{id}") public String testPathVariable(@PathVariable("id") Integer id) { System.out.println("testPathVariable: " + id); return SUCCESS; } }
相关推荐
1. **类级别的@RequestMapping**:当在类上使用时,该注解会应用于类中所有方法,为整个控制器设定一个基础的请求路径。例如,`@RequestMapping("/api")` 将使类中的所有方法都处理以"/api"开头的URL请求。 2. **...
类上指定的URL相对于应用根目录 @RequestMapping注解可以使用在控制器类和控制器类的方法上,一般情况下,类定义处的@ RequestMapping提供初步的请求映射信息,方法定义处的@ RequestMapping 类上指定的URL相对于...
本教程将通过一个简单的`springmvc_helloworld`项目来深入探讨`@RequestMapping`的使用。 首先,Spring MVC是一个基于Spring框架的轻量级MVC(Model-View-Controller)设计模式实现。它简化了Java Web应用的开发,...
利用反射获取requestMapping注解的value,springMvc实现路径映射功能的逻辑
本篇文章将深入探讨`@RequestMapping`的使用、功能以及相关知识点。 ### 1. `@RequestMapping`介绍 `@RequestMapping`是Spring MVC提供的一个类型级别的注解,可以应用在类或方法上,用于定义HTTP请求的映射规则。...
4. **模型数据**:`@ModelAttribute`注解可以用来将请求参数绑定到对象属性,或者将对象添加到模型中供视图使用。 现在我们来看看如何实现一个简化的`@RequestMapping`注解。首先,你需要创建一个新的注解,比如`@...
`@RequestMapping`还支持使用通配符和占位符来映射更复杂的路径模式。例如,使用`*`通配符: ```java @RequestMapping("/users/*") public String handleUserRequest(String userId) { // 处理用户请求的逻辑 } ``...
@RequestMapping RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。 RequestMapping注解有六个属性(分成三类进行说明)与六个...
在实际应用中,`@RequestMapping`、`@RequestParam`和`@PathVariable`经常一起使用,以实现更灵活的请求处理。例如,你可以在一个方法中同时使用`@PathVariable`和`@RequestParam`来处理包含动态路径和请求参数的...
通过编译文件的class路径,反射得到Class,获取RequestMapping对应注解和value路径
该注解的最大作用:完成"请求路径"到"处理该请求方法"之间的映射关系,放在类上方,主要是给类中的方法,定义一个namespace(命名空间)、放在方法上表示请求到达方法的具体位置。 比如:(那么访问路径就是“/sys/...
在上面的例子中,我们使用 @RequestMapping 注解将 simplePattern 方法映射到 /departments 地址上。当用户访问 http://localhost/xxxx/departments 时,该方法将被调用。 2. 参数绑定 在 Spring MVC 中,我们可以...
前段时间项目中用到了REST风格来开发程序,但是当用POST、PUT模式提交数据时,发现服务器端接受不到提交的数据(服务器端参数绑定没有加任何注解),查看了提交方式为application/json, 而且服务器端通过request....
"详解获取Spring MVC中所有...通过使用 RequestMappingHandlerMapping 和 JAVAssist,我们可以获取Spring MVC中所有的RequestMapping及其对应的方法和参数。这对于实现权限控制和日志记录等功能非常有用。
02@RequestMapping映射.md
工程文件 博文链接:https://starscream.iteye.com/blog/1063966
RequestMapping 使用使用示例 编程闯关、完成挑战 设计模式 图片 图形化代码生成器 秒杀分析 排错工具 垃圾回收 log 权限框架比较 cron-utils time String 生产.java源代码 ,可以用来构建一些基础的代码,必须一些...
RequestMapping 使用使用示例 编程闯关、完成挑战 设计模式 图片 图形化代码生成器 秒杀分析 排错工具 垃圾回收 log 权限框架比较 cron-utils time String 生产.java源代码 ,可以用来构建一些基础的代码,比如一些...
SpringMVC不能只使用@Controller而不使用@RequestMapping
此外,@RequestMapping还可以与其他注解如@RequestParam、@RequestBody、@PathVariable、@RequestHeader等结合使用,以实现更精细的请求处理。例如,@RequestParam用于从请求参数中获取值,@RequestBody用于从请求体...