900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > Java实现登录时cookie记住密码

Java实现登录时cookie记住密码

时间:2018-08-21 06:35:30

相关推荐

Java实现登录时cookie记住密码

前言

Java实现登录时cookie记住密码,下次登录不用重新输入密码,自动记住密码进行登录

编写代码

首先写一个页面登录表单,还有它对应的js

<%--Created by IntelliJ IDEA.User: wx_weiyiheDate: /8/30Time: 15:50To change this template use File | Settings | File Templates.--%><%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head><title>Title</title></head><body><form method="post" action="/cookie">用户名:<input type="text" name="username" id="username"><br>密码:<input type="password" name="password" id="password"><br><input type="checkbox" name="remember" id="remember" value="true">记住密码<br><input type="submit" value="登录"></form></body><script>var cookies=document.cookie.split(";");function getCK(mkey) {for(var i=0;i<cookies.length;i++){var kv=cookies[i].split("=");if(kv[0].trim()==mkey){return kv[1].trim();}}return "";}window.onload=function(){var remember=getCK("remember");var username=getCK("username");var password=getCK("password");if(remember=='true'){var userNameInput=document.getElementById("username");userNameInput.value=username;var rememberInput=document.getElementById("remember");rememberInput.checked='checked';var passwordInput=document.getElementById("password");passwordInput.value=password;}}</script></html>

java处理,用户名密码验证,判断是否勾选记住密码,并生成cookie,保存到客户端

@RequestMapping("/cookie")public void cookieTest(HttpServletRequest request, HttpServletResponse response) throws IOException {response.setHeader("content-type","text/html;charset=utf-8");String username=request.getParameter("username");String password=request.getParameter("password");String remember=request.getParameter("remember");//这里方便测试我把用户名密码写死了 用户名:sw 密码:123boolean success="sw".equals(username) && "123".equals(password);if(success){response.getWriter().write("登陆成功");}else{response.getWriter().write("登陆失败");}if("true".equals(remember) && success==true){Cookie ck1=new Cookie("remember", remember);ck1.setMaxAge(60*60);response.addCookie(ck1);Cookie ck2=new Cookie("username", username);ck1.setMaxAge(60*60);response.addCookie(ck2);Cookie ck3=new Cookie("password", password);ck1.setMaxAge(60*60);response.addCookie(ck3);}else{//清除cookieCookie[] cks=request.getCookies();if(cks !=null){for (Cookie c : cks) {c.setMaxAge(0);response.addCookie(c);}}}}

查看效果

退出去重新刷新页面,密码自动绑定

总结

把密码存入cookie是有盗号风险的,为了解决这个问题,推荐将密码加密,这样就能保证密码的安全了。欢迎大家一起研究

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。