前端代码

<form id="form" action="xxx" method="post"><div><input type="text" name="account" id="account" placeholder="账号"><input type="text" name="pwd" id="pwd" placeholder="密码"></div><div><ul><li><label><input type="checkbox" name="checkbox" value="1" checked="checked" /><span></span></label>记住密码</li><li><label><input type="checkbox" name="checkbox" value="2" /><span></span></label>自动登录</li></ul></div>
</form>
<a href="javascript:login()">登 录</a><script type="text/javascript">function login() {$("#form").submit();}//加载页面后加载次函数$().ready(function() {// 记住密码功能var str = decodeURIComponent(document.cookie.split(';')); // 获取Cookie
        alert(str);// 以下是Cookie数据处理逻辑// 不同的项目存储的Cookie不同,处理数据的逻辑不同// 要根据具体的Cookie值来截取账号、密码if (str.indexOf("loginInfo")>-1) {var arr = str.split(",");var loginInfo = arr[1];var arr = loginInfo.split("+");var name = arr[0];name = name.substring(name.lastIndexOf("=", name.length - 1) + 1);var phone = arr[1];//自动填充用户名和密码$("#name").val(name);$("#phone").val(phone);}});
</script>

后端代码

 1 // 获取多选框(checkbox)的值
 2 String[] checkbox = request.getParameterValues("checkbox");
 3
 4 // 判断是否勾选功能
 5 if (checkbox != null) {// 已勾选功能
 6     for (String str : checkbox) {
 7         // 判断是否勾选记住密码功能
 8         if (str.equals("1")) {
 9             // 组合登录信息
10             String loginInfo = name + "+" + phone;
11             // 将登陆信息编码
12             loginInfo = URLEncoder.encode(loginInfo, "UTF-8");
13             // 创建Cookie
14             Cookie userCookie = new Cookie("loginInfo", loginInfo);
15             // 设置Cookie存活期限
16             userCookie.setMaxAge(30*24*60*60);//设置存活期一个月
17             // 设置所有路径下共享Cookie
18             userCookie.setPath("/");
19             // 添加Cookie到服务器响应中
20             response.addCookie(userCookie);
21         }
22         // 判断是否勾选自动登录功能
23         if (str.equals("2")) {
24             session.setAttribute("agent", agent);
25         }
26     }
27 } else {// 未勾选功能,或取消勾选功能,删除Cookie信息
28     String loginInfo = name + "+" + phone;
29     loginInfo = URLEncoder.encode(loginInfo, "UTF-8");
30     Cookie userCookie = new Cookie("loginInfo", loginInfo);
31     userCookie.setMaxAge(0);//删除cookie,只需要将失效时间设置为0即可,其他步骤一样
32     userCookie.setPath("/");
33     response.addCookie(userCookie);
34 }
35 // 在测试中可能会出现一些问题,清除掉Cookie重新添加,在测试。

转载于:https://www.cnblogs.com/chensheng0617/p/8458553.html

Cookie实现记住密码、自动登录相关推荐

  1. php 登录记住密码,php 记住密码自动登录

    做网站的时候会碰到记住密码,下次自动登录,一周内免登陆,一个月内免登陆这种需求.这种功能一般通过cookie来实现的.用户在登陆的时候,如果选择了记住密码或者一周内免登陆等这个选项的时候,则在用户成功 ...

  2. php自动永久登陆js,登录页面--记住密码--自动登录

    布局两个 checkbox ,一个记住密码,一个记住登录 自动登录 记住密码 2. 主要利用 jquery.cookie.js 在提交是触发 save() 函数 //记住用户名密码 function  ...

  3. 危险,不要随意让网站记住密码自动登陆!

    为了方便用户登录,几乎所有的网站都实现了"记住密码"."自动登陆"这样似乎人性化的功能. 我也很喜欢这个功能,因为我自己的脑子实在是讨厌记东西. 为了安全起见, ...

  4. java记住密码 cookie_Java Web网站怎么利用Cookie实现记住密码功能

    在做java web网站开发时,为了避免每次登录都需要输入用户名和密码,我们会使用Cookie技术来实现记住密码功能,在这里小编使用简单的项目案例来教大家具体的实现过程. 前期准备 1.下载好jque ...

  5. shell 密码输入不显示,Shell输出内容不显示密码,Shell实现有密码自动登录sshpass 应用实践...

    在很多实践项目中,我们经常会通过SSH来进行认证,如通过SSH拷贝文件,虽然我们可以使用公钥与私钥实现ssh 无密码登录,在不同的服务器上又需要配对相应的密钥,切换用户麻烦等问题,在一些需要交互但会涉 ...

  6. python 自动登录网站_python实现网站用户名密码自动登录功能

    一.概述 公司需要通过网页用户认证登录实现上网,网络设备判断当前帐号12小时没有没上网将会自动断开帐号上网,每天早上上班第一件事就是打开用户认证网页输入. 用户名与密码,有时候要家里通过teamvie ...

  7. win10远程桌面连接凭据怎么设置_win10系统设置让远程桌面连接记住密码下次登录不需再输入的步骤...

    有关win10系统设置让远程桌面连接记住密码下次登录不需再输入的操作方法想必大家有所耳闻.但是能够对win10系统设置让远程桌面连接记住密码下次登录不需再输入进行实际操作的人却不多.其实解决win10 ...

  8. 计算机跳过密码直接登录密码,小编传授win10免密码自动登录怎么设置 win10跳过密码直接登录电脑的操作教程...

    要是你在用系统的时候遇到了win10免密码自动登录怎么设置 win10跳过密码直接登录电脑的情况你会怎么办呢?有可能我们都会遇到win10免密码自动登录怎么设置 win10跳过密码直接登录电脑这样的情 ...

  9. Cookie实现记住密码及自动登录

    最近对华丹快速开发平台进行升级,需要对实现记住密码以及自动登录功能,下面主要说一下如何用cookie实现此功能. 一.什么是cookie? Cookie,有时也用其复数形式Cookies.是保存在客户 ...

最新文章

  1. 被小扎誉为整个科技界的愿景,元宇宙到底是什么?
  2. Web应用中的缓存一致性问题
  3. 抛弃windows用linux来工作吧
  4. c语言pop逆置单链表,C语言实现单链表
  5. 左神算法:单调栈结构(Java版)
  6. python如何打印26个字母_玩法#用Python学会打印26个英语字母,简单操作如下
  7. MySQL的常见存储引擎介绍与参数设置调优(转载)
  8. 学计算机编程200字感想,计算机学习心得体会
  9. AndroidStudio_Gradle介绍以及在androidstudio中的使用---Android原生开发工作笔记76
  10. 【零基础学Java】—初识Java(一)
  11. sql 整改措施 注入_防止SQL注入的五种方法
  12. sort()基本用法
  13. 服务器重装系统网站打不开怎么办,网页打不开,小编教你网页打不开怎么办
  14. Django【设计】可插拔的插件方式实现
  15. element的form表单中如何一行显示多el-form-item标签
  16. html实现在线展示pdf文件,在html页面中展示pdf文件,实现在线阅读
  17. 投影仪显示播放服务器连接异常,「投影仪维修」常见投影机故障如何解决?
  18. 使用Resnet网络对人脸图像分类识别出男女性别(包含数据集制作+训练+测试)
  19. 腾讯优图发布三款AI硬件,深化To B能力
  20. frm文件导入mysql_.frm文件怎么导入到数据库

热门文章

  1. 【Qt】Qt容器总结
  2. accp8.0html作业,Accp8.0HTML标签
  3. php判断数组是否存在字符串中,php判断数组元素中是否存在某个字符串的方法
  4. access“idno”字段改为文本型_结构化文本计算示例(一)
  5. java spring注解教程,spring注解
  6. 16 导出pcb各网络的布线长度_设计PCB流程
  7. 六年级小学python第四讲_python第四讲
  8. java nextline_Java编程语言基础的9根支柱
  9. 数据库和服务器什么协议,数据库服务器协议
  10. AttributeError: Cant get attribute SPPF on module models