简单实现网页登录框中的“记住我”

登录框中通常有一个“记住我”按钮,它是用来记住当前用户输入的用户名和密码,下次用户再次登录的时候就不用重新输入直接点击登录,简单的实现使用Cookie就可以了。

Cookie机制

Cookie是浏览器(User Agent)访问一些网站后,这些网站存放在客户端的一组数据,用于使网站等跟踪用户,实现用户自定义功能。需要注意的一点是Cookie中不能存入中文,需要进行编码才能存入。

在ssm框架中Controller层可以这样实现记住我的功能

@RequestMapping("/login")
@ResponseBody
public AjaxResult login(User user, boolean remember, HttpSession session,HttpServletRequest req, HttpServletResponse resp){try {User user1 = userService.findUser(user);//把登录数据存入session中session.setAttribute(Constant.USER_IN_SESSION,user1);//判断复选框是否勾上if (remember){Cookie cookie = new Cookie("username", user1.getUsername());Cookie cookie2 = new Cookie("password", user1.getPassword());//设置有效路径cookie.setPath("/");cookie2.setPath("/");//设置有效时长(7天)cookie.setMaxAge(604800);cookie2.setMaxAge(604800);//将cookie回写到浏览器中resp.addCookie(cookie);resp.addCookie(cookie2);}else {Cookie[] cookies = req.getCookies();for (Cookie cookie : cookies) {if ("username".equals(cookie.getName()) || "password".equals(cookie.getName())){cookie.setPath("/");cookie.setMaxAge(0);resp.addCookie(cookie);}}}return new AjaxResult();}catch (Exception e){return new AjaxResult(false, e.getMessage());}}

返回值可以集合成一个实体类

public class AjaxResult {private Boolean success = true;private String error;public AjaxResult() {}public AjaxResult(Boolean success, String error) {this.success = success;this.error = error;}public Boolean getSuccess() {return success;}public void setSuccess(Boolean success) {this.success = success;}public String getError() {return error;}public void setError(String error) {this.error = error;}
}

User类

public class User {private Long id;private String username;private String password;private String nickName;public User() {}public User(Long id, String username, String password, String nickName) {this.id = id;this.username = username;this.password = password;this.nickName = nickName;}public Long getId() {return id;}public void setId(Long id) {this.id = id;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public String getNickName() {return nickName;}public void setNickName(String nickName) {this.nickName = nickName;}
}

简单实现网页登录框中的“记住我”相关推荐

  1. html写登录框中的字,一个登录界面的PS设计和HTML/CSS实现

    这样的登录界面可用在网站.桌面软件.Web软件等上面,你可以根据自己的需求改变界面配色.好的,先看看界面最终设计的效果: 1.创建登录界面的背景 在Photoshop中,选择"圆角矩形工具& ...

  2. 实现掘金登录框中熊猫状态的改变案例

    今天登录掘金的时候,发现输入手机号和密码的时候,上面的小熊是会有不会形态的.于是登录上掘金的第一件事情就是把这个小案例写了下.我是用的最简单的方法来写的.有更加简洁的方法可以在下面评论出来,大家一起进 ...

  3. 基于 Bootstrp 构建简洁的登录框并实现记住我功能

    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8" ...

  4. 简单jQuery实现选项框中列表项的选择

    这段代码非常的简单,仅仅作为自己的一个小小的记录! ok,先上一个简单的图例,效果如下(注意:这只是一个简单的例子,不过可以根据这个简单的例子,变化出更为复杂的效果)! 代码也非常的简单,如下所示(注 ...

  5. 简单的网页登录注册页面

    在开发前端的时候我们会使用到网页的登陆注册,加入验证码的效果,代码如下: 其运行结果如下:

  6. 一道简单的CTF登录题题解

    一.解题感受 这道题50分,在实验吧练习场算比较高分,而且通过率只有14%,比较低的水平. 看到这两个数据,一开始就心生惬意,实在不应该呀! 也是因为心态原因,在发现test.php之后,自以为在SQ ...

  7. Vue前端项目-登录组件-登录框界面

    目录 1.登录框组件设计 1.1 表单元素组件注册 1.2 登录组件的结构和样式 2.Icon 图标 2.1 拷贝 font 文件夹到 asserts 目录 2.2 引入 font 的 css 样式 ...

  8. php 清除浏览器记住密码,网页登录中实现记住用户名和密码的功能(完成自动登录)...

    网页记住用户名,就是我们经常会用到的,登录下面有一个复选框,可以设置用户7天内或1个月不需要登录,只要你进行本网站系统查询cookie是否有相差用户名与密码如果是就把信息提取再到数据库中查询,如果co ...

  9. java实现简单扫码登录功能(模仿微信网页版扫码)

    java实现简单扫码登录功能 模仿微信pc网页版扫码登录 使用js代码生成qrcode二维码减轻服务器压力 js循环请求服务端,判断是否qrcode被扫 二维码超时失效功能 二维码被扫成功登录,服务端 ...

  10. 登录功能中发送邮箱验证的简单使用

    登录功能中发送邮箱验证的简单使用 java开发中常用的邮箱相关的就是给邮箱发送验证码,发送验证码在java中使用javamail,它提供了一套发送和接收功能的标准,支持协议:smtp,pop3,ima ...

最新文章

  1. js String方法集合
  2. 阿里RocketMQ是怎样孵化成Apache顶级项目的?
  3. java reference 传引用_Java的引用(reference)---Roni
  4. Qt文档阅读笔记-Image QML官方解析与实例
  5. VC打包程序,并修改注册表(详细以后补充)
  6. 使用caffemodel模型(由mnist训练)测试单张手写数字样本
  7. Android事件分发浅析
  8. azure 安全组_用户安全和Azure成本风险
  9. 谈谈数值分析中的插值(截断)误差,以牛顿法为例
  10. typora 公式_Typora 编辑器的Vue主题类介绍
  11. 重磅丨继人工智能大会后《AIOS链上人工智能白皮书》正式发布,核心应用即将开启
  12. RuoYi-Vue前后端分离
  13. 人人都是架构师?哪有那么容易
  14. c语言编译bss和data,深入理解BSS段与data段的区别
  15. 解决uniapp从首页列表进入详情页,再返回首页时滚动条在顶部的问题
  16. 手把手教你快应用接入微信H5网页支付
  17. 上传声音 微信小程序_微信小程序之----audio音频播放
  18. java枚举类型季节实例_Java之枚举类
  19. How to Pronounce PROBABLY
  20. 民间第一高手—牵牛队长 韭菜队长

热门文章

  1. ajax直接调用数据库数据库数据库,AJAX调用mysql数据库简单例子(示例代码)
  2. web开发视频教程,CSS颜色基本样式
  3. 自定义view————涂鸦画板
  4. neo4j构建算法_使用neo4j构建餐厅推荐引擎
  5. 自学linux驱动从入门到放弃(四)配置rk3288开发板与ubuntu18.04的IP地址
  6. 毛戈平上市以“光影美学”的理念打造适合中国人的高端化妆品品牌
  7. 链家网二手房信息爬取(一)
  8. 平面向量内积坐标公式推导_平面向量的所有公式-平面向量公式
  9. excel单元格斜线_Excel 表格中斜线怎么制作?
  10. 计算机变量与变量地址,数据缓冲区与变量的地址(更新1)