JSP Cookie的使用

Cookie是由Netscape公司发明的一种用于跟踪用户会话的技术,存储在客户端。服务器创建并发送Cookie信息,浏览器在后续请求中返回这些信息以识别用户。Cookie常用于追踪访问次数、统计浏览量、记录登录信息及实现个性化服务。然而,由于可能涉及敏感信息,使用时需注意安全性。JSP中创建Cookie包括创建对象、写入、设置有效期和读取等步骤。
摘要由CSDN通过智能技术生成

Cookie 不是 JSP 内置对象,而是由 Netscape 公司发明,用来跟踪用户会话(session)的方式。

Cookie 由服务器生成并发送给浏览器(客户端),浏览器会将其以文本文件的形式存储在某个目录下。

例如,IE 浏览器把 cookie 信息保存在类似于 C://windows//cookies 的目录下,当用户再次访问某个网站时,服务器就会要求浏览器查找并返回之前发送的 cookie 信息,来识别此用户。

识别用户通常有以下步骤:

  1. 服务器把 cookie 信息发送到浏览器,例如:用户 ID、用户名称等信息。
  2. 浏览器在本地存储这些信息。
  3. 浏览器再次向服务器发送请求时,它会同时将本地存储的 cookie 信息一同发送给服务器,然后服务器使用这些信息来识别用户或其它。


cookie 的作用表现在以下方面:

  • 对特定对象的追踪,如用户的访问次数、最后访问时间等。
  • 统计网页的浏览次数。
  • 在 cookie 有效期内,记录用户的登录信息,简化下一次的登录过程。
  • 实现各种个性化服务,如”最近浏览过的商品“。

注意:由于 cookie 会将用户的个人信息保存在客户端,如用户名、计算机名、以及浏览和登录的网站等。这些信息可能会包含一些比较敏感的内容,所以从安全角度来说,使用 cookie 存在着一定的风险,因此不建议在 cookie 中保存比较重要或隐私的内容。

cookie 常用方法如下:
 

方法说明
public void setDomain(String pattern)设置 cookie 的域名,如 biancheng.net
public String getDomain()获取 cookie 的域名
public void setMaxAge(int expiry)设置 cookie 有效期,单位:秒
默认仅在当前会话中存在
public int getMaxAge()获取 cookie 有效期,单位:秒
默认为 -1,表示 cookie 保存到浏览器关闭为止
public String getName()返回 cookie 的名称,名称创建后将不能被修改
public void setValue(String newValue)设置 cookie 的值
public String getValue()获取 cookie 的值
public void setPath(String uri)设置 cookie 的路径
默认为当前页面目录以及子目录下的所有 URL 
public String getPath()获取 cookie 的路径
public void setSecure(boolean flag)设置 cookie 是否要加密传输
public void setComment(String purpose)设置 cookie 注释
public String getComment()返回 cookie 注释,如果 cookie 没有注释,则返回 null
JSP 使用 cookie 主要分为以下几个步骤。

1)创建 cookie 对象

创建 cookie 对象,name 代表 cookie 的名称,value 表示该名称对应的值,语法如下:
 
 
  • cookie cookie = new cookie(String name,String value);
注意:name 和 value 中不能包含空格和以下字符:

[ ] ( ) = , " / ? @ : ;

2)写入 cookie

创建 cookie 对象后,调用 response.addCookie() 方法写入 cookie,代码如下:
 
 
  • response.addcookie(cookie);

3)设置 cookie 有效期

调用 setMaxAge() 方法设置 cookie 的有效期(单位:秒),如将 cookie 有效期设置为 24 小时,代码如下:
 
 
  • cookie.setMaxAge(60*60*24); 

4)读取cookie

调用 request.getCookies() 方法读取 cookie,该方法返回 HTTP 请求中的 cookie 对象数组,需要通过遍历进行访问。
通过 HTML 表单将客户端数据提交到 index.jsp 中,并设置 cookie。login.jsp 代码如下:
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<html>
<head>
<title>编程帮(www.biancheng.net)</title>
</head>
<body>
    <form action="index.jsp" method="get">
        站点名: <input type="text" name="name"> <br />
        网址: <input type="text" name="url" />
        <input type="submit" value="提交" />
    </form>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值