jsp实现自动登录的代码

html页面

  <input type="checkbox" name="remember"  />自动登录

在controller判断是否勾选了自动登录

  public String login() { 
          HttpServletRequest request = ServletActionContext.getRequest();
          HttpServletResponse response = ServletActionContext.getResponse();
          //勾选了自动登录
          if(remember!=null) {
               Cookie c1 = new Cookie("userName", uUser.getUserName());  
               Cookie c2 = new Cookie("password", uUser.getPassword());  
               c1.setMaxAge(60*60*24*30);  
               c2.setMaxAge(60*60*24*30);//这里设置保存这条Cookie的时间  
               response.addCookie(c1);//添加Cookie  
               response.addCookie(c2);  
          }else {//未勾选自动登录
              Cookie cookies[] = request.getCookies(); 
              for (Cookie cookie : cookies) {
                  if(cookie.getName().equals("userName")) {
                      System.out.println("清除");
                      cookie.setMaxAge(0);
                      response.addCookie(cookie);//清除了
                  }
                  if(cookie.getName().equals("password")) {
                      cookie.setMaxAge(0);
                      response.addCookie(cookie);//清除了
                  }
              }
          }
          
          UIUser uiUser = uiUserService.login(uUser);
          if(uiUser == null) {
              //登录失败
              request.setAttribute("msg", "账号或者密码出错,请重新登录");
              return "login_fail";
          }
          request.getSession().setAttribute("bean", uiUser);
          return "login_success";
      }

如果勾选,就保存到session中。

下次访问首页,先调用cookie中的信息

  public String toIndex() {
          HttpServletRequest request = ServletActionContext.getRequest();
          HttpServletResponse response = ServletActionContext.getResponse();
          Cookie cookies[] = request.getCookies(); 
          for (Cookie cookie : cookies) {
              if(cookie.getName().equals("userName")) {
                  uUser = new UIUser();//是成员变量。
                  System.out.println(cookie.getValue());
                  uUser.setUserName(cookie.getValue());
              }
              if(cookie.getName().equals("password")) {
                  uUser.setPassword(cookie.getValue());
              }
          }
          if(uUser != null) {
              System.out.println("我进行了自动登录");
              request.getSession().setAttribute("bean", uUser);
          }
          return "index";
      }

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SpringCloud1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值