JSP 教程 之 JSP Cookie 处理 6
JSP Cookie 处理
Cookie 是存储在客户机的文本文件,它们保存了大量轨迹信息。在 Servlet 技术基础上,JSP 显然能够提供对 HTTP cookie 的支持。
使用 JSP 设置 cookie
使用 JSP 设置 cookie 包含三个步骤:
(1)创建一个 cookie 对象: 调用 cookie 的构造函数,使用一个 cookie 名称和值做参数,它们都是字符串。
Cookie cookie = new Cookie("key","value");
请务必牢记,名称和值中都不能包含空格或者如下的字符:
[ ] ( ) = , " / ? @ : ;
(2) 设置有效期:调用 setMaxAge() 函数表明 cookie 在多长时间(以秒为单位)内有效。下面的操作将有效期设为了 24 小时。
cookie.setMaxAge(606024);
(3) 将 cookie 发送至 HTTP 响应头中:调用 response.addCookie() 函数来向 HTTP 响应头中添加 cookie。
response.addCookie(cookie);
实例演示
main.jsp 文件代码如下所示:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.net.*" %>
<%
// 编码,解决中文乱码
String str = URLEncoder.encode(request.getParameter("name"),"utf-8");
// 设置 name 和 url cookie
Cookie name = new Cookie("name",
str);
Cookie url = new Cookie("url",
request.getParameter("url"));
// 设置cookie过期时间为24小时。
name.setMaxAge(606024);
url.setMaxAge(606024);
// 在响应头部添加cookie
response.addCookie( name );
response.addCookie( url );
%>
设置 Cookie
网站名:
<%= request.getParameter("name")%>网址:
<%= request.getParameter("url")%>
以下是一个简单的 HTML 表单通过 GET 方法将客户端数据提交到 main.jsp 文件中,并设置 cookie:
<!DOCTYPE html>
站点名:
网址:
将以上 HTML 代码保存到 test.htm 文件中。
将该文件放置于当前 jsp 项目的 WebContent 目录下(与 main.jsp 同一个目录)。
通过访问 http://localhost:8080/testjsp/test.html 提交表单数据到 main.jsp 文件