servlet容器通过在客户浏览器中保存一个sessionid来跟踪 session,如果浏览器关闭了session,就得通过其他手段来跟踪用户的状态,在 java servlet api 中,提出了更总session的另外一种机制,如果客户端不支持cookie,可以通过重写url来达到一定的目的,将sessionID 放到url中,httpservletresponse中有一个 encodeURL 来支持这种目的。
对于高并发的网站来说,如果有一万人同事访问,就得在内存中存一万个session,这个代价是很大的,可以将不活跃的session放到文件系统或者数据库中,从而提高对内存的利用率。
session manager 可以管理session的持久化,他可以在tomcat重启的过程中,把内存中的session进行持久化。而persistent manager提供了比session manager更为灵活的方式。通过配置的方式能够将session保存到 filestore,或者jdbcstore中。