`
pavel
  • 浏览: 930507 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JSP中的COOKIE操作

    博客分类:
  • jsp
阅读更多

Cookie概念:
    Cookie的格式实际上是一段纯文本信息, 由服务器随着网页一起发送到客户端, 并保存在客户端硬盘中指定的目录的. 大家都传说Cookie会造成严重的安全威胁什么的, 其实不是这么回事情. 服务器读取Cookie的时候, 只能够读取到这个服务器相关的信息. 而且, 浏览器一般只允许存放300个Cookie, 每个站点最多存放20个, 而且, 每个Cookie的大小现在在4K, 根本不会占用多少空间. 并且, Cookie是有时效性质的. 例如, 设置了Cookie的存活时间为1分钟, 则一分钟后这个Cookie就会被浏览器删除

Cookie版本:
    目前有两个版本:
    版本0 : 由Netscape公司制定的,也被几乎所有的浏览器支持. Java中为了保持兼容性, 目前只支持到版本0, Cookie的内容中不能空格,方括号,圆括号,等于号(=),逗号,双引号,斜杠,问号,@符号,冒号,分号。
    版本1 : 根据RFC 2109文档制定的. 放宽了很多限制. 上面所限制的字符都可以使用. 但为了保持兼容性, 应该尽量避免使用这些特殊字符.

JSP中对Cookie的操作: 类型 方法名 方法解释
String getComment() 返回cookie中注释,如果没有注释的话将返回空值.
String getDomain() 返回cookie中Cookie适用的域名. 使用getDomain() 方法可以指示浏览器把Cookie返回给同 一域内的其他服务器,而通常Cookie只返回给与发送它的服务器名字完全相同的服务器。注意域名必须以点开始
int getMaxAge() 返回Cookie过期之前的最大时间,以秒计算。
String getName() 返回Cookie的名字
String getPath() 返回Cookie适用的路径。如果不指定路径,Cookie将返回给当前页面所在目录及其子目录下 的所有页面。
boolean getSecure() 如果浏览器通过安全协议发送cookies将返回true值,如果浏览器使用标准协议则返回false值。
String getValue() 返回Cookie的值。笔者也将在后面详细介绍getValue/setValue。
int getVersion() 返回Cookie所遵从的协议版本。
void setComment(String purpose) 设置cookie中注释
void setDomain(String pattern) 设置cookie中Cookie适用的域名  
void setMaxAge(int expiry) 以秒计算,设置Cookie过期时间。
void setPath(String uri) 指定Cookie适用的路径。
void setSecure(boolean flag) 指出浏览器使用的安全协议,例如HTTPS或SSL。
void setValue(String newValue) cookie创建后设置一个新的值。
void setVersion(int v) 设置Cookie所遵从的协议版本

一个简单的例子
1. 写入Cookie --- writecookie.jsp
-------------------------------------------------------------
<%@ page contentType="text/html; charset=ISO8859_1" %>
<%
  Cookie _cookie=new Cookie("user_delfancom", "delfan");
  _cookie.setMaxAge(30*60); // 设置Cookie的存活时间为30分钟
  response.addCookie(_cookie); // 写入客户端硬盘
  out.print("写Cookie完成");
%>

2. 读取Cookie.jsp --- readcookie.jsp
-------------------------------------------------------------
<%
  Cookie cookies[]=request.getCookies(); // 将适用目录下所有Cookie读入并存入cookies数组中
  Cookie sCookie=null;
  String sname=null;
  String name=null;
  if(cookies==null) // 如果没有任何cookie
    out.print("none any cookie");
  else
  {
    out.print(cookies.length + "<br>");
    for(int i=0;i<cookies.length; i++) // 循环列出所有可用的Cookie
    {
      sCookie=cookies[i];
      sname=sCookie.getName();
      name = sCookie.getValue();
      out.println(sname + "->" + name + "<br>");
    }
  }
%>

需要注意的两个问题:
1. Cookie有个适用路径的问题, 就是说如果 writecookie.jsp和readcookie.jsp要放在同一目录下, 如果不在同一目录下, 则写的时候需要设置路径,为readcookie.jsp所在的路径.
2. 读入Cookie数组的时候需要判断是否为空(null), 网上很多代码都没有写出这一点.

分享到:
评论

相关推荐

    jsp中cookie操作

    ### JSP中的Cookie操作 在Web开发中,Cookie是一种常用的技术,用于跟踪用户的状态和偏好设置。通过在用户的浏览器上存储小型文本文件,网站能够识别并记住特定的用户信息。在JSP(JavaServer Pages)中,Cookie的...

    jsp操作cookie实例

    在Java Server Pages(JSP)中,我们可以通过内置的HttpServletResponse和HttpServletRequest对象来实现对Cookie的操作。本实例将详细介绍如何在JSP中创建、读取、更新和删除Cookie。 ### 一、创建Cookie 创建...

    jsp的Cookie讲解与例子

    **JSP(JavaServer Pages)**是Java平台上的一种动态网页技术,它允许开发...通过学习和实践这个"Cookie讲解与例子",你可以深入了解JSP中的Cookie操作,并将其应用于实际的Web开发项目中,提升用户体验和应用功能。

    JSP处理Cookie的方法详解.txt

    通过以上详细的介绍,我们可以看到,JSP中的Cookie处理涉及到一系列的API调用和属性设置,这为开发者提供了强大的功能,可以有效地管理和跟踪用户信息,实现个性化服务和会话管理。然而,正确地使用和配置Cookie对于...

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

    在JSP(JavaServer Pages)中,我们可以方便地操作Cookie。创建一个新的Cookie对象,你可以使用以下代码: ```java Cookie cookie_name = new Cookie("Parameter", "Value"); ``` 这里的"Parameter"是Cookie的名称...

    用jsp实现cookie登录验证

    在本文中,我们将深入探讨如何使用Java Server Pages (JSP) 实现基于Cookie的自动登录功能。这个过程涉及用户身份的持久化存储,以便在用户下次访问网站时能够自动识别和登录。首先,我们需要理解Cookie的基本概念...

    jsp 通过cookie 记住用户名

    在JSP(JavaServer Pages)中,我们可以通过以下步骤来实现通过Cookie记住用户名: 1. **设置Cookie**:当用户成功登录后,我们可以创建一个Cookie对象,将其键值对设置为用户名,例如: ```java Cookie cookie =...

    jsp-cookie-session-crud 使用 JSP 实现cookie session验证及增删改查

    在本文中,我们将深入探讨如何使用JSP(JavaServer Pages)技术实现基于cookie和session的用户验证,并且结合CRUD(Create、Read、Update、Delete)操作进行详细讲解。首先,我们来理解JSP、cookie和session的基本...

    java jsp sql cookie

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

    jsp通过cookie实现网页记录

    6. **读取和显示历史记录**:当用户返回网站时,JSP可以从Cookie中读取历史记录,并在适当的地方显示,例如在一个下拉菜单或侧边栏中。 ```java String history = request.getParameter("history"); List&lt;String&gt; ...

    JSP中cookie的使用方法(用户登入,客户端读取及发送)[收集].pdf

    在 JSP 中,使用 Cookie 记录访问数可以分为三步:用户第一次访问网页时的操作、用户非第一次访问网页时的操作和完整的使用 Cookie 对象获取客户端 Cookie 数据。 首先,用户第一次访问网页时,需要创建一个 Cookie...

    jsp源码实例.rar_cookie_javascript cookie_jsp 实例_jsp 搜索_jsp 表单

    4. **Cookie操作**: "jsp源码实例4(cookie).txt"是关于cookie管理的实例。Cookie是服务器在客户端存储小量信息的一种机制,通常用于记录用户的登录状态、个性化设置等。这个实例可能包括创建、读取和删除cookie的...

    JSP_Cookie的使用

    然后,在页面中读取所有Cookie,并打印出每个Cookie的名称和值,实现了对Cookie的基本操作。 通过以上讲解,我们可以看到,Cookie在JSP中的应用十分广泛,它不仅能够帮助开发者实现状态管理和用户个性化设置,还能...

    基于JSP动态登陆,注册的网站 cookie统计信息

    在登录系统中,Cookie常用来保存用户的登录状态,当用户关闭浏览器后再打开,可以通过Cookie中的信息自动登录,提升用户体验。Cookie有生命周期,过期后将被浏览器自动删除。 **Session** Session是服务器端保存...

    java jsp Cookie学习资料

    ### Java JSP Cookie 学习...通过本文的学习,我们了解到 Cookie 是如何在客户端存储信息的,以及如何在 Java JSP 应用中创建和操作 Cookie。掌握这些知识有助于开发者更好地管理用户的会话状态,实现用户认证等功能。

    jsp与Cookie

    二、JSP中的Cookie操作 在JSP中,我们可以利用Cookie对象来创建和管理Cookie。创建一个新的Cookie实例,通常使用以下语句: ```java Cookie cookie_name = new Cookie("Parameter", "Value"); ``` 例如,创建一个...

    我用cookie写的购物车实例

    在购物车实例中,JSP可能会包含处理用户请求、与数据库交互以及更新和读取Cookie的逻辑。 3. **Servlet基础**:虽然未直接提及,但JSP实际上是在Servlet容器中运行的,Servlet是Java提供的一种服务器端组件,用于...

    关于jsp中cookie丢失问题(详解)

    jsp中设置cookie如果不设置路径,会出现cookie丢失问题 Cookie cookie = new Cookie(cookieName, value);... 您可能感兴趣的文章:jsp使用cookie存储中文示例分享jsp实现cookie的使用用JSP操作Cook

    JSP改造Cookie案例1

    JSP改造Cookie案例1 本例子展示了如何使用Java Servlet和Cookie来实现记住用户名的功能。下面是该案例的详细说明: 一、 记住用户名的实现 在这个案例中,我们使用了Servlet和Cookie来实现记住用户名的功能。当...

Global site tag (gtag.js) - Google Analytics