当使用HttpServletRequest的getSession()方法时,Web容器会建立一个HttpSession对象,而每个HttpSession对象都拥有一个唯一得SessionID,可以通过HttpSession的getId()方法得到这个ID。这个Session ID默认会使用cookie存放在浏览器。
由于Web容器本身是执行与JVM上的一个Java程序,通过getSession()得到的HttpSession则是容器中的一个对象,HttpSession中所存放的属性自然也是存放在服务器端的Web容器中。当浏览器请求应用程序是,会将Cookie中存放的SessionID一并发给应用程序,Web容器根据SessionID找出相应的HttpSession对象,这样就可以取得各浏览器个别的会话资料。