JSP Session及其生命周期

@什么是Session:
1、session表示客户端与服务器的一次会话
2、Web中的session指:用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览网站所花费的时间。
3、在服务器的内存中保存着不同用户的session,一个用户对应一个session
4、从上述定义中可以看到,session实际是一个【特定的时间概念】


(1)session是JSP的一个内置对象,是HttpSession类的实例。
(2)从客户打开浏览器并连接到服务器开始,到客户关闭浏览器窗口断开与服务器的连接,这一过程成为一个会话。
(3)当客户在同一个网站的不同页面之间进行切换并访问时,服务器是通过session来判断这些请求是否来自同一个客户。
(4)session一般有时间限制,长时间不操作可能会导致session失效。session失效后原session中保存的属性值会全部丢失。
(5)setMaxInactiveInterval(int i)  该方法可直接设定session的生存时间,超过该时间session会重新创建。(单位:秒)
-------------------------------
session对象的常用方法有:
long getCreationTime() : 返回session的创建时间;
public String getId() : 返回session的唯一ID号(该ID在session生成时,由JSP引擎创建)
public Object setAttribute(String name,Object value) : 按照键值对的方式在该session会话中保存一个属性(该属性是一个对象类型)
public Object getAttribute(String name) : 返回指定名称的属性的值(如果该名称的属性不存在,则返回null)
String[] getValueNames() : 返回一个(包含在此session中所有可用属性)的数组。
int getMaxInactiveInterval() : 返回一个时间,该时间表示当前session间隔多少时间之后会失效(单位:秒)。



session的生命周期
1.创建:当客户端第一次访问某个jsp或者servlet时候,服务器会为当前会话创建一个SessionId,每次客户端向服务器发送请求时,都会将此SessionId携带过去,服务端会对此SessionId进行校验
2.活动:
①某次会话当中通过超链接打开的新页面属于同一次会话
②只要当前会话页面没有全部关闭,重新打开的浏览器窗口访问同一个项目资源时属于同一次会话
③除非本次会话的所有页面都关闭后在重新访问某个JSP或者servlet将会创建新的会话
注意:注意原有会话还存在,只是这个旧的Session仍然存在于服务端,只不过再也没有客户端会携带它然后交予服务端校验
3.销毁:三种方式
①调用了session.invalidate()方法
②Session过期(超时)、
	配置XML文件
	<session-config>
	<session-timeout>xxx</session-timeout>
	<session-config>
③服务器重新启动
时间: 2024-10-30 01:09:04

JSP Session及其生命周期的相关文章

session 的生命周期是多长_php基础

session 的生命周期是多长 1 浏览器结束时其生命周期也同时结束,但是档案仍然存在于 /tmp/(sess_???) 2 下次重新开浏览器时会重新分配 sessionID,如果你使用 session_id() 把以前的 ID 带回来,则会去读取残存在 /tmp 处的 sess_???, 取回你之前所有已经设定的参数 3 可以在 php.ini 里修改 session 档案残存的时间 session.gc_maxlifetime = 1440 ; after this number of s

php使用memcache存储session时,session的生命周期

问题描述 php使用memcache存储session时,session的生命周期 默认 session.save_handle=files session.gc_probability = 1 session.gc_divisor = 100 session.gc_maxlifetime = 1440 此时,session的生命周期为1440,超过这个时间session有1/100的几率被回收. 如果使用memcache存储session,memcache中的session的生命周期也是144

session的生命周期是多长

session 的生命周期是多长1 浏览器结束时其生命周期也同时结束,但是档案仍然存在于 /tmp/(sess_???) 2 下次重新开浏览器时会重新分配 sessionID,如果你使用 session_id() 把以前的 ID 带回来,则会去读取残存在 /tmp 处的 sess_???, 取回你之前所有已经设定的参数 3 可以在 php.ini 里修改 session 档案残存的时间 session.gc_maxlifetime = 1440 ; after this number of se

JSP 生命周期

理解JSP底层功能的关键就是去理解它们所遵守的生命周期. JSP生命周期就是从创建到销毁的整个过程,类似于servlet生命周期,区别在于JSP生命周期还包括将JSP文件编译成servlet. 以下是JSP生命周期中所走过的几个阶段: 编译阶段: servlet容器编译servlet源文件,生成servlet类 初始化阶段: 加载与JSP对应的servlet类,创建其实例,并调用它的初始化方法 执行阶段: 调用与JSP对应的servlet实例的服务方法 销毁阶段: 调用与JSP对应的servle

Servlet和JSP生命周期概述

Servlet生命周期分为三个阶段: 1,初始化阶段  调用init()方法 2,响应客户请求阶段 调用service()方法 3,终止阶段 调用destroy()方法 Servlet初始化阶段: 在下列时刻Servlet容器装载Servlet: 1,Servlet容器启动时自动装载某些Servlet,实现它只需要在web.XML文件中的<Servlet></Servlet>之间添加如下代码: 1     <loadon-startup>1</loadon-sta

Java对象的生命周期与作用域的讨论(转)

导读: Java对象的生命周期大致包括三个阶段:对象的创建,对象的使用,对象的清除.因此,对象的生命周期长度可用如下的表达式表示:T = T1 + T2 +T3.其中T1表示对象的创建时间,T2表示对象的使用时间,而T3则表示其清除时间.由此,我们可以看出,只有T2是真正有效的时间,而T1.T3则是对象本身的开销.下面再看看T1.T3在对象的整个生命周期中所占的比例. 我们知道,Java对象是通过构造函数来创建的,在这一过程中,该构造函数链中的所有构造函数也都会被自动调用.另外,默认情况下,调用

ASP.NET中的Global.asax以及Web应用的生命周期

asp.net|web   ASP.NET中的Global.asax以及Web应用的生命周期     Global.asax 文件,有时候叫做 ASP.NET 应用程序文件,提供了一种在一个中心位置响应应用程序级或模块级事件的方法.你可以使用这个文件实现应用程序安全性以及其它一些任务.    Global.asax 文件被配置为任何(通过 URL 的)直接 HTTP 请求都被自动拒绝,所以用户不能下载或查看其内容.ASP.NET 页面框架能够自动识别出对Global.asax 文件所做的任何更改

Windows 8 动手实验教程 实验5:进程生命周期管理

动手实验 实验5:进程生命周期管理 2012年9月 简介 进程生命周期管理对构建Windows应用商店应用的开发者来说是需要理解的最重要的概念之一.不同于传统的Windows应用(它们即使在后台仍然继续执行),Windows应用商店应用仅在前台时执行.通常不可见的应用程序被操作系统挂起并且不能被执行直到操作系统将它恢复到前台. 当应用程序被挂起,它仍然在内存中,同时它的所有线程被挂起.只要进程仍然在内存中,当应用程序回到前台时,它将从停止的地方继续执行.要做到这一点开发者不需要做任何工作.然而您

JSF 1.2入门,第2部分 JSF生命周期、转换、检验和阶段监听器

简介:本教程系列讨论 Java Server Faces(JSF)技术的基础知识,JSF 是一种服务器端框 架,它提供一种基于组件的 Web 用户界面开发方式.第 1 部分 概述了 JSF 1.2 并提供了一个基本的应 用程序.本部分帮助您掌握更高级的 JSF 特性:定制的检验器.转换器和阶段监听器,同时了解 JSF 应 用程序的生命周期. 开始之前 关于本系列 这个教程系列讨论 JavaServer Faces(JSF)技术.JSF 是一种用于 Java Web 应用程序的服务器端用户界面组件