SpringMVC_@RequestHeader、@CookieValue、POJO、Servlet API
@RequestHeader
使用@RequestHeader绑定请求报头的属性值
- 请求头包含了若干属性,服务器可据此获知客户端的信息,通过@RequestHeader即可将请求头中的属性绑定到处理方法的入参中。
/** * 了解 * 映射请求头信息 * 用法同@RequestParam * @param al * @return */ @RequestMapping("/testRequestHeader") public String testRequestHeader(@RequestHeader("Accept-Language")String al){ System.out.println("testRequestHeader,Accept-Language "+al); return SUCCESS; }
@CookieValue
使用@CookieValue绑定请求中的Cookie值
- @CookieValue可以让处理方法入参绑定到某个Cookie值
/** * 了解:映射一个cookie值,属性同@RequestParam * @param json * @return */ @RequestMapping("/testCookieValue") public String testCookieValue(@CookieValue("JSESSIONID") String json){ System.out.println("testCookieValue: "+json); return SUCCESS; }
使用POJO对象绑定请求参数值
- SpringMVC 会按请求参数名和POJO属性名进行自动匹配,自动为该对象填充属性值,支持级联属性。如:dept.deptId,dept.address.tel
/** * SpringMVC 会按请求参数名和POJO属性名进行自动匹配, * 自动为该对象填充属性值,支持级联属性。如:dept.deptId,dept.address.tel * @param user * @return */ @RequestMapping("/testPOJO") public String testPOJO(User user){ System.out.println("testPOJO: "+user); return SUCCESS; }
使用Servlet API作为入参
MVC的handler可以接受哪些Servlet API类型的参数:
HttpServletRequest
HttpServletResponse
HttpSession
java.security.Principal
Locale
InputStream
OutputStream
Reader
Writer
/** * 可以使用Servlet 原生的API作为目标方法的参数,具体支持以下类型 * HttpServletRequest HttpServletResponse HttpSession java.security.Principal * Locale InputStream OutputStream Reader Writer * * @param request * @param response * @return */ @RequestMapping("/testServletAPI") public String testServletAPI(HttpServletRequest request, HttpServletResponse response){ System.out.println("testServletAPI: "+request+","+response); return SUCCESS; }