保留上次访问网站的时间的几种方法
Posted 技术让世界更精彩
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了保留上次访问网站的时间的几种方法相关的知识,希望对你有一定的参考价值。
这里保留上次访问网站的时间的三种方法。即用cookie\session\servletContext。其实这三种方法的思路都是一样的。
思路如下:
把你访问网站的时间作为在上述三个对象的属性值,然后再把上述三个对象的属性值给读出来。而这个属性值就是你访问网站时的时间。
下面的代码是这样写的:把三种方法的存放属性值放在一个方法中分别:注明了cookie方法、session方法、servletContext方法。而读取属性值用同样的方式放在了同一个类中。
//存放属性(即存放时间的代码如下)
1 package com.qls.test; 2 3 import java.io.IOException; 4 import java.io.PrintWriter; 5 import java.text.SimpleDateFormat; 6 import java.util.Date; 7 8 import javax.servlet.ServletContext; 9 import javax.servlet.ServletException; 10 import javax.servlet.http.Cookie; 11 import javax.servlet.http.HttpServlet; 12 import javax.servlet.http.HttpServletRequest; 13 import javax.servlet.http.HttpServletResponse; 14 import javax.servlet.http.HttpSession; 15 16 public class Test2 extends HttpServlet { 17 18 19 public void doGet(HttpServletRequest request, HttpServletResponse response) 20 throws ServletException, IOException { 21 22 response.setContentType("text/html;charset=utf-8"); 23 PrintWriter out = response.getWriter(); 24 /** 25 * Cookie方法 26 */ 27 //创建Cookie 28 Date date=new Date(); 29 SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss "); 30 String format = simpleDateFormat.format(date); 31 //创建Cookie,把format这个时间的字符串放入cookie中。 32 Cookie cookie=new Cookie("time", format); 33 //设置cookie的生命周期 34 cookie.setMaxAge(3600);//1h 35 //回写 36 response.addCookie(cookie); 37 request.setAttribute("time", format); 38 out.println(request.getAttribute("time"));//检测你所放入的时间。 39 /**session方法 40 * 创建session,并给session属性赋值。 41 */ 42 /* HttpSession session = request.getSession(); 43 session.setAttribute("time", format);*/ 44 /**servletContext方法 45 * 用ServletContext 46 */ 47 /* ServletContext servletContext = this.getServletContext(); 48 49 servletContext.setAttribute("time", format);*/ 50 51 out.println("<a href=‘/mycart/Test‘>看看你上次访问的时间是</a>"); 52 } 53 54 55 public void doPost(HttpServletRequest request, HttpServletResponse response) 56 throws ServletException, IOException { 57 58 response.setContentType("text/html;charset=utf-8"); 59 PrintWriter out = response.getWriter(); 60 this.doGet(request, response); 61 } 62 63 }
//读取时间的代码如下:
1 package com.qls.test; 2 3 import java.io.IOException; 4 import java.io.PrintWriter; 5 import java.util.Enumeration; 6 7 import javax.servlet.ServletException; 8 import javax.servlet.http.Cookie; 9 import javax.servlet.http.HttpServlet; 10 import javax.servlet.http.HttpServletRequest; 11 import javax.servlet.http.HttpServletResponse; 12 13 public class Test extends HttpServlet { 14 15 16 public void doGet(HttpServletRequest request, HttpServletResponse response) 17 throws ServletException, IOException { 18 19 response.setContentType("text/html;charset=utf-8"); 20 PrintWriter out = response.getWriter(); 21 22 /**cookie方法 23 * 得到cookie的属性值 24 */ 25 if(request.getCookies()!=null){ 26 for(Cookie cookie:request.getCookies()){ 27 if(cookie.getName().equals("time")){ 28 String value = cookie.getValue(); 29 out.println("你上次访问的时间是:"+value); 30 } 31 } 32 } 33 34 /**session方法 35 * 获得session的属性值 36 */ 37 /*Object value = request.getSession().getAttribute("time");*/ 38 /* 39 * servletContext方法 40 */ 41 /* Object value = this.getServletContext().getAttribute("time");*/ 42 // out.println("你上次访问的时间是:"+value); 43 } 44 45 46 public void doPost(HttpServletRequest request, HttpServletResponse response) 47 throws ServletException, IOException { 48 49 response.setContentType("text/html;charset=utf-8"); 50 PrintWriter out = response.getWriter(); 51 this.doGet(request, response); 52 } 53 54 }
以上是关于保留上次访问网站的时间的几种方法的主要内容,如果未能解决你的问题,请参考以下文章
清理浏览器网站缓存的几种方法(meta,form表单,ajax)