標籤:har object ring writer str html text art doget
這裡保留上次訪問網站的時間的三種方法。即用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 //建立Cookie28 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);//1h35 //回寫 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 * 用ServletContext46 */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 }
保留上次訪問網站的時間的幾種方法