【精选】Cookie:使用Cookie实现记住用户的账号和密码

您所在的位置:网站首页 怎么cookie登录网站 【精选】Cookie:使用Cookie实现记住用户的账号和密码

【精选】Cookie:使用Cookie实现记住用户的账号和密码

#【精选】Cookie:使用Cookie实现记住用户的账号和密码| 来源: 网络整理| 查看: 265

目录:

练习一:java web(jsp)中使用cookie记住用户的账号和密码练习二:java web(jsp+servert)中使用cookie记住用户的账号和密码 进阶例题:java web中使用cookie记住用户的账号和密码练习三:jsp使用cookie实现自动登录(在首次登录之后,将登录信息保存到cookie,再次访问的时候,不将登录信息显示在登录栏中,即登录信息空,但是也可以点击提交,默认从Cookie中获取信息登录,而练习一、练习二是将登录信息显示在登录栏中,然后提交)练习四:js实现cookie记住用户的账号和密码(前后端分离实现Cookie,而不是使用jsp)练习五:jquery实现cookie记住用户的账号和密码(前后端分离实现Cookie,而不是使用jsp)练习六:html+jsp+servlet 使用cookie实现单点登录SSO,模拟腾讯网记住用户信息。 同域下的单点登录是巧用了Cookie顶域的特性。单点登录(SSO)看这一篇就够了域名、顶级域名、一级域名、二级域名。 域名级数是指一个域名由多少级组成,域名的各个级别被“.”分开,最右边的那个词称为顶级域名 一级域名:又称顶级域名,如.com、.net、.top、.org 二级域名:就是在一级域名前再加一级,如qq.com,二级域名以上级别的域名,统称为子域名,不在“注册域名”的范畴中。个人可以申请注册二级域名。 三级域名:如im.qq.com(qq)、qzone.qq.com(qq空间)、lol.qq.com(lol)、mail.qq.com(qq邮箱).... 练习一

首先是登录的页面,当用户首次输入账号和密码登录后,后台设置cookie的值,然后下次登录的时候就不用再次输入账号和密码了。

1.hello.jsp代码:登录页面,如果cookie中有值,则获取Cookie中的值填充到账号、密码所在的输入框。

Insert title here firstname: password:

2.index.jsp代码:点击登录后的跳转页面,将账号、密码保存到Cookie中。

Hello World Hello World!

3.第一次访问hello.jsp页面,里面是没有值的

4.输入值并点击提交

5.登录之后,现在cookie已经写入浏览器中。可以使用调试工具F12可以看到Cookie中保存的值。

6.重新启动浏览器,再次访问hello.jsp页面,可以看到已经不用再次输入账号和密码了。

练习二

原理和练习一相同,只是将Cookie实现部分放在在servlert中

1.hello.jsp相同

2.index.jsp如下

3.HelloCookie.java代码

package test; 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; public class HelloCookie extends HttpServlet{ public void service(HttpServletRequest request,HttpServletResponse response) throws IOException, ServletException { String firstname=request.getParameter("firstname"); String password=request.getParameter("password"); if(firstname!=null&&password!=null&&firstname!=""&&password!=""){ Cookie c1=new Cookie("first",firstname); Cookie c2=new Cookie("pass",password); c1.setMaxAge(60*60*24); c2.setMaxAge(60*60*24); c1.setPath("/"); c2.setPath("/"); response.addCookie(c1); response.addCookie(c2); System.out.println(firstname+"-"+password); //只有在服务端跳转,hello.jsp数据才能传递到index.jsp页面,注意request的生命周期 request.getRequestDispatcher("index.jsp").forward(request, response); }else{ response.sendRedirect("hello.jsp"); } } }

4.web.xml中添加如下代码

servlet1 test.HelloCookie servlet1 /aaa

5.运行效果:

6.输入账号密码登录后:

7.退出后重新登录:

练习三

和练习一结构目录相同,但是代码有所改变

hello.jsp

Insert title here firstname: password:

index.jsp

Hello World Hello World!

运行效果:在首次登录之后,再次访问hello.jsp页面,即使登录信息为空,也可使用上一次的登录信息登录成功。

练习四

当首次输入并选择记住密码后,重启浏览器再次访问后,在输入栏会自动显示上次登录的信息

Insert title here /**用户登录,其中需要判断是否选择记住密码**/ function checkCookie(){ //简单验证一下 var userName = document.getElementById("firstname").value; if(userName == ''){ alert("请输入用户名。"); return; } var userPass = document.getElementById("password").value; if(userPass == ''){ alert("请输入密码。"); return; } var objChk = document.getElementById("chkRememberPass"); if(objChk.checked){ //添加cookie setCookie("first",userName,7); setCookie("pass",userPass,7); alert("记住了你的密码登录。"); }else{ alert("不记密码登录。"); } } /**添加设置cookie**/ function setCookie(cname,cvalue,exdays){ var d = new Date(); d.setTime(d.getTime() + (exdays*24*60*60*1000)); var expires = "expires=" + d.toGMTString(); document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/"; } /**实现功能,保存用户的登录信息到cookie中。当登录页面被打开时,就查询cookie**/ window.onload = function(){ var userNameValue = getCookieValue("first"); var userPassValue = getCookieValue("pass"); //可在console中看到输出的userNameValue+"-"+userPassValue console.log(userNameValue+"-"+userPassValue); document.getElementById("firstname").value = userNameValue; document.getElementById("password").value = userPassValue; } /**获取每个输入的值**/ function getCookieValue(cname) { var name = cname + "="; var decodedCookie = decodeURIComponent(document.cookie); var ca = decodedCookie.split(';'); for(var i = 0; i 密码: 是否记住密码

js cookie详解:JavaScript Cookies

练习五

项目目录结构

HelloCookie.java

package test; 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; public class HelloCookie extends HttpServlet{ public void service(HttpServletRequest request,HttpServletResponse response) throws IOException, ServletException { String firstname=request.getParameter("firstname"); String password=request.getParameter("password"); if(firstname!=null&&password!=null&&firstname!=""&&password!=""){ Cookie c1=new Cookie("first",firstname); Cookie c2=new Cookie("pass",password); c1.setMaxAge(60*60*24); c2.setMaxAge(60*60*24); c1.setPath("/"); c2.setPath("/"); response.addCookie(c1); response.addCookie(c2); System.out.println(firstname+"-"+password); //只有在服务端跳转,hello.jsp数据才能传递到index.jsp页面,注意request的生命周期 request.getRequestDispatcher("index.jsp").forward(request, response); }else{ response.sendRedirect("hello.jsp"); } } }

web.xml

servlet1 test.HelloCookie servlet1 /aaa

login.html

Insert title here $(document).ready(function(){ var firstname=$.cookie("first"); var password=$.cookie("pass"); $("#firstname").val(firstname); $("#password").val(password); }); firstname:


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3