@PathVariable,@RequestHeader,@CookieValue注解
1.@PathVariable可以非常方便获得URL的动态参数。它只支持一个属性value,类型为String,表示绑定的名称
@RequestMapping(value="/test/{userId}") public String test(@PathVariable Integer userId) { System.out.println("=========="+userId); return "register"; }
http://localhost:8080/LoginTest/user/test/456
2.@RequestHeader 用于将请求的头信息数据映射到功能处理方法的参数上
3.@CookieValue 用于将请求的Cookie数据映射到功能处理方法的参数上
测试代码
package com.game.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.CookieValue; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestHeader; import org.springframework.web.bind.annotation.RequestMapping; @Controller public class BindingController { @RequestMapping("/test") public String test() { return "test"; } @RequestMapping("/pathVariableTest/{userId}") public void pathVariableTest(@PathVariable Integer userId) { System.out.println("pathVariableTest=====" + userId); } @RequestMapping("/requestHeaderTest") public void requestHeaderTest( @RequestHeader("User-Agent") String userAgent, @RequestHeader(value="Accept") String[] accepts) { for(String accept : accepts) { System.out.println("requestHeaderTest=====" + accept); } } @RequestMapping("/cookieValueTest") public void cookieValueTest(@CookieValue(value="JSESSIONID",defaultValue="") String sessionId) { System.out.println("cookieValueTest=======" + sessionId); } }
<body> <h3>数据绑定测试</h3> <a href="pathVariableTest/123">测试PathVariable</a><br> <a href="requestHeaderTest">测试RequestHeader</a><br> <a href="cookieValueTest">测试Cookievalue</a><br> </body>