- package test;
- import java.util.Hashtable;
- import java.util.Iterator;
- import java.util.Set;
- import javax.servlet.http.Cookie;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- /**
- * Cookie的操作类
- * @author shy.qiu
- *
- */
- public class CookieHandler {
- /**
- * 创建cookie
- *
- * @param response
- * 回应
- * @param nameValues
- * 存入cookie的键值对
- * @param days
- * 设置cookie的有效期
- */
- public static void createCookie(HttpServletResponse response,
- Hashtable<String, String> nameValues, int days) {
- Set<String> set = nameValues.keySet();
- Iterator<String> it = set.iterator();
- for (; it.hasNext();) {
- String name = (String) it.next();
- String value = (String) nameValues.get(name);
- // 生成新的cookie
- Cookie cookie = new Cookie(name, value);
- // 设置有效日期
- cookie.setMaxAge(days * 24 * 60 * 60);
- // 设置路径(默认)
- cookie.setPath("/");
- // 把cookie放入响应中
- response.addCookie(cookie);
- }
- }
- /**
- * 读取Cookie
- *
- * @param request
- * @return Hashtable 返回cookie的键值对
- */
- public static Hashtable<String, String> getCookies(
- HttpServletRequest request) {
- Cookie[] cookies = request.getCookies();
- Hashtable<String, String> cookieHt = new Hashtable<String, String>();
- if (cookies.length > 0) {
- for (int i = 0; i < cookies.length; i++) {
- Cookie cookie = cookies[i];
- cookieHt.put(cookie.getName(), cookie.getValue());
- }
- }
- return cookieHt;
- }
- /**
- * 修改cookie中指定键的值
- *
- * @param request
- * @param name
- * 指定的键
- * @param value
- * 值
- */
- public static void setCookieValueByName(HttpServletRequest request,
- String name, String value) {
- Cookie[] cookies = request.getCookies();
- if (cookies.length > 0) {
- for (int i = 0; i > cookies.length; i++) {
- if (name.equalsIgnoreCase(cookies[i].getName())) {
- cookies[i].setValue(value);
- }
- }
- }
- }
- /**
- * 得到指定键的值
- *
- * @param request
- * @param name
- * 指定的键
- * @return String 值
- */
- public static String getCookieValueByName(HttpServletRequest request,
- String name) {
- Cookie[] cookies = request.getCookies();
- String resValue = "";
- if (cookies.length > 0) {
- for (int i = 0; i > cookies.length; i++) {
- if (name.equalsIgnoreCase(cookies[i].getName())) {
- resValue = cookies[i].getValue();
- }
- }
- }
- return resValue;
- }
- /**
- * 销毁cookie
- *
- * @param request
- * @param response
- */
- public static void deletesCookie(HttpServletRequest request,
- HttpServletResponse response) {
- Cookie[] cookies = request.getCookies();
- if (cookies != null) {
- for (int i = 0; i < cookies.length; i++) {
- Cookie cookie = cookies[i];
- // 销毁
- cookie.setMaxAge(0);
- response.addCookie(cookie);
- }
- }
- }
- }
Cookies集合是附属于Response对象及Request对象的数据集合,使用时需要在前面加上Response或Request;如果用户要读取Cookies,则必须使用Request对象的Cookies集合
需要注意的是,只有在服务器未被下载任何数据给浏览器前,浏览器才能与Server进行Cookies集合的数据交换,一旦浏览器开始接收Server所下载的数据,Cookies的数据交换则停止,为了避免错误,要在程序和前面加上response.Buffer=True。
相关推荐
### JAVA之cookie与session #### 一、Cookie与Session的概念 **Cookie** 与 **Session** 是两种在 Web 开发中用于跟踪用户会话的重要技术。它们的主要目标是在客户端和服务端之间保持状态。 - **Cookie** 机制...
### 关于Java应用Cookie知识点详解 #### 一、Cookie简介 Cookie是一种常用的技术,用于存储用户的访问信息。在Web开发中,服务器可以将少量的信息发送到客户端浏览器,并存储在客户端,这种信息就是Cookie。当...
Java 模拟Cookie 登陆简单操作示例 在本文中,我们将介绍 Java 模拟 Cookie 登陆的简单操作,结合实例...本示例可以帮助开发者快速了解 Java 模拟 Cookie 登陆的实现原理和实现方法,为实际开发中提供了有价值的参考。
Java 操作 Cookie Java 操作 Cookie 是一种常用的 Web 开发技术,用于在服务器端和客户端之间交换数据。Cookie 是一种小文本文件,存储在客户端浏览器中,用于记录用户的行为和偏好。下面我们将详细介绍 Java 操作 ...
Java中的Cookie操作是Web开发中常见的一种技术,用于在客户端和服务器之间传递状态信息。Cookie是一种小型文本文件,由服务器发送到用户的浏览器,并由浏览器在后续请求中返回给服务器。以下将详细介绍Java如何进行...
在Java编程语言中,Cookie是一种小型文本文件,用于在客户端和服务器之间传递信息,特别是保持用户状态和会话。本文将深入讲解Java中Cookie的使用方法,包括创建、设置、读取和删除Cookie,以及其在Web应用程序中的...
### Java Cookie 的使用详解 #### 一、Cookie简介 在Java Web开发中,Cookie是一种用于在客户端存储数据的技术。它通常被用来跟踪用户状态或存储用户的偏好设置等信息。Cookie可以方便地帮助开发者实现诸如登录...
"JAVA100例之实例81Cookie计数器"是一个典型的示例,旨在教会开发者如何使用Cookie来实现一个简单的访问计数功能。下面我们将深入探讨这个实例涉及的知识点。 1. **Cookie基本概念**: - Cookie是由服务器发送到...
Java Cookie 是一种在客户端和服务器之间传递信息的技术,主要用于存储用户状态或偏好设置。在Servlet环境中,Cookie常用于实现会话管理,例如保存登录状态、购物车信息等。本示例将详细介绍如何在Java Servlet中...
标题“Discuz与Java通过Cookie共享登录”涉及的是在Web开发中如何实现不同系统间用户登录状态的共享,特别是Discuz论坛系统与基于Java的应用之间的交互。Discuz是一款流行的开源社区论坛软件,而Java是一种广泛使用...
JavaScript(JS)Cookie和Java Cookie是Web开发中用于存储客户端数据的两种常见方式,而正则表达式(Regex)在处理字符串和数据匹配时扮演着重要角色。下面将详细阐述这三个知识点及其应用。 首先,JavaScript ...
java web cookie 详解
**Java Cookie技术详解** 在Web开发中,Cookie是一种非常重要的技术,它被广泛用于实现用户会话管理、个性化设置、保持登录状态等功能。Cookie的工作原理是服务器在客户端(用户的浏览器)上存储一小段文本信息,当...
在Java Web开发中,Cookie是客户端存储数据的一种方式,它用于在用户浏览器和服务器之间传递信息,实现会话管理、个性化设置等功能。本主题将详细讲解如何使用Java进行Cookie的读写操作,以及如何利用Cookie实现记住...
在Java Web开发中,Cookie、Session和验证码是三个非常重要的概念,它们对于用户身份验证、会话管理以及防止恶意自动操作起着关键作用。本文将深入探讨这些概念,并通过实例来展示它们在实际项目中的应用。 首先,...
总的来说,这个项目涉及了Java网络编程、HTTP请求、登录处理、COOKIE管理、HTML解析以及数据库操作等多个方面,这些都是Java网络爬虫开发中常见的核心技术。通过实践和学习这些知识点,你可以构建出强大的爬虫系统,...
本篇文章将深入探讨如何使用Java访问.NET Web服务,并在过程中获取和设置Cookie,以便实现更高效、安全的会话管理。首先,让我们理解Web服务的基本概念。 Web服务是一种通过HTTP协议提供功能的方法,使得不同系统间...
JAVA 操作 COOKIE Cookie 是一种小型文本文件, Webseite 服务器通过 HTTP 头将其发送到浏览器端,浏览器将其存储在本地,下次访问同一网址时,浏览器将其发送回服务器端,以便服务器端识别用户身份、追踪用户行为...
在Java环境中,实现SSO的一个常见方式是通过Cookie。Kisso是一个基于Cookie的轻量级SSO中间件,它简化了SSO的实施过程,尤其是对于那些不熟悉复杂认证流程的开发者来说,Kisso的低代码特性使其变得更加友好。 Kisso...
在Java Web开发中,Cookie是一种常用的机制,用于在客户端存储数据。它可以帮助开发者实现会话管理、用户跟踪等功能。本文将详细介绍如何在Java中创建、读取Cookie,以及设置其生命周期和路径。 首先,创建一个...