(二十二):操作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");
%>
浙公网安备 33010602011771号