CookieUitl
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.jsp.PageContext;
/**
*
* cookie操作类
*<br>功能:对cookie进行增查改删
*/
public class CookieUitl
{
/**
* 往客户端写入Cookie。
* <pre>
* 说明:
* maxAge:(单位秒)
* 0:删除Cookie
* -1:页面关闭时删除cookie
* </pre>
* @param name String
* @param value String
* @param maxAge int
* @param context PageContext
*/
public static void addCookie(String name,String value,int maxAge,PageContext context)
{
HttpServletResponse response=(HttpServletResponse)context.getResponse();
HttpServletRequest req=(HttpServletRequest)context.getRequest();
addCookie( name, value,maxAge, req, response);
}
/**
* 写入会话cookie,在页面关闭的时候这个cookie自动删除。
* @param name cookie名称
* @param value cookie值。
* @param context
*/
public static void addCookie(String name,String value,PageContext context)
{
HttpServletResponse response=(HttpServletResponse)context.getResponse();
HttpServletRequest req=(HttpServletRequest)context.getRequest();
addCookie( name, value,-1, req, response);
}
/**
* 添加cookie,cookie的生命周期为关闭浏览器即消失
* @param name
* @param value
* @param req
* @param response
*/
public static void addCookie(String name,String value,HttpServletRequest req,HttpServletResponse response)
{
addCookie( name, value,-1, req, response);
}
/**
* 添加cookie
* @param name cookie名称
* @param value cookie值
* @param maxAge cookie存活时间
* @param req
* @param response
*/
public static void addCookie(String name,String value,int maxAge,HttpServletRequest req,HttpServletResponse response)
{
if(response==null)return;
Cookie cookie=new Cookie(name,value);
cookie.setPath(req.getContextPath());
cookie.setMaxAge(maxAge);
response.addCookie(cookie);
}
/**
* 删除cookie
* @param name
* @param context
*/
public static void delCookie(String name,PageContext context)
{
HttpServletResponse response=(HttpServletResponse)context.getResponse();
HttpServletRequest request=(HttpServletRequest)context.getRequest();
delCookie(name,request, response);
}
/**
* 删除cookie
* @param name
* @param response
*/
public static void delCookie(String name,HttpServletRequest request, HttpServletResponse response)
{
addCookie(name, "", 0, request,response);
}
/**
* 根据Cookie名取得Cookie的值.
* 如果cookie 为空 则返回 null;
* @param name String
* @param context PageContext
* @return String
*/
public static String getValueByName(String name,PageContext context)
{
HttpServletRequest request=(HttpServletRequest)context.getRequest();
String str= getValueByName(name,request);
return str;
}
/**
* 根据cookie名称取得值
* @param name
* @param request
* @return
*/
public static String getValueByName(String name,HttpServletRequest request)
{
if(request==null)return "";
Cookie cookies[]=request.getCookies();
Cookie sCookie=null;
String svalue=null;
String sname=null;
if(cookies==null)
return null;
for(int i=0;i< cookies.length;i++)
{
sCookie=cookies[i];
sname=sCookie.getName();
if(sname.equals(name))
{
svalue=sCookie.getValue();
break;
}
}
return svalue;
}
/**
* 根据Cookie名判断Cookie是否存在.
* @param name String
* @param context PageContext
* @return String
*/
public static boolean isExistByName(String name,PageContext context)
{
HttpServletRequest request=(HttpServletRequest)context.getRequest();
return isExistByName(name,request);
}
/**
*
* @param name
* @param request
* @return
*/
public static boolean isExistByName(String name,HttpServletRequest request)
{
Cookie cookies[]=request.getCookies();
Cookie sCookie=null;
String sname=null;
boolean isExist=false;
if(cookies==null)
return false;
for(int i=0;i< cookies.length;i++)
{
sCookie=cookies[i];
sname=sCookie.getName();
if(sname.equals(name))
{
isExist=true;
break;
}
}
return isExist;
}
}
CookieUitl的更多相关文章
随机推荐
- 检查linux的磁盘空间占用
先初步看看哪个目录占用最大$ df -h 然后细看遍历某目录的占用情况:$ sudo du -a /data | sort -nr | less(单位是KB)
- mongodb常用查询语法
一.查询 find方法 db.collection_name.find(); 查询所有的结果: select * from users; db.users.find(); 指定返回那些列(键): se ...
- jQuery左侧图片右侧文字滑动切换代码
分享一款jQuery左侧图片右侧文字滑动切换代码.这是一款基于jQuery实现的列表图片控制图片滑动切换代码.效果图如下: 在线预览 源码下载 实现的代码. html代码: <div cla ...
- hdoj:2080
夹角有多大II Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Sub ...
- websocket Tomcat JSP Demo
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...
- Linux下批量Kill多个进程
ps -ef|grep php|grep -v grep|cut -c 9-15|xargs kill -9 管道符"|"用来隔开两个命令,管道符左边命令的输出会作为管道符右边命令 ...
- python中导入一个需要传参的模块
最近跑实验,遇到了一个问题:由于实验数据集比较多,每次跑完一个数据集就需要手动更改文件路径,再将文件传到服务器,再运行实验,这样的话效率很低,必须要专门看着这个实验,啥时候跑完就手动修改运行下一个实验 ...
- ef报错:实体类型XXX不是当前上下文的模型的一部分。
可能原因:.net框架版本与实体框架版本不匹配,比如:.net框架版本为4.5.实体框架版本为6.2. 解决方法:将实体框架版本降到6.0.
- E - Closest Common Ancestors
Write a program that takes as input a rooted tree and a list of pairs of vertices. For each pair (u, ...
- php数组函数大全
一.数组操作的基本函数 数组的键名和值 array_values($arr);获得数组的值 array_keys($arr);获得数组的键名 array_flip($arr);数组中的值与键名互换(如 ...