Java实现登录时cookie记住密码

素颜马尾好姑娘i 2023-10-03 00:52 34阅读 0赞

前言

Java实现登录时cookie记住密码,下次登录不用重新输入密码,自动记住密码进行登录

编写代码

首先写一个页面登录表单,还有它对应的js

  1. <%--
  2. Created by IntelliJ IDEA.
  3. User: wx_weiyihe
  4. Date: 2021/8/30
  5. Time: 15:50
  6. To change this template use File | Settings | File Templates.
  7. --%>
  8. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
  9. <html>
  10. <head>
  11. <title>Title</title>
  12. </head>
  13. <body>
  14. <form method="post" action="/cookie">
  15. 用户名:<input type="text" name="username" id="username"><br>
  16. 密码:<input type="password" name="password" id="password"><br>
  17. <input type="checkbox" name="remember" id="remember" value="true">记住密码<br>
  18. <input type="submit" value="登录">
  19. </form>
  20. </body>
  21. <script>
  22. var cookies=document.cookie.split(";");
  23. function getCK(mkey) {
  24. for(var i=0;i<cookies.length;i++){
  25. var kv=cookies[i].split("=");
  26. if(kv[0].trim()==mkey){
  27. return kv[1].trim();
  28. }
  29. }
  30. return "";
  31. }
  32. window.onload=function(){
  33. var remember=getCK("remember");
  34. var username=getCK("username");
  35. var password=getCK("password");
  36. if(remember=='true'){
  37. var userNameInput=document.getElementById("username");
  38. userNameInput.value=username;
  39. var rememberInput=document.getElementById("remember");
  40. rememberInput.checked='checked';
  41. var passwordInput=document.getElementById("password");
  42. passwordInput.value=password;
  43. }
  44. }
  45. </script>
  46. </html>

java处理,用户名密码验证,判断是否勾选记住密码,并生成cookie,保存到客户端

  1. @RequestMapping("/cookie")
  2. public void cookieTest(HttpServletRequest request, HttpServletResponse response) throws IOException {
  3. response.setHeader("content-type","text/html;charset=utf-8");
  4. String username=request.getParameter("username");
  5. String password=request.getParameter("password");
  6. String remember=request.getParameter("remember");
  7. //这里方便测试我把用户名密码写死了 用户名:sw 密码:123
  8. boolean success="sw".equals(username) && "123".equals(password);
  9. if(success){
  10. response.getWriter().write("登陆成功");
  11. }else{
  12. response.getWriter().write("登陆失败");
  13. }
  14. if("true".equals(remember) && success==true){
  15. Cookie ck1=new Cookie("remember", remember);
  16. ck1.setMaxAge(60*60);
  17. response.addCookie(ck1);
  18. Cookie ck2=new Cookie("username", username);
  19. ck1.setMaxAge(60*60);
  20. response.addCookie(ck2);
  21. Cookie ck3=new Cookie("password", password);
  22. ck1.setMaxAge(60*60);
  23. response.addCookie(ck3);
  24. }else{
  25. //清除cookie
  26. Cookie[] cks=request.getCookies();
  27. if(cks !=null){
  28. for (Cookie c : cks) {
  29. c.setMaxAge(0);
  30. response.addCookie(c);
  31. }
  32. }
  33. }
  34. }

查看效果

在这里插入图片描述
在这里插入图片描述

退出去重新刷新页面,密码自动绑定

在这里插入图片描述

总结

把密码存入cookie是有盗号风险的,为了解决这个问题,推荐将密码加密,这样就能保证密码的安全了。欢迎大家一起研究

发表评论

表情:
评论列表 (有 0 条评论,34人围观)

还没有评论,来说两句吧...

相关阅读

    相关 js如何实现登录记住密码

    常见的很多网站登录,都有记住密码功能,下面是用js实现的记住密码功能(代码用的源生js,不用引入任何插件,大家如果引入了jQuery,可以进行修改,优化) js部分