package com.willow.util;

import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; /**
* CookieUtil用来操作cookie的存取
* @author GetInstance
*
*/
public class CookieUtil {
/**
* 添加cookie
* @param name cookie的key
* @param value cookie的value
* @param domain domain
* @param path path
* @param maxage 最长存活时间 单位为秒
* @param response
*/
public static void addCookie(String name ,String value,String domain,
int maxage,String path, HttpServletResponse response){
Cookie cookie = new Cookie(name,value);
if(domain!=null){
cookie.setDomain(domain);
}
cookie.setMaxAge(maxage);
cookie.setPath(path);
response.addCookie(cookie);
} /**
* 往根下面存一个cookie
* * @param name cookie的key
* @param value cookie的value
* @param domain domain
* @param maxage 最长存活时间 单位为秒
* @param response
*/
public static void addCookie(String name ,String value,String domain,
int maxage, HttpServletResponse response){
addCookie(name, value,domain, maxage, "/" , response);
} /**
* 从cookie值返回cookie值,如果没有返回 null
* @param req
* @param name
* @return cookie的值
*/
public static String getCookie(HttpServletRequest request, String name) {
Cookie[] cookies = request.getCookies();
if (cookies == null) return null;
for (int i = 0; i < cookies.length; i++) {
if (cookies[i].getName().equals(name)) {
return cookies[i].getValue();
}
}
return null;
} public static void removeCookie(String name, String domain, HttpServletRequest request, HttpServletResponse response) {
String cookieVal = getCookie(request,name);
if(cookieVal!=null){
CookieUtil.addCookie(name, null, domain, 0, response);
}
} public static void removeCookie(String name, HttpServletRequest request, HttpServletResponse response) {
CookieUtil.removeCookie(name, ".dhgate.com", request, response);
}
}

Java_CookieUtil的更多相关文章

随机推荐

  1. SVN的忽略和只读使用方法学习记录

    前言,先扯几句.最近学了GIT,虽然很肤浅,但是也算是用上了分布式版本管理控制系统.Linus很牛,他也很厌烦SVN,而我看这些都是工具,是否拿来使用主要看是否顺手.我赞同分布式版本管理控制,它有诸多 ...

  2. C与C++之间相互调用

    1.导出C函数以用于C或C++的项目 如果使用C语言编写的DLL,希望从中导出函数给C或C++的模块访问,则应使用 __cplusplus 预处理器宏确定正在编译的语言.如果是从C++语言模块使用,则 ...

  3. Win7下的内置FTP组件的设置详解

    在局域网中共享文件,FTP是比较方便的方案之一.Win7内部集成了FTP,只是设置起来颇费一番功夫.着文以记之. 一.安装FTP组件 由于Win7默认没有安装FTP组件.故FTP的设置第一步就是安装F ...

  4. Sizeof运算符小结

    以下内容援引自<C Primer Plus>中文版第五版Page95 Sizeof运算符以字节为单位返回其操作数的大小.(在C中,1个字节被定义为char类型所占用空间的大小.在过去,1个 ...

  5. 同一个项目,项目名称不一致,这两个项目同时在Eclipse中出现

    在Eclispse中,实际同一个项目,项目名称不一致,这两个项目同时在Eclipse中出现. ①打开项目文件夹,找到“.cproject”文件 ② 在<name>节点重命名 ③ 导入Ecl ...

  6. Linux学习笔记(22) Linux启动管理

    1. 系统运行级别 运行级别 含义 关机 1 单用户模式,可想象为windows的安全模式,主要用于系统修复 2 不完全的命令行模式,不含NFS服务 完全的命令行模式,就是标准字符界面 4 系统保留 ...

  7. 标签q

    标记短的引用,默认是中文符号:双引号 <p>文字<q>段落中的引用</q>文字</p> 如果是在html里直接敲出引号,是这样的: <p>文 ...

  8. ios透明代理抓包

    之前接到一些ios测试的时候,一些应用往往由于这样那样的原因(比如自实现的发包函数)导致直接使用本地ios系统的代理很难将数据代理到主机的burp或findler中,本文提供了一种解决该问题的途径 原 ...

  9. 内核终端判断,微信?QQ?ipad?IE?移动?Google?opera……

    $(document).ready(function(){ //判断访问终端 var browser={ versions:function(){ var u = navigator.userAgen ...

  10. canvas 3D运动球效果 多球

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...