Java七天免登陆,利用Cookie和拦截器制作

七天免登陆,利用Cooies中的凭证和拦截器制作

  1. 前端页面(jsp)

<form action="${ pageContext.request.contextPath}/login" method="post">

<input type="text" name="loginName"  placeholder="请输入登陆名">

<input type="password" name="loginPwd"  placeholder="请输入登陆密码">

<input type="checkbox" name="remember"  value="1"/>一周免登陆

<button type="submit">登陆</button>

</form>

  1. 后端控制器(Controller)

 

//remember :是否有勾选免登陆

@RequestMapping(value = "/login", method = RequestMethod.POST)
    public String loginDo(Member m, HttpServletRequest request,HttpServletResponse response,Integer remember) {
           if(remember == null){

//没有勾选免登陆,清除cookie中的凭证
               Cookie ck = new Cookie("remember_ticket","");
               ck.setMaxAge(0);   //一周的过期时间
               ck.setPath(request.getContextPath());
               response.addCookie(ck);
           }
           Member member = service.login(m.getLoginName(), m.getLoginPwd());
           //写点凭证给客户,让他下次自动登录
           if(remember != null){

//勾选免登陆,在cookie中添加凭证
               String uuid = UUID.randomUUID().toString();
               Cookie cookie = new Cookie("remember_ticket",uuid);
               cookie.setMaxAge(7*24*60*60);    //一周的过期时间
               cookie.setPath(request.getContextPath());//cookie在该路径下的网页起作用

      //添加cookie意图,添加到响应头,真正回到浏览器的时候才会被添加到浏览器的cookie
               response.addCookie(cookie);
               //将uuid写入数据库
               member.setUuid(uuid);
               member.setUuidCreateTime(new Date());
               service.edit(member

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值