博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
初识 JSP---(Session机制)
阅读量:6909 次
发布时间:2019-06-27

本文共 1638 字,大约阅读时间需要 5 分钟。

Session机制

Session:在网络应用中,称为“会话控制”。Session 对象存储特定用户会话所需的属性及配置信息。

采用的是在服务器端保持HTTP有状态的信息方案

服务器端首先应该判断SessionID,如果有SessionID,就证明session创建如果没有SessionID,证明还没有创建Session

会话的生命周期

1.什么时候创建HttpSession对象

浏览器访问任何JSP和Servlet页面,服务会立即创建Session对象吗?

答:不一定

若当前JSP(servlet)是客户端访问的当前web应用的第一个资源,且JSP的page指定的session 属性值为false。则服务器就不会为JSP创建一个session对象了

若当前JSP页面不是客户端访问的当前web应用的第一个资源页面,且其他页面已经创建一个HTTPSession对象,则当前JSP页面返回一个会话的HttpSession对象,而不会创建一个新的httpSession对象

对于servlet而言:若servlet是客户端访问的第一个web资源,则只用调用request.getSession方法或request.getSession(true)才会创建Session对象

2.什么时候销毁

1.直接调用HTTPSession的invalidate方法:该方法使httpSession失效

2.服务器卸载web项目

3.超过httpSession的过期时间   

      设置session.setMaxInactiveInterval(5);单位为秒

      在web.xml文件配置session过期时间

并不是关闭浏览器就销毁HttpSeesion

当时间 > 1800 时,则销毁HttpSeesion

HttpSession:

HttpSession是java web对用户进行会话跟踪的一个接口

HttpSession由Servlet容器的提供者实现

HttpSession通过HttpServletRequst的getSession()或getSession(boolean)方法获取

getSession(): 如果会话没有被创建则创建并返回,若创建则返回已有的session对象

getSession(boolean): 如果参数是false,如果会话存在则返回,否则返回null

例:

 

 

Session中的方法

• String getId() 返回包含分配给此会话的唯一标识符的字符串

 

• void invalidate() 使会话无效,然后取消对任何绑定到它的对象的绑定

 

• void removeAttribute(String name) 从此会话中移除不指定名称绑定在一起的对象

• void setAttribute(String name, Object value) 使用指定名称将对象绑定到此会话

• Object getAttribute(String name) 返回不此会话中的指定名称绑定在一起的对象

• void setMaxInactiveInterval(int interval) 指定在servlet容器使此会话失效之前客户端请求之间的时间间隔。负数时间指示会话永进不会超时(以秒为单位,默认为1800秒)

• int getMaxInactiveInterval() 返回servlet容器在客户端访问之间将使此会话保持打开状态的最大时间间隔

 

• ServletContext getServletContext() 返回此会话的ServletContext

 

• boolean isNew() 如果客户端还不知道该会话,或者客户端选择丌加入该会话,则返回true。例如,如果服务器仅使用基于Cookie的会话,而客户端已经禁止了Cookie的使用,则每个请求上的会话都将是新会话

 

 

在xml配置中配置session过期时间(以分钟为单位)

你可能感兴趣的文章
—————————整数加法—————————————————————1002——————————————————————————...
查看>>
set built-in function
查看>>
c语言学习之基础知识点介绍(十三):枚举的介绍和使用
查看>>
顺序表和链表的编写以及测试
查看>>
clientHeight、offsetHeight、scrollTop
查看>>
手写json
查看>>
python-装饰器的简单使用
查看>>
CDQ分治学习笔记
查看>>
洛谷P3515 [POI2011]Lightning Conductor(决策单调性)
查看>>
CSS - 复合选择器
查看>>
tomcat 启用NIO
查看>>
转回java,项目遇到的环境相关问题记录
查看>>
linux suse 3.0.101的一次中断暴增的排查
查看>>
九度 题目1528:最长回文子串
查看>>
WebApi安全性 使用TOKEN+签名验证
查看>>
程序锁的分析一
查看>>
密码输入框的显示与隐藏
查看>>
day14 装饰器
查看>>
Oracle创建表,并添加默认值和备注
查看>>
国家统计信息查询网址
查看>>