`
linshihao
  • 浏览: 8026 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

java Cookie 获取历史记录列表

    博客分类:
  • java
阅读更多
/**
     * 获取Cookie里面的东西
     */
    protected List<String> getCookieList() {
        Cookie[] cookies = null;
        Cookie cookie = null;
        String cookieValue = null;
        String cookieName = null;
        cookies = request.getCookies();
        if(cookies==null){
            return null;
        }

        List<String> cookieList = new ArrayList<String>();
        for (int i = cookies.length - 1; i >= 0; i--) {
            cookie = cookies[i];
            try {
                cookieValue = URLDecoder.decode(cookie.getValue(),"UTF-8");
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            }
            cookieName = cookie.getName();
            int cookieNameIndex = 0;
            cookieNameIndex = cookieName.indexOf("search");
            if (cookieNameIndex != -1 && cookieValue!= null && StringUtils.isNotBlank(cookieValue)) {
                cookieList.add(cookieValue);
            }
        }
        //去重
        removeDuplicate(cookieList);
        //取记录
        List<String> searchList = new ArrayList<String>();
        int index = 0;
        for(int i=0;i< cookieList.size(); i++){
            if(index< Constants.COOKIES_NUM){
                searchList.add(cookieList.get(i));
            }
            index++;
        }
        return searchList;
    }
    //去重
    private static void removeDuplicate(List list) {
        for (int i = 0; i < list.size() - 1; i++) {
            for (int j = list.size() - 1; j > i; j--) {
                if (list.get(j).equals(list.get(i))) {
                    list.remove(j);
                }
            }
        }
    }
//设置
    protected void setCookie(String keyWord){
        try {
            //关键点
            keyWord = URLEncoder.encode(keyWord,"UTF-8");
        } catch (UnsupportedEncodingException e) { }
        Cookie cookie = new Cookie("search"+new Date().getTime(), keyWord);
        cookie.setPath("/");
        cookie.setMaxAge(60 * 60 * 24 * 365 * 1);
        response.addCookie(cookie);
    }
//删除
    protected void removeCookie(){
        Cookie[] cookies = request.getCookies();
        for (Cookie cookie:cookies){
            cookie.setMaxAge(0);
        }
    }


如果cookie 考虑前端被禁掉的话可以考虑参考这段代码
分享到:
评论

相关推荐

    Servlet实现历史记录功能(浏览记录)

    遍历这些Cookie,解析出URL,就可以构建历史记录列表。 4. **展示历史记录**:解析出的URL列表可以被用来渲染一个历史记录页面。Servlet会生成一个HTML页面,其中包含用户之前访问过的链接。这些链接可以按访问时间...

    jsp通过cookie实现网页记录

    2. **管理Cookie集合**:如果用户已经有一个历史记录的Cookie,我们需要将其值解析为URL列表,然后添加新的URL,防止重复并限制数量(例如,限制最近10个页面)。 ```java String history = historyCookie....

    cookie机制实现登陆、退出

    除了登录和退出,Cookie还可以用于其他场景,如实现购物车功能,记录用户的浏览历史,或者存储用户的偏好设置。不过需要注意的是,由于Cookie是存储在客户端的,因此敏感信息(如密码)不应直接存储在Cookie中,以免...

    Java Servlet及Cookie的使用.rar

    Java Servlet和Cookie是Web开发中的两个重要概念,它们在构建动态、交互式的Web应用程序中扮演着关键角色。本文将深入探讨这两个技术,并提供相关的实践应用示例。 **Java Servlet** Java Servlet是一种Java语言...

    JavaWeb 中Cookie实现记住密码的功能示例

    1. **跟踪用户行为**:Cookie帮助网站记录用户的访问频率、停留时间等,有助于分析用户行为和网站流量。 2. **个性化服务**:通过Cookie,网站可以提供定制化的用户体验,如根据用户喜好显示内容或推荐产品。 3. **...

    cookie实例

    2. **JavaCookie**:Java中处理Cookie的API,包括`HttpCookie`类,用于创建、修改和解析Cookie。 3. **本地储存**:Cookie是本地存储的一种形式,数据存储在用户的设备上。 4. **自动登录**:通过Cookie实现的自动...

    js做的cookie记忆功能

    3. **显示历史记录**:找到`searchHistory`后,我们可以将其值解码并展示在页面上,例如在下拉列表或输入框下方,供用户选择。这样,用户就可以快速访问他们之前输入的内容,而无需重新输入。 4. **处理AJAX提交**...

    Cookie的概述

    4. **读取Cookie**:服务器可以通过`request.getCookies()`获取所有发送过来的Cookie对象,并进行相应的处理。 #### 示例代码: **设置一个Cookie** ```java Cookie myCookie = new Cookie("color1", "red"); ...

    经典收藏Cookie和Session

    - **个性化推荐**:利用Cookie记录用户的浏览历史和喜好,为用户提供个性化的服务。 - **跨站会话管理**:利用Session来维持用户的会话状态,确保用户在不同页面间的操作能够保持一致性和连贯性。 #### 四、Cookie...

    Cookie简介及JSP处理Cookie的方法.pdf

    5. 提供个性化服务,如根据用户历史浏览记录推荐内容。 【JSP处理Cookie的方法】 在JSP中,我们可以利用Java Servlet API来创建、读取和修改Cookie。以下是创建和处理Cookie的基本步骤: 1. **创建Cookie** 使用...

    java购物车项目

    当用户返回时,通过读取Cookie中的历史记录,可以展示之前查看过的产品。需要注意的是,Cookie的存储空间有限,因此在实际应用中,可能需要对保存的浏览历史进行适当的限制或清理策略。 **3. 购物车功能实现** 在...

    jsp 通过cookie 记住用户名

    在该场景下,结合Cookie记住用户名的功能,可能意味着系统能够根据用户信息提供个性化的购物体验,如显示历史购买记录或推荐商品。 总之,通过JSP和Cookie,开发者可以实现网站对用户的记忆功能,提升用户体验。但...

    基于servlet的cookie简单用法

    当用户访问书籍详情页面时,我们将在服务器端创建一个新的Cookie记录用户的浏览历史: ```java // 假设request和response为Servlet的请求和响应对象 List&lt;String&gt; bookHistory = new ArrayList(); bookHistory.add...

    Java编写的网页浏览器

    此外,考虑到浏览器还需要处理URL的重定向、cookies管理、历史记录等功能,开发者需要理解`java.net.HttpCookie`和`java.util.ArrayList`等类的应用,以及如何存储和检索用户的浏览历史。 安全性是另一个关键点。...

    java 程序设计网页浏览器

    10. **历史记录与书签**:浏览器应保存用户的浏览历史,实现前进/后退功能。书签功能则需要持久化存储用户的收藏链接,可以使用数据库或文件系统实现。 以上是构建一个简易Java网页浏览器涉及的主要技术点,每个点...

    彩票手_JAVA应用

    这要求程序具有持久化存储功能,可能使用文件系统(如文本文件或XML文件)或者数据库(如SQLite、MySQL等)来保存用户的历史记录。JAVA提供了JDBC接口,可以方便地与各种数据库进行交互。 4. **用户管理模块**:...

    java编写浏览器接口

    7. **历史记录和书签**:为了实现浏览器的导航功能,需要存储用户的浏览历史和书签。这可以通过自定义的数据结构和持久化机制来实现,例如使用数据库或文件系统。 8. **多线程**:为了提高用户体验,浏览器通常会在...

    java后台http请求.rar

    GET请求通常用于获取资源,它将参数附加到URL上,限制了数据长度,并且请求信息会显示在浏览器的历史记录中,不适用于敏感信息的传递。POST请求则可以发送大量数据,常用于提交表单或上传文件,其参数不会显示在URL...

    java编写的类似于浏览器的代码

    7. **历史记录和书签**: 一个基本的浏览器应该具备保存用户浏览历史和书签的功能。这需要在Java中实现数据结构(如栈或链表)来存储URL,同时提供界面元素供用户查看和操作。 8. **URL导航和前进/后退**: 用户可以...

    JAVA 统计网站的访问量PV,UV

    PV表可以记录每个页面的浏览次数,而UV表则需要记录访客的唯一标识,如IP地址或者Cookie。 3. **Spring整合**:在Spring框架中,我们可以使用Spring的JdbcTemplate或者MyBatis等ORM工具来简化数据库操作。通过定义...

Global site tag (gtag.js) - Google Analytics