您的位置:首页 > 编程语言 > Java开发

springMVC笔记系列(10)——CookieValue注解

2016-12-02 15:12 357 查看
说明:本文章的内容转载至:https://my.oschina.net/happyBKs/blog/417431

如有侵权的地方,请联系本人,本人将会立即删除!

1.概述

从Http请求头中的Cookie提取指定的某个Cookie.

2.配置

(1)value(default “”):参数名例如: JSESSIONID

(2)required(default true):是否请求头中必须带value指定的参数

(3)defaultValue(default ValueConstants.DEFAULT_NONE):如果value指定的参数值不存在或者为空,那么将使用默认值.

3.使用

和@RequestHeader的使用方式类似,在控制器的方法参数中使用注解把请求路径指定的参数提取出来作为实参注入形参中

4.案例:

package com.happyBKs.springmvc.handlers;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.CookieValue;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

@RequestMapping("class")
@Controller
public class RPTestHandler {

String page="successrm";

@RequestMapping("testCookie")
public String handleCookieValue(@CookieValue(value="JSESSIONID") String cookie)
{
System.out.println("Request CookieValue JSESSIONID:"+cookie);
return page;
}

}


请求页面:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<a href="class/student?username=happyBKs&age=100">class/student?username=happyBKs&age=100</a>
<br/>
<a href="class/testhead">class/testhead</a>
<br/>
<a href="class/testCookie">class/testCookie</a>
</body>
</html>


过程:





控制台输出:

Request CookieValue JSESSIONID:C7BDF604164F4908A71E3F45F58B54A3

注意的事情也是一样,如果指定cookie不存在,报错:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  cookie spring mvc