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/

最新文章

  1. Java
  2. Deep Learning模型之:CNN卷积神经网络(一)深度解析CNN
  3. MySQL数据库出现The server quit without updating PID file.
  4. App软件开发的完整在线流程(一看就懂)
  5. js动画之简单运动一
  6. scala的apply方法
  7. GridView使用CommandField删除列实现删除时提示确认框
  8. POJ1470 Closest Common Ancestors 【Tarjan的LCA】
  9. ES6 Promise 状态解惑
  10. PHP学习之旅——PHP环境搭建
  11. Linux下ansible的group模块
  12. vue 打开新窗口
  13. Matplotlib-多图合并显示
  14. formValidator 插件 使用总结
  15. CAD版本 注册表信息
  16. N=NP?
  17. mark一下总是记混的重定向与转发的区别
  18. Simple2D-17(音乐播放器)嵌入 ImGui 库
  19. js如何判断IE浏览器的版本包括IE11
  20. 读取和修改app.config文件

热门文章

  1. windows下npm和node如何升级
  2. WinForm中播放视频示例(含源码)
  3. PHP的Try, throw 和 catch
  4. C++标准 bind函数用法与C#简单实现
  5. 【转】【Python】python使用urlopen/urlretrieve下载文件时出现403 forbidden的解决方法
  6. Android 耳机插入过程分析 (AudioManager部分)
  7. qcom wlan kernel 解读 WCNSS_qcom_cfg.ini 文件
  8. 使用Photoshop合成两张不完整的图片
  9. 手机web——自适应网页设计(html/css控制)http://mobile.51cto.com/ahot-409516.htm
  10. C# IP地址与数字之间的互转