`

java对cookie的操作(收藏)

 
阅读更多

java对cookie的操作比较简单,主要介绍下建立cookie和读取cookie,以及如何设定cookie的生命周期和cookie的路径问题。

 

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

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

 

下面建立一个有生命周期的cookie,可以设置他的生命周期

1
2
3
4
5
6
7
8
cookie = new Cookie("cookiename","cookievalue");
 
cookie.setMaxAge(3600);
 
//设置路径,这个路径即该工程下都可以访问该cookie 如果不设置路径,那么只有设置该cookie路径及其子路径可以访问
 
cookie.setPath("/");
response.addCookie(cookie);

 

下面介绍如何读取cookie,读取cookie代码如下

1
2
3
4
5
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()代码如下

1
2
3
4
5
6
7
8
9
10
11
12
13
/**
 * 设置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里面,于是进行下面的封装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/**
 * 根据名字获取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-实现两周内自动登录.doc

    java 操作 Cookie 实现两周内自动登录 java 操作 Cookie 实现两周内自动登录是指通过在用户第一次登录网站时,网站向客户端发送一个包含有用户名的 Cookie,当用户下次访问时,浏览器将该 Cookie 发送回网站服务器...

    JAVA(JSP)在线收藏夹源码

    【JAVA(JSP)在线收藏夹源码】是一款基于JAVA技术栈实现的个人书签管理应用,主要利用了JavaServer Pages (JSP)、Servlet以及MySQL数据库来构建一个功能完善的在线收藏系统。这个系统允许用户存储、管理和分享他们...

    经典收藏Cookie和Session

    ### 经典收藏:Cookie与Session机制详解 #### 一、Cookie机制与Session机制的区别 在Web开发中,为了维持用户的会话状态,通常有两种常用的技术:Cookie与Session。这两种技术各有特点,适用于不同的场景。 - **...

    java 程序设计网页浏览器

    以下是对这些主题的详细阐述: 1. **Java网络编程**:Java提供了丰富的API来处理网络通信,如`java.net`包下的Socket、ServerSocket、URL类等。在构建浏览器时,你需要使用`java.net.URL`类来解析和打开网页URL,...

    java电子书店管理系统

    总的来说,Java电子书店管理系统展示了Java在Web应用开发中的强大能力,涵盖了数据库操作、用户认证、购物车、订单处理、库存管理等多个领域,是学习和实践Java Web开发的绝佳案例。通过深入研究这个系统,开发者...

    java+servlet+jsp商城购物,实现了登陆注册,添加收藏,购物车,下单等功能,有前后台

    在本项目中,"java+servlet+jsp商城购物"是一个基于Java技术的电子商务平台实现,主要涉及了用户登录注册、商品收藏、购物车管理和订单处理等核心功能。下面将详细阐述这些关键知识点。 1. **Java**: Java是该项目...

    基于java的动漫论坛的设计与实现.zip

    Hibernate或MyBatis可能被用来简化ORM(对象关系映射),使得Java对象可以直接操作数据库。 5. **用户认证与授权**:论坛需要用户注册、登录功能,涉及到身份验证和权限控制。这可能通过session管理和cookie来实现...

    基于Java的网上家具商城

    【基于Java的网上家具商城】是一个使用Java Web技术构建的电子商务平台,旨在提供全面的线上购物体验,包括商品展示、收藏、购物车管理以及支付功能。这个项目涉及到多个核心技术,如Java、JSP(JavaServer Pages)...

    java +sql+bbs论坛

    6. **论坛功能实现**:BBS论坛通常有发帖、回帖、搜索、收藏、举报等功能。这些功能的实现涉及Java后端和SQL数据库的交互。例如,发帖功能需要在数据库中插入新的主题记录;搜索功能则需要对数据库中的内容进行查询...

    java网上商城开发实战

    2. 商品模块:商品分类、搜索、详情展示、评价、收藏等。商品信息存储在数据库中,通过MyBatis进行操作。 3. 购物车模块:用户可以添加商品到购物车,修改数量,合并或拆分订单。购物车数据通常会存在会话或Cookie...

    java面试笔记

    ### Java面试知识点详解 ...综上所述,这些知识点涵盖了Java开发中的重要方面,包括架构设计、Web开发技术、网络通信基础以及数据库操作等内容。对于准备Java面试的开发者来说,理解和掌握这些概念是非常重要的。

    Java项目之网上书店(源码 + 演示视频)

    网上书店项目中,JDBC用于连接数据库,执行SQL查询、插入、更新和删除操作,管理用户的订单、收藏、评论等数据。 4. **MVC设计模式**:MVC模式将应用分为模型(Model)、视图(View)和控制器(Controller)三个...

    MF00670-JAVA图书管理系统源码.zip

    此外,对Java集合框架(如List、Set、Map)的理解也至关重要,因为它们常用于数据存储和操作。 2. **MVC设计模式**:图书管理系统可能采用了Model-View-Controller(模型-视图-控制器)架构,这是一种常见的Web应用...

    基于Java实现的BBS论坛系统(jsp+sql)源码+数据库.zip

    在开发过程中,应使用预编译的SQL语句,对用户输入进行验证和过滤,以及对敏感信息进行加密。 8. **用户认证和授权**: 用户注册、登录、权限控制是论坛系统的重要组成部分。系统可能使用了某种身份验证机制,如哈希...

    java毕业设计之旅游网系统源码.zip

    这一部分需要处理用户信息的存储与检索,可以使用MySQL等关系型数据库,并利用Java的JDBC API或者ORM框架如Hibernate、MyBatis进行数据操作。此外,用户权限管理也是关键,通过角色-权限模型实现不同用户对系统资源...

    java简单论坛

    4. **Session和Cookie**:在用户登录和会话管理中,会使用到Session和Cookie来保持用户的登录状态和个性化设置。 5. **Spring框架**:虽然未明确提及,但为了实现更高效和松耦合的开发,通常会采用Spring框架来管理...

    jsp图片收藏夹

    【标题】:“jsp图片收藏夹”是一个基于JavaServer Pages(JSP)技术开发的用于存储和管理图片的应用程序。这个项目结合了SQL Server数据库来存储和检索图片信息,为用户提供了一个在线图片收藏和分享的平台。 ...

    基于Java的校园二手物品交易网站的设计与实现.docx

    用户-购物车:收藏关系(一对多);二手物品-订单:出售关系(一对一);二手物品-收货:到达关系(一对一);管理员-二手物品:管理关系(一对多);管理员-用户:管理关系(一对多)。数据库逻辑结构设计如下所示:...

    java论坛管理系统设计(源代码+论文).zip

    发帖和回帖涉及到数据的插入和更新,而搜索则需要对文本进行索引和查询优化。论坛还可能有权限管理,如管理员、普通用户等角色,不同的角色有不同的操作权限。 在前端界面设计上,HTML、CSS和JavaScript构成基础,...

    毕业设计-基于SSM与Java的电影网站的设计与实现.zip

    【标题】: "基于SSM与Java的电影网站...总结,这个毕业设计项目展示了如何使用Java和SSM框架构建一个完整的电影网站,涵盖了后端开发、数据库操作、Web交互等多个方面,对于学习和理解Java Web开发具有很高的实践价值。

Global site tag (gtag.js) - Google Analytics