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";      }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值