JSP内置对象——session
session
session表示客户端与服务器的一次会话
Web中的session指的是用户在浏览某个网站时,从进入网站到浏览器关闭所进过的这段时间,也就是用户浏览这个网站所花费的时间
从上述定义中可以看到,session实际上是一个特定的时间概念
在服务器的内存当中保存着不同用户的session,session和用户是一一对应的。
session对象
session对象是一个JSP内置对象。
session对象在第一个JSP页面被装载时自动创建,完成会话期管理。
从客户端打开浏览器并连接到服务器开始,到客户端关闭浏览器离开这个服务器结束,被称为一个会话。
当一个客户访问一个服务器,可能会在服务器的几个页面之间切换,服务器应当通过某种办法知道这是一个客户,就需要session对象。
session对象是HttpSession类的实例。
session对象常用方法如下:
long getCreationTime() 返回session创建时间
String getId() 返回session创建时JSP引擎为他设的唯一ID号
void setAttribute(String name, Object value) 使用指定名称将对象绑定到此会话
Object getAttribute(String name) 返回此会话中的指定名称绑定在一起的对象,如果没有对象绑定在该名称下,则返回null
String[] getValueNames() 返回一个包含此session中所有可用属性的数组
int getMaxInactiveInterval() 返回两次请求间隔多长时间此session被取消(单位:秒)
session的生命周期
session的生命周期包括三个阶段:创建、活动、销毁
创建:
当客户端第一次访问某个jsp或者servlet的时候,服务器会为当前会话创建一个SessionId,每次客户端向服务器发送请求时,都会将此sessionId携带过去,服务端会对此sessionId进行校验。
活动:
某次会话当中通过超链接打开的新页面属于同义词会话。
只要当前页面没有全部关闭,重新打开新的浏览器窗口访问同一项目资源时属于同一次会话。
本次会话的所有页面都关闭后再重新访问某个Jsp或者Servlet将会创建新的会话。
注意事项:注意原有会话还存在,只是这个旧的SessionID任然存在服务端,只不过再也没有客户端会携带它然后交予服务端校验。
销毁:
Session的销毁只有三种方式:
1.调用了session.invalidate()方法
2.session过期(超时)
3.服务器重新启动
Tomcat默认session超时时间为30秒。
设置session超时时间有两种方式:
1.session.setMaxInactiveInterval(时间);//单位是秒
2.在web.xml中配置
<session-config>
<session-timeout>
10
</session-timeout>
</session-config> // 单位是分钟
(注:web.xml文档在项目的WEB-INF目录下)
JSP内置对象——session的更多相关文章
- Jsp内置对象-session
session内置对象介绍 个人理解:session因为是唯一的, session是与请求有关的会话期,它是java.servlet.http.HttpSession类的对象,用来表示和存储当前页面的 ...
- JSP内置对象——session对象
举个购物流程的例子: 这整个购物过程,它是属于一次回话.那么这个session是保存在服务器内存当中,并且它保存着不同用户对应的session,一个用户对应一个session.看下面这幅图: 从图中可 ...
- JSP内置对象Session
创建和获取客户的会话 setAttribute()与getAttribute() session.setAttribute(String name , Object obj) 如session.set ...
- jsp内置对象-session对象
一.session概述 隐含对象session是javax.servlet.http.HttpSession接口实现类的对象,用于保存用户的状态信息. 在web开发中,服务器为每个用户浏览器创建一个会 ...
- JSP内置对象--session对象(getId(),getCreationTime(),getLastAccessedTime(),isNew(),invalidate(),setAttribute(),getAttribute())
session对象是javax.servlet.http.HttpSession接口的实例,但是不像HttpServletRequest或HttpServletResponse一样,有父接口,他没有父 ...
- JSP内置对象—session
什么是session? session对象是用来在每个用户之间分别保存每个用户信息的对象,以便跟踪用户的操作状态.session的信息保存在server端,session的id保存在client的co ...
- Java学习-jsp内置对象Session
- JSP内置对象的使用(一)
JSP九大内置对象是:request.response.session.application.out.pagecontext.config.page.exception. JSP常用的内置对象是:o ...
- JSP内置对象seesion
什么是session session表示客户端与服务器的一次会话 Web中的session指的是用户在浏览某网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间 从上述定 ...
随机推荐
- vector 类简介和例程
一.标准库的vector类型 vector是同一种类型的对象的集合 vector的数据结构很像数组,能非常高效和方便地访问单个元素 vector是一个类模板(class template) vecto ...
- C语言实现http get请求程序
1.客户端程序: 向指定URL发送http请求, http://files.cnblogs.com/files/yyx1-1/httpclient01.7z 源码程序 2.服务器程序: 接收URL请求 ...
- C# BeginInvoke和EndInvoke方法
转载自:BeginInvoke和EndInvoke方法 IDE:Visual Studio 2008 本系列教程主要包括如下内容:1. BeginInvoke和EndInvoke方法 2. Threa ...
- HTML十进制字符编号
有时候写文章时,段落里引用的代码莫名的就被解释到原本的html中了,通过用一些HTML里特殊字符的编码即可回到原文,保留原格式. 字符 十进制字符编号 实体名字 说明 ! ! — 惊叹号Exclama ...
- POJ 1321:棋盘问题
棋盘问题 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 21666 Accepted: 10765 Descriptio ...
- 线程相关函数(7)-sem_post(), sem_wait() 信号量
sem_tsem_initsem_waitsem_trywaitsem_timedwaitsem_postsem_destroy 生产者消费者实例: #include <stdlib.h> ...
- <unistd.h>的close(0)导致std::cout被关闭
代码如下:其中ZJ::open_max返回系统允许的打开的文件的最大个数 #include "util.h" #include <unistd.h> // int cl ...
- jQuery+html5实现的3D动态切换焦点轮播幻灯片
今天爱编程给网友们分享一款基于jQuery+html5实现的3D动态切换焦点轮播幻灯片,支持左右箭头和圆点按钮播放控制,支持多种不同的3D动态切换特效,自适应全屏显示,兼容360.FireFox.Ch ...
- 原创jQuery插件之图片自适应
效果图例如以下: 功能:使图片自适应居中位于容器内 限制:容器须要给定大小 用法: 1.引入jQuery.然后引入fitimg插件 2.给须要图片自适应的容器固定宽高 3.header .accoun ...
- Unix系统编程()文件控制操作fcntl
fcntl系统调用对一个打开的文件描述符执行一系列的控制操作. int fcntl(int fd, int cmd, -) cmd参数所支持的操作范围很广 fcntl的第三个参数以省略号表示,意味着可 ...