jsp实验4.(3)cookie的使用

3、用一个程序(mySetCookie.jsp)在五个路径/jsp/temp//jsp/temp/2015//jsp/temp/2016//jsp/temp/2016/main//jsp/temp/2016/other/(只是设置cookie的路径)下分别设置名字为x0~x4cookie,并把路径名作为cookie值,最大保存时间都是120。在这些路径下都放置一个程序myGetCookie.jsp,它可以读出当前路径下可以取到的所有cookie。最后,再做一个myShowCookie.jsp可以链接mySetCookie.jsp和所有myGetCookie.jsp

目录截图如下:


mySetCookie代码如下:

<%@ page language="java" import="java.util.*,java.io.*" pageEncoding="GB2312" 
contentType="text/html;charset=GB2312"%>
<%
Cookie cookie0 = new Cookie("x0","/jsp/temp/");
cookie0.setMaxAge(120);// 设置保留时间 120秒。
// 设置为负值表示只保存在内存, 关闭浏览器则消失。
// 设置为0表示要删除该cookie。
cookie0.setPath("/jsp_4/temp/"); //设置路径为根目录
response.addCookie(cookie0);
%>
<%
Cookie cookie1 = new Cookie("x1","/jsp/temp/2015/");
cookie1.setMaxAge(120);// 设置保留时间 120秒。
cookie1.setPath("/jsp_4/temp/2015/"); //设置路径为根目录
response.addCookie(cookie1);
%>
<%
Cookie cookie2 = new Cookie("x2","/jsp/temp/2016/");
cookie2.setMaxAge(120);// 设置保留时间 120秒。
cookie2.setPath("/jsp_4/temp/2016/"); //设置路径为根目录
response.addCookie(cookie2);
%><%
Cookie cookie3 = new Cookie("x3","/jsp/temp/2016/main/");
cookie3.setMaxAge(120);// 设置保留时间 120秒。
cookie3.setPath("/jsp_4/temp/2016/main/"); //设置路径为根目录
response.addCookie(cookie3);
%><%
Cookie cookie4 = new Cookie("x4","/jsp/temp/2016/other/");
cookie4.setMaxAge(120);// 设置保留时间 120秒。
cookie4.setPath("/jsp_4/temp/2016/other/"); //设置路径为根目录
response.addCookie(cookie4);
%>
<!DOCTYPE  html>
<html  lang="zh-cn">
<head>
<title>setCookie</title>
</head>
<body>
  <h1>setCookie</h1>
	
</body>
</html>
myShowCookie.jsp代码如下:

<%@ page language="java" import="java.util.*,java.io.*" pageEncoding="GB2312" 
contentType="text/html;charset=GB2312"%>
<!DOCTYPE  html>
<html  lang="zh-cn">
<head>
<title>myShowCookie</title>
</head>
<body>
  <h1>myShowCookie</h1>
  	<a href = "mySetCookie.jsp">/jsp_4/mySetCookie.jsp</a>
	<br>
	<a href = "temp/myGetCookie.jsp">/jsp_4/temp/myGetCookie.jsp</a>
	<br>
	<a href = "temp/2015/myGetCookie.jsp">/jsp_4/temp/2015/myGetCookie.jsp</a>
	<br>
	<a href = "temp/2016/myGetCookie.jsp">/jsp_4/temp/2016/myGetCookie.jsp</a>
	<br>
	<a href = "temp/2016/main/myGetCookie.jsp">/jsp_4/temp/2016/main/myGetCookie.jsp</a>
	<br>
	<a href = "temp/2016/other/myGetCookie.jsp">/jsp_4/temp/2016/other/myGetCookie.jsp</a>
	<br>
</body>
</html>
myGetCookie.jsp代码如下:

<%@ page language="java" import="java.util.*,java.io.*" pageEncoding="GB2312" 
contentType="text/html;charset=GB2312"%>
<!DOCTYPE  html>
<html  lang="zh-cn">
<head>
<title>getCookie</title>
</head>
<body>
  <h1>getCookie</h1>
	  	<%
	Cookie[] cookies = request.getCookies();
	for(Cookie cookie : cookies){
	String name = cookie.getName();
	String value = cookie.getValue();
	out.write("<p>" + name + ":" + value);
	}
  	%>
</body>
</html>
运行其中一个目录下的myGetCookie可以看到:


每个目录下的得到的cookie的jsessionID都是一样的。

原因可以从下图看出:


服务器上的session变量是用一个jsessionID来关联的。

2)运行mySetCookie.jsp,然后关闭所有浏览器,过了一分钟后再打开myGetCookie.jsp,会发现什么情况?

jSessionId会改变。

原因:session的生命周期和浏览器有关,浏览器关闭session将被删除。但是如果你长时间不关闭浏览器,又不访问该网站, session的生命周期也会结束,一般是三十分钟。

3)运行mySetCookie.jsp,然后关闭所有浏览器,过三分钟再打开所有myGetCookie.jsp,会出现什么情况?

之前设置的Cookie对象消失了,因为过了cookie的过期时间120

4)运行mySetCookie.jsp,不关闭所有浏览器,过三分钟再打开所有myGetCookie.jsp,会出现什么情况?

之前设置的Cookie对象消失了,因为过了cookie的过期时间120秒。过期时间到了,无论是否关闭浏览器,cookie对象都会失效。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值