`
lgl669
  • 浏览: 173761 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

读写 cookie的两个方法

    博客分类:
  • java
阅读更多

 

public void writeCookie(String unitid,String time, String ip,String nickname, String context) {
        Cookie[] cookies = request.getCookies();
    /*    response.setHeader("Pragma", "no-cache");
        response.setHeader("Cache-Control", "no-cache");
        response.setDateHeader("Expires", 0);*/
        if (null != cookies && cookies.length != 0) {
            for (int i = 0; i < cookies.length; i++) {
                Cookie c = cookies[i];
                if (c.getName().equals("unitid_" + unitid)) {  //读取名字类似与unitid_1的cookie,后面的数字的记录的id,如果有取出来,在追加信息。
                    String value = java.net.URLDecoder.decode(c.getValue());//解码
                    String cookievalue = value + nickname + "*"+ time+"<time>"+ip+"<ip>"+ context
                            + "<end>";//取出原来cookie中的信息,在后面追加信息
                    Cookie cookie = new Cookie("unitid_" + unitid, URLEncoder
                            .encode(cookievalue));  //编码后添加都cookie
                    cookie.setMaxAge(60 * 60);
                    cookie.setPath("/");
                    response.addCookie(cookie);
                } else {//如果没有 直接存储
                    Cookie cookie = new Cookie("unitid_" + unitid, URLEncoder
                            .encode(nickname + "*"+ time+"<time>"+ip+"<ip>"+ context
                                    + "<end>"));
                    cookie.setMaxAge(60 * 60);
                    cookie.setPath("/");
                    response.addCookie(cookie);
                }
            }
        }
    }

 

 

//存到cookie中的信息没有编码前是这样的。例子  name*2009-06-23<time>268.253.56.3<ip>我是lgl<end>name*2009-06-23<time>268.253.56.3<ip>我是lgl<end>

思路是:首先用<end>分开存到数组中,从数组中循环 得到 name,time,和ip,并封装到comment类中。存到List中,用缓存request传递到页面显示。

 

public void readCookie(Integer unitid) {
        List<KangarooComment> cookielist= new ArrayList<KangarooComment>();
        Cookie[] cookies = request.getCookies();
        if (null != cookies && cookies.length != 0) {
            for (int i = 0; i < cookies.length; i++) {
                Cookie c = cookies[i];
                if (c.getName().equals("unitid_" + unitid)) {
                    String cookievalue = java.net.URLDecoder.decode(c.getValue());
                    String[] localmessage = cookievalue.split("<end>");
                    for (String str : localmessage) {
                        Comment comment=new Comment();
                        String localname = str.substring(0, str.indexOf("*"));
                        String time = str.substring(str.indexOf("*")+1,str.indexOf("<time>"));
                        String ip = str.substring(str.indexOf("<time>")+6,str.indexOf("<ip>"));
                        String messages=str.substring(str.indexOf("<ip>")+4,str.length());
                        comment.setNickname(localname);
                        comment.setCommenttime(new Date(Date.parse(time)));
                        comment.setIp(ip);
                        comment.setContext(messages);
                        cookielist.add(comment);
                    }
                }
            }
            request.setAttribute("cookielist", cookielist);
        } else {
            request.setAttribute("cookielist", null);
        }
    }

1
0
分享到:
评论

相关推荐

    C#.net与vb.net中读写Cookie的方法

    总之,在C#.net和vb.net中,处理Cookie的基本方法相似,主要是通过`Response.Cookies`和`Request.Cookies`集合来创建、读取和管理Cookie。使用HttpCookie对象可以更灵活地控制Cookie的属性,如值、过期时间和域等。...

    android读写cookie的方法示例

    本文介绍了 Android 读写 Cookie 的方法示例,包括读取 Cookie 和写入 Cookie 两部分。读取 Cookie 使用 DefaultHttpClient 和 HttpGet 请求来实现,而写入 Cookie 使用 SQLiteDatabase 对象来实现。最后,本文还...

    ASP.NET中cookie读写方法介绍

    这里创建了一个名为"userInfo"的Cookie,并设置了两个子项("userName"和"lastVisit"),每个子项都有自己的值。 ##### 2. 使用HttpCookie对象 ```csharp HttpCookie aCookie = new HttpCookie("userInfo"); a...

    Android下登录Demo(使用了读写Cookie操作)

    - 创建一个网络请求工具类,封装HttpURLConnection或OkHttp的请求过程,处理Cookie的读写。 - 编写登录接口,发送登录请求并处理响应,保存Cookie。 - 编写列表接口,读取本地Cookie并添加到请求头,发送请求并处理...

    Flex 与javascript交互、C#读写Cookie

    以下将详细阐述这两个主题。 首先,让我们关注Flex与JavaScript的交互。Flex是一种基于Adobe Flash Player运行时的开源框架,用于创建具有丰富用户体验的Web应用程序。它主要使用ActionScript编程语言。然而,由于...

    用js读写cookie的简单方法(推荐)

    设置Cookie的函数`SetCookie`接受两个参数:`name`(Cookie的名称)和`value`(要存储的数据)。在这个例子中,`Days`变量定义了Cookie的生命周期,默认为30天。`exp`变量是设置过期日期的Date对象,通过`setTime()`...

    C# javascript 读写Cookie的方法

    这里创建了两个`HttpCookie`实例,分别设置了它们的值、路径和有效期,最后通过`Response.Cookies.Add()`方法将它们添加到HTTP响应中,从而发送给客户端。 在JavaScript中,读写Cookie主要通过`document.cookie`...

    js读写cookie实现一个底部广告浮层效果的两种方法

    本文将探讨如何使用JS读写Cookie来实现在页面底部创建一个可关闭的广告浮层效果。 首先,我们需要理解Cookie的基本概念。Cookie是服务器发送到用户浏览器并存储在本地的一小段文本数据,用于跟踪用户状态、保持登录...

    jquery.cookie.js 以及用法 cookie读取与存储

    创建Cookie非常简单,只需调用`$.cookie()`函数,并传入两个参数:Cookie的名称和值。 ```javascript $.cookie('myCookie', 'Hello, World!'); ``` ### 3. 读取Cookie 读取Cookie同样使用`$.cookie()`函数,但...

    C#提取Chrome浏览器Cookie值源码

    在提供的压缩包文件中,有两个关键文件: 1. `ChromeCookieReader.cs`: 这是主要的源代码文件,实现了读取和解密Cookie的逻辑。它可能包含了对Chrome的`Cookies.txt`或`Web Data`数据库的解析,以及使用Chrome的解密...

    js读写(删除)Cookie实例详解

    最后,`GetCookieVal`和`SetCookie`是两个额外的辅助函数。`GetCookieVal`函数用于从document.cookie字符串中提取并解码特定名称的Cookie值,它需要一个偏移量来开始搜索。而`SetCookie`函数则更像一个通用版本的`...

    IIS环境下和阿帕奇环境下 js的Cookie使用方法

    为了保护用户隐私和防止跨站脚本攻击(XSS),现代浏览器限制了JavaScript对Cookie的操作,如同源策略限制了跨域读写Cookie。此外,HTTPOnly标记可以防止JavaScript通过`document.cookie`接口访问Cookie,以此减少XSS...

    angular中的cookie读写方法

    这个模块是Angular核心库的扩展,它提供了两个服务,分别是`$cookies`和`$cookieStore`,来方便开发者进行Cookie的读写操作。 首先,要在项目中使用ngCookies模块,需要引入对应的JavaScript文件,通常是`angular-...

    cookie机制

    在JavaScript中,通过`document.cookie`属性可以读写Cookie,但通常不推荐直接操作,因为属性值需要正确的编码和解码。 ### 注意事项 虽然Cookie提供了一种方便的方式来跟踪和识别用户,但过度依赖Cookie可能会...

    利用cookie实现asp.net(c#)验证码

    6. **安全考虑**:虽然MD5哈希提供了一定的保护,但需要注意的是,MD5已知存在碰撞攻击的风险,即两个不同的输入可能会得到相同的哈希值。因此,在实际应用中,可以考虑使用更安全的哈希算法,如SHA-256。 7. **...

    jquery通过cookie和localStorage实现前端数据交互源码.rar

    jQuery提供了方便的`$.cookie()`方法来读写Cookie。例如,设置一个名为"user.preference"的Cookie: ```javascript $.cookie('user.preference', 'dark_mode', { expires: 7 }); // 有效期为7天 ``` 读取Cookie: ...

Global site tag (gtag.js) - Google Analytics