一.什么是Cookies?
大家都知道,浏览器与WEB服务器之间是使用HTTP协议进行通信的,当某个用户发出页面请求时,WEB服务器只是简单的进行响应,然后就关闭与该用户的连接。因此当一个请求发送到WEB服务器时,无论其是否是第一次来访,服务器都会把它当作第一次来对待,这样的不好之处可想而知。为了弥补这个缺陷,Netscape开发出了cookie这个有效的工具来保存某个用户的识别信息,因此人们昵称为“小甜饼”。cookies是一种WEB服务器通过浏览器在访问者的硬盘上存储信息的手段:Netscape Navigator使用一个名为cookies.txt本地文件保存从所有站点接收的Cookie信息;而IE浏览器把Cookie信息保存在类似于 C:\windows\cookies的目录下。当用户再次访问某个站点时,服务端将要求浏览器查找并返回先前发送的Cookie信息,来识别这个用户。
Cookies给网站和用户带来的好处非常多:
1、Cookie能使站点跟踪特定访问者的访问次数、最后访问时间和访问者进入站点的路径
2、Cookie能告诉在线广告商广告被点击的次数 ,从而可以更精确的投放广告
3、Cookie有效期限未到时,Cookie能使用户在不键入密码和用户名的情况下进入曾经浏览过的一些站点
4、Cookie能帮助站点统计用户个人资料以实现各种各样的个性化服务
在JSP中,我们也可以使用Cookie,来编写一些功能强大的应用程序。
下面,我想介绍一下如何用JSP处理Cookie和创建Cookie。
二.如何创建Cookie
说了这么多,大家一定很想知道JSP是如何创建cookie了。JSP处理Cookie是使用如下的语法格式来创建cookie的:
01.Cookie cookie_name =new Cookie("Parameter","Value");
复制代码例如:Cookie newCookie =new Cookie("username","waynezheng"); response.addCookie(newCookie);
解释:JSP是调用Cookie对象相应的构造函数Cookie(name,value)用合适的名字和值来创建Cookie,然后 Cookie可以通过HttpServletResponse的addCookie方法加入到Set-Cookie应答头,本例中Cookie对象有两个字符串参数:username,waynezheng。注意,名字和值都不能包含空白字符以及下列字符: @ : ;? , " / [ ] ( ) =
三. JSP处理Cookie的属性
看到这里,有的朋友又要问了:我光知道如何创建Cookie有什么用呀?是呀,光知道如何创建Cookie而不知道怎么使用是不够的。在JSP中,程序是通过cookie.setXXX设置各种属性,用cookie.getXXX读出cookie的属性,现把Cookie的主要属性,及其方法列于下,供大家参考:
类型
方法名
方法解释
String
getComment()
返回cookie中注释,如果没有注释的话将返回空值.
String
getDomain()
返回cookie中Cookie适用的域名. 使用getDomain() 方法可以指示浏览器把Cookie返回给同 一域内的其他服务器,而通常Cookie只返回给与发送它的服务器名字完全相同的服务器。注意域名必须以点开始(例如.yesky.com)
int
getMaxAge()
返回Cookie过期之前的最大时间,以秒计算。
String
getName()
返回Cookie的名字。名字和值是我们始终关心的两个部分,笔者会在后面详细介绍 getName/setName。
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所遵从的协议版本。
四. 读取客户端的Cookie
JSP处理Cookie时,在Cookie发送到客户端前,先要创建一个Cookie,然后用addCookie方法发送一个HTTP Header。 JSP将调用request.getCookies()从客户端读入Cookie,getCookies()方法返回一个HTTP请求头中的内容对应的 Cookie对象数组。你只需要用循环访问该数组的各个元素,调用getName方法检查各个Cookie的名字,直至找到目标Cookie,然后对该 Cookie调用getValue方法取得与指定名字关联的值 。
例如
01.<%
02. String userName=request.getParameter("username");//从提交的HTML表单中获取,用户名
03. Cookie theUsername=new Cookie("username",userName);//以"username",userName值/对创建一个Cookie
04. response.addCookie(theUsername);
05.%>
06...............
07.<%
08. Cookie myCookie[]=request.getCookies();//创建一个Cookie对象数组
09. for(int n=0;n=cookie.length-1;i++);//设立一个循环,来访问Cookie对象数组的每一个元素
10. Cookie newCookie= myCookie[n];
11. if(newCookie.getName().equals("username")); //判断元素的值是否为username中的值
12.{%>
13. 你好,<%=newCookie.getValue()%>!//如果找到后,向他问好
14.<%}
15.%>
复制代码设置Cookie的存在时间,及删除Cookie 在JSP中,使用setMaxAge(int expiry)方法来设置Cookie的存在时间,参数expiry应是一个整数。正值表示cookie将在这么多秒以后失效。注意这个值是cookie将要存在的最大时间,而不是Cookie现在的存在时间。负值表示当浏览器关闭时,Cookie将会被删除。零值则是要删除该Cookie。 如:
01.<%
02. Cookie deleteNewCookie=new Cookie("newcookie",null);
03. deleteNewCookie.setMaxAge(0);
04. deleteNewCookie.setPath("/");
05. response.addCookie(deleteNewCookie);
06.%>
复制代码这就是JSP处理Cookie的流程,但在实践的开发过程中,还要考虑项目的需求和用户的习惯等问题。
分享到:
相关推荐
首先,我们要了解什么是cookies。Cookies是网站在用户计算机上存储的小型文本文件,用于记录用户信息,如登录状态、购物车内容、个性化设置等。它们在用户每次访问同一网站时发送回服务器,以便提供个性化的体验。 ...
**什么是Cookies?** Cookies是由Web服务器发送到用户的浏览器并在本地存储的数据,通常包含一个唯一的标识符、过期日期、以及与生成Cookie的网站相关的数据。当用户再次访问同一网站时,浏览器会将这些Cookies回传...
一、什么是Cookies? Cookies是由网站服务器发送到用户浏览器并存储在本地的一小段数据,主要用途有: 1. 会话管理:保持用户登录状态,避免频繁输入用户名和密码。 2. 用户偏好设置:记住用户对网站的个性化设置...
1. **什么是Cookies**:Cookies是由服务器发送到用户的浏览器并存储在本地的一小段数据,通常用于识别用户、保存用户偏好、会话管理等。它们可以由JavaScript代码访问和修改。 2. **类型**:临时cookies(Session ...
#### 一、什么是Cookies? 在Web开发中,Cookies是一种用于存储用户信息的小型文本文件,通常由服务器生成并发送到客户端浏览器,客户端浏览器会在本地保存这些Cookies,并在后续访问同一网站时将Cookies信息重新...
一、什么是Cookies? Cookies是由服务器发送到用户浏览器并存储在本地的一小段文本信息,主要用于存储状态信息或用户偏好。每次用户访问网站时,浏览器会自动将Cookies回传到服务器,使得服务器能够识别用户身份,...
**一、什么是Cookies** Cookies是由Web服务器发送到用户的浏览器并存储在本地的一小段文本信息。当用户再次访问同一网站时,浏览器会将这些信息回传给服务器,从而帮助服务器识别用户的身份、维持会话状态或提供...
首先,我们需要理解什么是Cookies。Cookies是网站在用户浏览器上存储的一小段数据,用于跟踪用户的浏览行为、保存登录状态等。在易语言中,我们需要编写代码来读取这些Cookies信息,这通常涉及到操作系统接口的调用...
首先,我们来了解什么是cookies。Cookies是服务器发送到用户浏览器并存储在本地的一小段文本信息。它们主要用于保持用户的会话状态、个性化设置、跟踪用户行为等。在Web应用程序中,特别是那些依赖用户登录和状态...
首先,我们要理解什么是cookies。Cookies是网站存储在用户浏览器上的小型数据文件,用来跟踪用户的行为、保存登录状态等。当用户访问特定网站时,浏览器会自动发送对应的cookies,以便网站识别用户身份。然而,如果...
首先,我们来了解一下什么是cookies。Cookies是由服务器端发送到客户端(用户的浏览器)的一小段文本信息,浏览器在后续的请求中会将其回发给服务器。它们主要用于状态管理,如用户登录状态、购物车信息或个性化设置...
首先,我们需要了解什么是cookies。Cookies是由Web服务器存储在用户浏览器上的小文本文件,用于记录用户在网站上的行为和偏好。当用户再次访问同一网站时,浏览器会将这些cookies发送回服务器,帮助识别用户身份、...
首先,让我们理解什么是Cookies。Cookies是由服务器发送到用户的浏览器并存储在本地的一小段文本信息,它能够帮助网站记录用户的行为和偏好。当用户再次访问同一网站时,浏览器会将这些Cookies回传给服务器,从而...
首先,我们需要理解什么是cookies。Cookies是服务器发送到用户浏览器并存储在本地的一小段数据,用于跟踪用户状态和偏好。在登录网站后,服务器会将cookies发送给浏览器,以便在后续的请求中验证用户身份,无需每次...
首先,我们需要了解什么是cookies。Cookies是由服务器端发送到用户浏览器并存储在本地的一小片数据,它能够帮助网站保存和检索信息,如用户的登录状态、购物车内容或者个性化设置等。当用户再次访问同一网站时,...
在探讨“javascript对cookies的操作”这一主题时,我们首先需要理解什么是Cookies以及它们在Web开发中的作用。Cookies是一种小型的数据存储技术,允许Web服务器在用户的浏览器上存储信息,以便于跟踪用户状态、保存...
首先,我们来了解什么是cookies。Cookies是服务器发送到用户浏览器并保存在本地的一小块数据,它会在浏览器下次向同一服务器再发起请求时被携带并发送到服务器上。Cookies常用于身份认证、状态记录和个性化用户界面...
1. 什么是cookies:cookies的作用和工作原理。 2. 为何要删除cookies:可能存在的问题,如隐私问题、空间占用等。 3. 如何在IE6和IE7中删除cookies:详细的操作步骤。 4. 删除后应如何验证效果:重新打开浏览器访问...
首先,我们需要了解什么是cookies。Cookies是服务器发送到用户浏览器并存储在本地的一小块数据,用于记录用户的浏览历史、偏好设置或登录状态等信息。在自动登录场景下,当用户首次登录后,服务器会创建一个包含用户...