import java.io.UnsupportedEncodingException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* @author Administrator
*
* To change the template for this generated type comment go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
public class Cookies {
public int maxAge; // 设置该COOKIE的有效期,单位为秒
public String path; // cookie路径
Cookie[] cookie_get = {};
public Cookies() {
maxAge = -1;
path = "/";
}
/**
* Put cookie to the client
*
* @param response
* @param name
* @param value
*/
public void putCookie(HttpServletResponse response, String name,
String value) {
try {
Cookie cookie = new Cookie(name, encode(value));
cookie.setMaxAge(maxAge);
cookie.setPath(path);
response.addCookie(cookie);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* get cookie from client
*
* @param request
* @param name
* @return
*/
public String getCookie(HttpServletRequest request, String name) {
if (cookie_get == null || cookie_get.length == 0) {
cookie_get = request.getCookies();
}
String returnStr;
returnStr = null;
try {
for (int i = 0; cookie_get != null && i < cookie_get.length; i++) {
cookie_get[i].setPath(path);
if (cookie_get[i].getName().equals(name)) {
cookie_get[i].setMaxAge(-1);
returnStr = cookie_get[i].getValue().toString();
break;
}
}
return decode(returnStr);
} catch (Exception e) {
return decode(returnStr);
}
}
/**
* 清除Cookie
*
* @param response
* HttpServletResponse
* @param name
* String
*/
public void removeCookie(HttpServletResponse response, String name) {
putCookie(response, name, null);
}
/**
* 对给定字符进行 URL 解码
*
* @param value
* String
* @return String
*/
private static String decode(String value) {
String result = "";
if (!isEmpty(value)) {
try {
result = java.net.URLDecoder.decode(value, "GBK");
} catch (UnsupportedEncodingException ex) {
}
}
return result;
}
/**
* 对给定字符进行 URL 编码
*
* @param value
* String
* @return String
*/
private static String encode(String value) {
String result = "";
if (!isEmpty(value)) {
try {
result = java.net.URLEncoder.encode(value, "GBK");
} catch (UnsupportedEncodingException ex) {
}
}
return result;
}
/**
* 判断是否为空,为空返回true
*
* @param value
* String
* @return boolean
*/
private static boolean isEmpty(String value) {
if (value == null || value.trim().equals(""))
return true;
else
return false;
}
/**
* 查检二个数据是否为空,如果为空返回true
*
* @param value1
* @param value2
* @return
*/
public boolean isEmpty(String value1, String value2) {
if (null == value1 || null == value2 || "".equals(value1)
|| "".equals(value2))
return true;
else
return false;
}
}
分享到:
相关推荐
1. **读取Cookie**: 代码首先通过`HttpServletRequest`的`getCookies()`方法获取所有请求中的Cookie数组。然后遍历这个数组,检查每个Cookie的名称,并根据名称设置相应的变量值。例如,如果找到名为"loginType"的...
### 关于Java应用Cookie知识点详解 #### 一、Cookie简介 Cookie是一种常用的技术,用于存储用户的访问信息。在Web开发中,服务器可以将少量的信息发送到客户端浏览器,并存储在客户端,这种信息就是Cookie。当...
Java 模拟Cookie 登陆简单操作示例 在本文中,我们将介绍 Java 模拟 Cookie 登陆的简单操作,结合实例...本示例可以帮助开发者快速了解 Java 模拟 Cookie 登陆的实现原理和实现方法,为实际开发中提供了有价值的参考。
Java 操作 Cookie Java 操作 Cookie 是一种常用的 Web 开发技术,用于在服务器端和客户端之间交换数据。Cookie 是一种小文本文件,存储在客户端浏览器中,用于记录用户的行为和偏好。下面我们将详细介绍 Java 操作 ...
总结,Java读写Cookie主要包括创建Cookie对象,设置属性(如名称、值和有效期),然后通过HttpServletResponse写入到响应,以及通过HttpServletRequest读取请求中的Cookie。这些操作对于跟踪用户会话、存储用户偏好...
- **验证Token**:用户再次访问时,服务器读取Cookie中的Token,与数据库中的信息对比,验证通过则自动登录。 6. **注意事项** - 遵循最佳实践,限制Cookie的有效期,不要让其永久存在。 - 对于敏感信息,除了...
2. 读取Cookie 在服务器端,我们可以使用HttpServletRequest的`getCookies()`方法来获取客户端发送的所有Cookie。这个方法会返回一个Cookie数组,如果没有Cookie则返回null。可以遍历这个数组来获取特定的Cookie,...
java-script读写Cookie例子
在这个主题中,我们关注的是使用Java实现Cookie接口来创建和读取Cookie。以下是关于这个主题的详细解释。 1. **Cookie接口**: Cookie接口在Java的`javax.servlet.http.Cookie`包中定义,它提供了对HTTP Cookie的...
当用户访问支持Cookie的网站时,服务器可以通过读取这些Cookie来识别用户的身份,从而实现会话保持。 在Discuz与Java应用之间共享登录状态,我们需要做以下几步: 1. **实现跨域资源共享(CORS)**:由于Discuz和...
4. **读取Cookie** 在服务器端,我们可以使用`HttpServletRequest`的`getCookies()`方法获取所有Cookie,然后根据名称查找特定的Cookie: ```java Cookie[] cookies = request.getCookies(); for (Cookie c : ...
读取Cookie则通过HttpServletRequest的getCookies()方法实现,它返回一个Cookie数组,可以通过循环遍历并比较Cookie的名字来获取对应的值。 **子Cookie** 子Cookie(有时也称为“部分Cookie”或“Path-Scoped ...
JAVA 操作 COOKIE Cookie 是一种小型文本文件...JAVA 操作 COOKIE 主要包括设置 Cookie、读取 Cookie、删除 Cookie 和修改 Cookie 四个方面,通过设置 Cookie 的路径、域名和生存期,可以实现两个网站共用 Cookies。
#### 三、读取Cookie 当客户端再次访问服务器时,浏览器会自动将之前接收到的Cookie信息包含在HTTP请求头中一起发送给服务器。因此,开发者可以在服务器端通过`HttpServletRequest`的`getCookies`方法获取这些...
5. **读取Cookie**:在Servlet的请求处理中,可以通过`HttpServletRequest.getCookies()`获取所有Cookie,然后通过Cookie的名称匹配并读取值。 **JspUtil与Cookie操作** 在提供的文件名"JspUtil"中,我们可以推测...
总结一下,Java Servlet中的Cookie管理主要包括创建、设置属性(如有效期和路径)、读取、修改和删除。这个例子中的压缩包可能包含了一个简单的Java Servlet项目,演示了如何在服务器端和客户端之间使用Cookie进行...
例如,服务器通过Java Cookie设置会话ID,然后在客户端通过JS读取Cookie,实现页面之间的状态保持。同时,正则表达式可用于处理和解析这些Cookie,以满足特定的需求。 总结来说,JS和Java Cookie提供了在客户端和...
本文将详细介绍如何在Java中创建、读取Cookie,以及设置其生命周期和路径。 首先,创建一个Cookie非常简单。当你需要创建一个无生命周期的Cookie时,即关闭浏览器后自动失效的Cookie,可以通过以下代码实现: ```...
总结一下,Java操作Cookie主要包括设置Cookie(设置键值、生存时间和路径),读取Cookie(通过`getCookies()`方法)以及删除Cookie(创建一个MaxAge为0的新Cookie)。理解这些基本操作对于进行Web开发是至关重要的,...
// 读取Cookie Cookie[] cookies = request.getCookies(); if (cookies != null) { for (Cookie c : cookies) { if (c.getName().equals("username")) { System.out.println("User: " + c.getValue()); } } } `...