jsp的scope属性【转载】

scope属性决定了JavaBean对象存在的范围。
scope的可选值包括:
---page(默认值)
---request
---session
---application
 
一、page范围内:
客户每次请求访问JSP页面时,都会建立一个JavaBean对象。JavaBean对象的有效范围是客户请求访问的当前JSP网页。JavaBean对象在如下两种状况下都会结束生命期:
---客户请求访问的当前JSP网页经过<forward>标记将请求转发到另外一个文件
---客户请求访问的当前JSP页面执行完毕并向客户端发回响应
 
二、request范围内:
客户每次请求访问JSP页面时,都会建立新的JavaBean对象。JavaBean对象的有效范围为:
---客户请求访问的当前JSP网页
---和当前JSP网页共享同一个客户请求的网页,即当前JSP网页中<%@ include>指令以及<forward>标记包含的其余JSP页面
---当全部共享同一个客户请求的JSP页面执行完毕并向客户端发回响应时,JavaBean对象结束生命周期。
 
三、session范围内
javaBean对象被建立后,它存在于整个Session的生存周期内,同一个Session中的JSP文件共享这个JavaBean对象
javaBean对象做为属性保存在HttpSession对象中,属性名为JavaBean的id,属性值为javaBean对象。除了能够经过JavaBean的id直接引用JavaBean对象外,也能够经过HttpSession.getAttribute()方法取得JavaBean对象,例如:
CounterBean obj=(CounterBean)session.getAttribute("myBean");
 
四、application的范围
JavaBean对象被建立后,它存在于整个Web应用的声明周期内,Web应用中的全部JSP文件都能共享同一个JavaBean对象。
JavaBean对象做为属性保存在application对象中,属性名为JavaBean的id,属性值为JavaBean对象,除了能够经过JavaBean的id直接引用JavaBean对象外,也能够经过application.getAttribute()方法取得JavaBean对象,例如:
CounterBean obj=(CounterBean)application.getAttribute("myBean");
 
 
七、在session、application中屡次访问同一个页面的时候,(这个页面里面有<jap:useBean:    ……> 生成这个对象)系统经过以下方式进行判断,是否生成对象!
session的<jsp:useBean:>语句生成的代码,application原理相似。
 
注:日期(Date)放在session中的话是不会变的 ,就不会随着时间的变化而变化了。会一直是生成日期这个类那个时候的时间
 
五、PageContext(系统内的对象)的setAttribute()方法
scope属性决定了JavaBean对象存在的范围。
scope的可选值包括:
---page(默认值)
---request
---session
---application
 
一、page范围内:
客户每次请求访问JSP页面时,都会建立一个JavaBean对象。JavaBean对象的有效范围是客户请求访问的当前JSP网页。JavaBean对象在如下两种状况下都会结束生命期:
---客户请求访问的当前JSP网页经过<forward>标记将请求转发到另外一个文件
---客户请求访问的当前JSP页面执行完毕并向客户端发回响应
 
二、request范围内:
客户每次请求访问JSP页面时,都会建立新的JavaBean对象。JavaBean对象的有效范围为:
---客户请求访问的当前JSP网页
---和当前JSP网页共享同一个客户请求的网页,即当前JSP网页中<%@ include>指令以及<forward>标记包含的其余JSP页面
---当全部共享同一个客户请求的JSP页面执行完毕并向客户端发回响应时,JavaBean对象结束生命周期。
 
三、session范围内
javaBean对象被建立后,它存在于整个Session的生存周期内,同一个Session中的JSP文件共享这个JavaBean对象
javaBean对象做为属性保存在HttpSession对象中,属性名为JavaBean的id,属性值为javaBean对象。除了能够经过JavaBean的id直接引用JavaBean对象外,也能够经过HttpSession.getAttribute()方法取得JavaBean对象,例如:
CounterBean obj=(CounterBean)session.getAttribute("myBean");
 
四、application的范围
JavaBean对象被建立后,它存在于整个Web应用的声明周期内,Web应用中的全部JSP文件都能共享同一个JavaBean对象。
JavaBean对象做为属性保存在application对象中,属性名为JavaBean的id,属性值为JavaBean对象,除了能够经过JavaBean的id直接引用JavaBean对象外,也能够经过application.getAttribute()方法取得JavaBean对象,例如:
CounterBean obj=(CounterBean)application.getAttribute("myBean");
 
 
七、在session、application中屡次访问同一个页面的时候,(这个页面里面有<jap:useBean:    ……> 生成这个对象)系统经过以下方式进行判断,是否生成对象!
session的<jsp:useBean:>语句生成的代码,application原理相似。
  JSP中scope属性


注:日期(Date)放在session中的话是不会变的 ,就不会随着时间的变化而变化了。会一直是生成日期这个类那个时候的时间
 
五、PageContext(系统内的对象)的setAttribute()方法
 
JSP中scope属性
相关文章
相关标签/搜索