1. 程式人生 > >Cookies 記錄和儲存使用者上次訪問的時間

Cookies 記錄和儲存使用者上次訪問的時間

原理:

當我們第一次訪問時:

(1)第一次訪問時,獲取當前時間顯示到瀏覽器中,

(2)建立Cookie物件,時間作為Cookie的值,名為:lastTime

(3)把Cookie傳送到瀏覽器儲存

第n次訪問時:

(1)獲取Cookie的資料,取出上次儲存的Cookie,得到上次訪問的時間

(2)顯示上次的訪問時間到瀏覽器,更新lastTime的值,時間為當前的時間

(3)把更新後的Cookie傳送到瀏覽器儲存

 

 @RequestMapping("/getTime")
    @ResponseBody
    public ResponseView doget(HttpServletRequest request, HttpServletResponse response,HttpSession session)throws
IOException { logger.info("獲取登入時間。。。"); ResponseView vo = new ResponseView(); //獲取當前時間 SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); String curTime = format.format(new Date()); Users user = (Users)session.getAttribute("users");
//取得cookie Cookie[] cookies = request.getCookies(); String lastTime = null; if(cookies!=null){ for (Cookie cookie : cookies) { if(cookie.getName().equals("lastTime")){ //有lastTime的cookie,已經是第n次訪問 lastTime = cookie.getValue();//
上次訪問的時間 System.out.println(lastTime); //第n次訪問 //1.把上次顯示時間顯示到瀏覽器 vo.setData("歡迎你回來,"+user.getUserName()+",你上次訪問的時間為:"+lastTime+",當前時間為:"+curTime+""); //response.getWriter().write("歡迎回來,你上次訪問的時間為:"+lastTime+",當前時間為:"+curTime); //2.更新cookie cookie.setValue(curTime); cookie.setMaxAge(1*30*24*60*60); //3.把更新後的cookie傳送到瀏覽器 response.addCookie(cookie); break; } } } /** * 第一次訪問(沒有cookie 或 有cookie,但沒有名為lastTime的cookie) */ if(cookies==null || lastTime==null){ //1.顯示當前時間到瀏覽器 //response.getWriter().write("你是首次訪問本網站,當前時間為:"+curTime); vo.setData("你是首次訪問本網站,當前時間為:"+curTime); //2.建立Cookie物件 Cookie cookie = new Cookie("lastTime",curTime); //儲存一個月 cookie.setMaxAge(1*30*24*60*60); //3.把cookie傳送到瀏覽器儲存 response.addCookie(cookie); } return vo; }