本文主要内容:
•1、什么是Cookie
•2、Cookie带来的好处
•3、Cookie的主要方法
一、什么是Cookie
cookie是一种WEB服务器通过浏览器在访问者的硬盘上存储信息的手段。Cookie的目的就是为用户带来方便,为网站带来增值。虽然有着许多误传,事实上Cookie并不会造成严重的安全威胁。Cookie永远不会以任何方式执行,因此也不会带来病毒或攻击你的系统。另外,由于浏览器一般只允许存放300个Cookie,每个站点最多存放20个Cookie,每个Cookie的大小限制为4KB,因此Cookie不会塞满你的硬盘。
例如,当我们第一次访问网站输入用户名密码时,可以选择让系统记住用户名密码,下次就不用重新输入了,这就是典型的Cookie的应用。
二、Cookie带来的好处:
cookies给网站和用户带来的好处非常多:
1. Cookie能使站点跟踪特定访问者的访问次数、最后访问时间等
2. Cookie能告诉在线广告商广告被点击的次数,从而可以更精确的投放广告
3. Cookie有效期限未到时,Cookie能使用户在不键入密码和用户名的情况下进入曾经浏览过的一些站点
4. Cookie能帮助站点统计用户个人资料以实现各种各样的个性化服务在JSP中,我们也可以使用Cookie,来编写一些功能强大的应用程序。
有些浏览器可以禁用Cookie,所以不能使用Cookie来完成核心的业务。
三、Cookie类的主要方法:
int getMaxAge() 返回Cookie过期之前的最大时间,以秒计算。
int setMaxAge() 设置Cookie过期时间,以秒计算。
String getName() 返回Cookie的名字
String getValue() 返回Cookie的值。
void setValue(String newValue) cookie创建后设置一个新的值。
注:名字和值是我们始终关心的两个部分。稍后会详细介绍getName/setName、getValue/setValue。
四、代码举例:
【实例】实现记住密码、自动登录的功能
新建JavaWeb工程Test06.
login.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> <% String username = ""; String password = ""; //获取当前站点的所有Cookie Cookie[] cookies = request.getCookies(); for (int i = 0; i < cookies.length; i++) {//对cookies中的数据进行遍历,找到用户名、密码的数据 if ("username".equals(cookies[i].getName())) { username = cookies[i].getValue(); } else if ("password".equals(cookies[i].getName())) { password = cookies[i].getValue(); } } %> </head> <body> <form action="login_handler.jsp" method="post"> username:<input type="text" name="name" value="<%=username%>" /><br/> password:<input type="password" name="pwd" value="<%=password%>" /><br/> <input type="checkbox" value="y" name="isLogin">自动登录<br/> <input type="submit" value="登录" /> </form> </body> </html>
13行代码:获取当前站点所有的Cookie。注:这个Cookie类是在接下来的login_handler.jsp文件中定义的。
26行的 value="<%=username%>",以及27行的value="<%=password%>",是在16行、18行获取到的值。
login_handler.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <% String name = request.getParameter("name"); String pwd = request.getParameter("pwd"); String flag = request.getParameter("isLogin"); if (!"admin".equals(name) && !"123".equals(pwd)) { response.sendRedirect("error.jsp"); } else { if ("y".equals(flag)) { //创建两个Cookie对象 Cookie nameCookie = new Cookie("username", name); //设置Cookie的有效期为3天 nameCookie.setMaxAge(60 * 60 * 24 * 3); Cookie pwdCookie = new Cookie("password", pwd); pwdCookie.setMaxAge(60 * 60 * 24 * 3); response.addCookie(nameCookie); response.addCookie(pwdCookie); } response.sendRedirect("success.jsp"); } %>
核心代码是11行至20行。
11行:如果用户勾选了“自动登录”,就把用户名和密码的信息放到Cookie中。
第15、17行代码是设置Cookie的存储时间。如果不设置Cookie的存储时间,则默认的存储时间为0,此时Cookie保存的数据是存放在内存中的,当浏览器关闭,则Cookie消失失效。
设置了存储时间后,此时设置Cookie的数据将保存在硬盘中,不同的浏览器存放的具体位置是不一样的。
谷歌浏览器查看cookie的位置:
“菜单-设置-显示高级设置-内容设置”:
单击上图中的“内容设置”,弹出如下界面:
单击上图的红框部分,弹出如下界面:
success.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body>success. </body> </html>
如果登陆成功,就调到这个页面。
error.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body>error. </body> </html>
运行程序,当输入正确的用户名密码进行登录,并勾选“记住密码”后,下次再回到登录界面,就是下面的这个样子:
以上所述是小编给大家介绍的JavaWeb 中Cookie实现记住密码的功能示例,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对小牛知识库网站的支持!
本文向大家介绍Android sharedPreferences实现记住密码功能,包括了Android sharedPreferences实现记住密码功能的使用技巧和注意事项,需要的朋友参考一下 实现记住密码功能,供大家参考,具体内容如下 编写界面交互代码: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
不少网站在登录界面会提供“记住密码”这样一个勾选项,方便用户省去输入账号密码,以实现网站的快速登录。 传统的“记住密码”功能主要有两种实现方式: cookie存储登录信息 浏览器自动填充登录信息 cookie存储登录信息 直接利用 cookie 存储用户的用户名和密码是非常不安全的,攻击者可以通过各种漏洞访问到 cookie 从而导致用户密码泄露(常见的安全漏洞)。 常用做法是,当用户登录成功时,
本文向大家介绍vue实现禁止浏览器记住密码功能的示例代码,包括了vue实现禁止浏览器记住密码功能的示例代码的使用技巧和注意事项,需要的朋友参考一下 查找资料 网上查到的一些方法: 使用 autocomplete="off"(现代浏览器许多都不支持) 使用 autocomplete="new-password" 在真正的账号密码框之前增加相同 name 的 input 框 使用 readonly 属
本文向大家介绍SpringBoot中使用Cookie实现记住登录的示例代码,包括了SpringBoot中使用Cookie实现记住登录的示例代码的使用技巧和注意事项,需要的朋友参考一下 最近在做项目,甲方提出每次登录都要输入密码,会很麻烦,要求实现一个记住登录状态的功能,于是便使用 Cookie 实现该功能 一、Cookie 简介 Cookie,一种储存在用户本地终端上的数据,有时也用其复数形式 C
本文向大家介绍Javascript实现登录记住用户名和密码功能,包括了Javascript实现登录记住用户名和密码功能的使用技巧和注意事项,需要的朋友参考一下 话不多说,请看代码: 以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持呐喊教程!
本文向大家介绍JavaWeb登陆功能实现代码,包括了JavaWeb登陆功能实现代码的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了JavaWeb登陆功能的方法,供大家参考,具体内容如下 首先我们要JavaWeb登陆的基本流程:JSP页面发送请求——>Servlet——>Servlet通过调用方法从数据库中得到数据并将结果返回页面。 我们先建立三个jsp页面,包括login.jsp(登