SpringMVC教程
Spring MVC基础
框架概述
SpringMVC环境搭建
SpringMVC请求处理与注解
SpringMVC请求映射
SpringMVC注解详解
SpringMVC配置与执行流程
SpringMVC项目配置
Spring执行流程
SpringMVC数据提交与Ajax
SpringMVC数据提交
Spring MVC Ajax交互
Spring MVC拦截器
拦截器概念
Spring MVC权限验证
-
+
首页
SpringMVC请求映射
### 请求映射(Request Mapping) 在Spring MVC中,请求映射是指将Web请求(如HTTP GET或POST请求)映射到特定的处理器(Controller中的方法)。这允许Spring MVC框架将用户的请求转发到正确的处理逻辑。 ### RequestMapping注解 `@RequestMapping`注解是Spring MVC中用于映射Web请求到Controller处理方法的注解。它可以用于类或方法上。当用于类上时,表示类中的所有方法都会映射到指定的路径下;当用于方法上时,表示具体的请求处理方法。 **基本用法:** ```java @Controller @RequestMapping("/users") public class UserController { @RequestMapping(value = "/add", method = RequestMethod.POST) public String addUser(User user) { // 处理添加用户请求 return "userAdded"; } @RequestMapping(value = "/view/{id}", method = RequestMethod.GET) public String viewUser(@PathVariable("id") Long id, Model model) { // 根据id查找用户并返回用户信息页面 model.addAttribute("user", userService.getUserById(id)); return "userView"; } } ``` 在这个例子中,`@RequestMapping`注解用于将HTTP POST请求映射到`addUser`方法,将HTTP GET请求映射到`viewUser`方法。 ### 请求参数绑定 请求参数绑定是指将请求中的参数(如查询参数、表单数据或路径变量)绑定到Controller处理方法的参数上。Spring MVC提供了多种方式来实现请求参数的绑定: 1. **查询参数和表单数据**:使用`@RequestParam`注解将请求参数绑定到方法参数上。 ```java @RequestMapping(value = "/search", method = RequestMethod.GET) public String search(@RequestParam("query") String query, Model model) { // 使用查询参数进行搜索 model.addAttribute("results", searchService.search(query)); return "searchResults"; } ``` 2. **路径变量**:使用`@PathVariable`注解将URL路径中的占位符参数绑定到方法参数上。 ```java @RequestMapping(value = "/user/{id}", method = RequestMethod.GET) public String viewUser(@PathVariable("id") Long id, Model model) { // 根据id查找用户 model.addAttribute("user", userService.getUserById(id)); return "userView"; } ``` 3. **请求体**:使用`@RequestBody`注解将请求体(如JSON或XML数据)绑定到方法参数上,常用于处理POST请求。 ```java @RequestMapping(value = "/users", method = RequestMethod.POST) public String createUser(@RequestBody User user) { // 创建新用户 userService.saveUser(user); return "userCreated"; } ``` 4. **响应体**:使用`@ResponseBody`注解将方法的返回值直接作为响应体返回,常用于RESTful服务。 ```java @RequestMapping(value = "/users/{id}", method = RequestMethod.GET) @ResponseBody public User getUser(@PathVariable("id") Long id) { // 返回用户信息 return userService.getUserById(id); } ``` 请求参数绑定是Spring MVC中处理Web请求的关键部分,它使得从请求中提取数据并将其传递给业务逻辑变得简单直接。通过这些注解,Spring MVC提供了一种声明式的方式来处理各种类型的Web请求和数据。
wwbang
2025年1月3日 16:52
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码