码迷,mamicode.com
首页 > 其他好文 > 详细

Cookie

时间:2015-03-13 16:47:39      阅读:100      评论:0      收藏:0      [点我收藏+]

标签:

javax.servlet.http.Cookie

public Cookie(String name, String value)
构造一个Cookie对象

getName()
获取名称

setValue(String name),getValue()
设置/获取cookie值

setMaxAge(int num),getMaxAge()
指定/获取cookie的有效期, 设置时以秒为单位,负数时不保存cookie,0时删除此cookie

setPath(String url),getPath()
指定/获取访问哪些资源时使用此cookie, 设置时一般以/开头,/代表web服务器,  /webappName/someResource

setDomain(String domain),getDomain()
指定/获取使用此cookie的域名(即DNS中注册过的),一般没什么用

请求,响应对Cookie的操作

//将Cookie加入响应流中,以回写给浏览器,如果cookie.setMaxAge(30*24*3600)
//则此cookie会被保存到本地,cookie有效期是30天
response.addCookie(Cookie cookie);
//取出所有cookie,结果为Cookie[]
request.getCookies();

通过Cookie显示用户上次访问时间

response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");

PrintWriter out = response.getWriter();
out.print("您上次的访问时间是:");

Cookie[] cookies = request.getCookies();
for (int i=0; cookies!=null && i<cookies.length; i++) {
    if (cookies[i].getName().equals("lastAccessTime")) {
        long value = Long.parseLong(cookies[i].getValue());
        Date date = new Date(value);
        out.print(date.toLocalString());
    }
}

Cookie cookie = new Cookie("lastAccessTime", System.getCurrentTimeMillis() + "");
cookie.setMaxAge(30 * 24 * 3600);//有效期30天
cookie.setPath("/webappName");//访问此web工程时才使用此cookie
response.addCookie(cookie);

浏览器一般只允许存放300个Cookie,每个站点最多存放20个,每个Cookie的大小限制为4KB

删除Cookie:
先创建一个同名的Cookie,再调用setMaxAge(0),
之后还要调用setPath(String path),指定的path必须和要删除的cookie的path一致,否则无法删除cookie



Cookie

标签:

原文地址:http://my.oschina.net/lhplj/blog/386722

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!