`
elvishehai
  • 浏览: 75339 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Java实现对cookie的操作(增删改查)

    博客分类:
  • java
阅读更多
/** 
         * 读取所有cookie 
         * 注意二、从客户端读取Cookie时,包括maxAge在内的其他属性都是不可读的,也不会被提交。浏览器提交Cookie时只会提交name与value属性。maxAge属性只被浏览器用来判断Cookie是否过期 
         * @param request 
         * @param response 
         */
        @RequestMapping("/showCookies") 
        public void showCookies(HttpServletRequest request,HttpServletResponse response ){ 
              
            Cookie[] cookies = request.getCookies();//这样便可以获取一个cookie数组             if (null==cookies) { 
                System.out.println("没有cookie========="); 
            } else { 
                for(Cookie cookie : cookies){ 
                    System.out.println("name:"+cookie.getName()+",value:"+ cookie.getValue()); 
                } 
            } 
              
        } 
        /** 
         * 添加cookie 
         * @param response 
         * @param name 
         * @param value 
         */
        @RequestMapping("/addCookie") 
        public void addCookie(HttpServletResponse response,String name,String value){ 
            Cookie cookie = new Cookie(name.trim(), value.trim()); 
            cookie.setMaxAge(30 * 60);// 设置为30min             cookie.setPath("/"); 
            System.out.println("已添加==============="); 
            response.addCookie(cookie); 
        } 
        /** 
         * 修改cookie 
         * @param request 
         * @param response 
         * @param name 
         * @param value 
         * 注意一、修改、删除Cookie时,新建的Cookie除value、maxAge之外的所有属性,例如name、path、domain等,都要与原Cookie完全一样。否则,浏览器将视为两个不同的Cookie不予覆盖,导致修改、删除失败。 
         */
        @RequestMapping("/editCookie") 
        public void editCookie(HttpServletRequest request,HttpServletResponse response,String name,String value){ 
            Cookie[] cookies = request.getCookies(); 
            if (null==cookies) { 
                System.out.println("没有cookie=============="); 
            } else { 
                for(Cookie cookie : cookies){ 
                    if(cookie.getName().equals(name)){ 
                        System.out.println("原值为:"+cookie.getValue()); 
                        cookie.setValue(value); 
                        cookie.setPath("/"); 
                        cookie.setMaxAge(30 * 60);// 设置为30min                         System.out.println("被修改的cookie名字为:"+cookie.getName()+",新值为:"+cookie.getValue()); 
                        response.addCookie(cookie); 
                        break; 
                    } 
                } 
            } 
              
        } 
        /** 
         * 删除cookie 
         * @param request 
         * @param response 
         * @param name 
         */
        @RequestMapping("/delCookie") 
        public void delCookie(HttpServletRequest request,HttpServletResponse response,String name){ 
            Cookie[] cookies = request.getCookies(); 
            if (null==cookies) { 
                System.out.println("没有cookie=============="); 
            } else { 
                for(Cookie cookie : cookies){ 
                    if(cookie.getName().equals(name)){ 
                        cookie.setValue(null); 
                        cookie.setMaxAge(0);// 立即销毁cookie                         cookie.setPath("/"); 
                        System.out.println("被删除的cookie名字为:"+cookie.getName()); 
                        response.addCookie(cookie); 
                        break; 
                    } 
                } 
            } 
        }


2、通常开发时先用以下的代码将获取的cookie进行封装
/** 
     * 根据名字获取cookie 
     * @param request 
     * @param name cookie名字 
     * @return 
     */
    public  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  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; 
    }
分享到:
评论

相关推荐

    SSH框架实例(注册、登录+增删改查+分页)

    这个实例提供了一个全面的功能,包括用户注册、登录、数据操作(增删改查)以及分页功能,非常适合初学者进行学习和实践。 **Struts2** 是一个基于MVC(Model-View-Controller)设计模式的Web应用框架,负责处理...

    简单的登录页面,实现增删改查(运用jsp/servlet和mysql数据库)

    在IT行业中,构建一个简单的登录页面并实现增删改查功能是常见的Web开发任务,尤其在初学者和小型项目中非常普遍。这个项目利用了JavaServer Pages (JSP)、Servlet以及MySQL数据库来完成。接下来,我们将深入探讨...

    基于servlet和JSP的Java技术实现增删改查

    本项目以"基于servlet和JSP的Java技术实现增删改查"为主题,旨在教你如何利用这两种技术来构建一个基本的数据操作应用。下面将详细阐述相关知识点。 1. **Servlet**:Servlet是Java编写的服务器端程序,主要功能是...

    struts2(包括增删改查的实现,及登录实现。jdbc连接。适合struts2初学者)

    这个压缩包文件“StrutsTest”包含了学习Struts2基础功能的实例,特别是对于初学者来说,它提供了增删改查(CRUD)操作以及用户登录功能的实现,同时还涉及了使用JDBC进行数据库连接。 增删改查(CRUD)是任何数据...

    黑马旧版JavaWeb品牌数据增删改查

    在JavaWeb开发中,"黑马旧版JavaWeb品牌数据增删改查"是一个常见的实践环节,它涵盖了数据库操作的核心概念和技巧。这个主题主要是教授如何使用Java编程语言和相关的Web框架来实现对品牌数据的添加(Add)、删除...

    SpringBoot实现cookie的增删改查代码实例

    通过本实例您可以快速掌握对cookie的增删改查的编程能力,下载后根据readme.md内容即可运行体验。 实例环境说明: java 11版本 maven 3.6.3版本 运行方式 1.使用idea打开,并执行mvn install的项目构建,并在完成...

    Cookie的使用方法 增删改查

    在`cookieShopCar`项目中,`CookieUtil`类可能包含了上述的Cookie操作方法,例如`addCookie`, `getCookie`, `updateCookie` 和 `deleteCookie`,封装了对Cookie的增删改查操作。`shopCarServlet`类可能是处理购物车...

    最简单的bootstarp增删改查加登录注册

    3. **增删改查(CRUD)功能**:CRUD代表Create(创建)、Read(读取)、Update(更新)和Delete(删除),是数据库操作的基本动作。在这个项目中,可能通过HTML表单与后端交互,实现对数据的这些基本操作。 4. **...

    ssh简单实现用户增删改查+登录模块+用户权限模块

    在“用户增删改查”部分,我们需要创建User实体类,定义其属性如用户名、密码、邮箱等,并实现对应的getter和setter方法。接着,在Hibernate配置文件中,为User实体映射数据库表,编写HQL(Hibernate Query Language...

    JspWeb网站增删改查

    Jsp网站之数据库的增删改查,分页布局,登录验证(Cookie),照片(Blob)输入输出。

    Servlet(增删改查)模拟网络通讯录

    在这个"Servlet(增删改查)模拟网络通讯录"项目中,我们将探讨如何利用Servlet实现一个基本的网络通讯录应用,涵盖用户对联系人的增加、删除、修改和查询操作。 首先,我们需要了解Servlet的生命周期,它包括加载、...

    Java 对 Cookie增删改查的实现示例

    Java 对 Cookie增删改查的实现示例 Java 对 Cookie 的增删改查是 Web 开发中一个常见的需求, Cookie 是一种小型文本文件, Web 服务器通过 HTTP 协议将其发送给浏览器,浏览器然后将其存储在用户的计算机上,下次...

    使用Servlet写的增删改查项目

    3. **增删改查操作**:在项目中,Servlet用于实现数据库中的基本操作,如添加(Create)、读取(Read)、更新(Update)和删除(Delete)。这通常涉及到与数据库的交互,例如使用JDBC(Java Database Connectivity)...

    jsp+mysql实现注册登录和管理员登陆实现增,删,改,查数据功能

    一旦验证成功,管理员可以执行增删改查操作,比如添加新用户、删除用户、修改用户信息,或者查询数据库中的所有用户信息。这些操作通常需要在JSP页面上创建对应的表单,然后通过Servlet或JSP的后台逻辑来执行SQL命令...

    jsp页面,连接数据库实现增删改查

    本主题聚焦于使用JSP来设计用户注册与登录功能,并通过连接数据库实现数据的增删改查操作,这在Web应用开发中是非常基础且重要的环节。 首先,我们要理解JSP的工作原理。JSP是一种服务器端的技术,它将HTML代码、...

    jsp-cookie-session-crud 使用 JSP 实现cookie session验证及增删改查

    在本文中,我们将深入探讨如何使用JSP(JavaServer Pages)技术实现基于cookie和session的用户验证,并且结合CRUD(Create、Read、Update、Delete)操作进行详细讲解。首先,我们来理解JSP、cookie和session的基本...

    java web增删查改简单例子

    综上所述,"java web增删查改简单例子"是一个基于MVC模式,利用JSP作为视图,通过DAO与数据库交互,实现用户对Web应用中数据的基本操作的实例。通过学习这个例子,可以更好地理解Java Web开发中的基本流程和关键组件...

    javaWeb-student.rar_javaWeb-student_javaweb_javaweb增删改查_javaweb的

    在这个名为"javaWeb-student.rar"的压缩包中,包含了一个名为"javaWeb-student"的项目,它是一个学生成绩管理系统的实现,主要功能是进行学生数据的增删改查以及用户登录。下面我们将深入探讨这个系统涉及的关键知识...

    jsp.rar_jsp 增删 改查_管理员用户jsp

    【标题】"jsp.rar_jsp 增删 改查_管理员用户jsp"是一个关于使用JSP(JavaServer Pages)技术实现的Web应用程序,它具备对数据库的基本操作能力,包括添加(Add)、删除(Delete)、修改(Update)和查询(Query)。...

Global site tag (gtag.js) - Google Analytics