玩转cookie 用户登录时间判断
2017-07-14 09:44
232 查看
Cookie 是在 HTTP 协议下,服务器或脚本可以维护客户工作站上信息的一种方式。Cookie 是由 Web 服务器保存在用户浏览器(客户端)上的小文本文件,它可以包含有关用户的信息。无论何时用户链接到服务器,Web 站点都可以访问 Cookie 信息 。
如何创建cookie?Cookie coo = new Cookie("name", "jack" + n);
如果要往cookie中写中文信息(是value,不是key),那么得进行编码
Random r = new Random(); int n = r.nextInt(100); // 创建一个cookie // 如果要往cookie中写中文信息(是value,不是key),那么得进行编码 String vv = "湖南"; vv = URLEncoder.encode(vv, "utf-8");// 用utf-8编码 Cookie coo = new Cookie("name", vv + n);
setMaxAge
有效期:以秒为单位 —-1分钟之后无效,浏览器再次访问当前网站时不会在request中带过来
coo.setPath(“/”);
cookie是通过path来设置权限的—-当前路径和子路径中的servlet可以访问到该cookie
因为cookie是给客户端用的,所以”/”表示Tomcat根目录
用户登录时间判断
读取所有cookie,遍历,看是否存在一个叫”loginTime”的cookie,若存在则把信息读取出来显示(上次登录时间),否则输出第一次登录package cn.hncu.servlet; import java.io.IOException; import java.io.PrintWriter; import java.text.DateFormat; import java.text.SimpleDateFormat; 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 LoginServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=utf-8"); PrintWriter out = response.getWriter(); out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">"); out.println("<HTML>"); out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>"); out.println(" <BODY>"); // 读取所有cookie,遍历,看是否存在一个叫"loginTime"的cookie,若存在则把信息读取出来显示(上次登录时间),否则输出第一次登录 Cookie coo[] = request.getCookies(); boolean boo = false; if (coo != null) { for (Cookie c : coo) { if (c.getName().equals("loginTime")) { String strTime = c.getValue(); long lg = Long.parseLong(strTime); Date d = new Date(lg); DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:MM:SS"); boo = true; out.println(df.format(d)); } } } if (!boo) { out.println("您是第一次登录"); } // 不管原来是否已经登录,都要把当前的最新时间创建成一个cookie存到客户端 Cookie coo1 = new Cookie("loginTime", new Date().getTime() + ""); coo1.setPath(request.getContextPath()); coo1.setMaxAge(60 * 60 * 24 * 7); response.addCookie(coo1); out.println(" </BODY>"); out.println("</HTML>"); out.flush(); out.close(); } }
相关文章推荐
- asp.net判断用户是否登录(SetAuthCookie相关问题)
- 使用PHP制作 简易员工管理系统之八(使用COOKIE保存用户登陆id以及显示用户登录时间)
- destoon 的登录过程,如何使用cookie来判断用户是否登录
- 认识cookie 一般运用在判断用户是否登录和购物车
- java使用Cookie判断用户登录情况的方法
- java 使用cookie记录用户上一次访问的时间 记住 用户的 登录名
- 利用cookie显示上次用户登录时间
- 修改wordpress用户登录cookie过期时间
- Web---Cookie技术(显示用户上次登录的时间、显示用户最近浏览的若干个图片(按比例缩放))
- java使用Cookie判断用户登录情况
- Web---Cookie技术(显示用户上次登录的时间、显示用户最近浏览的若干个图片(按比例缩放))
- Cookie——项目实战:运用Cookie技术,显示用户上次登录的时间
- WordPress 修改的用户登录 Cookie(Auth Cookie) 过期时间并
- 利用Cookie保存用户登录信息,利用Filter来判断用户是否登录
- 在ASP.NET中怎么用SESSION判断用户是否登录?
- 在ASP.NET中怎么用SESSION判断用户是否登录? 以及Session登陆后丢失的解决办法
- 通过Cookie判断用户是否已经投过票
- 简单判断用户重复登录,记录一下
- [转] 登录失败:用户帐户限制。可能的原因包括不允许空密码,登录时间限制,或强制的策略限制。