共享数据在WEB应用中的范围

   在Web应用中,如果某种数据需要被多个Web组件共享,可以把这些共享数据放在特定的范围内。

1)、page --- 共享数据的有效果范围,是用户请求访问的当前JSP页面。

2)、request --- 共享数据的有效果范围,是用户请求访问的当前JSP组件、以及和当前web组件共享同一个用户请求的其他web组件(%@include %指令和标记)。

3)、sessin --- 共享数据的有效果范围,是整个Htpp会话的生命周期内,同一个Http会话中的web组件共享它。

4)、application --- 共享数据在于整个web应用的生命周期内,web应用中的所有web组件都能共享。

当客户第一次访问web应用(支持会话)时,就会开始一个新的Http会话,servlet容器为这个会话创建一个Httpsession对象,当客户浏览这些web应用的不同网页时,始终于处于同一个会话中,会话拥有特定的生命周期。
以下情况中,会话结束生命周期:

         <1>、客户端关闭浏览器。
   
<2>
、会话过期。
    
<3>、服务端调用HttpSessioninvalidate()方法。

把共享数据保存在Session范围内,会消耗大量的内.

解决session的问题:
   
<1>、对session进行持久化管理,Tomcat就提供了管理session
的功能。
    
<2>、如果request范围能完成和存放session范围内同样的功能,则优先考虑用request,因为request释放资源比较快。

你可能感兴趣的:(Struts学习笔记)