会话Cookie应用场景#登录实现用户名与密码持久化操作,有效期5day!

实现思路:

  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>&emsp;</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/  欢迎转载,一起技术交流吧!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值