`
liuguofeng
  • 浏览: 436304 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

JSP中的COOKIE操作

    博客分类:
  • J2ee
 
阅读更多
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操作,如写入cookie、读取cookie等。

    jsp操作cookie实例

    jsp操作cookie实例,jsp操作cookie实例,jsp操作cookie实例,jsp操作cookie实例

    用jsp实现cookie登录验证

    通过操作cookie来实现用户自动登录过程,使用的是jsp页面。由于是测试,所以用户信息是写死的,用户名admin密码123456,欢迎一起探讨和学习!

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

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

    用JSP操作Cookie

    说起来,Cookie应该是一种应用较久的技术了。...后来人们就发明了Cookie技术,当用户访问网页时,它能够在访问者的机器上创立...接下来,我们就来看看,如何在写JSP文件的时候,用JSP操作Cookie。 二、 写入Cookie

    javaweb开发JSP资料大全

    -session对象和out对象、JSP中request属性的用法、用WebWork、JSP、Velocity建立注册页面、在JSP中使用JavaMail、用JSP操作Cookie、解决MVC下分页显示的问题、缓冲技术提高JSP程序性能和稳定性、jsp属性的保存范围、...

    JSP实用技巧集合,jsp编程的一些小技巧总结

    97.在servlet中操作cookie 98.使用servlet生成JPEG图象 99.在servlet中根据请求参数自动填充java对象 100.将jsp应用程序打war包 101.实现投票系统 102.使用cookie记录用户访问次数? 103.使用session对象防止表单重复...

    tot-jsp-check.rar_jsp cookie_tot

    可以查看服务器上Request、Session、Cookie、Application的列表信息。 查看是否安装常见的JAVA类库。 查看服务器的内存使用情况。 查看服务器的JVM相关的所有信息(版本、时区、编码、操作系统名称等)。

    jsp Cookie

    課題なのに、ちょっと皆さんが。 JSP中的文件操作,也是jsp的的基础知识

    使用Cookie实现商品的浏览记录功能

    使用cookie机制实现商品的浏览历史记录功能 主要的实现思路就是通过每次点击商品查看信息的时候 传递一个商品编号 然后保存在cookie中 然后从cookie中取出来 去数据库执行相关的查询操作 之后再到页面上进行显示就ok...

    JSP编程技术 编译指令 操作指令

    介绍JSP页面的结构 JSP的编译指令、操作指令和代码 重点介绍JSP常用的六大基本对象: out对象、response对象、request对象、application对象、session对象和cookie对象。

    JSP实例编程100例

    19、JSP中最简单的国际化程序 20、错误检测 21、抛出异常 22、&lt;c:if&gt; 的用法 23、和&lt;c:remove&gt; 的用法 24、&lt;c:import&gt; 的用法 25、jsp-include的用法 26、汉字处理 27、网页重定向 28、自动更新网页 29、存取session...

    jsp编程技巧集锦

    在servlet中操作cookie 98.使用servlet生成JPEG图象 99.在servlet中根据请求参数自动填充java对象 100.将jsp应用程序打war包 101.实现投票系统 102.使用cookie记录用户访问次数? 103.使用session...

    jquery管理cookie和form的js

    内含jquery管理cookie的js和管理form的js,直接在jsp页面引用,方便对cookie的操作。以及包含form.js。

    tot-jsp-check.rar_check_cookie_tot_安装 cookie

    可以查看服务器上Request、Session、Cookie、Application的列表信息。查看是否安装常见的JAVA类库。查看服务器的内存使用情况。查看服务器的JVM相关的所有信息(版本、时区、编码、操作系统名称等)。

    韩顺平sevlet,jsp视频教程知识点.txt

    同一用户的不同页面数据共享 1.1 cookie技术 1.2 sendRedirect()转向 1.3 隐藏表单 1.4 session技术 2.servlet中如何操作数据库 韩顺平 j2ee视频实战教程servlet第3讲(下集).wmv 视频描述 : 1.同一用户的不同页面...

    jsp网上商城

    代码中主要用到的是jsp,servlet,javabean等技术,只有分类功能的很少很少的一部分用到了ajax,因为实现起来比较费力,没有用到框架包装,只是为了代码清晰用的MVC的分层结构 比较适合刚学习了javaweb一段时间想练...

Global site tag (gtag.js) - Google Analytics