什么是session

  • session表示客户端与服务器的一次会话
  • Web中的session指的是用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间
  • 从上述定义中可以看到,session实际上是一个特定的时间概念
  • 在服务器的内部中保存着不同用户的session

session对象

  • session对象是一个JSP内置对象。
  • session对象在第一个JSP页面被装载时自动创建,完成会话期管理。
  • 从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话。
  • 当一个客户访问一个服务器时,可能会在服务器的几个页面之间切换,服务器应当通过某种办法知道这是一个客户,就需要session对象。
  • session对象是HtppSession类的实例。

session对象常用方法如下:

jsp 输出session属性 jsp中session_jsp 输出session属性

Session的生命周期

创建:当客户端第一次访问某个jsp或者Servlet时候,服务器会为当前会话创建一个SessionId,每次客户端向服务器端发送请求时,都会将此SessionId携带过去,服务端会对此SeesionId进行校验。

活动:

  • 某次会话当中通过超链接打开的新页面属于同一次会话。
  • 只要当前会话页面没有全部关闭,重新打开新的浏览器窗口访问同一项目资源时属于同一次会话。
  • 除非本次会话的所有页面都关闭后再重新访问某个Jsp或者Servlet将会创建新的会话。

注意事项:注意原有会话还存在,只是这个旧的SessionId仍然存在于服务端,只不过再也没有客户端携带它然后交予服务端校验。

销毁:

Session的销毁只有三种方式:

1、调用了session.invalidate()方法

2、Session过期(超时)

3、服务器重新启动

application对象:

jsp 输出session属性 jsp中session_java_02

application对象常用方法如下:

jsp 输出session属性 jsp中session_服务器_03

page对象

jsp 输出session属性 jsp中session_常用方法_04

 pageContext对象

jsp 输出session属性 jsp中session_客户端_05

pageContext对象常用方法如下:

jsp 输出session属性 jsp中session_java_06

Config对象

jsp 输出session属性 jsp中session_服务器_07

Exception对象

jsp 输出session属性 jsp中session_jsp 输出session属性_08