最近让做一个自动登录的功能,于是google,学习了下他人的代码,感觉不是很难;但还是遇到了一些小挫折,很叫人蛋疼!也没法搞定了,只能发帖呼救了~
我所实现的自动登录功能也就三步:
①在登录方法的判断密码的if分支中,创建cookie如下:
Cookie cookie = new Cookie("usr", username); cookie.setMaxAge(24*60*60*15); response.addCookie(cookie); Cookie cookie = new Cookie("pw", pwEncrypt); cookie.setMaxAge(24*60*60*15); response.addCookie(cookie);
②在访问首页的方法中,搜索cookie如下:
String username = ""; String password = ""; Cookie[] cookies = request.getCookies(); if (cookies != null) { for (Cookie cookie : cookies) { if ("usr".equals(cookie.getName())) { username = cookie.getValue(); } if ("pw".equals(cookie.getName())) { password = cookie.getValue(); } if (!"".equals(username) && !"".equals(password)) { //将用户对象放入session中 } } }
③退出方法中,删除cookie如下:
Cookie[] cookies = request.getCookies(); if (cookies != null) { for (Cookie cookie : cookies) { if ("urs".equals(cookie.getName())) { cookie.setValue(""); cookie.setMaxAge(0); response.addCookie(cookie); } if ("pw".equals(cookie.getName())) { cookie.setValue(""); cookie.setMaxAge(0); response.addCookie(cookie); } } }
其中,①②步都木问题,问题就出在第③步,无论怎样都无法删除cookie(最后也只能在ie的Internet选项中删了)。点击“退出”按钮时,关闭浏览器,再打开,首页依然显示该用户为登录状态,很是纠结!!是代码问题,还是我浏览器设置问题?或者是其他什么原因?
繁花如伊
泛舟湖上清波郎朗
郎朗坤
江户川乱折腾
胡子哥哥
相关分类