zoukankan      html  css  js  c++  java
  • jsp九大内置对象及四个作用域

    JSP九大对象:内置对象(又叫隐含对象,有9个内置对象):不需要预先声明就可以在脚本代码和表达式中随意使用。

    JSP中九大内置对象为:

      • request                请求对象                 类型 javax.servlet.ServletRequest           作用域    Request
      • response             响应对象                    类型 javax.servlet.SrvletResponse          作用域    Page
      • pageContext       页面上下文对象         类型 javax.servlet.jsp.PageContext          作用域    Page
      • session               会话对象                     类型 javax.servlet.http.HttpSession         作用域    Session
      • application          应用程序对象              类型 javax.servlet.ServletContext            作用域    Application
      • out                      输出对象                     类型 javax.servlet.jsp.JspWriter               作用域    Page
      • config                 配置对象                     类型 javax.servlet.ServletConfig               作用域    Page
      • page                   页面对象                    类型 javax.lang.Object                               作用域    Page
      • exception           例外对象                     类型 javax.lang.Throwable                         作用域   page        

    JSP中四大作用域为:

    pageContext,request,session,application

    pageContext:属性的作用范围仅限于当前JSP页面。

    request:属性的作用范围仅限于同一个请求。

    session:属性的作用范围限于一次会话。

    application:属性的作用范围限于当前Web应用。

    一、request对象:代表的是来自客户端的请求,例如我们在FORM表单中填写的信息等,是最常用的对象。客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。它是HttpServletRequest类的实例。作用域为request(用户请求期)。

    二、response对象:对象代表的是对客户端的响应,也就是说可以通过response 对象来组织发送到客户端的数据。但是由于组织方式比较底层,所以不建议普通读者使用,需要向客户端发送文字时直接使用。它是HttpServletResponse类的实例。作用域为page(页面执行期)。

    三、session对象:指的是客户端与服务器的一次会话,从客户连到服务器的一个WebApplication开始,直到客户端与服务器断开连接为止。它是HttpSession类的实例。作用域session(会话期—)。

    四、out对象 :out对象是JspWriter类的实例,是向客户端输出内容常用的对象 。作用域为page(页面执行期)

    五、page对象:page对象就是指向当前JSP页面本身,有点象类中的this指针,它是java.lang.Object类的实例 。“page” 对象代表了正在运行的由JSP文件产生的类对象,不建议一般读者使用。 作用域    page

    六、application对象:实现了用户间数据的共享,可存放全局变量。它开始于服务器的启动,直到服务器的关闭,在此期间,此对象将一直存在;这样在用户的前后连接或不同用户之间的连接中,可以对此对象的同一属性进行操作;在任何地方对此对象属性的操作,都将影响到其他用户对此的访问。服务器的启动和关闭决定了application对象的生命。它是ServletContext类的实例。作用域application

    七、pageContext对象提供了对JSP页面内所有的对象及名字空间的访问,也就是说他可以访问到本页所在的SESSION,也可以取本页面所在的application的某一属性值,他相当于页面中所有功能的集大成者,它的本类名也叫pageContext。用域    Pageconfig对象

    八、config对象:config对象是在一个Servlet初始化时,JSP引擎向它传递信息用的,此信息包括Servlet初始化时所要用到的参数(通过属性名和属性值构成)以及服务器的有关信息(通过传递一个ServletContext对象)。作用域    Page

    九、exception对象:是一个例外对象,当一个页面在运行过程中发生了例外,就产生这个对象。如果一个JSP页面要应用此对象,就必须把isErrorPage设为true,否则无法编译。他实际上是java.lang.Throwable的对象.作用域    page

    作用域规定的是变量的有效期限

      如果把变量放到pageContext里,就说明它的作用域是page,它的有效范围只在当前jsp页面里。

      从把变量放到pageContext开始,到jsp页面结束,你都可以使用这个变量。

      如果把变量放到request里,就说明它的作用域是request,它的有效范围是当前请求周期。

      所谓请求周期,就是指从http请求发起,到服务器处理结束,返回响应的整个过程。在这个过程中可能使用forward的方式跳转了多个jsp页面,在这些页面里你都可以使用这个变量。

      如果把变量放到session里,就说明它的作用域是session,它的有效范围是当前会话。

      所谓当前会话,就是指从用户打开浏览器开始,到用户关闭浏览器这中间的过程。这个过程可能包含多个请求响应。也就是说,只要用户不关浏览器,服务器就有办法知道这些请求是一个人发起的,整个过程被称为一个会话(session),而放到会话中的变量,就可以在当前会话的所有请求里使用。

      如果把变量放到application里,就说明它的作用域是application,它的有效范围是整个应用。

      整个应用是指从应用启动,到应用结束。我们没有说“从服务器启动,到服务器关闭”,是因为一个服务器可能部署多个应用,当然你关闭了服务器,就会把上面所有的应用都关闭了。

      application作用域里的变量,它们的存活时间是最长的,如果不进行手工删除,它们就一直可以使用。

      与上述三个不同的是,application里的变量可以被所有用户共用。如果用户甲的操作修改了application中的变量,用户乙访问时得到的是修改后的值。这在其他scope中都是不会发生的,page, request,session都是完全隔离的,无论如何修改都不会影响其他人的数据。

                                                                                  

  • 相关阅读:
    备忘: Visual Studio 2013 VC++ IDE 使用小贴示。
    获取动态数组指针 所指向数组长度的一种方法
    备忘:C++ 类 (初学之实录)。
    备忘:VC++ 中的异常处理
    备忘: C++中的 vector 容器
    备忘:C++基础 -- 数据类型的学习总结
    Windws Server 2008 R2 WEB环境配置之MYSQL 5.6.22安装配置
    Windows Server 2008 R2 WEB服务器配置系列文章索引
    php学习过程二
    php学习过程一
  • 原文地址:https://www.cnblogs.com/sxjblogs/p/7266982.html
Copyright © 2011-2022 走看看