完整的代码,用途请参见注释
CookieUtil.java
处理cookie的工具类,包括读取,保存,清除三个主要方法。
package cn.itcast.util;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import cn.itcast.bean.User;
import cn.itcast.dao.UserDAO;
import cn.itcast.factory.DaoImplFactory;
import com.sun.org.apache.xerces.internal.impl.dv.util.Base64;
public class CookieUtil {
//保存cookie时的cookieName
private final static String cookieDomainName = “cn.itcast”;
//加密cookie时的网站自定码
private final static String webKey = “itcast”;
//设置cookie有效期是两个星期,根据需要自定义
private final static long cookieMaxAge = 60 * 60 * 24 * 7 * 2;
public static void saveCookie(User user, HttpServletResponse response) {
//cookie的有效期
long validTime = System.currentTimeMillis() + (cookieMaxAge * 1000);
//MD5加密用户详细信息
String cookieValueWithMd5 =getMD5(user.getUserName() + ":" + user.getPassword()
+ ":" + validTime + ":" + webKey);
//将要被保存的完整的Cookie值
String cookieValue = user.getUserName() + ":" + validTime + ":" + cookieValueWithMd5;
//再一次对Cookie的值进行BASE64编码
String cookieValueBase64 = new String(Base64.encode(cookieValue.getBytes()));
//开始保存Cookie
Cookie cookie = new Cookie(cookieDomainName, cookieValueBase64);
cookie.setMaxAge(60 * 60 * 24 * 365 * 2);
//cookie有效路径是网站根目录
cookie.setPath("/");
//向客户端写入
response.addCookie(cookie);
}
相关推荐
下面将详细阐述Cookie实现自动登录的原理、步骤以及相关的安全考虑。 **Cookie的基本概念与工作原理** Cookie由HTTP协议定义,主要用于管理客户端的状态。服务器在响应头中设置Set-Cookie字段,将Cookie信息传递给...
在网站开发中,实现自动登录功能是非常重要的,JAVA 通过 Session 和 Cookie 实现网站自动登录的技术是其中的一种方法。本文将详细介绍如何使用 Session 和 Cookie 实现网站自动登录的技术。 一、什么是 Session 和...
本示例主要是为了演示如何使用 Java 语言模拟 Cookie 登陆,实现自动登陆的功能。 是什么是 Cookie? 在了解 Java 模拟 Cookie 登陆之前,我们需要首先了解什么是 Cookie。Cookie 是一种小型文本文件,用于存储 ...
每次用户访问同一网站时,浏览器会自动将Cookie发送回服务器,从而让服务器识别用户。Session则是在服务器端存储用户状态的一种方式,它为每个会话创建一个唯一的ID,保存在服务器的内存中,通过这个ID来追踪用户的...
Python之大麦网自动抢票(一) 实现模拟自动登陆 网上资源知识点: 面向对象编程 selenium 操作浏览器 pickle 保存和读取Cookie实现免登陆 time 做延时操作 os 创建文件,判断文件是否存在
在Java编程语言中,实现自动登录功能涉及到多个关键知识点,包括网络通信、HTTP协议、Cookie管理、Session处理以及可能的加密解密技术。下面将详细阐述这些内容。 首先,自动登录通常基于Web应用,因此我们需要了解...
下面将详细介绍Cookie自动登录的工作原理、实现方法以及相关的.NET技术。 **Cookie机制** Cookie是由服务器端生成,发送到客户端(通常是浏览器)的一小段文本信息。浏览器在后续的请求中会携带这个Cookie返回给...
总结来说,Servlet结合Cookie实现自动登录的关键在于正确处理用户的登录验证、Cookie的创建和读取,以及Session的状态管理。在实际开发中,还需要考虑安全性、性能优化等因素,以提供稳定且安全的用户体验。通过学习...
运用cookie实现用户自动登录功能。第一次登陆时如果选择自动登录,则在cookie有效期内访问,免登陆,直接跳转到登陆后主要面。
2. **Cookie的设置与属性**: - `Set-Cookie`响应头用于设置Cookie,包括名称、值、过期时间、路径、域等属性。 - `Max-Age`或`Expires`用于指定Cookie的有效期,超过这个时间,浏览器将自动删除Cookie。 - `Path...
[转]易语言|阿里妈妈自动登陆并保持登陆状态,存E代码。
通过共享Cookie,SSO系统可以在用户访问其他信任的服务时自动识别其身份。 在本示例中,我们有两个服务器:servera和serverb,它们都需要实现SSO。以下是实现步骤: 1. 用户首次访问servera或serverb,如果用户未...
综上所述,"Filter实现自动登录"涉及到JavaWeb开发中的`Filter`机制、用户身份验证、Session管理和Cookie操作等核心知识点。通过合理利用这些技术,可以创建一个既便捷又安全的自动登录系统。在提供的源代码中,我们...
当用户再次访问网站时,浏览器会自动将这些cookie发送回服务器。 设置cookie主要涉及以下几个步骤: 1. 创建一个键值对对象,例如`{key: 'username', value: 'JohnDoe'}`。 2. 将对象转换为字符串,以便在HTTP头部...
使用Cookie实现自动登录是指系统在用户登录成功后,系统将用户的登录信息存储在Cookie中,以便下次用户访问时可以自动登录。Cookie是Web服务器用来存储用户信息的小文本文件。 知识点5:使用Filter实现自动登录 ...
本示例是基于MVC(Model-View-Controller)分层模式,利用Cookie技术来实现用户登录后三天内自动免登陆的效果。 MVC模式是一种常见的软件设计模式,它将业务逻辑、数据和用户界面分离,使得开发、测试和维护变得更加...
在这个名为"实现自动登陆.rar"的压缩包中,我们很可能找到了一个用JSP(JavaServer Pages)和Tomcat服务器实现自动登录功能的代码示例。下面将详细探讨JSP、Tomcat以及自动登录的相关知识点。 首先,JSP是一种动态...
当用户下次访问同一网站时,浏览器会发送这些COOKIE给服务器,从而识别用户身份,实现自动登录和其他个性化设置。百度账号的COOKIE包含了用户登录状态的信息,因此导入该COOKIE到特定浏览器后,用户无需输入账号密码...
PHP实现自动登录功能主要利用了Cookie机制来存储用户认证信息。在PHP中,Cookie是一种小型文本文件,可由Web服务器通过HTTP响应发送给用户的浏览器,并且浏览器会在之后的请求中将Cookie的内容发送回服务器,用于...
总之,JavaWeb中利用Cookie实现自动登录的关键在于创建和管理Cookie,以及在用户访问时正确读取和验证Cookie。这个简单示例展示了基本的流程,但在实际开发中还需要考虑更多的安全性和用户体验因素。希望通过这个...