保留上次访问网站的时间的几种方法

这里保留上次访问网站的时间的三种方法。即用cookiesessionservletContext。其实这三种方法的思路都是一样的。

思路如下:

把你访问网站的时间作为在上述三个对象的属性值,然后再把上述三个对象的属性值给读出来。而这个属性值就是你访问网站时的时间。

下面的代码是这样写的:把三种方法的存放属性值放在一个方法中分别:注明了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 }
原文地址:https://www.cnblogs.com/1540340840qls/p/6192752.html