1.设置Cookie
Cookie cookie = new Cookie("key", "value");
cookie.setMaxAge(60);
设置60秒生存期,如果设置为负值的话,则为浏览器进程Cookie(内存中保存),关闭浏览器就失效。
cookie.setPath("/test/test2");
设置Cookie路径,不设置的话为当前路径(对于Servlet来说为request.getContextPath() + web.xml里配置的该Servlet的url-pattern路径部分)
response.addCookie(cookie);
2.读取Cookie
该方法可以读取当前路径以及“直接父路径”的所有Cookie对象,如果没有任何Cookie的话,则返回null
Cookie[] cookies = request.getCookies();
3.删除Cookie
Cookie cookie = new Cookie("key", null);
cookie.setMaxAge(0);
设置为0为立即删除该Cookie
cookie.setPath("/test/test2");
删除指定路径上的Cookie,不设置该路径,默认为删除当前路径Cookie
response.addCookie(cookie);
4.修改Cookie
Cookie[] cookies=request.getCookies();
if(cookies.length>1){
for(int i=0;i<cookies.length;i++){
if(cookies[i].getName().equals("key")) {
String oldValue = cookies[i].getValue();
String newValue= "newValue";
cookies[i].setValue(newValue);
response.addCookie(cookies[i]);
break;
}
}
}
======================================================
1.实现两个网站www.wangwz.com和post.wangwz.com共用Cookies
2.添加Cookies
Cookie cookie = new Cookie("name", "wangwz");
cookie.setPath("/");//这个要设置
cookie.setDomain(".wangwz.com");//这个也要设置才能实现上面的两个网站共用
cookie.setMaxAge(365*24*60*60);//不设置的话,则cookies不写入硬盘,而是写在内存,只在当前页面有用,以秒为单位
response.addCookie(cookie);
cookie = new Cookie("nick", URLEncoder.encode("王伟宗","UTF-8"));
cookie.setPath("/");
cookie.setDomain(".wangwz.com");
cookie.setMaxAge(365*24*60*60);
response.addCookie(cookie);
3.获取cookies
Cookie cookies[] = request.getCookies();
if (cookies != null)
{
for (int i = 0; i < cookies.length; i++)
{
if (cookies[i].getName().equals("nick"))
{
System.out.println(URLDecoder.decode(cookies[i].getValue(),"UTF-8"));
}
}
}
4.删除cookies
Cookie cookies[] = request.getCookies();
if (cookies != null)
{
for (int i = 0; i < cookies.length; i++)
{
if (cookies[i].getName().equals("nick"))
{
Cookie cookie = new Cookie("nick","");//这边得用"",不能用null
cookie.setPath("/");//设置成跟写入cookies一样的
cookie.setDomain(".wangwz.com");//设置成跟写入cookies一样的
response.addCookie(cookie);
}
}
}
应用实例
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.util.*" errorPage="" %>
<%@ page import="java.net.URLDecoder" %> //注意导入此包
<%
Cookie cookie=new Cookie("hi","welcome");
response.addCookie(cookie);
Cookie[] cookies=request.getCookies();
if(cookies!=null){
for(int i=0;i<cookies.length;i++){
if(cookies[i].getName().equals("hi")){
String cookieValue=URLDecoder.decode(cookies[i].getValue(),"utf-8");
out.print("hi="+cookieValue);
}
}
}else{
out.print(" no cookie");
}
%>
分享到:
相关推荐
Java 操作 Cookie Java 操作 Cookie 是一种常用的 Web 开发技术,用于在服务器端和客户端之间交换数据。Cookie 是一种小文本文件,存储在客户端浏览器中,用于记录用户的行为和偏好。下面我们将详细介绍 Java 操作 ...
`setMaxAge`方法用于设置Cookie的有效期,单位为秒。有效期为0表示Cookie仅在当前会话期间有效,浏览器关闭后就会删除;若为负数则表示Cookie将一直保存在客户端,直到被手动删除或过期。 ##### 2. 添加Cookie到...
// 设置Cookie的有效期为一周 response.addCookie(cookie); ``` 这段代码创建了一个名为"username"的Cookie,值为"John",并将有效期设置为7天。 接着,我们讨论如何在客户端读取Cookie。在JSP或Servlet的...
JAVA 操作 COOKIE Cookie 是一种小型文本文件...JAVA 操作 COOKIE 主要包括设置 Cookie、读取 Cookie、删除 Cookie 和修改 Cookie 四个方面,通过设置 Cookie 的路径、域名和生存期,可以实现两个网站共用 Cookies。
Java 模拟Cookie 登陆简单操作示例 在本文中,我们将介绍 Java 模拟 Cookie 登陆的简单操作,结合实例形式分析了 Java 模拟 Cookie 登陆的相关原理与基本实现技巧。本示例主要是为了演示如何使用 Java 语言模拟 ...
java 操作 Cookie 实现两周内自动登录 java 操作 Cookie 实现两周内自动登录是指通过在用户第一次登录网站时,网站向客户端发送一个包含有用户名的 Cookie,当用户下次访问时,浏览器将该 Cookie 发送回网站服务器...
在Java中,我们可以使用HttpServletResponse的`addCookie()`方法来设置Cookie。首先创建一个Cookie对象,通过构造函数传入键值对,例如`new Cookie("key", "value")`。然后设置Cookie的存活时间,`setMaxAge()`方法...
总结一下,Java操作Cookie主要包括设置Cookie(设置键值、生存时间和路径),读取Cookie(通过`getCookies()`方法)以及删除Cookie(创建一个MaxAge为0的新Cookie)。理解这些基本操作对于进行Web开发是至关重要的,...
- 设置Cookie的生存期,例如`cookie.setMaxAge(60)`,这里的60表示60秒。若设置为负值,Cookie将在浏览器关闭时失效,即仅存储在内存中。 - 指定Cookie的作用路径,如`cookie.setPath("/test/test2")`,这样只有在...
以下是对Java操作Cookie的详细解释: 1. **创建Cookie**: - 创建Cookie对象时,通过`new Cookie(String name, String value)`构造方法指定Cookie的名称和值。例如:`Cookie cookie = new Cookie("cookiename",...
### JAVA之cookie与session #### 一、Cookie与Session的概念 **Cookie** 与 **Session** 是两种在 Web 开发中用于跟踪用户会话的重要技术。它们的主要目标是在客户端和服务端之间保持状态。 - **Cookie** 机制...
3. **设置Cookie属性** - **最大存活时间**:通过`setMaxAge()`设置,单位为秒。如果设置为0,表示立即失效;如果不设置,则默认为浏览器会话期间有效。 - **路径和域**:`setPath()`用于指定Cookie的作用路径,...
4. **生命周期管理**: 适当设置Cookie的生命周期,避免不必要的资源占用。 通过以上介绍,我们可以看到,在Java Web环境中,Cookie的使用非常灵活且强大,能够帮助开发者轻松实现许多高级功能。当然,正确地使用...
本篇文章将深入探讨如何使用Java访问.NET Web服务,并在过程中获取和设置Cookie,以便实现更高效、安全的会话管理。首先,让我们理解Web服务的基本概念。 Web服务是一种通过HTTP协议提供功能的方法,使得不同系统间...
// 设置Cookie的作用域,即只能在哪个域名下访问 cookie.setPath("/"); // 默认值,整个域名 // 将Cookie添加到响应中 response.addCookie(cookie); ``` 当服务器收到请求时,可以通过`HttpServletRequest`的`get...
3. **在Discuz登录成功后,将登录信息编码成Cookie**:当用户在Discuz成功登录后,服务端会在用户的浏览器上设置一个包含用户信息的Cookie,同时这个信息也应发送给Java应用。 4. **Java应用检测Cookie**:Java应用...