`
178789175
  • 浏览: 12783 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java对cookie的操作编程

 
阅读更多
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
* Java:http://www.javaweb.cc
*/
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中文网:http://www.javaweb.cc/language/java/112452.shtml
分享到:
评论

相关推荐

    java操作cookie

    在Java编程中,Cookie是服务器发送到用户浏览器并存储在本地的一种小文本文件,用于跟踪用户的会话状态、存储用户偏好等。...通过以上介绍,你应该对Java操作Cookie有了更深入的理解,可以灵活地在项目中运用这些知识。

    java中cookie的使用教程

    在Java编程语言中,Cookie是一种小型文本文件,用于在客户端和服务器之间传递信息,特别是保持用户状态和会话。本文将深入讲解Java中Cookie的使用方法,包括创建、设置、读取和删除Cookie,以及其在Web应用程序中的...

    cookie编程

    Cookie编程是Web开发中的一个重要概念,它用于在客户端和服务器之间传递信息,特别是在维护用户状态时。这篇博客文章“Cookie编程”可能详细介绍了如何在实际项目中使用Cookie,以及其背后的原理和技术细节。 ...

    java网络爬虫-通过登陆网站携带COOKIE信息爬取网站数据

    总的来说,这个项目涉及了Java网络编程、HTTP请求、登录处理、COOKIE管理、HTML解析以及数据库操作等多个方面,这些都是Java网络爬虫开发中常见的核心技术。通过实践和学习这些知识点,你可以构建出强大的爬虫系统,...

    JAVA100例之实例81Cookie计数器

    在Java编程中,Cookie是一种非常重要的技术,它用于在客户端和服务器之间传递信息,尤其是在实现用户会话管理、个性化设置等方面。"JAVA100例之实例81Cookie计数器"是一个典型的示例,旨在教会开发者如何使用Cookie...

    java URLConnection全面解析(通俗易懂,包括cookie操作和上传文件)

    对于更高级的操作如cookie管理和文件上传,`URLConnection`同样提供了丰富的支持。 在开始使用`URLConnection`之前,我们需要做一些准备工作: - **明确目标URL**:即你想要发起请求的目标地址,例如 `...

    Test_dl.rar_cookie_cookie java_cookies_java cookie

    标题中的“Test_dl.rar_cookie_cookie java_cookies_java cookie”暗示了一个关于Java编程中处理Cookie的教程或项目,可能涉及网络登录验证。描述进一步说明了这个压缩包包含的信息,它提到了如何利用Cookie进行自动...

    需要cookie验证的java抓包程序

    【描述】:“使用java编写的抓包程序,对于一般的抓包比较简单,这里主要是对需要cookie验证的网页进行抓包,代码比较简单,自行下载理解。” 在Java中实现抓包功能,通常会利用如Jpcap或Wireshark等库。由于目标是...

    Java Web编程实战宝典(光盘源代码)

    《Java Web编程实战宝典》是一本面向初学者的编程指南,主要涵盖了使用Java语言进行Web应用程序开发的各种技术和实践。这本书的光盘源代码提供了丰富的示例和项目,旨在帮助读者深入理解Java Web开发的核心概念,并...

    Java Http编程简单示例

    以上就是Java进行Http编程的基本概念和操作步骤。在实际开发中,我们通常会将这些操作封装到一个HTTP客户端工具类中,以便在多个地方复用。例如,`WebApp`这个文件可能就是一个简单的Java Web应用程序,它展示了如何...

    java操作cookie-实现两周内自动登录.doc

    在Java编程中,实现两周内自动登录功能主要依赖于Cookie技术。Cookie是一种在客户端和服务器之间传递信息的小型文本文件,常用于用户身份的识别。本文将详细解释如何利用Java来实现这一功能。 首先,我们要理解用户...

    Java网络编程(第3版) 中文版

    它还涵盖了Java对网络代理、Web cookie和URL缓存的支持。 《Java网络编程》不仅仅是对API的解释:它还展示了如何使用API。本书有很多示例,包含了几千行可以实际工作的代码(所有代码都可以在线获得),实现了功能...

    用java运用cookie和session

    在Java中,我们可以使用`HttpSession`接口来操作Session。 创建Session: ```java HttpSession session = request.getSession(); session.setAttribute("userID", "123456"); ``` 读取Session数据: ```java ...

    java网络编程笔记

    ### Java网络编程在J2EE开发中的应用与深入解析 #### 标题解析:Java网络编程笔记 在当今数字化时代,网络编程已成为软件开发中不可或缺的一部分,尤其在J2EE(Java 2 Platform, Enterprise Edition)框架下,其...

    java程序设计之网络编程

    通过阅读和运行这些源代码,可以加深对网络编程的理解,并掌握实际应用中的技巧。 总之,Java程序设计之网络编程是Java开发者必备的技能之一,涵盖了从基础的TCP/UDP通信到复杂的Web服务和安全通信等多个方面。掌握...

    java http 操作cookies

    在Java编程中,HTTP操作是常见的任务之一,特别是在与Web服务器进行交互时。Cookies作为HTTP协议的一个重要组成部分,用于在客户端和服务器之间持久保存状态信息。本篇文章将深入探讨如何在Java中处理HTTP请求和响应...

    java网络编程(第三版)oreilly

    书中会讲述如何使用这些类进行HTTP请求和响应处理,包括GET、POST等操作,以及处理头信息、Cookie和重定向。 Java NIO(非阻塞I/O)是另一个重要的话题。相对于传统的阻塞I/O模型,NIO提供了更高效的数据传输方式。...

    onif.rar_java实例_java编程实例

    Java编程实例是初学者和...每个实例都是一个独立的学习单元,可以单独练习和调试,从而加深对Java编程的理解。此外,解决这些实例中的问题也将有助于提高问题解决能力和代码调试技巧,为日后的项目开发打下坚实的基础。

    JAVA编程百例+JAVA面试题集十套(经典)

    实例38 操作EXECL文件 实例39 生成PDF文件 实例47 使用JAVAMAIL发送邮件 实例48 使用JAVAMAIL接收邮件 实例62 多线程 实例68 使用DOM解析XML 实例69 使用SAX解析XML 实例70 使用JDOM解析XML 实例81 SERVLET读取...

Global site tag (gtag.js) - Google Analytics