Cookie应用:显示上次访问页面时间
2017-05-28 11:29
811 查看
Q题目
要求:显示上次访问页面时间,并添加清除Cookie功能
如下图:
清除Cookie
A 代码
实现Cookie显示上次访问时间package com.tcb.cookie; import java.io.IOException; import java.io.PrintWriter; import java.util.Date; import javax.servlet.ServletException; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** *说明: *1.该方式将时间直接以long类型存进Cookie *2.从Cookie中取出值后,需要先做日期格式化,才能展示 * *优点:避免某些电脑浏览器因为Cookie值存储长短限制不能显示上次访问时间 * *比如:“2017-05-04 20:33:22”,日期转为该格式后,不能存进Cookie中,因为Cookie长度限制 * 但直接以--时间戳(long类型)--的方式,可以直接存进Cookie */ public class CookieServlet01 extends HttpServlet { private static final long serialVersionUID = 1L; public CookieServlet01() { super(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //编码格式 response.setContentType("text/html;charset=utf-8"); PrintWriter writer=response.getWriter(); writer.write("上次访问时间:"); Cookie[] cookies=request.getCookies(); if(cookies!=null){ //遍历cookies,取出lastAccessTime这个cookie for (int i = 0; i < cookies.length; i++) { Cookie c=cookies[i]; if("lastAccessTime".equals(c.getName())){ //取值上次访问时间,并显示出来 String time=c.getValue(); time=new Date(Long.parseLong(time)).toLocaleString(); writer.write(String.valueOf(time)); } } } writer.write("<a href="+request.getContextPath()+"/ClearCookieServlet>清除Cookie</a>"); //获取当前时间,并存储到Cookie中 Long currentTime=System.currentTimeMillis(); Cookie cookie=new Cookie("lastAccessTime", currentTime.toString()); f38c cookie.setMaxAge(5*60);//设置Cookie有效时间,5min内关闭再打开浏览器Cookie会一直存在 response.addCookie(cookie); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } }
清除Cookie
package com.tcb.cookie; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * 说明: * 清楚Cookie */ public class ClearCookieServlet extends HttpServlet { private static final long serialVersionUID = 1L; public ClearCookieServlet() { super(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //清除cookie //清除cookie时,完全没必要先将cookie遍历出来,再去清除cookie,尽管下面的方法可以实现清除cookie //我们可以根据cookie的特性,名字相同的cookie,后面设置的值会覆盖前面的值 /*Cookie[] cookies=request.getCookies(); if(cookies!=null){ for (Cookie cookie : cookies) { if("lastAccessTime".equals(cookie.getName())){ cookie.setMaxAge(0); response.addCookie(cookie); } } }*/ //便捷做法 Cookie cookie=new Cookie("lastAccessTime", ""); cookie.setMaxAge(0); response.addCookie(cookie); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
相关文章推荐
- 利用Cookie保存数据,在浏览器页面显示用户上次访问时间
- [置顶] 【Javaweb】Cookie应用——显示用户上次访问网站的时间
- Cookie的应用—显示用户上次访问时间
- cookie--显示用户上次访问时间
- cookie的介绍,实现显示用户上次访问时间
- javaWeb 使用cookie显示上次访问网站时间
- cookie案例-显示用户上次访问网站的时间
- cookie应用之显示当前时间,上次时间
- JavaScript Cookie显示用户上次访问的时间和次数
- Servlet—Cookie(显示用户上次访问时间、显示商品浏览历史)
- 02-cookie案例-显示用户上次访问网站的时间
- 深入体验JavaWeb开发内幕——由创建Cookie到通过Cookie获取用户上次访问某站点时间的简单应用
- cookie-显示用户上次访问网站的时间和清除
- cookie的简单应用--记录上次访问时间
- Cookie案例:显示上次访问的时间
- cookie显示上次访问时间
- cookie显示上次访问时间,显示历史记录(下)
- javaWeb-02-cookie案例-显示用户上次访问网站的时间
- 利用Cookie显示用户上次访问网站的时间
- Cookie实例:显示用户上次访问的时间