JSP中四种属性范围

来源:互联网 发布:床上用品 知乎 编辑:程序博客网 时间:2024/05/20 03:43

JSP中提供了四种属性的保存范围,所谓属性保存范围,指的就是一个设置的对象,可以在多少个页面中保存并继续使用。

四种属性范围:

pageContext      在一个页面中保存属性,跳转之后无效。

request              只在一次请求中保存,服务器跳转之后依然有效。

session               在一次会话范围中,无论何种跳转都可以继续使用。

application         在整个服务器上保存,所有用户都可以使用。

 

以pageContext为例:
[html] view plain copy
  1. <%@page contentType="text/html" pageEncoding="GBK"%>  
  2. <%@page import="java.util.*"%>  
  3.   
  4. <html>  
  5. <head><title>JSP</title></head>  
  6.   
  7. <body>  
  8.   
  9. <%  
  10.      pageContext.setAttribute("name","张三");  
  11.      pageContext.setAttribute("birthday","1993-04-06");  
  12. %>  
  13. <%  
  14.      String username=(String)pageContext.getAttribute("name");  
  15.      String birthday=(String)pageContext.getAttribute("birthday");  
  16. %>  
  17. 姓名:<%=username%><br><br>  
  18. 生日:<%=birthday%>  
  19.   
  20. </body>  
  21. </html>  

 

以下跳转就不能用pageContext:

文件名:request01.jsp

[html] view plain copy
  1. <%@page contentType="text/html" pageEncoding="GBK"%>  
  2. <%@page import="java.util.*"%>  
  3.   
  4. <html>  
  5. <head><title>JSP</title></head>  
  6.   
  7. <body>  
  8.   
  9. <%  
  10.      request.setAttribute("name","张三");  
  11.      request.setAttribute("birthday","1993-04-06");  
  12. %>  
  13. <jsp:forward page="pageContext02.jsp"/>  
  14.   
  15. </body>  
  16. </html>  

文件名:request02.jsp

[html] view plain copy
  1. <%@page contentType="text/html" pageEncoding="GBK"%>  
  2. <%@page import="java.util.*"%>  
  3.   
  4. <html>  
  5. <head><title>JSP</title></head>  
  6.   
  7. <body>  
  8.   
  9. <%  
  10.      String username=(String)request.getAttribute("name");  
  11.      String birthday=(String)request.getAttribute("birthday");  
  12. %>  
  13. 姓名:<%=username%><br><br>  
  14. 生日:<%=birthday%>  
  15.   
  16. </body>  
  17. </html>  

其他的属性以此类推。