关于CookieUtile的相关代码
来源:互联网 发布:数据挖掘技术与算法 编辑:程序博客网 时间:2024/06/06 01:57
关于CookieUtile的相关代码
public class CookieUtil{ /** * 根据name获得cookie * * @param request * @param name * @return */ public static Cookie getCookie(HttpServletRequest request,String name){ Cookie cookies[] = request.getCookies(); if (cookies == null || name == null || name.length() == 0){ return null; } for (int i = 0; i < cookies.length; i++){ if (name.equals(cookies[i].getName()) /* && request.getServerName().equals(cookies[i].getDomain()) */){ return cookies[i]; } } return null; } /** * 根据cookie对象移除cookie * * @param request * @param response * @param cookie */ public static void deleteCookie(HttpServletRequest request,HttpServletResponse response,Cookie cookie){ if (cookie != null){ cookie.setPath(getPath(request)); cookie.setValue(""); cookie.setMaxAge(0); response.addCookie(cookie); } } /** * 根据cookie的name删除 * * @param request * @param response * @param cookieName */ public static void deleteCookie(HttpServletRequest request,HttpServletResponse response,String cookieName){ Cookie cookie = new Cookie(cookieName, ""); deleteCookie(request, response, cookie); } /** * 通过name和value产生一个生命周期为2592000秒的cookie * * @param request * @param response * @param name * 键 * @param value * 值 */ public static void setCookie(HttpServletRequest request,HttpServletResponse response,String name,String value){ setCookie(request, response, name, value, 0x278d00); } /** * 通过name和value产生一个生命周期为maxAge秒的cookie * * @param request * @param response * @param name * 键 * @param value * 值 * @param maxAge * 生命周期 */ public static void setCookie(HttpServletRequest request,HttpServletResponse response,String name,String value,int maxAge){ Cookie cookie = new Cookie(name, value == null ? "" : value); cookie.setMaxAge(maxAge); cookie.setPath(getPath(request)); response.addCookie(cookie); } private static StringBuffer generateCookieStringInTomcat(final Cookie cookie,final boolean httpOnly){ final StringBuffer sb = new StringBuffer(); // web application code can receive a IllegalArgumentException // from the appendCookieValue invokation if (SecurityUtil.isPackageProtectionEnabled()){ AccessController.doPrivileged(new PrivilegedAction(){ public Object run(){ ServerCookie.appendCookieValue( sb, cookie.getVersion(), cookie.getName(), cookie.getValue(), cookie.getPath(), cookie.getDomain(), cookie.getComment(), cookie.getMaxAge(), cookie.getSecure(), httpOnly); return null; } }); }else{ ServerCookie.appendCookieValue( sb, cookie.getVersion(), cookie.getName(), cookie.getValue(), cookie.getPath(), cookie.getDomain(), cookie.getComment(), cookie.getMaxAge(), cookie.getSecure(), httpOnly); } return sb; } /** * setCookie的增强版 * * @param request * @param response * @param name * 键 * @param value * 值 * @param maxAge * 生命周期 */ public static void setCookieHttp(HttpServletRequest request,HttpServletResponse response,String name,String value,int maxAge){ StringBuffer cookie = generateCookieStringInTomcat(new TimeIntervalCookie(name, value, maxAge), true); response.addHeader("Set-Cookie", cookie.toString()); } private static String getPath(HttpServletRequest request){ String path = request.getContextPath(); return (path == null || path.length() == 0) ? "/" : path; }}
1 0
- 关于CookieUtile的相关代码
- 关于时间的相关代码
- 关于数据集的相关代码
- 关于静态代码域的相关知识
- 关于启动代码中NANDFLASH启动相关代码的解释
- Jquery获取关于浏览器相关的宽高的代码
- Jquery获取关于浏览器相关的宽高的代码
- 关于DCMS代码部署相关的build指令
- 关于VC字号大小的设置相关代码
- 关于C语言逆序字符串的相关代码!
- openstack关于libvirt相关代码的分析(一)
- javascript中关于DOM的代码示例及相关笔记
- 关于ViewRootImpl中measure相关代码的分析
- 关于链表的相关总结及代码参考
- Git关于通过Xcode进行代码Merge的相关介绍
- 关于BBS项目相关代码
- FSO 相关的代码
- FSO 相关的代码
- Bluetooth控件的使用
- AFNetworking
- 银河铂力的乒乓球不错
- 操作系统实验六 设备管理
- JS报错 Uncaught SyntaxError: missing ) after argument list
- 关于CookieUtile的相关代码
- Redis和Memcache的区别分析
- [LeetCode]Course Schedule II
- 我是怎么招聘程序员的
- Android PackageManager源码浅析以及静默安装实现方式
- 如何学好C++语言
- Text Kit 学习
- 收获之旅中的心路历程
- 面向对象设计模式总结一