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. **...
本教程将通过一个简单的`springmvc_helloworld`项目来深入探讨`@RequestMapping`的使用。 首先,Spring MVC是一个基于Spring框架的轻量级MVC(Model-View-Controller)设计模式实现。它简化了Java Web应用的开发,...
### Spring MVC 中 `@RequestMapping` 注解的详细解析与应用 在现代Web开发中,Spring MVC框架因其灵活性、模块化及强大的...掌握好`@RequestMapping`注解的使用技巧,对于构建高效、易维护的Web应用程序至关重要。
本篇文章将深入探讨`@RequestMapping`的使用、功能以及相关知识点。 ### 1. `@RequestMapping`介绍 `@RequestMapping`是Spring MVC提供的一个类型级别的注解,可以应用在类或方法上,用于定义HTTP请求的映射规则。...
利用反射获取requestMapping注解的value,springMvc实现路径映射功能的逻辑
本文将深入探讨@RequestMapping的使用方式,以及其在处理RESTful API时如何与各种参数绑定注解(@RequestParam、@RequestBody、@RequestHeader、@PathVariable)配合工作,并简要提及HttpMessageConverter的概念。...
首先,`@RequestMapping`在类级别上的使用定义了一个初步的请求映射,通常作为URL路径的基础。例如: ```java @RequestMapping("/user") public class UserController { // ... } ``` 在这个例子中,`/user`路径...
在上述代码示例中,`@RequestMapping`注解被巧妙地使用来处理不同类型的请求: - 在类级别,`@RequestMapping("/appointments")`定义了所有方法的父路径,使得所有方法都在`/appointments`路径下。 - `@...
4. **模型数据**:`@ModelAttribute`注解可以用来将请求参数绑定到对象属性,或者将对象添加到模型中供视图使用。 现在我们来看看如何实现一个简化的`@RequestMapping`注解。首先,你需要创建一个新的注解,比如`@...
通过编译文件的class路径,反射得到Class,获取RequestMapping对应注解和value路径
`@RequestMapping`还支持使用通配符和占位符来映射更复杂的路径模式。例如,使用`*`通配符: ```java @RequestMapping("/users/*") public String handleUserRequest(String userId) { // 处理用户请求的逻辑 } ``...
在实际应用中,`@RequestMapping`、`@RequestParam`和`@PathVariable`经常一起使用,以实现更灵活的请求处理。例如,你可以在一个方法中同时使用`@PathVariable`和`@RequestParam`来处理包含动态路径和请求参数的...
在上面的例子中,我们使用 @RequestMapping 注解将 simplePattern 方法映射到 /departments 地址上。当用户访问 http://localhost/xxxx/departments 时,该方法将被调用。 2. 参数绑定 在 Spring MVC 中,我们可以...
"详解获取Spring MVC中所有...通过使用 RequestMappingHandlerMapping 和 JAVAssist,我们可以获取Spring MVC中所有的RequestMapping及其对应的方法和参数。这对于实现权限控制和日志记录等功能非常有用。
02@RequestMapping映射.md
工程文件 博文链接:https://starscream.iteye.com/blog/1063966
在实际开发中,可以通过在同一个处理方法上使用多个`@RequestMapping`注解来处理不同请求,或者在一个类中定义多个方法来处理不同的URL。这种灵活的设计使得代码组织和请求路由变得简单。 ### 总结 `@...
RequestMapping 使用使用示例 编程闯关、完成挑战 设计模式 图片 图形化代码生成器 秒杀分析 排错工具 垃圾回收 log 权限框架比较 cron-utils time String 生产.java源代码 ,可以用来构建一些基础的代码,必须一些...
RequestMapping 使用使用示例 编程闯关、完成挑战 设计模式 图片 图形化代码生成器 秒杀分析 排错工具 垃圾回收 log 权限框架比较 cron-utils time String 生产.java源代码 ,可以用来构建一些基础的代码,比如一些...
SpringMVC不能只使用@Controller而不使用@RequestMapping