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

Servlet Cookie操作总结(转)

阅读更多

Cookie概述 
   Cookie是服务器发送给浏览器的体积很小的纯文本信息,用户以后访问同一个Web服务器时浏览器会把它们原样发送给服务器。通过让服务器读取它原先保存到客户端的信息,网站能够为浏览者提供一系列的方便,例如在线交易过程中标识用户身份、安全要求不高的场合避免用户重复输入名字和密码、门户网站的主页定制、有针对性地投放广告,等等。 
   
     Cookie的目的就是为用户带来方便,为网站带来增值。虽然有着许多误传,事实上Cookie并不会造成严重的安全威胁。Cookie永远不会以任何方式执行,因此也不会带来病毒或攻击你的系统。另外,由于浏览器一般只允许存放300个Cookie,每个站点最多存放20个Cookie,每个Cookie的大小限制为4 KB,因此Cookie不会塞满你的硬盘,更不会被用作“拒绝服务”攻击手段。 
   
Servlet的Cookie API 
    要把Cookie发送到客户端,Servlet先要调用new Cookie(name,value)用合适的名字和值创建一个或多个Cookie,通过cookie.setXXX设置各种属性,通过response.addCookie(cookie)把cookie加入应答头。 
   
     要从客户端读入Cookie,Servlet应该调用request.getCookies(),getCookies()方法返回一个Cookie对象的数组。在大多数情况下,你只需要用循环访问该数组的各个元素寻找指定名字的Cookie,然后对该Cookie调用getValue方法取得与指定名字关联的值。 
   
创建Cookie 
   
    调用Cookie对象的构造函数可以创建Cookie。Cookie对象的构造函数有两个字符串参数:Cookie名字和Cookie值。名字和值都不能包含空白字符以及下列字符: 
   [ ] ( ) = , " / ? @ : ; 
   

 读取和设置Cookie属性 
   
    把Cookie加入待发送的应答头之前,你可以查看或设置Cookie的各种属性。下面摘要介绍这些方法: 
   getComment/setComment 
  获取/设置Cookie的注释。 

  getDomain/setDomain 
  获取/设置Cookie适用的域。一般地,Cookie只返回给与发送它的服务器名字完全相同的服务器。使用这里的方法可以指示浏览器把Cookie返回给同一域内的其他服务器。注意域必须以点开始(例如.sitename.com),非国家类的域(如.com,.edu,.gov)必须包含两个点,国家类的域(如.com.cn,.edu.uk)必须包含三个点。 

  getMaxAge/setMaxAge 
  获取/设置Cookie过期之前的时间,以秒计。如果不设置该值,则Cookie只在当前会话内有效,即在用户关闭浏览器之前有效,而且这些Cookie不会保存到磁盘上。参见下面有关LongLivedCookie的说明。 
  getName/setName 
  获取/设置Cookie的名字。本质上,名字和值是我们始终关心的两个部分。由于HttpServletRequest的getCookies方法返回的是一个Cookie对象的数组,因此通常要用循环来访问这个数组查找特定名字,然后用getValue检查它的值。 

  getPath/setPath 
  获取/设置Cookie适用的路径。如果不指定路径,Cookie将返回给当前页面所在目录及其子目录下的所有页面。这里的方法可以用来设定一些更一般的条件。例如,someCookie.setPath("/"),此时服务器上的所有页面都可以接收到该Cookie。 

  getSecure/setSecure 
  获取/设置一个boolean值,该值表示是否Cookie只能通过加密的连接(即SSL)发送。 

  getValue/setValue 
  获取/设置Cookie的值。如前所述,名字和值实际上是我们始终关心的两个方面。不过也有一些例外情况,比如把名字作为逻辑标记(也就是说,如果名字存在,则表示true)。 

  getVersion/setVersion 
  获取/设置Cookie所遵从的协议版本。默认版本0(遵从原先的Netscape规范);版本1遵从RFC 2109 , 但尚未得到广泛的支持。

 

servlet操作cookie的几个实例

 import javax.servlet.http.Cookie;//导入cookie包
 Cookie c=new Cookie("name","hhh");//cookie值名对
  c.setMaxAge(60*60*24*365);//有效期一年
  c.setPath("/");           //路径
  c.setDomain("192.168.0.115");//域名
  response.addCookie(c);       //在本地硬盘上产生文件

//遍历cookie[]组,获取匹配值名对的cookie
public  String getCookieValue(Cookie[] cookies, String cookieName, String defaultValue) { 
      for(int i=0; i<cookies.length; i++) { 
      Cookie cookie = cookies[i]; 
      if (cookieName.equals(cookie.getName())) 
      return(cookie.getValue()); 
      } 
      return(defaultValue); 
      }
Cookie[] c=request.getCookies();//获取cookie[]组
        String coo=this.getCookieValue(c, "name", "nocoo");//获取cookie值

 
//删除指定值名对的cookie
Cookie c=new Cookie("name","hhh");
  c.setMaxAge(0);//另有效时间为0则系统会自动删除过期的cookie
  c.setPath("/");
  c.setDomain("192.168.0.115");
  response.addCookie(c);
 cookie使用就是这么简单。

分享到:
评论

相关推荐

    servlet中的Cookie的使用

    总结,本示例通过Servlet和Cookie展示了如何在Java Web应用中实现用户登录信息的持久化,以实现自动登录功能。同时,还涉及了数据库连接、JSP和Tomcat服务器的使用。在实际开发中,还需要考虑安全性、性能优化以及...

    Servlet基础知识总结

    ### Servlet基础知识总结 #### 一、Servlet简介 Servlet是一种服务器端的小程序,是Java平台上的一个重要的技术之一,主要用于处理客户端的HTTP请求并生成动态网页。Servlet是在服务器端运行的,能够提供各种服务...

    如何在servlet 中 删除 cookie

    总结来说,删除Cookie是通过创建一个具有相同名称但过期时间设置为零的新Cookie,然后将其添加到响应中来实现的。对于删除所有Cookie,你需要遍历并处理所有已知的Cookie。正确地管理和删除Cookie对于保持良好的用户...

    servlet+cookie和Session

    总结来说,Servlet是Web应用的基石,它结合HttpServletRequest和HttpServletResponse处理请求和响应,通过Cookie和Session管理会话,与JSP协同工作呈现动态内容。而Filter、文件上传和下载等特性则扩展了Servlet的...

    servlet利用cookie回话跟踪的工程

    **Servlet中的Cookie操作** 1. **设置Cookie**:在Servlet中,我们可以创建一个`Cookie`对象,设置其名称、值和其他属性(如最大存活时间),然后调用`response.addCookie(cookie)`将其添加到响应中,例如: ```java...

    Servlet状态管理总结和源码

    在Servlet中,我们可以使用`HttpSession`接口来操作Session。例如,创建Session、设置属性、获取属性和销毁Session: ```java // 创建Session HttpSession session = request.getSession(); // 设置属性 session....

    应用Servlet实现Cookie的读、写.doc

    通过上述分析,我们可以看到如何使用Servlet来实现Cookie的基本操作。具体来说,通过`RegistrationForm`类收集用户输入,利用`CookieUtilities`工具类读取已有的Cookie值,并通过`Dd`类创建新的Cookie并将它们添加到...

    servlet Cookie使用方法详解(六)

    * Session 跟踪:Cookie 可以用来跟踪用户的Session,以便记录用户的操作记录。 * 个性化设置:Cookie 可以用来保存用户的个性化设置,以便提供更好的用户体验。 Servlet Cookie 使用方法 下面是一个使用Servlet...

    servlet jsp总结

    ### Servlet与JSP知识点总结 #### 一、Servlet概述及基本使用 - **Servlet定义**:Servlet是一种服务器端的小程序,用于处理来自Web浏览器或其他HTTP客户端的请求,并返回响应。Servlet通常作为MVC架构模式中的...

    Servlet+JSP实现简单购物车

    总结,通过Servlet处理业务逻辑,JSP生成动态页面,结合Cookie在客户端存储状态,我们可以实现一个基本的购物车功能。在这个过程中,了解和掌握Servlet、JSP、JSTL以及Cookie的工作原理和使用方法是非常重要的。

    java cookie 例子

    总结一下,Java Servlet中的Cookie管理主要包括创建、设置属性(如有效期和路径)、读取、修改和删除。这个例子中的压缩包可能包含了一个简单的Java Servlet项目,演示了如何在服务器端和客户端之间使用Cookie进行...

    servlet简介(入门必备)

    2. Cookie操作:Servlet也可以利用`HttpServletResponse.addCookie()`发送Cookie,通过`HttpServletRequest.getCookies()`获取客户端的Cookie。 3. RequestDispatcher:`RequestDispatcher`用于转发请求或包含其他...

    cookie小实例(给初学的同学作参考)

    下面,我们将通过一个简单的Servlet示例来展示如何操作Cookie: ```java import javax.servlet.*; import javax.servlet.http.*; import java.io.IOException; public class CookieServlet extends HttpServlet { ...

    Servlet实现用户自动登陆

    总结来说,Servlet结合Cookie实现自动登录的关键在于正确处理用户的登录验证、Cookie的创建和读取,以及Session的状态管理。在实际开发中,还需要考虑安全性、性能优化等因素,以提供稳定且安全的用户体验。通过学习...

    servlet使用MVC设计模式实现cookie缓存和分页显示数据

    1. **模型(Model)**:在Servlet中,模型可以是数据库操作、业务对象或者服务接口。这部分代码负责获取、处理和存储数据。例如,可能有一个`UserDao`类用于从数据库获取用户信息。 2. **视图(View)**:视图通常由JSP...

    JS cookie Java cookie regex 整理结果

    Java Cookie则是在服务器端操作的,通常由Servlet或JSP来处理。服务器通过HttpServletResponse的`addCookie()`方法向客户端发送Cookie,如下所示: ```java Cookie cookie = new Cookie("username", "John Doe"); ...

    获得上次访问时间(cookie)

    本文将深入探讨如何使用Cookie来获取用户的上次访问时间,并讨论如何在Java Servlet环境中操作Cookie来删除访问时间记录。 **一、Cookie基本概念** Cookie是由服务器端发送到浏览器并存储在本地的一小块数据,它...

    Servlet+jsp.docx

    ### 六、总结 通过以上内容,我们可以看出Servlet是处理HTTP请求的核心组件,而JSP则是用来简化动态网页开发的技术。了解Servlet的生命周期、请求处理机制以及会话管理技术对于开发Web应用至关重要。同时,掌握JSP...

    JavaWeb的servlet学习的帮助文档

    总结,Servlet是Java Web开发的基础,它通过Servlet API与服务器进行交互,处理请求并返回响应。理解和熟练使用Servlet,可以构建出高效、动态的Web应用程序。J2EE 1.5和Java EE API的中英文对照版文档是学习Servlet...

    Cookie的使用方法 增删改查

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

Global site tag (gtag.js) - Google Analytics