JavaWeb课程系列

第13章Session

1. session简介

session是我们jsp九大隐含对象的一个对象。

session称作域对象,他的作用是保存一些信息,而session这个域对象是一次会话期间使用同一个对象。所以这个对象可以用来保存共享数据。

  • 使用Cookie有一个非常大的局限,就是如果Cookie很多,则无形的增加了客户端与服务端的数据传输量。而且由于浏览器对Cookie数量的限制,注定我们不能再Cookie中保存过多的信息,于是Session出现。
  • Session的作用就是在服务器端保存一些用户的数据,然后传递给用户一个名字为JSESSIONID的Cookie,这个JESSIONID对应这个服务器中的一个Session对象,通过它就可以获取到保存用户信息的Session。

session是基于cookie的。

在用户第一次使用session的时候(访问jsp页面会获取session,所以一般访问index.jsp就算是第一次使用session了),服务器会为用户创建一个session域对象。使用jsessionid和这个对象关联,这个对象在整个用户会话期间使用。响应体增加set-cookie:jsessionid=xxx的项。用户下次以后的请求都会携带jsessionid这个参数,我们使用request.getSession()的时候,就会使用jsessionid取出session对象。

session原理图: