【JSP开发】利用cookie返回上次登陆时间

来源:互联网 发布:网络金融最初发展阶段 编辑:程序博客网 时间:2024/05/22 08:20
实现一个页面,当用户登陆进去之后会显示上次用户登录的时间。

这个是主页,会显示用户上次登录的时间(原理是从cookie中提取)和记录这次用户访问
的时间并加入到cookie中。
CookieDemo1.java:package cn.edu.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;//带表网站首页public class CookieDemo1 extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {          response.setCharacterEncoding("utf-8");          response.setContentType("text/html;charset=utf-8");                    PrintWriter out=response.getWriter();          out.print("<a href='/day07/CookieDemo2'>清除上次访问时间</a><br/>");          out.print("您上次访问时间是:");                              //获得用户的时间cookie          Cookie cookies[]=request.getCookies();          //第一次访问的时候Cookie是空的,就不用getcookie了          for (int i = 0;cookies!=null && i < cookies.length; i++) {          if(cookies[i].getName().equals("lastAccessTime")){          long cookieValue=Long.parseLong(cookies[i].getValue());//得到用户的上次访问时间(Long函数转成毫秒值)          Date date=new Date(cookieValue);          out.print(date.toLocaleString());                    }}                    //给用户返回最新的访问时间          Cookie cookie=new Cookie("lastAccessTime",System.currentTimeMillis()+"");          cookie.setMaxAge(1*30*24*3600);          cookie.setPath("/day07");                   response.addCookie(cookie);}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {       doGet(request,response);} }

清除上次访问时间的Servlet
CookieDemo2.java:
package cn.edu.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;//给浏览器写一个MaxAge为0的Cookie(例如cookie名为name,就写一个叫name但是MaxAge为0的Cookie),就相当于删除相应的Cookiepublic class CookieDemo2 extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {         Cookie cookie=new Cookie("lastAccessTime",System.currentTimeMillis()+"");         cookie.setMaxAge(0);//意味着让浏览器直接删除Cookie         cookie.setPath("/day07");//删除cookie时,path必须与原cookie的path一样         response.addCookie(cookie);                  //response.sendRedirect("/day07/CookieDemo1");}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {        doGet(request,response);}}


转载请注明出处:http://blog.csdn.net/acmman
0 0
原创粉丝点击