什么是Cookile,了解Cookile
Cookie是浏览器所提供的一种技术,这种技术让服务器端的程序能够将一些只须保存在客户端,或在客户端处理的数据,放在本地使用的计算机中,不须通过网络的传输,因而提高了网页处理的效率。
为了封装Cookie信息,在Servlet API中提供了一个javax.servlet.http.Cookie类。
Cookie类有且仅有一个构造方法,具体语法格式如下:
向客户端增加Cookie:response.addCookie(Cookie cookie)
取得Cookie:通过request对象 public Cookie[] request.getCookies()
Cookile中常用的方法:
setMaxAge()方法用于保存Cookie到客户端硬盘。默认值为-1, 0表示删除该Cookie。
JSESSIONID,服务器自动设置的Cookie,用户的唯一身份标识
设置并添加Cookile:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
//设置Cookile
Cookie c1 = new Cookie("name","rose");
Cookie c2 = new Cookie("password","admin");
c1.setMaxAge(60);//Cookile保留的时间,默认的是-1,因为参数是负数的话,关闭浏览器Cookile直接关闭
c1.setMaxAge(60);
//添加Cookile
response.addCookie(c1);
response.addCookie(c2);
%>
</body>
</html>
接收Cookile:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
//接收Cookile
Cookie c[] = request.getCookies();//取得全部的Cookile
for(int i=0 ; i<c.length ; i++){
out.print("<h3>"+c[i].getName()+" --------------- "+c[i].getValue()+"</h3>");
}
%>
</body>
</html>
最终效果:
注意:
一般先运行设置Cookile的一端,再运行接收Cookile端
虽然不管先运行哪一个,都能出来最终结果,但是有区别的
对于有什么区别,感兴趣的可以自行去网上查询