(二十二):操作Cookie (JSP学习第六天)

操作cookie

cookie是浏览器提供的一种技术,这种技术能让服务器端的程序能将一些只须保存在客户端,或者在客户端进行处理的数据,放在本身使用的
计算机当中,不需要通过网络的传输,提高了网页的处理效率,也能减少服务端的负载,但是由于cookie是服务器端保存在客户端的信息,所以
其安全性很差的!

论坛上经常有一些记住密码,记住用户名这样的功能,以后访问就不需要输入密码和用户名直接登录,这其实就是应用到了cookie
,如果不及时清理的话,会出现安全隐患!

向客户端增加Cookie response_demo06.jsp

<%@ page language="java" contentType="text/html" pageEncoding="GBK"%>
<html>
<head>
<title>测试</title>
</head>
<body>
<%
 Cookie c1=new Cookie("xm","xiaoming");
 Cookie c2=new Cookie("esyzf","www.esyzf.com");
 response.addCookie(c1);
 response.addCookie(c2);
%>
</body>
</html>

取出设置的Cookie response_demo07.jsp

<%@ page language="java" contentType="text/html" pageEncoding="GBK"%>
<html>
<head>
<title>测试</title>
</head>
<body>
<%
 Cookie c[]=request.getCookies();
 for(int i=0;i<c.length;i++){
%>
 <h3><%=c[i].getName()%>-> <%=c[i].getValue()%></h3>
<%
 }
%>
</body>
</html>

显示:xm-> xiaoming

esyzf-> www.esyzf.com

JSESSIONID-> 56FB2CCB51C1DD902BDD582C446726B0

每一个客户端访问服务端的时候,服务器为明确区分每一个客户端
都会设置一个JSESSIONID的Cookie,表示用户唯一身份标识

浏览器关闭,之前所设置的Cookie就不在了,要想讲Cookie保存在客户端上,必须设置Cookie的保存时间
使用setMaxAge()方法即可

为Cookie设置保存时间 response_demo08.jsp

<%@ page language="java" contentType="text/html" pageEncoding="GBK"%>
<html>
<head>
<title>测试</title>
</head>
<body>
<%
 Cookie c1=new Cookie("xm","xiaoming");
 Cookie c2=new Cookie("esyzf","www.esyzf.com");
 c1.setMaxAge(60);
 c2.setMaxAge(60);
 response.addCookie(c1);
 response.addCookie(c2);
%>
</body>
</html>

一般一个客户端只能保存300个Cookie,所以数据量太大不能保存Cookie

当然还可以设置头信息的方式为客户端加入Cookie

<%
 response.setHeader("Set-Cookie","xm=xiaoming");
%>
posted @ 2011-10-06 20:17  techstan  阅读(977)  评论(0编辑  收藏  举报