session是服务器端的一种机制,利用类似于散列表的方式来存储信息。
HttpSession是Java Servlet API中提供的对Session机制的实现规范,它仅仅是一个接口,Servlet容器必须实现这个接口。当一个Session开始时,Servlet容器会创建一个HttpSession对象,并同时在内存中为其开辟一个空间,用来存放此Session对应的状态信息。Servlet容器为每一个HttpServlet对象分配一个唯一的标示符,SessionID,同时SessionID发送给客户端,由浏览器负责保存此SessionID。这样,当客户端再发送请求时,浏览器会同时发送请求时,浏览器会同时发送SessionID,Servlet容器可以从请求对象中读取SessionID的值找到相应的HttpSession对象。每个客户端对应于服务器端的一个HttpSession对象,这通过SessionID的值找到相应的HttpSession对象。每个客户端对应于服务器端的一个HttpSession对象,这通过SessionID区分。
也就是说,但一个客户端请求创建一个Session时,服务器首先会进行判断,判断这个session是否已经存在,如果存在那么服务器就会调出这个session得到sessionID保存在客户端。
Cookie是服务器发给客户端的一小段文本,保存在浏览器所在的客户端的内存或磁盘上。服务器可以从客户端独处这些Cookie。通过Cookie,客户端和服务器端可建立起一种联系,也就是说,Cookie是一种可以让服务器对客户端信息进行保存和获取的机制。
ServletContext是运行在Servlet的逻辑容器。同一个ServletContext中的所有Servlet共享存于其中的信息和属性。在Servlet API中定义了一个ServletContext接口,用于存取Servlet运行的环境或者ServletContext信息。ServletContext对象可以通过使用ServletConfig对象的getServeltContext()方法获得,在Servlet中提供了getServletContext()方法也可以直接获得ServletContext对象。
在新Servlet容器启动时,服务器端会创建一个ServletContext对象。在容器运行期间ServletContext对象一直存在。当容器停止时,ServletContext的生命周期结束。
PageContext是指在当前页面上,作用范围是当前的页面。