Java Cookie工具类,Java CookieUtils 工具类,Java如何增加Cookie
2024-10-16 16:23:12
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
- Deep Learning模型之:CNN卷积神经网络(一)深度解析CNN
- MySQL数据库出现The server quit without updating PID file.
- App软件开发的完整在线流程(一看就懂)
- js动画之简单运动一
- scala的apply方法
- GridView使用CommandField删除列实现删除时提示确认框
- POJ1470 Closest Common Ancestors 【Tarjan的LCA】
- ES6 Promise 状态解惑
- PHP学习之旅——PHP环境搭建
- Linux下ansible的group模块
- vue 打开新窗口
- Matplotlib-多图合并显示
- formValidator 插件 使用总结
- CAD版本 注册表信息
- N=NP?
- mark一下总是记混的重定向与转发的区别
- Simple2D-17(音乐播放器)嵌入 ImGui 库
- js如何判断IE浏览器的版本包括IE11
- 读取和修改app.config文件
热门文章
- windows下npm和node如何升级
- WinForm中播放视频示例(含源码)
- PHP的Try, throw 和 catch
- C++标准 bind函数用法与C#简单实现
- 【转】【Python】python使用urlopen/urlretrieve下载文件时出现403 forbidden的解决方法
- Android 耳机插入过程分析 (AudioManager部分)
- qcom wlan kernel 解读 WCNSS_qcom_cfg.ini 文件
- 使用Photoshop合成两张不完整的图片
- 手机web——自适应网页设计(html/css控制)http://mobile.51cto.com/ahot-409516.htm
- C# IP地址与数字之间的互转