1.session的创建
创建:request.getSession(), request.getSession(true);第一次调用时创建session对象,并在response返回头中添加Set-Cookie
JSESSIONID=188F48755786C564121…7832; Path=/jsptest; HttpOnly
request.getSession,等同于request.getSession(true);
获取其jsp或severlet创建的并保存在tomcat管理器中的session
当请求头中包括Cookie
JSESSIONID=188F48755786C56412147356A5167832
从session管理器中获取id对应的session对象
request.getSession(false): 只根据JSESSIONID获取其他人创建的session对象,如果不存在返回空.当request.getSession(false),是第一个请求时也不会自己创建session对象,只会返回空
jsp 禁止自动创建session对
设置page指令 session="false"
(1)自己不会自动创建session对象
(2)禁用jsp 中隐藏的session对象
(3)如果session对象不存在或session对象失效, request.getSesson()或reqeust.getSession(true) 会创建新的session对象.
(4)request.getSession(false),获取其他人创建的session对象,自己不会创建,不存在返回null
2.销毁session对象
(1)手动销毁.调用session.invalid()方法手动直接销毁session对象
(2)服务器卸载了当前web应用.
(3)超出httpSession的过期时间getMaxInactiveInterval() 单位为秒(session过期时间设置1.setMaxInactiveInterval() 2.在web.xml 配置文件中设置);
***并不是关闭了浏览器就销毁了session对象,session对象的销毁由tomcat根据session的过期时间进行销毁.
利用url重写跟踪session
使用response.encodeURL("hello.jsp")编码url会将 hello.jsp:JSESSIONID=188F48755786C56412147356A5167832加到每个编码的url后面
手机扫一扫
移动阅读更方便
你可能感兴趣的文章