• JSP 对象的作用范围


    在JSP中,对象有四种范围:page、request、session和application


    page范围

                所谓的page范围指单一的JSP页面范围,page范围内的对象只能在创建对象的页面中访问。在page范围内可以使用pageContext对象的setAttribute()和getAttribute()方法来访问具有这种范围类型的对象。page范围内的对象在客户端每次请求JSP页面时创建,在服务器发送响应或请求转发到其它的页面或资源后失效。
    例子:
    testOne.jsp
    <%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        
        <title>My JSP 'testOne.jsp' starting page</title>
        
        <%
            String name="page";
            pageContext.setAttribute("name", name);
        %>
      </head>
      <body>
              <strong>
                   testOne:<%=pageContext.getAttribute("name") %>
              </strong>
              <br/>
              
              <%
                pageContext.include("testTwo.jsp");
              %>
      </body>
    </html>
    
    testTwo.jsp
    <%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <title>My JSP 'testTwo.jsp' starting page</title>
      </head>
      <body>
              <strong>
                testTwo:<%=pageContext.getAttribute("name") %>>
              </strong>
      </body>
    </html>
    
    查看运行结果:

    注:pageContext对象本身也属于page范围,具有page范围的对象被绑定到pageContext对象中.




    request 对象范围

    相对于在page范围内的对象与pageContext绑定在一起 ,request范围内的对象则与客户端用户的请求绑定在一起,即request范围内的对象在页面转发或包含中有效。在该范围内的对象同样可以通过调用request对象的setAttribute()与getAttribute()方法找到,同时在调用forward()方法转向的页面或者调用include()方法包含的页面时,都可以访问request范围内的对象。




    session对象范围

    JSP容器为每一次会话创建一个session对象,在会话期间,只要将对象绑定到session中,对象的范围就为session。在会话有效期间,都可以访问session范围内的对象。




    application 对象范围

    相对于session范围针对一个会话,application的范围则面对整个Web应用程序,即当服务器启动后就会创建一个application对象,被所有用户 所共享,当具有application范围的对象绑定到JSP的application对象中时,在Web应用程序的运行期间,所有的页面都可以访问appliction范围内的对象,其范围最大.
    testOne.jsp







  • 相关阅读:
    C# 全局变量
    [C#]续:利用键代码自动转换生成字母键或其它键信息
    [WPF](小结2)DataGrid嵌套DataGrid(也叫主从表)
    [C#]winform窗口托盘
    C# arrayList动态添加对象元素,并取出对象元素的方法
    [WPF](小结3)DataGridInTreeView树嵌表
    [WPF](小结4)TreeView的数据分层模板
    [WPF](小结1)ListBox嵌套ListBox
    [C#]利用键代码自动转换生成字母键或其它键信息
    [C#]使用API 获取设置系统热键和快捷键
  • 原文地址:https://www.cnblogs.com/wuyida/p/6300337.html
Copyright © 2020-2023  润新知