读书人

web开发中的Cookie札记

发布时间: 2012-08-26 16:48:06 作者: rapoo

web开发中的Cookie笔记
http://www.hetaoblog.com/myblogs/post/web-cookie-notes.jhtml

最近越来越有种感觉,很多技术以前也写代码去用,当时看的时候也觉得已经有所了解了,但是时间长了再有需要,发现再要写,还是得花点时间去看细节,api等; 但是如果这事我在博客上写过一遍了,一般就记得比较清楚; 同时找出来再实现也非常快;
昨晚在实现hourlog的cookie功能就是这个情况,早上起来趁女儿没醒赶紧写一下cookie笔记;

1. Cookie基本概念
由服务端生成,发送给浏览器,浏览器会将cookie的内容保存在本地;同时,以后浏览器发送http请求的时候,如果符合一定的条件,就会将cookie的内容也包含在http请求中;
主要的条件是看域名,过期时间,路径;
cookie的目的是为了保存和客户相关的一些信息,使得服务端不用通过再次验证就可以确认当前请求具体属于哪个用户;
比如做记住登录功能,就可以写一个cookie然后不需要输入用户名和密码就可以登录;
当然,这里不是把密码写在客户端;
2. java中的cookie
J2EE里面的Cookie类主要的属性有domain,name, value,path,maxage; 其中domain就对应域名,path对应路径,maxage对应过期时间

3. 在程序中生成cookie

我给hourlog生成cookie的代码大意如下;
其中cookiestr使用当前用户名+当前时间+随机数的方式生成;
最后调用response.addCookie将这个cookie返回给浏览器,浏览器会将这个值保存;
同时,我将生成的这个cookiestr保存在用户表里面

if(null != request.getCookies()){for(Cookie c: request.getCookies()){if(Const.HETAOBLOG_COOKIE.equalsIgnoreCase(c.getName())){String cookie = c.getValue();UserDao userDao = new UserDao();sinaUser = userDao.getSinaUserWithCookie(cookie);}}}


读书人网 >Web前端

热点推荐