Java实现登录时cookie记住密码
Posted 蜜桃婷婷酱
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java实现登录时cookie记住密码相关的知识,希望对你有一定的参考价值。
Java实现登录时cookie记住密码,下次登录不用重新输入密码,自动记住密码进行登录
首先写一个页面登录表单,还有它对应的js
<%--
Created by IntelliJ IDEA.
User: wx_weiyihe
Date: 2021/8/30
Time: 15:50
To 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 密码:123
boolean 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{
//清除cookie
Cookie[] cks=request.getCookies();
if(cks !=null){
for (Cookie c : cks) {
c.setMaxAge(0);
response.addCookie(c);
}
}
}
}
查看效果
退出去重新刷新页面,密码自动绑定
把密码存入cookie是有盗号风险的,为了解决这个问题,推荐将密码用md5加密,这样就能保证密码的安全了。欢迎大家一起研究
原创:
https://blog.csdn.net/qq_36787030/article/details/82011463?spm=1001.2014.3001.5501
以上是关于Java实现登录时cookie记住密码的主要内容,如果未能解决你的问题,请参考以下文章