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的更多相关文章
随机推荐
- delphi 导出到excel的7种方法
本文来自 爱好者8888 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/kpc2000/article/details/17066823?utm_source=cop ...
- GCC:/usr/lib/libstdc++.so.6: version GLIBCXX_3.4.15 not found
源码编译升级安装了gcc后,编译程序或运行其它程序时,有时会出现类似/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found的问题.这 ...
- 【Git】git pull和git pull --rebase的使用
git pull = git fetch + git mergegit pull --rebase = git fetch + git rebase 现在来看看git merge和git rebase ...
- C++ 函数模板重载
函数模板可以像普通函数那样重载. C++ 编译器会从不同的候选中匹配一个并进行调用. 即使不涉及到模板,这种匹配的规则也很复杂,现在还有加上模板一起匹配. 先来个小例子: #include <i ...
- C语言 · 8皇后问题改编
8皇后问题(改编) 问题描述 规则同8皇后问题,但是棋盘上每格都有一个数字,要求八皇后所在格子数字之和最大. 输入格式 一个8*8的棋盘. 输出格式 所能得到的最大数字和 样例输入 1 2 3 4 5 ...
- HTML 01 请求过程
与 HTTP 关系密切的协议, IP, TCP, DNS IP协议的作用是把各种数据包传送给对方, 而要保证确实传送到对方那里, 需要满足各种条件. 其中两个最重要的条件是 IP地址 和 MAC 地址 ...
- [踩坑日记]spring mvc
目录 找不到javax.servlet.ServletException的类文件 idea 清除tomcat缓存 IOException parsing XML document from Servl ...
- tensorflow中moving average的用法
一般在保存模型参数的时候,都会保存一份moving average,是取了不同迭代次数模型的移动平均,移动平均后的模型往往在性能上会比最后一次迭代保存的模型要好一些. tensorflow-model ...
- WEB服务器与应用服务器的区别
一.简述 WEB服务器与应用服务器的区别: 1.WEB服务器: 理解WEB服务器,首先要理解什么是WEB?WEB可以简单理解为我们所看到的HTML页面就是WEB的数据元素,处理这些数据元素的应用软件就 ...
- Zephyr学习(二)开发环境搭建
一.概述 Zephyr支持在Windows.Linux和MacOS环境下开发,这里只介绍如何在Windows下搭建zephyr的开发环境. 二.步骤 2.1安装msys2 msys2是一个Linux模 ...