jsp对象实例讲解(四) Cookie
1.什么是Cookie:
Cookie是Web服务器保存在用户硬盘上的一段文本。Cookie允许一个Web站点在用户的电脑上保存信息并且随后再取回它。
举例来说,一个Web站点可能会为每一个访问者产生一个唯一的ID,然后以Cookie文件的形式保存在每个用户的机器上。
如果您使用IE浏览器访问Web,您会看到所有保存在您的硬盘上的Cookie 。它们最常存放的地方是:c:\windows\cookies(在Win 2000中则是C:\Documents and Settings\您的用户名\Cookies )
cookie是以“关键字key=值value“的格式来保存纪录的.
2.创建一个Cookie对象,调用Cookie对象的构造函数可以创建Cookie。 Cookie对象的构造函数有两个字符串参数:Cookie名字和Cookie值。
Cookie c=new Cookie(“username”,”john”);
3. jsp中如果要将封装好的Cookie对象传送到客户端,使用response的addCookie()方法。
格式:response.addCookie(c)
4.读取保存到客户端的Cookie,使用request对象的getCookies()方法,执行时将所有客户端传来的Cookie对象以数组的形式排列,如果要取出符合需要的Cookie对象,就需要循环比较数组内每个对象的关键字。
例:
Cookie[] c=request.getCookies();
if(c!=null)
for(int I=0;I<c.length;I++)
if(“username”.equals(c[I].getName()))
out.println(c[I].getValue());
5.设置Cookie对象有效时间:setMaxAge()。
c.setMaxAge(3600);
6.Cookie应用
1.网站能够精确地知道有多少人浏览过。
由于代理服务器、缓存等的使用,唯一能帮助网站精确统计来访人数的方法就是为每个访问者建立一个唯一的ID。
●测定多少人访问过;
●测定访问者有多少是新用户(即第一次来访),多少是老用户;
●测定一个用户多久访问一次网站 使用Cookie,网站可以完成以下工作:。
网站使用数据库达到上述目标。当一个用户第一次访问时,网站在数据库中建立一个新的ID,并把ID通过Cookie传送给用户。用户再次来访时,网站把该用户ID对应的计数器加1,得到用户的来访次数。
例:Cookie.jsp
<%@ page c
import="java.util.Date" %>
<HTML>
<HEAD>
<TITLE>Cookie的存取</TITLE>
</HEAD>
<BODY>
<CENTER>
<FONT SIZE = 5 COLOR = blue>Cookie的存取</FONT>
</CENTER>
<HR>
<P></P>
<%
//建立Cookie变数
Cookie IntVal = new Cookie("IntVal", "100");
Cookie temp = null;
response.addCookie(IntVal); //将Cookie变数加入Cookie中
Cookie[] cookies = request.getCookies();
//取得Cookie资料
int cookielen = cookies.length;
//取得Cookie变数阵列的长度
if(cookielen != 0) //判断是否成功取得Cookie资料
{
for (int i = 0; i < cookielen; i++)
{
temp = cookies[i]; //取得cookies阵列中的Cookie变数
if (temp.getName().equals("IntVal"))
{ //判断是否取得名为DateVal的Cookie资料
%>
Cookie中<Font color = blue>IntVal</Font>变量的值为
<Font color = red><%= IntVal.getValue()%></Font><BR>
<%
}
}
}
else
{
%>
不存在Cookie<BR>
<%
}
%>
</BODY>
</HTML>
例:CookieDate.jsp
<%@ page c
import="java.util.Date"%>
<HTML>
<HEAD>
<TITLE>自Cookie存取日期/时间数据</TITLE>
</HEAD>
<BODY>
<CENTER>
<FONT SIZE = 5 COLOR = blue>自Cookie存取日期/时间数据</FONT>
</CENTER>
<HR>
<P></P>
<%
Date Now = new Date(); //取得目前的系统时间
Cookie DateVal = new Cookie("DateVal", String.valueOf(Now.getTime()));
//欲将储存至Cookie时间/日期值转换为毫秒数
response.addCookie(DateVal); //将Cookie变数加入Cookie中
Cookie temp = null;
DateVal = null; //重设Cookie变数
Cookie[] cookies = request.getCookies();
//取得Cookie资料
int cookielen = cookies.length;
//取得Cookie变数阵列的长度
if(cookielen != 0) //判断是否成功取得Cookie资料
{
for (int i = 0; i < cookielen; i++)
{
temp = cookies[i]; //取得cookies阵列中的Cookie变数
if (temp.getName().equals("DateVal"))
{ //判断是否取得名为DateVal的Cookie资料
%>
Cookie中<Font color = blue>DateVal</Font>
变量的值为<Font color = red>
<%= new Date(Long.parseLong(temp.getValue())) %>
</Font><BR>
<%
}
}
}
else //若无法取得Cookie资料则执行下面的叙述
{
%>
无法取得Cookie<BR>
<%
}
%>
</BODY>
</HTML>
Cookie是Web服务器保存在用户硬盘上的一段文本。Cookie允许一个Web站点在用户的电脑上保存信息并且随后再取回它。
举例来说,一个Web站点可能会为每一个访问者产生一个唯一的ID,然后以Cookie文件的形式保存在每个用户的机器上。
如果您使用IE浏览器访问Web,您会看到所有保存在您的硬盘上的Cookie 。它们最常存放的地方是:c:\windows\cookies(在Win 2000中则是C:\Documents and Settings\您的用户名\Cookies )
cookie是以“关键字key=值value“的格式来保存纪录的.
2.创建一个Cookie对象,调用Cookie对象的构造函数可以创建Cookie。 Cookie对象的构造函数有两个字符串参数:Cookie名字和Cookie值。
Cookie c=new Cookie(“username”,”john”);
3. jsp中如果要将封装好的Cookie对象传送到客户端,使用response的addCookie()方法。
格式:response.addCookie(c)
4.读取保存到客户端的Cookie,使用request对象的getCookies()方法,执行时将所有客户端传来的Cookie对象以数组的形式排列,如果要取出符合需要的Cookie对象,就需要循环比较数组内每个对象的关键字。
例:
Cookie[] c=request.getCookies();
if(c!=null)
for(int I=0;I<c.length;I++)
if(“username”.equals(c[I].getName()))
out.println(c[I].getValue());
5.设置Cookie对象有效时间:setMaxAge()。
c.setMaxAge(3600);
6.Cookie应用
1.网站能够精确地知道有多少人浏览过。
由于代理服务器、缓存等的使用,唯一能帮助网站精确统计来访人数的方法就是为每个访问者建立一个唯一的ID。
●测定多少人访问过;
●测定访问者有多少是新用户(即第一次来访),多少是老用户;
●测定一个用户多久访问一次网站 使用Cookie,网站可以完成以下工作:。
网站使用数据库达到上述目标。当一个用户第一次访问时,网站在数据库中建立一个新的ID,并把ID通过Cookie传送给用户。用户再次来访时,网站把该用户ID对应的计数器加1,得到用户的来访次数。
例:Cookie.jsp
<%@ page c
import="java.util.Date" %>
<HTML>
<HEAD>
<TITLE>Cookie的存取</TITLE>
</HEAD>
<BODY>
<CENTER>
<FONT SIZE = 5 COLOR = blue>Cookie的存取</FONT>
</CENTER>
<HR>
<P></P>
<%
//建立Cookie变数
Cookie IntVal = new Cookie("IntVal", "100");
Cookie temp = null;
response.addCookie(IntVal); //将Cookie变数加入Cookie中
Cookie[] cookies = request.getCookies();
//取得Cookie资料
int cookielen = cookies.length;
//取得Cookie变数阵列的长度
if(cookielen != 0) //判断是否成功取得Cookie资料
{
for (int i = 0; i < cookielen; i++)
{
temp = cookies[i]; //取得cookies阵列中的Cookie变数
if (temp.getName().equals("IntVal"))
{ //判断是否取得名为DateVal的Cookie资料
%>
Cookie中<Font color = blue>IntVal</Font>变量的值为
<Font color = red><%= IntVal.getValue()%></Font><BR>
<%
}
}
}
else
{
%>
不存在Cookie<BR>
<%
}
%>
</BODY>
</HTML>
例:CookieDate.jsp
<%@ page c
import="java.util.Date"%>
<HTML>
<HEAD>
<TITLE>自Cookie存取日期/时间数据</TITLE>
</HEAD>
<BODY>
<CENTER>
<FONT SIZE = 5 COLOR = blue>自Cookie存取日期/时间数据</FONT>
</CENTER>
<HR>
<P></P>
<%
Date Now = new Date(); //取得目前的系统时间
Cookie DateVal = new Cookie("DateVal", String.valueOf(Now.getTime()));
//欲将储存至Cookie时间/日期值转换为毫秒数
response.addCookie(DateVal); //将Cookie变数加入Cookie中
Cookie temp = null;
DateVal = null; //重设Cookie变数
Cookie[] cookies = request.getCookies();
//取得Cookie资料
int cookielen = cookies.length;
//取得Cookie变数阵列的长度
if(cookielen != 0) //判断是否成功取得Cookie资料
{
for (int i = 0; i < cookielen; i++)
{
temp = cookies[i]; //取得cookies阵列中的Cookie变数
if (temp.getName().equals("DateVal"))
{ //判断是否取得名为DateVal的Cookie资料
%>
Cookie中<Font color = blue>DateVal</Font>
变量的值为<Font color = red>
<%= new Date(Long.parseLong(temp.getValue())) %>
</Font><BR>
<%
}
}
}
else //若无法取得Cookie资料则执行下面的叙述
{
%>
无法取得Cookie<BR>
<%
}
%>
</BODY>
</HTML>

【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)