Cookie实现记住密码代码
jsp页面
<%--
Created by IntelliJ IDEA.
User: 60590
Date: 2019/11/28
Time: 14:10
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
<base href=<%= request.getContextPath()%>/>
</head>
<body>
<% String value="";
String value1="";
String check="";
//读取Cookie的内容
Cookie[] cookies = request.getCookies();
if (cookies!=null){
for (int i = 0; i <cookies.length ; i++) {
if ("uname".equals(cookies[i].getName())){
value = cookies[i].getValue();
//只要进入了if,说明记录了账号和密码
check="checked";
}
if ("pwd".equals(cookies[i].getName())){
value1 = cookies[i].getValue();
}
}
}
%>
<form action="login" method="get">
<p>用户名:<input type="text" name="uname" value="<%=value%>"></p>
<p>密码:<input type="password" name="pwd" value="<%=value1%>"></p>
<%
Object msg = request.getAttribute("msg");
%>
<p style="color: red"><%=msg==null?"":msg%></p>
<p><input type="checkbox" name="ck" value="yes" <%=check%>>记住密码</p>
<p><input type="submit" value="登陆"></p>
</form>
</body>
</html>
servlet代码package com.bjsxt.servlet;
package com.bjsxt.servlet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* @program: JavaEE
* @description
* @author: wuhao
* @create: 2019-11-28 14:15
**/
@WebServlet("/login")
public class LoginServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//设置编码
req.setCharacterEncoding("utf-8");
resp.setContentType("text/html;charset=UTF-8");
//获取请求数据
String uname = req.getParameter("uname");
String pwd = req.getParameter("pwd");
String ck = req.getParameter("ck");
//处理请求(理应掉业务逻辑层)
boolean flag = false;
if ("张三".equals(uname) && "123".equals(pwd)) {
flag = true;
}
if (flag) {
// 判断是否记住密码
if ("yes".equals(ck)) {
//记录账号密码
Cookie cookie = new Cookie("uname", uname);
Cookie cookie1 = new Cookie("pwd", pwd);
//设置时间
cookie.setMaxAge(3600 * 24 * 3);
cookie1.setMaxAge(3600 * 24 * 3);
//设置路径
cookie.setPath("/day14/login.jsp");
cookie1.setPath("/day14/login.jsp");
//放入响应头中
resp.addCookie(cookie);
resp.addCookie(cookie1);
}
req.getRequestDispatcher("success.jsp").forward(req, resp);
} else {
// resp.sendRedirect("login.jsp");
req.setAttribute("msg", "账号或密码不正确");
req.getRequestDispatcher("login.jsp").forward(req,resp );
}
}
}

浙公网安备 33010602011771号