什么是session?

Session 对象是javax.servlet.htp.Http session类的实例,在实际开发中session对象最主要的作用就是保存用户登录信息等,该信息系在用户退出(可以是关闭浏览器等)之前一直有效,一般情况下,session都是存储在内存里,当服务器进程被停止或者重启的时候,内存里的session也会被清空;每一个session都代表不同的用户,即不同的用户有不同的session;

session通常用于跟踪用户的状态,会话等一些比较敏感的数据信息,比如判断用户当前是否为登陆状态等。虽然session是一个非常重要的概念和对象,但是关于它的内容却没有多少,很多的时候,我们都是围绕着session这个概念,开发一些比较复杂的功能,比如单点登录、自动认证、登录等功能。

什么是HttpSession?

当需要为用户端建立一个session时,servlet容器就创建了一个HttpSession对象。其中存储了和本session相关的信息。所以,在一个servlet中有多少个不同用户连接,就会有多少个HttpSession对象。

它是Java平台对session机制的实现规范,仅仅是个接口。Weblogic Server提供了一系列的参数来控制它的HttpSession的实现,包括使用cookie的开关选项,使用URL重写的开关选项,session持久化的设置,session失效时间的设置,以及针对cookie的各种设置,比如设置cookie的名字、路径、域, cookie的生存时间等

总结

  1. Session 对象是javax.servlet.htp.Http session类的实例,主要用来保持在服务器与一个客户端之间需要保留的数据。
  2. HttpSession是Java平台对session机制的实现规范,仅仅是个接口。Weblogic Server提供了一系列的参数来控制HttpSession的实现。