Java Cookie工具类,Java CookieUtils 工具类,Java如何增加Cookie
Java Cookie工具类,Java CookieUtils 工具类,Java如何增加Cookie
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
©Copyright 蕃薯耀 2017年7月15日
http://www.cnblogs.com/fanshuyao/
import java.io.IOException;
import java.util.HashMap;
import java.util.Map; import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; public class CookieUtils { public static final int COOKIE_MAX_AGE = 7 * 24 * 3600;
public static final int COOKIE_HALF_HOUR = 30 * 60; /**
* 根据Cookie名称得到Cookie对象,不存在该对象则返回Null
*
* @param request
* @param name
* @return
*/
public static Cookie getCookie(HttpServletRequest request, String name) {
Cookie[] cookies = request.getCookies();
if (StrUtils.isEmptyArray(cookies)) {
return null;
}
Cookie cookie = null;
for (Cookie c : cookies) {
if (name.equals(c.getName())) {
cookie = c;
break;
}
}
return cookie;
} /**
* 根据Cookie名称直接得到Cookie值
*
* @param request
* @param name
* @return
*/
public static String getCookieValue(HttpServletRequest request, String name) {
Cookie cookie = getCookie(request, name);
if(cookie != null){
return cookie.getValue();
}
return null;
} /**
* 移除cookie
* @param request
* @param response
* @param name 这个是名称,不是值
*/
public static void removeCookie(HttpServletRequest request,
HttpServletResponse response, String name) {
if (null == name) {
return;
}
Cookie cookie = getCookie(request, name);
if(null != cookie){
cookie.setPath("/");
cookie.setValue("");
cookie.setMaxAge(0);
response.addCookie(cookie);
}
} /**
* 添加一条新的Cookie,可以指定过期时间(单位:秒)
*
* @param response
* @param name
* @param value
* @param maxValue
*/
public static void setCookie(HttpServletResponse response, String name,
String value, int maxValue) {
if (StrUtils.isBlank(name)) {
return;
}
if (null == value) {
value = "";
}
Cookie cookie = new Cookie(name, value);
cookie.setPath("/");
if (maxValue != 0) {
cookie.setMaxAge(maxValue);
} else {
cookie.setMaxAge(COOKIE_HALF_HOUR);
}
response.addCookie(cookie);
try {
response.flushBuffer();
} catch (IOException e) {
e.printStackTrace();
}
} /**
* 添加一条新的Cookie,默认30分钟过期时间
*
* @param response
* @param name
* @param value
*/
public static void setCookie(HttpServletResponse response, String name,
String value) {
setCookie(response, name, value, COOKIE_HALF_HOUR);
} /**
* 将cookie封装到Map里面
* @param request
* @return
*/
public static Map<String,Cookie> getCookieMap(HttpServletRequest request){
Map<String,Cookie> cookieMap = new HashMap<String,Cookie>();
Cookie[] cookies = request.getCookies();
if(!StrUtils.isEmptyArray(cookies)){
for(Cookie cookie : cookies){
cookieMap.put(cookie.getName(), cookie);
}
}
return cookieMap;
} }
(如果你觉得文章对你有帮助,欢迎捐赠,^_^,谢谢!)

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
©Copyright 蕃薯耀 2017年7月15日
http://www.cnblogs.com/fanshuyao/
Java Cookie工具类,Java CookieUtils 工具类,Java如何增加Cookie的更多相关文章
- Java数组操作利器:Arrays工具类
		
java.util.Arrays提供大量的工具方法来操作数组,这些方法全是静态方法. 1 便捷创建List public static <T> List<T> asList(T ...
 - Java json工具类,jackson工具类,ObjectMapper工具类
		
Java json工具类,jackson工具类,ObjectMapper工具类 >>>>>>>>>>>>>>> ...
 - JAVA核心技术I---JAVA基础知识(工具类Arrays和Collections类)
		
一:工具类 –不存储数据,而是在数据容器上,实现高效操作 • 排序 • 搜索 –Arrays类 –Collection类 二:Arrays类(处理数组) (一)基本方法 –排序:对数组排序, sort ...
 - Java判断不为空的工具类总结
		
1.Java判断是否为空的工具类,可以直接使用.包含,String字符串,数组,集合等等. package com.bie.util; import java.util.Collection; imp ...
 - Java学习笔记48(DBUtils工具类一)
		
上一篇的例子可以明显看出,在增删改查的时候,很多的代码都是重复的, 那么,是否可以将增删改查封装成一个类,方便使用者 package demo; /* * 实现JDBC的工具类 * 定义方法,直接返回 ...
 - Java字符串转16 进制工具类Hex.java
		
Java字符串转16 进制工具类Hex.java 学习了:https://blog.csdn.net/jia635/article/details/56678086 package com.strin ...
 - Java中的AES加解密工具类:AESUtils
		
本人手写已测试,大家可以参考使用 package com.mirana.frame.utils.encrypt; import com.mirana.frame.constants.SysConsta ...
 - Java 高级应用编程 第一章 工具类
		
一.Java API Java API简介 1.API (Application Programming Interface) 应用程序接口 2.Java中的API,就是JDK提供的各种功能的Java ...
 - java使用DBCP连接池创建工具类
		
1.说明 java中有个扩展包 javax下面有个DataResource的接口 javax.sql.DataResource 该接口定义了连接池的方法规范 而DBCP框架有apache公司开发,他 ...
 
随机推荐
- eclipse format xml
			
eclipse版本信息:Version: Luna Release (4.4.0) eclipse默认使用Tab缩进,显得不是那么专业. 因为不同的系统对Tab的支持是不一样的,所以在不同的系统或者编 ...
 - WebRTC源码分析(一):安卓相机采集实现分析
			
WebRTC 的代码量不小,一次性看明白不太现实,在本系列中,我将试图搞清楚三个问题: 客户端之间如何建立连接? 客户端之间如何实现数据传输? 音视频数据的采集.预览.编码.传输.解码.渲染完整流程. ...
 - 开始一段新的敏捷学习之旅 —— IT帮读书会第4期《Scrum实战》
			
刚看了一下,距离上一次写博客过去快1年半了.之前的知识管理都放到笔记软件中了,但是现在看来,收藏了很多东西,输入很多,但是输出有限. 学习任何领域的知识,如果只有输入没有输出,效果都是很有限的,有时需 ...
 - 通过URI返回File文件
			
/** * 通过Uri返回File文件 * 注意:通过相机的是类似content://media/external/images/media/97596 * 通过相册选择的:file:///stora ...
 - javascript完美实现图片拖动改变顺序
			
在web页面中,需要改变多个元素的位置,可以通过元素拖动来实现.HTML5中加入了一个全局属性draggable,通过设置true/false来控制元素是否可拖动. 下面以图片拖动为例,用jQuery ...
 - ssh : how to add "hostkey" to “know_hosts”
			
有时后端daemon或者脚本在执行ssh连接时,会遇到以下提示: The authenticity of host 'git.sws.com (10.42.1.88)' can't be establ ...
 - Ubuntu下Ruby的下载和编译源码安装
			
1.Ruby的下载 Ruby可以在Ruby 官网上下载,如果想获取更多的Ruby版本,可以到淘宝镜像网站下载. 2.Ruby的编译源码安装 解压 首先把下载下来的源码压缩包解压到自己指定的目录 编译安 ...
 - (笔记)Mysql命令insert into:向表中插入数据(记录)
			
insert into命令用于向表中插入数据. insert into命令格式:insert into <表名> [(<字段名1>[,..<字段名n > ])] v ...
 - Flume exec 测试
			
环境:ubuntu 1604 软件:①apache-flume-1.7.0-bin.tar.gz,解压后放到 /usr/local/ 下面.②sudo apt-get install apache2 ...
 - Spring JDBC删除数据
			
以下示例将展示如何使用Spring jdbc执行删除数据库表中的记录,这里演示如何删除指定student表中的记录. 语法: String deleteQuery = "delete fro ...