java Cookie实战教程之留下的痕迹
来源:互联网 发布:linux mysql命令 编辑:程序博客网 时间:2024/05/21 07:28
今晚我们来聊聊java技术,java的应用是非常广泛的,比如桌面程序,安卓apk程序,今天我们说说java web网站应用的一个非常有用且重要的技术:Cookie。Cookie的应用面很多,比如网站商品的浏览历史,记住用户名等等应用场景,我们今天讲解一个实际的案例:记录用户上次访问页面的时间。
下面我分享代码,并且会给代码加上我的讲解注释,帮助各位童鞋理解。
// 获取本地所有的cookie,得到一个cookie的数组
Cookie cookies[] = request.getCookies();
// 设置一个boolean变量,来标记是否找到我们需要的cookie
boolean b=false;
// for对象数组循环,循环的cookies数组,而每一次创建一个ck的cookie对象
for(Cookie ck:cookies){
if("lastVisit".equals(ck.getName())){
// 说明存在上次访问该页面的cookie
b=true;
// 读取cookie,利用getValue()方法
String time = ck.getValue();
out.println("上一次登录时间是:"+time);
// 利用SimpleDateFormat对象的format方法,格式化当前时间
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String nowTime = sdf.format(new java.util.Date());
// 更新Cookie中lastVisit的值,否则无法记录上次最新的访问时间
Cookie cookie = new Cookie("lastVisit",nowTime);
// 设置Cookie的生命周期,一般是一周
cookie.setMaxAge(7*24*3600);
// 利用http的response对象,将Cookie存储到本地
response.addCookie(cookie);
// 找到cookie就退出for循环
break;
}
// 说明是第一次访问该页面,Cookie中还没有lastVisit的值
if(!b){
out.println("您第一次访问该页面!");
// 格式化当前时间,并且把时间保存到cookie中
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String nowTime = sdf.format(new java.util.Date());
Cookie cookie=new Cookie("lastVisit",nowTime);
cookie.setMaxAge(7*24*3600);
response.addCookie(cookie);
}
好了,今晚的Cookie技术分享到此结束,大家有什么疑问,可以留言和我讨论,很开心与大家一起进步!
大家可以关注我的微信公众号:iwork,我会每天推送一篇原创文章,让大家都能有所收获!
- java Cookie实战教程之留下的痕迹
- 留下好的痕迹
- 总得留下点痕迹
- 2013.3.6留下痕迹
- 用注销脚本清除上网所留下的痕迹
- 让我的脚步在这里留下痕迹
- 留下一点儿痕迹……
- PHP Cookie实战教程
- Web攻防系列教程之 Cookie注入攻防实战
- Web攻防系列教程之 Cookie注入攻防实战
- 象往常一样 继续在网上留下自己飘过的痕迹
- 互联网的江湖:十年轮回,借江山一用,可曾留下痕迹
- 【读过的书,留下的迹】Java并发编程实战
- ASP.NET中Cookie的使用(实战教程)
- ASP.NET中Cookie的使用(实战教程)
- Android DIY之路 (三) 手绘 仅在限定区域留下痕迹 并再现这一过程
- 刚刚开通了博客,目的是记录我的每天所学,让自己的生活留下一些痕迹
- 对你来说,我只不过是一个过路人,从你的身边一闪而逝,没留下丝丝痕迹……
- 使用sp_configure启用 'Ad Hoc Distributed Queries'
- Maven settings 开源中国 镜像并下载本地仓库
- Hadoop卸载或增加节点
- Unity3d中四元数的使用
- 俺自己的网站上线啦,求围观
- java Cookie实战教程之留下的痕迹
- 是时候写篇博客了,关于linux和http
- ZOJ 1037 Gridland
- 我自己做的网站终于上线啦,求围观www.yustock.live
- 完全素数
- Java、Scala、Go以相同方式实现快速排序代码量比较
- 错误处理集锦
- Unity3d向web服务器发送数据
- OLE DB访问接口“MICROSOFT.JET.OLEDB.4.0”配置为在单线程单位模式下运行,所以该访问接口无法用于分布式