信息,但当请求完成或者 socket 结束的时候,SERVLET 控制器会释放所有在 HttpServletRequest 中的对象。这 些对象仅在他们的请求的生命周期内存在。
HTTP 是无状态的,这意味着客户向服务器发送一个请求,服务器回应这个请求,这个 传递就完成了,就是会话结束了。我们应该感激 WEB 页面帮我们做的日志,这样我们就能 向购物车放置东西,并去检查它,服务器能够定义一个跨越多请求的扩展对话。属性和参数 被放在各自用户的 HttpSession 对象中,并通过它让程序的 SERVLET 和
JSP 交流。利用
这种办法,页面存储你的信息并把他们添加到 HttpSession 中,因此你可以用购物车购买 东西, 并检查商品和使用信用卡付帐。 作为一个无状态的协议, 它总是客户端发起连接请求, 服务器需要知道一个会话存在多长时间, 到时候就应该释放这个用户的数据。 超过这个会话 的最长时间就是会话超时, 他们在程序服务器中设置。 除非明确的要求释放对象或者这个会 话失效,否则在会话超时之前会话中的对象会一直存在。
正如 session 是为每个用户管理对象一样,ServletContext 为整个程序管理对象。 ServletContext 的有效范围是整个程序,因此你可以利用 Servlet 中的 ServletContext 或者 JSP 应用程序对象在所有的 Servlet 和 JSP 之间让在这个程序中的所有用户共享数据。 ServletContext 是最主要的存放程序配置信息和缓存程序数据的地方, 例如 JNDI 的信息。
如果数据不是存储这个四个地方(页面范围,请求范围,会话范围,程序范围)那就可能 存储在下面的对象中:
? ?