`@RequestMapping`除了支持URL传参外,还支持其他几种传参方式。下面是一些常见的例子: 1. 请求参数:你可以使用`@RequestParam`注解来获取HTTP请求中的查询参数。 ```java @RequestMapping(value = "/process", method = RequestMethod.GET) public String process(@RequestParam("param1") String param1) { //... } ``` 2. 路径变量:如果你在@RequestMapping的value中定义了一个模板URL(例如"/users/{userId}"),那么你可以通过`@PathVariable`注解来获取这个路径变量。 ```java @RequestMapping(value = "/users/{userId}", method = RequestMethod.GET) public String getUser(@PathVariable("userId") Long userId) { //... } ``` 3. 请求体:对于POST、PUT等方法,你通常会将参数放在请求体中。这时你可以使用`@RequestBody`注解来获取这些参数。 ```java @RequestMapping(value = "/process", method = RequestMethod.POST) public String process(@RequestBody User user) { //... } ``` 4. Header信息:你还可以从请求头中获取信息,使用`@RequestHeader`注解。 ```java @RequestMapping(value = "/process", method = RequestMethod.GET) public String process(@RequestHeader("Accept-Language") String language) { //... } ``` 5. Cookie信息:如果需要访问请求中的cookie,可以使用`@CookieValue`注解。 ```java @RequestMapping(value = "/process", method = RequestMethod.GET) public String process(@CookieValue("JSESSIONID") String sessionId) { //... } ``` 6. Session属性:你也可以直接从session中获取或设置属性。 ```java @RequestMapping(value = "/process", method = RequestMethod.GET) public String process(HttpSession session) { String attribute = (String) session.getAttribute("attributeName"); //... } ``` 7. Model对象:在Spring MVC中,我们经常会在Controller中填充一个或多个model对象,并将其传递给视图进行渲染。这时我们可以使用`@ModelAttribute`注解。 ```java @RequestMapping(value = "/process", method = RequestMethod.GET) public String process(@ModelAttribute("user") User user, Model model) { //... } ``` [2023-12-11 21:48:55 | AI写代码神器 | 476点数解答]