您的位置:首页 > 其它

Cookie操作类、 包括创建、读取、修改、获取、销毁cookie

2017-02-14 09:38 330 查看
[java]
view plain
copy

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);  
}  
}  
}  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐