3.8 @CookieValue注解
org.springframework.web.bind.annotation.CookieValue
注解用于将请求的Cookie
数据映射到请求处理方法的形式参数上。
使用@CookieValue
注解可指定如下表所示的属性
属性 | 类型 | 是否必要 | 说明 | ||
---|---|---|---|---|---|
name |
String |
否 | 指定请求参数绑定的名称 | ||
value |
String |
否 | name 属性的别名 |
||
required |
boolean |
否 | 指示参数是否必须绑定 | ||
defaultValue |
String |
否 | 如果没有传递参数而使用的默认值 | ||
jsessionid | |||||
@CookieValue 注解示例代码如下: |
|||||
|
以上配置会自动将Cookie
中JSESSIONID
的值设置到方法的sessionId
形式参数上, defaultValue
表示Cookie
中没有JSESSIONID
时默认设置sessionId
为空字符串。
示例:@CookieValue注解的使用
新建一个项目CookieValueTest
,加入所需的jar
文件,示例代码如下:
CookieValueController.java
1 | package org.fkit.controller; |
cookieValueTest
方法会自动将Cookie
中JSESSIONID
的值赋值给sessionId
形式参数,如果Cookie
中没有JSESSIONID
时默认设置sessionId
为空字符串。
index.jsp
1 | <%@ page language="java" contentType="text/html; charset=UTF-8" |
部署CookieValueTest
这个Web
应用,在浏览器中输入如下URL
来测试应用:
1 | http://localhost:8080/CookieValueTest/ |
单击”测试@CookieValue注解”超链接发送请求,将调用cookieValueTest
方法,控制台输出结果如下
1 | 通过@CookieValue获得JSESSIONID: 22334F73E67C6C486559D98FF00539CB |
可以看到,请求中JSESSIONID
的值被传递到方法的sessionId
变量并输出打印在控制台。
原文链接: 3.8 @CookieValue注解