`

Java中Cookie的使用

阅读更多
Java中Cookie的使用 
  
 
1、Cookie的来历与作用
Cookie是WEB服务器通过浏览器保存在WWW用户端硬盘上的一个文本文件,这个文本文件中包含了文本信息。

   文本信息的内容以“名/值”对(key/value)的形式进行存储。

   可以让WEB开发者通过程序读写这个文本文件。

   XP中保存Cookie的目录是“C://Documents and Settings\用户名\Cookies”

Cookie的作用

   解决浏览器用户与Web服务器之间无状态通信。

2、Cookie编程


//创建对象

        Date date = new Date() ;

        Cookie c = new Cookie("lastVisited",date.toString()) ;

//设定有效时间  以s为单位

        c.setMaxAge(60) ;

//设置Cookie路径和域名

        c.setPath("/") ;

        c.setDomain(".zl.org") ;  //域名要以“.”开头

//发送Cookie文件

        response.addCookie(c) ;

//读取Cookie

        Cookie cookies[] = request.getCookies() ;

        Cookie c1 = null ;

        if(cookies != null){

            for(int i=0;i<cookies.length;i++){

               c1 = cookies[i] ;

               out.println("cookie name : " + c1.getName() + "   ") ;

               out.println("cookie value :" + c1.getValue() + "<br>");

            }

        }

  //修改Cookie

       Cookie cookies[] = request.getCookies() ;

       Cookie c = null ;

       for(int i=0;i<cookies.length;i++){

           c = cookies[i] ;

           if(c.getName().equals("lastVisited")){

              c.setValue("2010-04-3-28") ;

              c.setMaxAge(60*60*12) ;

              response.addCookie(c) ;     //修改后,要更新到浏览器中     

           }

       }

 

//删除Cookie,(将Cookie的有效时间设为0)

       Cookie cookies[] = request.getCookies() ;

       Cookie c = null ;

       for(int i=0;i<cookies.length;i++){

           c = cookies[i] ;

           if(c.getName().equals("lastVisited")){

              c.setMaxAge(0);

              response.addCookie(c) ;

           }

       }

 




3、使用Cookie的注意事项
·Cookie的大小和数量是有限制的。

·Cookie在个人硬盘上所保存的文本信息是以明文格式进行保存的,没有任何的加密措施。

·浏览器用户可以设定不使用Cookie。

4、实例:Servlet中的Cookie编程

cookieInput.html页面
SetCookie.java
GetCookie.java


cookieInput.html页面中的参数提交到SetCookie.java中,由SetCookie.java保存在浏览器的Cookie中,在SetCookie.java中链接到GetCookie.java从而读取刚刚保存的Cookie。





SetCookie.java :
public void doPost(HttpServletRequest request, HttpServletResponse response)

            throws ServletException, IOException {

 

        response.setContentType("text/html;charset=utf-8");

        PrintWriter out = response.getWriter();

        String username = request.getParameter("username") ;

        //保存Cookie

        if(username !=""){

            Cookie c1 = new Cookie("username",username) ;

            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd") ;

            Cookie c2 = new Cookie("lastVisited",sdf.format(new java.util.Date())) ;

            c1.setMaxAge(60*60*60*12*30) ;

            c2.setMaxAge(60*60*60*12*30) ;

            response.addCookie(c1) ;

            response.addCookie(c2) ;

            out.println("Cookie保存成功!");

            out.println("<br><br>") ;

            out.println("<a href=GetCookie02>读取Cookie</a>") ;

        }else{

            response.sendRedirect("../cookieInput.html") ;

        }

        

        

        out.flush();

        out.close();

    }


GetCookie.java:
public void doPost(HttpServletRequest request, HttpServletResponse response)

            throws ServletException, IOException {

 

        response.setContentType("text/html;charset=utf-8");

        PrintWriter out = response.getWriter();

        out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");

        out.println("<HTML>");

        out.println("  <HEAD><TITLE>A Servlet</TITLE></HEAD>");

        out.println("  <BODY>");

        

        //读取Cookie

        Cookie cookies[] = request.getCookies() ;

        Cookie c = null ;

        if(cookies != null){

            for(int i=0;i<cookies.length;i++){

                c = cookies[i] ;

                if(c.getName().equals("username")){

                    out.println("用户名: "+c.getValue());

                    out.println("<br>");

                }

                if(c.getName().equals("lastVisited")){

                    out.println("上次登录的时间: "+c.getValue());

                }

            }

        }else{

            out.println("No cookie !");

        }

        

        out.println("  </BODY>");

        out.println("</HTML>");

        out.flush();

        out.close();

    }




分享到:
评论

相关推荐

    关于java应用cookie

    当客户端浏览器再次访问该网站时,会把Cookie信息一起发送到服务器端,这样服务器就可以根据Cookie中的信息进行个性化处理。 #### 二、Cookie的创建与使用 ##### 1. 创建Cookie对象 在Java中,创建Cookie非常简单...

    java 操作cookie

    在 Java 中建立 Cookie 非常简单,主要通过 HttpServletResponse 对象的 addCookie() 方法来实现。下面是一个简单的示例代码: ```java HttpServletResponse response; Cookie cookie = new Cookie("cookiename", ...

    Java 模拟cookie登陆简单操作示例

    我们可以使用 Java 语言来发送 HTTP 请求,并将 Cookie 信息写入到 HTTP 头部中,以便模拟用户的登陆行为。 Java 模拟 Cookie 登陆的实现 下面是一个简单的 Java 模拟 Cookie 登陆的示例代码: ```java import ...

    java中cookie的使用教程

    本文将深入讲解Java中Cookie的使用方法,包括创建、设置、读取和删除Cookie,以及其在Web应用程序中的作用。 1. **Cookie的基本概念** - **定义**:Cookie是服务器发送到用户浏览器并存储在本地的一小块数据,当...

    javacookie的使用

    1. **安全性**: 由于Cookie数据是存储在客户端的,因此需要注意保护敏感信息,避免将其存储在Cookie中。 2. **大小限制**: 浏览器对单个Cookie的大小有限制,通常不超过4KB。 3. **隐私问题**: 使用Cookie时应考虑...

    java对cookie的操作java对cookie的操作

    在Java中,我们可以使用HttpServletResponse的`addCookie()`方法来设置Cookie。首先创建一个Cookie对象,通过构造函数传入键值对,例如`new Cookie("key", "value")`。然后设置Cookie的存活时间,`setMaxAge()`方法...

    JAVA之cookie与session

    ### JAVA之cookie与session #### 一、Cookie与Session的概念 **Cookie** 与 **Session** 是两种在 Web 开发中用于跟踪用户会话的重要技术。它们的主要目标是在客户端和服务端之间保持状态。 - **Cookie** 机制...

    java中cookie,session,验证码的应用实例!

    在Java中,我们可以使用Apache Commons Codec库生成随机字符串,然后将其与图片一起发送给用户。用户输入的验证码与服务器端保存的验证码匹配,验证通过则允许执行操作: ```java // 生成验证码 Random random = ...

    JAVA中cookie用法

    #### 三、在JSP中使用Cookie 在Java Web应用中,特别是在JSP页面中,可以通过Java代码来创建和操作Cookie。下面介绍两种基本的操作:写入Cookie和读取Cookie。 1. **写入Cookie** ```java // 创建并设置Cookie ...

    java cookie 例子

    本示例将详细介绍如何在Java Servlet中使用Cookie。 首先,我们需要了解Cookie的基本概念。Cookie是由服务器发送到浏览器,并由浏览器存储的一小段文本信息。当浏览器发起新的请求时,它会自动将该域下的所有Cookie...

    discuz与java通过cookie共享登陆

    标题“Discuz与Java通过Cookie共享登录”涉及的是在Web开发中如何实现不同系统间用户登录状态的共享,特别是Discuz论坛系统与基于Java的应用之间的交互。Discuz是一款流行的开源社区论坛软件,而Java是一种广泛使用...

    Java Servlet及Cookie的使用

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

    JS cookie Java cookie regex 整理结果

    在实际应用中,JS和Java Cookie结合使用可以实现更高级的功能。例如,服务器通过Java Cookie设置会话ID,然后在客户端通过JS读取Cookie,实现页面之间的状态保持。同时,正则表达式可用于处理和解析这些Cookie,以...

    aaaaaa.zip_cookie_cookie java_java cookie

    在Java中,我们主要使用`javax.servlet.http.Cookie`类来创建、读取和修改Cookie。以下是一些关键方法: 1. **创建Cookie**:通过`new Cookie(String name, String value)`创建一个新的Cookie对象,其中name为...

    JAVA100例之实例81Cookie计数器

    在Java编程中,Cookie是一种非常重要的技术,它...这个实例简单直观,适合初学者理解Cookie的工作原理以及如何在Java Web应用中使用它们。通过不断实践和深入学习,开发者可以掌握更多关于Cookie和Web开发的高级技巧。

    java cookie 读写,记住密码 自动登录

    - **验证Token**:用户再次访问时,服务器读取Cookie中的Token,与数据库中的信息对比,验证通过则自动登录。 6. **注意事项** - 遵循最佳实践,限制Cookie的有效期,不要让其永久存在。 - 对于敏感信息,除了...

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

    在Java中,可以使用HttpURLConnection或HttpClient库来构建这样的请求。例如,使用HttpURLConnection: ```java URL url = new URL("登录接口URL"); HttpURLConnection conn = (HttpURLConnection) url.open...

    java访问.net webservice获取与设置cookie

    本篇文章将深入探讨如何使用Java访问.NET Web服务,并在过程中获取和设置Cookie,以便实现更高效、安全的会话管理。首先,让我们理解Web服务的基本概念。 Web服务是一种通过HTTP协议提供功能的方法,使得不同系统间...

    java web cookie 详解 java web cookie 详解

    java web cookie 详解

    JAVA操作COOKIE.docx

    在上面的代码中,我们使用 HttpServletRequest 对象的 getCookie() 方法获取当前路径和直接父路径的所有 Cookie 对象,然后遍历该数组,找到名为 "key" 的 Cookie 对象,并将其值修改为 "newValue"。 实现两个网站...

Global site tag (gtag.js) - Google Analytics