Session()
如何使用 Session
Java Api 只给我们一种方式来 获取 当前会话相关的 session:
HttpSession session = request.getSession();
//或
HttpSession session = request.getSession(boolean);
设置值:
session.setAttribute("key", 值对象);
获取值:
对象类型 obj = (对象类型)session.getAttribute("key");
//如
String name = (String)session.getAttribute("key");
删除 session 指定属性健:
session.removeAttribute("key");
清除所有的session,使当前 session 完全失效:
session.invalidate();
session超时周期设置
1. Tomcat 安装位置 conf/web.xml :
<session-config>
<session-timeout>30</session-timeout>
</session-config>
30分种
2. Tomcat 安装位置 conf/server.xml :
<Context path="/test" docBase="/test"
defaultSessionTimeOut="3600" isWARExpanded="true"
isWARValidated="false" isInvokerEnabled="true"
isWorkDirPersistent="false"/>
单位为 秒
3. Java 代码设置:
HttpSession session = request.getSession();
session.setMaxInactiveInterval(1200);
20 分种:
其他说明:
1. session 过期情况:
1>. 客户端浏览器关闭:
2>. session 会话过期;
3>. 客户端会话调用了 .invalidate();
2. 浏览器关闭与session是否还在;
当客户端浏览器关闭后,session 在服务端还是会存在一定时间的,只是当浏览器器再次打开时,就会生成一个新的 session ,浏览器通过生成的 sessionid 属性来 匹配服务端的 session; 那上次的session 虽然还在,但是就访问不到了;
3. <% @ page session="false" %> 是什么情况?:
这句话的意思是,当前不能使用 session, 但是 页面 session 还是可以创建的;
4. session 在什么时候 被创建:
在 程序 调用 HttpServletRequest.getSession(true) 时创建;如果 页面没有使用 <%@ page session="false"%> 时,在 jsp 页面编译成 Servlet 时,会自动 加上 HttpSession session = HttpServletRequest.getSession(true);
http://www.cnblogs.com/editor/p/4114873.html
Session()的更多相关文章
- Laravel处理session(会话)的方法详解
在Web应用程序中,有必要识别跨越请求的用户并为每个用户保存数据,为此,像Laravel这样的框架提供了一种称为会话的机制.本篇文章就来为大家介绍关于Laravel处理session(会话)的方法. ...
- Java EE : 三、图解Session(会话)
目录 Java EE : 一.图解Http协议 Java EE : 二.图解 Cookie(小甜饼) Java EE : 三.图解Session(会话) 概述 一.Session由来 二.Sessio ...
- python_way day19 HTML-day5 (form表单验证,CSRF,cookie,session,缓存)
python-way day19 1. dJango的form表单验证 2.CSRF 跨站请求伪造 3.cookie,session 4.缓存 一,django表单验证功能 1.django验证基础: ...
- Asp.Net HttpApplication请求管道与Session(二)
Asp.Net 回话的创建与结束 LogHelper.LogHelper _log = new LogHelper.LogHelper(); /// <summary> /// 程序开始- ...
- Asp.Net HttpApplication请求管道与Session(一)
1.请求处理顺序执行事件 /********************请求处理顺序执行事件**********************/ /// <summary> /// 请求入站 /// ...
- Servlet的学习之Session(3)
在上一篇<Servlet的学习之Session(2)>我们知道了Session能实现一个会话过程中保存数据或者多个会话中实现同一个Session的关键因素就是Cookie,只是Cookie ...
- Servlet的学习之Session(2)
在上一篇中我们学习了Session对象默认在一个会话过程中,由服务器创建,能保存在这个会话过程中用户访问多个web资源时产生的需要保存的数据,并在访问服务器中其他web资源时可以将这些数据从Sessi ...
- Servlet的学习之Session(1)
在学习完了Servlet中的Cookie技术后,我们再来学习另一个能保存会话数据的技术——Session. Session是服务器端技术,利用这个技术,服务器在运行时可以为每一个用户的浏览器创建一个其 ...
- cookie和session(一)
先来谈谈我对session和cookie的理解,事实上,只要你去面试web开发,面试官十有八九会问这个问题. cookie和session经常被放在一起问,其实在我看来这两个东西完全是两个不一样的. ...
随机推荐
- Javascript 原型和原型链
先来了解一下Javascript中的原型:”原型也是一个对象,原型可以用来实现继承...“ 对于 原型,构造函数,以及实例之间的关系:“每个(构造)函数都有一个原型属性,原型对象都包含一个指向构造函数 ...
- IE 11 无法访问某些不兼容性视图的解决方法
今天下午部署公司的项目时,用IE 11只能加载到JSP页面的静态元素,其中下拉文本框的信息获取不到, 后来,发现是IE 11不兼容的原因,于是,在菜单条“工具”——“兼容性视图设置”,将不兼容页面的网 ...
- iOS隐藏tabBar的方法
两种方法用来隐藏tabBar 1.在本页面隐藏 #pragma mark - 隐藏tabBar - (void)viewWillAppear:(BOOL)animated{ self.tabBarCo ...
- 根据用户的ID查用户的名字
awk -F: '{if($3==0){print $1}}' /etc/passwd
- Spark源码学习3
转自:http://www.cnblogs.com/hseagle/p/3673132.html 一.概要 本篇主要阐述在TaskRunner中执行的task其业务逻辑是如何被调用到的,另外试图讲清楚 ...
- Spring——AOP(面向切面编程)@AspectJ注解方式
一.什么是AOP? AOP: (Aspect Oriented Programming)即面向切面编程. 试想这样的场景:项目中需要在业务方法执行完打印日志记录.最笨的办法就是在每个方法核心业务执行完 ...
- 这两天写的mybatis配置文件,主要是有输出和输入的存储过程
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-/ ...
- d指针在Qt上的应用及实现(d指针能实现二进制兼容)
Qt为了使其动态库最大程度上实现二进制兼容,引入了d指针的概念.那么为什么d指针能实现二进制兼容呢?为了回答这个问题,首先弄清楚什么是二进制兼容?所谓二进制兼容动态库,指的是一个在老版本库下运行的程序 ...
- HTML5新特性之CSS+HTML5实例
1.新的DOCTYPE和字符集 HTML5的一项准则就是化繁为简,Web页面的DOCTYPE被极大的简化. <!DOCTYPE html> 同时字符集声明也被简化了: <meta c ...
- HTTP有关知识
Cookie 调用Cookie时,由于可校验Cookie的有效期,以及发送方的域,路径,协议等信息,所以正规发布的Cookie里面的内容不会因来自其他web站点和攻击者的攻击而泄露. Set-Cook ...