`

Java对Cookie的操作

    博客分类:
  • J2EE
 
阅读更多
java对cookie的操作比较简单,主要介绍下建立cookie和读取cookie,以及如何设定cookie的生命周期和cookie的路径问题。

建立一个无生命周期的cookie,即随着浏览器的关闭即消失的cookie,代码如下


HttpServletRequest request 
HttpServletResponse response
Cookie cookie = new Cookie("cookiename","cookievalue");
response.addCookie(cookie);


下面建立一个有生命周期的cookie,可以设置他的生命周期
cookie = new Cookie("cookiename","cookievalue");
cookie.setMaxAge(3600);


//设置路径,这个路径即该工程下都可以访问该cookie 如果不设置路径,那么只有设置该cookie路径及其子路径可以访问
cookie.setPath("/");
response.addCookie(cookie);
 

下面介绍如何读取cookie,读取cookie代码如下
Cookie[] cookies = request.getCookies();//这样便可以获取一个cookie数组
for(Cookie cookie : cookies){
    cookie.getName();// get the cookie name
    cookie.getValue(); // get the cookie value
}
 

上面就是基本的读写cookie的操作。我们在实际中最好进行一下封装,比如增加一个cookie,我们关注的是cookie的name,value,生命周期,所以进行封装一个函数,当然还要传入一个response对象,addCookie()代码如下

/**
 * 设置cookie
 * @param response
 * @param name  cookie名字
 * @param value cookie值
 * @param maxAge cookie生命周期  以秒为单位
 */
public static void addCookie(HttpServletResponse response,String name,String value,int maxAge){
    Cookie cookie = new Cookie(name,value);
    cookie.setPath("/");
    if(maxAge>0)  cookie.setMaxAge(maxAge);
    response.addCookie(cookie);
}
 

读取cookie的时候,为了方便我们的操作,我们希望封装一个函数,只要我们提供cookie的name,我们便可以获取cookie的value,带着这个想法,很容易想到将cookie封装到Map里面,于是进行下面的封装
/**
 * 根据名字获取cookie
 * @param request
 * @param name cookie名字
 * @return
 */
public static Cookie getCookieByName(HttpServletRequest request,String name){
    Map<String,Cookie> cookieMap = ReadCookieMap(request);
    if(cookieMap.containsKey(name)){
        Cookie cookie = (Cookie)cookieMap.get(name);
        return cookie;
    }else{
        return null;
    }   
}
 
 
 
/**
 * 将cookie封装到Map里面
 * @param request
 * @return
 */
private static Map<String,Cookie> ReadCookieMap(HttpServletRequest request){  
    Map<String,Cookie> cookieMap = new HashMap<String,Cookie>();
    Cookie[] cookies = request.getCookies();
    if(null!=cookies){
        for(Cookie cookie : cookies){
            cookieMap.put(cookie.getName(), cookie);
        }
    }
    return cookieMap;
}
分享到:
评论

相关推荐

    Java 模拟cookie登陆简单操作示例

    Java 模拟Cookie 登陆简单操作示例 在本文中,我们将介绍 Java 模拟 Cookie 登陆的简单操作,结合实例形式分析了 Java 模拟 Cookie 登陆的相关原理与基本实现技巧。本示例主要是为了演示如何使用 Java 语言模拟 ...

    java对cookie的操作java对cookie的操作

    Java中的Cookie操作是Web开发中常见的一种技术,用于在客户端和服务器之间传递状态信息。Cookie是一种小型文本文件,由服务器发送到用户的浏览器,并由浏览器在后续请求中返回给服务器。以下将详细介绍Java如何进行...

    java 操作cookie

    Java 操作 Cookie Java 操作 Cookie 是一种常用的 Web 开发技术,用于在服务器端和客户端之间交换数据。Cookie 是一种小文本文件,存储在客户端浏览器中,用于记录用户的行为和偏好。下面我们将详细介绍 Java 操作 ...

    java对cookie的操作.doc

    总的来说,Java对Cookie的操作主要包括创建、读取、设置生命周期和路径。理解这些基本操作并对其进行适当封装,将有助于提高Java Web应用的开发效率和代码质量。在实际项目中,还应注意安全性和性能优化,比如限制...

    java对cookie的操作2.doc

    java对cookie的操作2.doc

    JAVA简单cookie操作

    JAVA简单cookie操作,自己去http://sacmoney.net申请个账号做测试.

    JAVA操作COOKIE.pdf

    标题:JAVA操作COOKIE.pdf 在Web开发领域,Cookie作为一种服务器通过HTTP响应发送到用户浏览器并保存在本地的一小段数据,一直扮演着非常重要的角色。它能够帮助服务器记录用户的偏好设置,跟踪会话状态,以及存储...

    java操作cookie

    总之,Java中的Cookie操作涉及了服务器与客户端之间的交互,理解其创建、读取、更新和删除的原理对于Web应用的开发至关重要。同时,注意处理好编码问题,以防止乱码现象的发生。通过以上介绍,你应该对Java操作...

    java中cookie的使用教程

    - Cookie大小限制:每个Cookie的大小不能超过4KB,且浏览器对每个站点的Cookie数量也有限制。 - 隐私问题:因为Cookie存储在客户端,所以不应存储敏感信息,如密码明文。 8. **替代方案** 对于需要大量存储或...

    JAVA操作COOKIE.docx

    JAVA 操作 COOKIE Cookie 是一种小型文本文件, Webseite 服务器通过 HTTP 头将其发送到浏览器端,浏览器将其存储在本地,下次访问同一网址时,浏览器将其发送回服务器端,以便服务器端识别用户身份、追踪用户行为...

    java对cookie的操作[收集].pdf

    总结来说,Java中的Cookie操作涉及创建、存储、读取和删除Cookie,通常与HTTP请求和响应交互。Apache HttpClient库提供了一套强大的工具,使得开发者可以方便地管理Cookie,从而实现会话管理。`...

    JAVA操作COOKIE

    Java 操作 COOKIE 主要涉及到对 HTTP 协议中的 Cookie 进行创建、读取、修改和删除等操作。Cookie 是一种服务器与客户端之间保持状态的机制,常用于用户登录状态的维持、个性化设置的存储等场景。以下是关于 Java ...

    java cookie 例子

    在Java Servlet中,我们主要通过`javax.servlet.http.Cookie`类来操作Cookie。以下是一个创建和添加Cookie到响应的示例: ```java // 创建一个Cookie对象 Cookie cookie = new Cookie("username", "JohnDoe"); // ...

    cookie接口 实现本地或客户端的cookie的创建和读取

    提供的实现类可能包含了对Cookie操作的封装,如创建、读取、更新和删除的方法。测试类则用于验证这些功能的正确性,通常会使用JUnit或其他单元测试框架编写,通过模拟请求和响应来测试Cookie操作。 在提供的压缩包...

    discuz与java通过cookie共享登陆

    标题“Discuz与Java通过Cookie共享登录”涉及的是在Web开发中如何实现不同系统间用户登录状态的共享,特别是Discuz论坛系统与基于Java的应用之间的交互。Discuz是一款流行的开源社区论坛软件,而Java是一种广泛使用...

    JS cookie Java cookie regex 整理结果

    在JavaScript中,我们可以使用`match()`、`search()`或`test()`方法与正则表达式配合,实现对Cookie字符串的复杂操作。 在实际应用中,JS和Java Cookie结合使用可以实现更高级的功能。例如,服务器通过Java Cookie...

    java操作cookie示例(删除cookie)

    本文将详细介绍如何使用Java操作Cookie,特别是如何设置、读取和删除Cookie。 首先,我们来看如何**设置Cookie**。在Java中,我们通常使用`HttpServletResponse`对象的`addCookie()`方法来添加Cookie。下面是一个...

Global site tag (gtag.js) - Google Analytics