`

java 浏览器关闭 代码中有清本地cookie的语句,但是也不起作用

阅读更多

//操作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);
    }
   
    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;
        }  
    }
    
    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,一个是清除cookie

看下页面变化:

设置cookie:

Cookie cookieTest = getCookieByName(request, "test");
        if(cookieTest == null) {
            String uuid = UUID.randomUUID().toString().replace("-", "");
            addCookie(response, "test", uuid, 360000);
        }

这个方法执行后,cookie key为 test,可以从前台获取到。

 

然后点击页面按钮,调用下个方法,清除cookie,清除前先执行一段时间吧。

 for(int i=0;i<1000000;i++) {
            System.out.println("i="+i);
        }
        Cookie cookieTest = getCookieByName(request, "test");
        cookieDid.setMaxAge(0);
        cookieDid.setPath("/");
        response.addCookie(cookieTest );

 

首先在不关闭浏览器的情况下,清除方法执行之后,发现cookie确实被清掉了,没有问题

但是另一种情况,在执行循环的过程中关闭掉浏览器,断点跟踪,实际上后台代码确实是执行了,但是重新进入发现cookie其实是没有清掉,跟上次生成的那个是一样的。

 

目前执行效果是这样,但是具体原因还是不是太清楚,猜测是因为cookie是通过HttpServletResponse 操作的,关闭页面,虽然执行了代码,但是可能由于浏览器关闭对cookie的操作就失效了吧。

 

分享到:
评论

相关推荐

    java 程序设计网页浏览器

    在Java程序设计中,创建一个网页浏览器涉及到许多关键知识点,包括网络编程、GUI设计、解析HTML等。以下是对这些主题的详细阐述: 1. **Java网络编程**:Java提供了丰富的API来处理网络通信,如`java.net`包下的...

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

    在这个特定的场景中,爬虫需要处理登录过程,以便能够携带有效的COOKIE信息来访问受保护的网页,如题库数据。下面,我们将深入探讨如何实现这个功能,以及与MySQL数据库的结合。 首先,登录网站时通常需要发送一个...

    java jsp sql cookie

    Java JSP、SQL和Cookie是Web开发中的三个关键概念,对于初学者来说,理解并掌握它们是构建动态网站的基础。 **Java JSP(JavaServer Pages)** Java JSP是一种服务器端脚本语言,用于创建动态网页。JSP将HTML代码与...

    Java Web基础登陆注册代码

    Session在客户端由一个唯一的Session ID标识,通过Cookie在浏览器端保存。 - 之后的每次请求,客户端都会携带Session ID,服务器据此判断用户是否已登录。 5. **安全性**: - 密码处理:为了保护用户信息安全,...

    JAVA WEB 选课系统源代码

    【JAVA WEB 选课系统源代码】是一个典型的Java Web应用程序示例,对于初学者和有经验的开发者来说,都是一个宝贵的资源。这个项目的核心是利用Java语言和Web技术来构建一个能够实现学生选课功能的系统。下面我们将...

    java版学生信息管理系统源代码 登陆模块

    9. **登录状态保持**:可以使用cookie或者session来保持用户的登录状态,当用户关闭浏览器后,可以根据需要决定是否持久化登录状态。 10. **登录认证机制**:除了简单的用户名和密码验证,还可以实现更高级的认证...

    java jdk实列宝典 光盘源代码

    java为数据结构中的映射定义一个接口java.util.Map,有四个实现类HashMap Hashtable LinkedHashMap TreeMap用法和区别;对Map排序; 5字符串 使用String;判断一个字符串是否是合法的java标识符;使用StringBuffer;...

    java图书查询系统

    Java图书查询系统是一种基于Java编程语言开发的信息管理系统,主要用于图书馆的图书信息检索、借阅管理以及相关业务处理。系统的核心功能包括图书数据管理、用户管理、借阅与归还操作等,旨在提高图书馆的工作效率和...

    网络爬虫源代码Java版本

    网络爬虫,也被称为网页蜘蛛或自动索引器,是一种自动化程序,用于遍历互联网上的网页,抓取其中的信息,并可以按照预设规则进行存储和分析。在Java中实现网络爬虫,通常会涉及到以下几个核心知识点: 1. **HTTP...

    JAVA JSP学校学生考勤管理系统 源代码

    **JAVA JSP学校学生考勤管理系统源代码详解** 在当今教育信息化进程中,高效的学生考勤管理系统扮演着至关重要的角色。本系统以JAVA JSP技术为核心,结合SQLSERVER数据库,为学校提供了一套全面、易用的考勤管理...

    Java微博系统(Java源码,servlet+jsp+数据库脚本+文档).zip

    【Java微博系统】是一个基于Java...通过深入研究这个项目,开发者可以提升对Java Web开发的理解,学习到实际项目中的最佳实践,对于想要从事社交网络开发或者Java后端开发的人员来说,这是一个非常有价值的参考资源。

    JAVA中JSP常用代码

    ### JAVA中JSP常用代码详解 #### 一、页面重定向与状态码设置 在Java Web开发中,经常需要对用户请求进行重定向或者设置HTTP响应的状态码来告知客户端当前请求的结果。以下介绍两种常见的场景及其实现方式: 1. *...

    jsp与Cookie

    如果设置为负值,Cookie将在浏览器关闭时删除。 - `getPath()`:设定Cookie的作用路径。默认情况下,Cookie适用于当前目录及其子目录,可通过`setPath()`指定。 - `setSecure(boolean flag)`:如果设置为true,表示...

    Java-Web开发基础题库课后练习题答案章节测试题1-7章全.docx

    解释:HTML 注释是指在 HTML 代码中使用的注释语句,用于解释代码的作用。JSP 中的 HTML 注释特点是发布网页时看不到,在源文件中能看到。 2. 下面哪项不是 Form 的元素?表格(table)。 解释:Form 表单元素包括 ...

    Java EE wed 简单的购物车应用开发

    在Java EE Web开发中,构建一个简单的购物车应用是一个经典的实战项目,它涵盖了Web开发中的多个核心概念和技术。本案例中,我们主要关注Cookie技术的使用以及与数据库的交互,这是构建任何电子商务平台的基础。 ...

    java试题库软件系统

    在这个系统中,JSP(JavaServer Pages)发挥着核心作用,它是一种动态网页技术,允许开发者在HTML中嵌入Java代码,实现了服务器端的动态内容生成。 在构建这个系统时,首先会涉及到前端页面的设计,通常会使用HTML...

    JAVA聊天系统。。有注释有文档

    Java中的JDBC(Java Database Connectivity)是连接数据库的标准接口,开发者可以通过它来执行SQL语句,完成数据的增删改查操作。 6. **JSON或XML数据交换格式**:在服务器与客户端之间传输数据时,可能会使用JSON...

    java必备知识点大全.pdf

    Java必备知识点大全的内容非常丰富,涵盖了Java语言的基础知识、常用的框架以及数据库的应用等方面,是每一个Java开发者学习和面试时的重要参考。下面是对文档中各个知识点的详细解析。 基础篇: JDK常用的包:Java...

Global site tag (gtag.js) - Google Analytics