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;
}


posted @ 2018-06-12 19:09  惶者  阅读(175)  评论(0编辑  收藏  举报