实现思路:
1.输入用户名和密码,点击登录表单按钮,发出请求
2.跳转到对应的Servlet,获取用户名和密码值
3.判断复选框是否选中
如果选中,则将用户名、密码存放到Cookie中,持久化day5,再将Cookie响应浏览器端;
如果不选中,则将用户名、密码不存放到Cookie中
4.在浏览器端,获取两个Cookie,显示用户名、密码到指定的位置。
持久化后,再次登录请求,不需要重新输入用户名和密码,直接点击登录按钮即可;
没有持久化;再次登录请求,还需重新输入用户名和密码。
实现代码
新建UserServlet:
package com.codinglin.demo;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class UserServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String username = request.getParameter("username");
String pwd = request.getParameter("pwd");
String checkBoxV =request.getParameter("checkBoxN");
//默认复选框是选中的
if(checkBoxV !=null) {
Cookie CookieUserName =new Cookie("username",username);
Cookie CookiePwd = new Cookie("pwd",pwd);
//持久化五天
CookieUserName.setMaxAge(60*60*24*5);
CookiePwd.setMaxAge(60*60*24*5);
//将两个Cookie响应到浏览器端
response.addCookie(CookieUserName);
response.addCookie(CookiePwd);
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
新建loginTest.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<div align=center>
<h2>用户登录&Cookie应用</h2>
<form action="UserServlet" method="post">
<table >
<tr>
<td>用户名:</td>
<td><input type="text" name="username" value="${cookie.username.value}"/></td>
</tr>
<tr>
<td> 登 录</td>
<!-- type="text"方便测试 !正常是type="password" -->
<td><input type="text" name="pwd" value="${cookie.pwd.value}"/></td>
</tr>
<tr>
<td>记住密码(5day)</td>
<td><input type="checkBox" name="checkBoxN" value="checkBoxV" checked="checked"></td>
</tr>
<tr>
<td><input type="submit" value="登录"></td>
<td><input type="reset" value="重置"></td>
</tr>
</table>
</form>
</div>
</body>
</html>
第一次请求登录
点击登录后,实时监控
再次登录
自动记住用户名和密码,满足功能需求!
清除Cookie(如Google浏览器)
注意:Cookie与浏览器一 一对应,Cookie不能跨浏览器!
☝上述分享来源个人总结,如果分享对您有帮忙,希望您积极转载;如果您有不同的见解,希望您积极留言,让我们一起探讨,您的鼓励将是我前进道路上一份助力,非常感谢!我会不定时更新相关技术动态,同时我也会不断完善自己,提升技术,希望与君同成长同进步!
☞本人博客:https://coding0110lin.blog.csdn.net/ 欢迎转载,一起技术交流吧!