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

JSP编程技巧:用JSP操作Cookie

阅读更多

JSP编程技巧:用JSP操作Cookie


lci21
2001-11-17 00:00:00
1106 次浏览


一、前言
  说起来,Cookie应该是一种应用较久的技术了。早在HTML刚刚出现的时候,在每个独立的页面之间没有办法记录和标识不同的用户。后来人们就发明了Cookie技术,当用户访问网页时,它能够在访问者的机器上创立一个文件,我们把它叫作Cookie,写一段内容进去,来标识不同的用户。如果下次用户再访问这个网页的时候,它又能够读出这个文件里面的内容,这样网页就知道上次这个用户已经访问过该网页了。

  虽然现在网页的制作技术比起几年以前已经发展了许多。不过有些时候,Cookie还是能够帮我们很多忙的。接下来,我们就来看看,如何在写JSP文件的时候,用JSP操作Cookie。


二、写入Cookie

  其实用JSP操作Cookie是非常简单的,我们来看下面一段JSP程序:

<html>
<head>........(中间略)
</head>
<body>
<%
StringcookieName="Sender";
Cookiecookie=newCookie(cookieName,"Test_Content");
cookie.setMaxAge(10);
response.addCookie(cookie);
%>
........(其他内容)
</body>
</html>

  这样我们就设置了一个Cookie,很简单吧?

  我们来仔细研究一下这段代码:

  Cookiecookie=newCookie(cookieName,"Test_Content");

  这一行建立了一个Cookie对象,初始化有两个参数,第一个参数cookieName定义了Cookie的名字,后一个参数,也是一个字符串,定义了Cookie的内容。也就是我们希望网页在用户的机器上标识的文件内容。

  接下来一行:cookie.setMaxAge(10),调用了Cookie中的setMaxAge方法,设定Cookie在用户机器硬盘上的存活期为10秒。一个Cookie在用户的硬盘里面存在的时间并不是无限期的,在建立Cookie对象的时候,我们必须制定Cookie的存活期,超过了这个存活期后,Cookie文件就不再起作用,会被用户的浏览器自行删除。如果我们希望用户在下次访问这个页面的时候,Cookie文件仍然有效而且可以被网页读出来的话,我们可以将Cookie的存活期设得稍微长一些。比如cookie.setMaxAge(365*24*60*60)可以让Cookie文件在一年内有效。


三、读出Cookie

  Cookie文件创建好后,自然还需要我们把它读出来,否则我们不是白费力气吗?接下来我们看看如何读出在用户硬盘上的Cookie。

<html>
<head>........(中间略)
</head>
<body>
<tableborder=1>
<tr><td>Name</td><td>value</td></tr>
<%
Cookiecookies[]=request.getCookies();
CookiesCookie=null;
Stringsvalue=null;
Stringsname=null;
for(inti=0;i<cookies.length;i++)
{
sCookie=cookies[i];
svalue=sCookie.getValue();
sname=sCookie.getName();
%>
<tr><td><%=sname%></td><td><%=svalue%></td></tr>
<%
}
%>
</table>
........(其他内容)
</body>
</html>

  这一小段JSP文件可以读出用户硬盘上的所有有效的Cookie,也就是仍然在存活期内的Cookie文件。并用表格的形式列出每个Cookie的名字和内容。

  我们来逐行分析一下这段代码:

  Cookiecookies[]=request.getCookies()我们用request.getCookies()读出用户硬盘上的Cookie,并将所有的Cookie放到一个cookie对象数组里面。

  接下来我们用一个循环语句遍历刚才建立的Cookie对象数组,我们用sCookie=cookies[i]取出数组中的一个Cookie对象,然后我们用sCookie.getValue()和sCookie.getName()两个方法来取得这个Cookie的名字和内容。

  通过将取出来的Cookie的名字和内容放在字符串变量中,我们就能对其进行各种操作了。在上面的例子里,可通过循环语句的遍历,将所有Cookie放在一张表格中进行显示。


四、需要注意的一些问题
  通过上面两个简单的例子,可以看到,用JSP进行Cookie的操作,是非常简单的。不过我们在实际操作中还要注意一些问题:

  1.Cookie的兼容性问题

  Cookie的格式有2个不同的版本,第一个版本,我们称为CookieVersion0,是最初由Netscape公司制定的,也被几乎所有的浏览器支持。而较新的版本,CookieVersion1,则是根据RFC2109文档制定的。为了确保兼容性,JAVA规定,前面所提到的涉及Cookie的操作都是针对旧版本的Cookie进行的。而新版本的Cookie目前还不被Javax.servlet.http.Cookie包所支持。

  2.Cookie的内容

  同样的Cookie的内容的字符限制针对不同的Cookie版本也有不同。在CookieVersion0中,某些特殊的字符,例如:空格,方括号,圆括号,等于号(=),逗号,双引号,斜杠,问号,@符号,冒号,分号都不能作为Cookie的内容。这也就是为什么我们在例子中设定Cookie的内容为“Test_Content”的原因。

  虽然在CookieVersion1规定中放宽了限制,可以使用这些字符,但是考虑到新版本的Cookie规范目前仍然没有为所有的浏览器所支持,因而为保险起见,我们应该在Cookie的内容中尽量避免使用这些字符。

在保留http://www.javajia.com原出处的情况下,欢迎转载!

分享到:
评论

相关推荐

    jsp编程技巧集锦

    JSP编程技巧集锦 &lt;br&gt;需要者请联系:e_mail:fzlotuscn@yahoo.com.cn QQ:595563946&lt;br&gt;&lt;br&gt;目 录 &lt;br&gt;1. JSP编程中常用的js技术 2. 在下拉列表框里选择一个值后跳出新窗口? 3. 在JSP中启动execl? 4...

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

    jsp编程的一些小技巧总结,绝对实用。包括JSP编程中常用的js技术。 1.JSP编程中常用的js技术 2. 在下拉列表框里选择一个值后跳出新窗口? 3. 在JSP中启动execl? 4. 两级下拉列表框联动菜单? 5. java中如何把一个目录...

    JSP 编程技巧(PDG)

    介绍JSP设置的编程技巧和方法,包括JSP运行环境和开发工具、JSP语法基础、JAVA语言基础、JSP指令和动作、JSP内部对象、JSP中的表单处理、JavaBeans实例、Cookie使用技巧、数据库管理、邮件处理、控制游览器、文件...

    JSP编程技巧(PDG)

    介绍JSP设置的编程技巧和方法,包括JSP运行环境和开发工具、JSP语法基础、JAVA语言基础、JSP指令和动作、JSP内部对象、JSP中的表单处理、JavaBeans实例、Cookie使用技巧、数据库管理、邮件处理、控制游览器、文件...

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

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

    JSP 编程技巧

    介绍JSP设置的编程技巧和方法,包括JSP运行环境和开发工具、JSP语法基础、JAVA语言基础、JSP指令和动作、JSP内部对象、JSP中的表单处理、JavaBeans实例、Cookie使用技巧、数据库管理、邮件处理、控制游览器、文件...

    JSP实例编程100例

    63、JSP 使用 JavaBean 的方法 64、JSP 使用 JavaBean 65、范围为 Page 的 JavaBean范例程序 66、范围为 Request的 JavaBean 67、范围为 Session 的 JavaBean 68、范围为 Application 的 JavaBean 69、删除 JavaBean...

    JSP编程技术(免積分)

    JSP编程技术(免積分),重点介绍JSP常用的六大基本对象:out对象、response对象、request对象、application对象、session对象和cookie 对象。

    我用cookie写的购物车实例

    我用jsp写的cookie购物车 100%真实 jsp+mysql5.0

    javaweb开发JSP资料大全

    JSP安全编程实例浅析、JSP编程进度条设计实例、JSP的运行内幕、JSP和IIS的最佳解决方案实例分析、jsp内置对象--session对象和out对象、JSP中request属性的用法、用WebWork、JSP、Velocity建立注册页面、在JSP中使用...

    Servlet与JSP核心编程第2版

    11.9 使用scriptlet将jsp页面的某些部分条件化 11.10 使用声明 11.11 声明的例子 11.12 使用预定义变量 11.13 jsp表达式、scriptlet和声明的比较 第12章 控制所生成的servlet的结构:jsppage指令 12.1 ...

    JSP内置对象:Request和Response的简单介绍及使用

    JSP内置对象:Request和Response的简单介绍及使用,需要的朋友可以参考一下

    jsp在线考试系统

    本光盘包括了JSP一些常用的编程技巧实例、两个小型的管理系统和一个大 型的软件系统。他们的全部代码程序都包含在此光盘中。 &lt;br&gt; 光盘目录具体结构如下: &lt;br&gt;├─实用技巧程序 │ ├─2.1 Cookie有效...

    jsp软件工程案例精解源代码下载,鲁晓东

    本光盘包括了JSP一些常用的编程技巧实例、两个小型的管理系统和一个大 型的软件系统。他们的全部代码程序都包含在此光盘中。 光盘目录具体结构如下: ├─实用技巧程序 │ ├─2.1 Cookie有效时间设置 │ ├─...

    JAVA编程百例+JAVA面试题集十套(经典)

    列举几个典型实用的例子: 实例37 读取随机文件 实例38 操作EXECL文件 实例39 生成PDF文件 实例47 使用JAVAMAIL发送邮件 实例48 使用JAVAMAIL接收邮件 ...线程编程方面,jsp,jdbc,xml,servlet.pdf 面试题集合.pdf

    JAP编程学习100例

    63、JSP 使用 JavaBean 的方法 64、JSP 使用 JavaBean 65、范围为 Page 的 JavaBean范例程序 66、范围为 Request的 JavaBean 67、范围为 Session 的 JavaBean 68、范围为 Application 的 JavaBean 69、删除 JavaBean...

    Java编程百例

    包含100个Java编程示例 涵盖JavaSE Core Java编程 网络Socket JMX消息处理 ui图形处理 I/O操作 以及企业应用中的struts servlet jsp html cookie javaBean EJB JDBC xml操作等

    JAVA编程百例(照着例子更容易!)

    实例71 使用JDOM操作XML 实例72 欢迎进入APPLET世界 实例73 传递参数 实例74 监测鼠标事件 实例75 监测键盘事件 实例76 在APPLET中使用SWING 实例77 应用JAR包 实例78 播放声音 实例79 一个简单的SERVLET 实例8 类的...

Global site tag (gtag.js) - Google Analytics