Java实现对cookie的增删改查
2016-08-30 11:46
302 查看
1.springMVC框架:
2.一般情况下,会首先对cookie进行封装:
/**
*读取所有cookie
*注意二、从客户端读取Cookie时,包括maxAge在内的其他属性都是不可读的,也不会被提交。浏览器提交Cookie时只会提交name与value属性。maxAge属性只被浏览器用来判断Cookie是否过期
*@param request
*@param response
*/
@RequestMapping
(
"/showCookies"
)
public
void
showCookies(HttpServletRequest request,HttpServletResponse response ){
Cookie[] cookies = request.getCookies();
//这样便可以获取一个cookie数组
if
(
null
==cookies) {
System.out.println(
"没有cookie========="
);
}
else
{
for
(Cookie cookie : cookies){
System.out.println(
"name:"
+cookie.getName()+
",value:"
+ cookie.getValue());
}
}
}
/**
*添加cookie
*@param response
*@param name
*@param value
*/
@RequestMapping
(
"/addCookie"
)
public
void
addCookie(HttpServletResponse response,String name,String value){
Cookie cookie =
new
Cookie(name.trim(), value.trim());
cookie.setMaxAge(
30
*
60
);
// 设置为30min
cookie.setPath(
"/"
);
System.out.println(
"已添加==============="
);
response.addCookie(cookie);
}
/**
*修改cookie
*@param request
*@param response
*@param name
*@param value
*注意一、修改、删除Cookie时,新建的Cookie除value、maxAge之外的所有属性,例如name、path、domain等,都要与原Cookie完全一样。否则,浏览器将视为两个不同的Cookie不予覆盖,导致修改、删除失败。
*/
@RequestMapping
(
"/editCookie"
)
public
void
editCookie(HttpServletRequest request,HttpServletResponse response,String name,String value){
Cookie[] cookies = request.getCookies();
if
(
null
==cookies) {
System.out.println(
"没有cookie=============="
);
}
else
{
for
(Cookie cookie : cookies){
if
(cookie.getName().equals(name)){
System.out.println(
"原值为:"
+cookie.getValue());
cookie.setValue(value);
cookie.setPath(
"/"
);
cookie.setMaxAge(
30
*
60
);
// 设置为30min
System.out.println(
"被修改的cookie名字为:"
+cookie.getName()+
",新值为:"
+cookie.getValue());
response.addCookie(cookie);
break
;
}
}
}
}
/**
*删除cookie
*@param request
*@param response
*@param name
*/
@RequestMapping
(
"/delCookie"
)
public
void
delCookie(HttpServletRequest request,HttpServletResponse response,String name){
Cookie[] cookies = request.getCookies();
if
(
null
==cookies) {
System.out.println(
"没有cookie=============="
);
}
else
{
for
(Cookie cookie : cookies){
if
(cookie.getName().equals(name)){
cookie.setValue(
null
);
cookie.setMaxAge(
0
);
// 立即销毁cookie
cookie.setPath(
"/"
);
System.out.println(
"被删除的cookie名字为:"
+cookie.getName());
response.addCookie(cookie);
break
;
}
}
}
}
2.一般情况下,会首先对cookie进行封装:
/**
*根据名字获取cookie
*@param request
*@param name cookie名字
*@return
*/
public
Cookie getCookieByName(HttpServletRequest request,String name){
Map<String,Cookie> cookieMap = ReadCookieMap(request);
if
(cookieMap.containsKey(name)){
Cookie cookie =(Cookie)cookieMap.get(name);
return
cookie;
}
else
{
return
null
;
}
}
/**
*将cookie封装到Map里面
*@param request
*@return
*/
private
Map<String,Cookie> ReadCookieMap(HttpServletRequest request){
Map<String,Cookie> cookieMap =
new
HashMap<String,Cookie>();
Cookie[] cookies = request.getCookies();
if
(
null
!=cookies){
for
(Cookie cookie : cookies){
cookieMap.put(cookie.getName(), cookie);
}
}
return
cookieMap;
}
相关文章推荐
- Java实现对cookie的操作(增删改查)
- java操作cookie实现增删改查
- Java实现对cookie的操作(增删改查)(未测试)
- Java实现对cookie的增删改查
- Java实现对cookie的操作(增删改查)
- Java_xml_Dom解析实现增删改查
- java购物车的实现 基于Session和Cookie的购物车
- java cookie 实现用户账号信息本地保存
- java中使用JDBC运用ORACLE完成增删改查的实现
- Flex4之Tree开发【三】——与JAVA后台交互的树,实现增删改查
- java H2数据库使用并实现增删改查功能
- Java实现 Cookie的生成与读取
- flex与java实现增删改查
- JAVA采用数组结构实现一个线性表,可以增删改查,类似于ArrayList
- Java利用Cookie实现自动登录
- java实现xml文件增删改查
- javaweb之Session实现简单的购物(URL重写。Cookie重写指定有效日期)和简单的验证结论
- java购物车的实现 中实现基于Session和Cookie的购物车
- java cookie 实现用户账号信息本地保存
- java实现简单的(Cookie)单点登录