cookie的作用范围

来源:互联网 发布:sql server报价 编辑:程序博客网 时间:2024/05/16 00:25

cookie 的作用范围:只能作用于当前目录跟当前的子目录, 不能作用于上一级的目录,/代表当前站点的根目录,但是可以通过setPath() 来设置作用范,request.getContentType() 代表项目根目录。


现在我们使用setPath() 方法,用Cookiepath/Cookiepath_write.jsp  来反问../Cookiepath_read.jsp。


Cookiepath_write.jsp:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>write</title>
</head>
<body>

<%
Cookie cookie = new Cookie("cookie_path","cookie_path_val");
response.addCookie(cookie);
cookie.setPath(request.getContentType());

//cookie 的作用范围只能作用于当前目录跟当前的子目录, 不能作用于上一级的目录,/代表当前站点的根目录
//但是可以通过setPath() 来设置作用范围,request.getContentType() 代表项目根目录
%>
<!-- ../表示上一级 -->
<a href="../Cookiepath_read.jsp">TO Cookiepath_read.js</a>
</body>
</html>


Cookiepath_read.jsp:

<%@page import="org.apache.tomcat.util.http.Cookies"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>

<%
Cookie cookies[] = request.getCookies();
String cookie_val = null;

if(cookies != null && cookies.length > 0)
{
for(Cookie c: cookies)
{
if(c.getName().equals("cookie_path"))
{
cookie_val = c.getValue();
}
}
}else
{
out.print("没有cookie");
}

if(cookie_val != null && !cookie_val.trim().equals(""))
{
out.print(cookie_val);
}
%>

</body>
</html>

0 0
原创粉丝点击