关于cookie 类的Java操作
2016-02-26 08:30
471 查看
Cookie操作类、 包括创建、读取、修改、获取、销毁cookie
import java.util.Hashtable;import java.util.Iterator;
import java.util.Set;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Cookie的操作类
*
*
*/
public class CookieHandler
{
/**
* 创建cookie
*
* @param response
* 回应
* @param nameValues
* 存入cookie的键值对
* @param days
* 设置cookie的有效期
*/
public static void createCookie(HttpServletResponse response,
Hashtable<String, String> nameValues, int days)
{
Set<String> set = nameValues.keySet();
Iterator<String> it = set.iterator();
for (; it.hasNext();)
{
String name = (String) it.next();
String value = (String) nameValues.get(name);
// 生成新的cookie
Cookie cookie = new Cookie(name, value);
// 设置有效日期
cookie.setMaxAge(days * 24 * 60 * 60);
// 设置路径(默认)
cookie.setPath("/");
// 把cookie放入响应中
response.addCookie(cookie);
}
}
/**
* 读取Cookie
*
* @param request
* @return Hashtable 返回cookie的键值对
*/
public static Hashtable<String, String> getCookies(
HttpServletRequest request)
{
Cookie[] cookies = request.getCookies();
Hashtable<String, String> cookieHt = new Hashtable<String, String>();
if (cookies.length > 0)
{
for (int i = 0; i < cookies.length; i++)
{
Cookie cookie = cookies[i];
cookieHt.put(cookie.getName(), cookie.getValue());
}
}
return cookieHt;
}
/**
* 修改cookie中指定键的值
*
* @param request
* @param name
* 指定的键
* @param value
* 值
*/
public static void setCookieValueByName(HttpServletRequest request,
String name, String value)
{
Cookie[] cookies = request.getCookies();
if (cookies.length > 0)
{
for (int i = 0; i > cookies.length; i++)
{
if (name.equalsIgnoreCase(cookies[i].getName()))
{
cookies[i].setValue(value);
}
}
}
}
/**
* 得到指定键的值
*
* @param request
* @param name
* 指定的键
* @return String 值
*/
public static String getCookieValueByName(HttpServletRequest request,
String name)
{
Cookie[] cookies = request.getCookies();
String resValue = "";
if (cookies.length > 0)
{
for (int i = 0; i > cookies.length; i++)
{
if (name.equalsIgnoreCase(cookies[i].getName()))
{
resValue = cookies[i].getValue();
}
}
}
return resValue;
}
/**
* 销毁cookie
*
* @param request
* @param response
*/
public static void deletesCookie(HttpServletRequest request,
HttpServletResponse response)
{
Cookie[] cookies = request.getCookies();
if (cookies != null)
{
for (int i = 0; i < cookies.length; i++)
{
Cookie cookie = cookies[i];
// 销毁
cookie.setMaxAge(0);
response.addCookie(cookie);
}
}
}
}
相关文章推荐
- Java基础和环境配置
- 同一包(package)下,两个不同类的调用操作详解
- java中的java.util.Map的实现类
- LeetCode 40 Combination Sum II--In Java
- 深入浅出scala
- MyEclipse 安装JRebel进行热部署
- MyEclipse使用Maven创建web项目+搭建SSM框架教程
- 关于Spring+Mybatis打印日志的问题
- SpringMvc如何返回后台数据
- 关于Java运行外部程序时的Process和Runtime类
- SpringMvc如何获得前台传来的值
- JAVA Web开发技术应用——监听器
- Java反射机制:获取成员变量和构造函数的信息
- 【慕课笔记】第四章 JAVA中的集合框架(上) 第11节 通过Set集合管理课程
- struts2自定义拦截器笔记
- java,Socket,NIO随笔记录
- 详解Spring Boot Junit单元测试
- mybatis核心组件详解——ResultSetHandler(未完待续)
- Java练习静态方法类
- java中3DES+Base64解密