前言
在web开发中,服务器跟踪用户信息的技术称为会话技术
5.1 Cookie对象
利用cookie显示用户上次访问时间
在doGet方法中写入
//指定服务器输出内容的编码方式,防止乱码
response.setContentType("text/html;charset=utf-8");
String lastAccessTime = null;
//获取所有cookie,并将这些cookie存放于数组中
Cookie[] cookies = request.getCookies();
//遍历cookie数组
for(int i=0; cookies != null && i<cookies.length; i++) {
if("lastAccess".equals(cookies[i].getName())) {
//如果cookie的名称为lastAccess,则获取该cookie的值
lastAccessTime = cookies[i].getValue();
break;
}
}
//判断是否存在名称为lastAccess的cookie
if(lastAccessTime == null) {
response.getWriter().print("您首次访问本站!!");
}else {
response.getWriter().print("您上次访问时间为:" + lastAccessTime);
}
//创建cookie,将时间作为cookie的值发送给客户端
String currentTime = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date());
Cookie cookie = new Cookie("lastAccess", currentTime);
//发送cookie
response.addCookie(cookie);
启动Tomcat,用浏览器访问,第一次加载显示为:
刷新页面,此时显示内容变为:
此后继续刷新,时间会不断更新,但是退出浏览器,并重新进入,发现显示为第一张图片的内容。
这就说明,之前存放于浏览器的cookie信息被删除了,我们可以使用setMaxAge方法设置cookie保存的时间
cookie.setMaxAge(60*60);
于是,有效时间就成了一小时。