首页 > 程序开发 > web前端 > HTML/CSS >

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

2017-04-18

jsp实验4 (3)cookie的使用:用一个程序(mySetCookie jsp)在五个路径 jsp temp 、 jsp temp 2015 、 jsp temp 2016 、 jsp temp 2016 main 、 jsp temp 2016 other (只是设置cookie的路径)下分别设置名字为x0~x4的cookie,并把路径名作为cookie值。

jsp实验4.(3)cookie的使用:用一个程序(mySetCookie.jsp)在五个路径/jsp/temp/、/jsp/temp/2015/、/jsp/temp/2016/、/jsp/temp/2016/main/、/jsp/temp/2016/other/(只是设置cookie的路径)下分别设置名字为x0~x4的cookie,并把路径名作为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);
%>

setCookie

myShowCookie.jsp代码如下:

<%@ page language="java" import="java.util.*,java.io.*" pageEncoding="GB2312" 
contentType="text/html;charset=GB2312"%>

myShowCookie

/jsp_4/mySetCookie.jsp
/jsp_4/temp/myGetCookie.jsp
/jsp_4/temp/2015/myGetCookie.jsp
/jsp_4/temp/2016/myGetCookie.jsp
/jsp_4/temp/2016/main/myGetCookie.jsp
/jsp_4/temp/2016/other/myGetCookie.jsp
myGetCookie.jsp代码如下:

<%@ page language="java" import="java.util.*,java.io.*" pageEncoding="GB2312" 
contentType="text/html;charset=GB2312"%>

getCookie

<% Cookie[] cookies = request.getCookies(); for(Cookie cookie : cookies){ String name = cookie.getName(); String value = cookie.getValue(); out.write("

" + name + ":" + value); } %>

运行其中一个目录下的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对象都会失效。

相关文章
最新文章
热点推荐