cookies的赋值与取值
来源:互联网 发布:pdf提取软件 编辑:程序博客网 时间:2024/05/16 07:46
1.设置cookie到客户端
Cookie c1 = new Cookie("username","hzh");
response.addCookie(c1);
Cookie c2 = new Cookie("password","123");
//设置生命周期为1小时,秒为单位
c2.setMaxAge(3600);
response.addCookie(c2);
response.getWriter().print("ok");
查看此时的cookie文件,发现只写入了password,因为此时未给 username设置生命周期,它还在客户端的内存中,并为写到文件中(此时客户端关闭此浏览器窗口,就丢失了),想写到客户端,需要加入c1.setMaxAge(3600)在 response.addCookie(c1);之前
以下是写入我电脑中的cookie
2.读取cookie文件
Cookie[] cookies = request.getCookies();
for(Cookie c :cookies ){
System.out.println(c.getName()+"--->"+c.getValue());
}
控制台输出结果如下:
username--->hzh
password--->123
JSESSIONID--->33BEAF95C526E0DDCF6A64990E533845
注意:
1.服务器可以向客户端写内容, 只能是文本内容
2.客户端可以阻止服务器写入,禁用cookies
3.只能读取自己webapp写入的东西
Cookie[] cookies = request.getCookies();
for(Cookie c :cookies ){
System.out.println(c.getName()+"--->"+c.getValue());
}
控制台输出结果如下:
username--->hzh
password--->123
JSESSIONID--->33BEAF95C526E0DDCF6A64990E533845
注意:
1.服务器可以向客户端写内容, 只能是文本内容
2.客户端可以阻止服务器写入,禁用cookies
3.只能读取自己webapp写入的东西
应用:将重要信息保存到cookie中,下一次用户请求服务,可从cookies中取得想要的值。
如:if(custId == 0){
custId = Long.parseLong(String.valueOf(CookieUtils.getCookieValue(request, "custId", "0")));
}
custId = Long.parseLong(String.valueOf(CookieUtils.getCookieValue(request, "custId", "0")));
}
方法:
public static String getCookieValue(HttpServletRequest request, String cookieName, String defaultValue)
{
String str = defaultValue;
Cookie cookieList[] = request.getCookies();
if(cookieList != null && cookieName != null)
{
for(int i = 0; i < cookieList.length; i++)
try
{
if(!cookieList[i].getName().equals(cookieName))
continue;
str = URLDecoder.decode(cookieList[i].getValue(), STORAGE_ENCODING);
break;
}
catch(UnsupportedEncodingException uee)
{
uee.printStackTrace();
}
}
return str;
}
{
String str = defaultValue;
Cookie cookieList[] = request.getCookies();
if(cookieList != null && cookieName != null)
{
for(int i = 0; i < cookieList.length; i++)
try
{
if(!cookieList[i].getName().equals(cookieName))
continue;
str = URLDecoder.decode(cookieList[i].getValue(), STORAGE_ENCODING);
break;
}
catch(UnsupportedEncodingException uee)
{
uee.printStackTrace();
}
}
return str;
}
/**
* 设置cookie
*
* @param response
* @param name
* cookie名字
* @param value
* cookie值
* @param maxAge
* cookie生命周期 以秒为单位
*/
public void addCookie(HttpServletResponse response, String name,
String value, int maxAge) {
Cookie cookie = new Cookie(name, value);
cookie.setPath("/");
if (maxAge > 0)
cookie.setMaxAge(maxAge);
response.addCookie(cookie);
}
* 设置cookie
*
* @param response
* @param name
* cookie名字
* @param value
* cookie值
* @param maxAge
* cookie生命周期 以秒为单位
*/
public void addCookie(HttpServletResponse response, String name,
String value, int maxAge) {
Cookie cookie = new Cookie(name, value);
cookie.setPath("/");
if (maxAge > 0)
cookie.setMaxAge(maxAge);
response.addCookie(cookie);
}
0 0
- cookies的赋值与取值
- ExtJs的ComboBox赋值与取值
- jQuery radio的取值与赋值
- html标签的赋值与取值
- 类的属性取值与赋值
- span的赋值与取值
- php常量的赋值与取值
- jQuery radio的取值与赋值
- jQuery radio的取值与赋值
- 标签元素的取值与赋值
- datawindow赋值与取值
- jquery 取值与赋值
- jquery取值与赋值
- js前台创建cookies后台取该cookies的值
- JQuery select与radio的取值与赋值
- Asp.Net的GridView的赋值与取值
- VC中IP地址控件的赋值与取值
- JQuery TextArea的取值与赋值问题
- 全局异常捕获
- 解决多个XCode导致n个模拟器问题
- Android中OnScrollListener的详解
- hiho一下 连通性二·边的双连通分量
- Exynos4412 Android4.4 HDMI Porting Guid 第一篇
- cookies的赋值与取值
- 判断链表中是否有环存在
- Mysql编码引起的Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT)错误
- 使用libcurl库把域名转化IP
- 2012年5月SAT香港真题解析
- POJ 2269 Friends(模拟)
- Swift开发--Storyboard的使用教程
- 高斯消元法求解线性方程组
- Java设计模式之命令模式