jsp useBean scope属性的区分
2010-05-21 15:55
330 查看
scope属性用于指定JavaBean实例对象所存储的域范围,其取值只能是page、request、session和application四个值中的一个,其默认值是page。
我可以测试下面代码:
date.jsp
---------------------------------------------------------
<jsp:useBean id="currentDate" class="java.util.Date" scope="request" />
<%=currentDate.toString() %>
测试结果:
1、当scope=application时,我们浏览date.jsp,这时显示出了系统时间。可是不管我们怎么刷新,另外打开一个浏览器,甚至换台机 器,它显示的时间始终不变,都是当初的时间(即bean刚创建时得到的系统时间),因为scope=application,所以JavaBean的实例在内存中只有一份,此时只要不重新启动WEB服务,输出不会变化。
2、当scope=session时,浏览date.jsp,刷新时显示也不会变化。可是当我们重新打开一浏览器,即一个新的session,系统便再次创建JavaBean的实例,取得当前系统时间,这时将得到正确的时间。同样,再次刷新新打开的页面,显示也不会变化。
3、当scope=page/request时,不断刷新页面将不断得到当前系统时间。
scope属性的各个设置值的意义和作用:
(1)page表示将JavaBean实例对象存储在PageContext对象中,作用范围是当前JSP页面有效。
(2)request表示将JavaBean实例对象存储在ServletRequest对象中,存储在request对象中的JavaBean对象可以被属于同一个请求的所有Servlet和JSP页面访问。
(3)session表示将JavaBean实例对象存储在HttpSession对象中,存储在HttpSession对象中的JavaBean对象可以被属于同一个会话的所有Servlet和JSP页面访问,此设置要求当前JSP页面支持Session,即没有将page指令的session属性设置为false。也就是对一个特定用户有效,一个http会话。
(4)application表示将JavaBean实例对象存储在ServletContext对象中,存储在ServletContext对象中的JavaBean对象可以被同一个Web应用程序中的所有Servlet和JSP页面访问。也就是所有用户都可以使用。
我可以测试下面代码:
date.jsp
---------------------------------------------------------
<jsp:useBean id="currentDate" class="java.util.Date" scope="request" />
<%=currentDate.toString() %>
测试结果:
1、当scope=application时,我们浏览date.jsp,这时显示出了系统时间。可是不管我们怎么刷新,另外打开一个浏览器,甚至换台机 器,它显示的时间始终不变,都是当初的时间(即bean刚创建时得到的系统时间),因为scope=application,所以JavaBean的实例在内存中只有一份,此时只要不重新启动WEB服务,输出不会变化。
2、当scope=session时,浏览date.jsp,刷新时显示也不会变化。可是当我们重新打开一浏览器,即一个新的session,系统便再次创建JavaBean的实例,取得当前系统时间,这时将得到正确的时间。同样,再次刷新新打开的页面,显示也不会变化。
3、当scope=page/request时,不断刷新页面将不断得到当前系统时间。
scope属性的各个设置值的意义和作用:
(1)page表示将JavaBean实例对象存储在PageContext对象中,作用范围是当前JSP页面有效。
(2)request表示将JavaBean实例对象存储在ServletRequest对象中,存储在request对象中的JavaBean对象可以被属于同一个请求的所有Servlet和JSP页面访问。
(3)session表示将JavaBean实例对象存储在HttpSession对象中,存储在HttpSession对象中的JavaBean对象可以被属于同一个会话的所有Servlet和JSP页面访问,此设置要求当前JSP页面支持Session,即没有将page指令的session属性设置为false。也就是对一个特定用户有效,一个http会话。
(4)application表示将JavaBean实例对象存储在ServletContext对象中,存储在ServletContext对象中的JavaBean对象可以被同一个Web应用程序中的所有Servlet和JSP页面访问。也就是所有用户都可以使用。
相关文章推荐
- jsp useBean scope属性的区分
- 一个区分Bean的作用域的例子,即的scope属性
- 关于<jsp:useBean>中的id,scope,class
- jsp:bean标签中scope属性的四种属性值理解
- <jsp:usebean> 标签中的scope取值范围区别
- 一个区分Bean的作用域的例子,即的scope属性
- jsp (五) <jsp:useBean> scope
- 一个区分Bean的作用域的例子,即的scope属性
- <jsp:useBean>
- spring中bean属性scope介绍
- Spring的bean标签的scope和parent属性
- spring中bean属性scope介绍
- Spring配置中<bean>的id和name属性区分
- JSP使用get/setProperty时,Bean的scope 改变引起的问题
- 在JSP页面中显示JavaBean属性信息
- JSP_8th_useBean的scope属性
- spring中bean的scope属性理解
- weblogic在处理jsp tag的scope属性时的BUG???
- <jsp:useBean />及相关动作深入理解
- jsp:useBean beanName