zoukankan      html  css  js  c++  java
  • JSP的隐藏对象

    以下内容引用自http://wiki.jikexueyuan.com/project/jsp/implicit-objects.html

    JSP隐式对象是Java对象,JSP容器使隐式对象在每一个页面中对开发人员是可用的,开发人员可以直接调用它们而不用显式声明。JSP隐式对象也称为预定义的变量。

    JSP支持九个隐式对象,如下所示:

    对象描述
    request 这是与请求关联的HttpServletRequest 对象。
    response 这是与客户端响应关联的HttpServletResponse对象。
    out 这是用于向客户端发送输出的PrintWriter对象。
    session 这是与请求关联的HttpSession对象。
    application 这是与应用程序上下文关联的ServletContext对象。
    config 这是与页面关联的ServletConfig 对象。
    pageContext 这个封装特使用特定服务器的特性,如更高的性能jspwriter。
    page 这是this的一个简单的同义词,是用来调用由转换的Servlet类定义的方法。
    Exception Exception对象允许指定的JSP访问异常数据。

    一、request对象

    request对象是javax.servlet.http.HttpServletRequest对象的一个实例。每次客户端请求一个页面时,JSP引擎都会创建一个新的对象来表示那个请求。

    request对象提供方法来获取HTTP头信息,包括表单数据,cookies,HTTP方法等。

    二、response对象

    response对象是javax.servlet.http.HttpServletResponse对象的一个实例。当服务器创建request对象时,它也创建了代表客户端响应的对象。

    response对象还定义了接口,可以处理创建的新的HTTP 头。通过这个对象JSP程序员可以添加新的cookies或日期stamps,HTTP状态码等。

    三、out对象

    out隐式对象是javax.servlet.jsp. JspWriter对象的一个实例,用于在响应中发送内容。

    最初的JspWriter对象被实例化不同程度地取决于页面是否缓冲。通过使用页面指令的buffered='false'属性,缓冲可以很容易地关掉。

    JspWriter对象包含大部分与java.io.PrintWriter类相同的方法。然而,JspWriter对象有一些额外的方法用来处理缓冲。与PrintWriter对象不同,JspWriter抛出IOException。

    以下是用来写布尔型char,int,double,object,String等等的重要方法。

    方法描述
    out.print(dataType dt) 输出一个数据类型的值
    out.println(dataType dt) 输出数据类型值然后用新行字符终止该行。
    out.flush() 刷新数据流。

    四、session对象

    session对象是javax.servlet.http.HttpSession的一个实例,且行为与Java Servlet中的session对象完全相同。

    session对象是用来跟踪客户端请求之间的客户端会话。

    五、application对象

    application对象是用于生成的Servlet的ServletContext对象的直接包装器,且实际上是javax.servlet.ServletContext对象的一个实例。

    这个对象是JSP页面整个生命周期的一个代表。当初始化JSP页面时,这个对象被创建,当JSP页面由jspDestroy()方法删除时,该对象也会被删除。

    通过为application添加属性,可以确保生成web应用程序的所有JSP文件可以访问它。

    六、config对象

    config对象是javax.servlet.ServletConfig的一个实例,且是用于生成的servlet的ServletConfig对象的直接包装器。

    该对象允许JSP程序员访问Servlet或JSP引擎初始化参数,如路径或文件位置等。

    下面的config方法是唯一一个可能曾经使用的方法,且它的使用很简单:

    config.getServletName();

    这返回servlet的名称,该名称是包含在定义在web-infweb.xml文件中<servlet-name>元素中的字符串。

    七、pageContext对象

    pageContext对象是javax.servlet.jsp.PageContext对象的一个实例。pageContext对象用于表示整个JSP页面。

    这个对象是作为一种手段来访问页面信息的,同时避免了大部分的实现细节。

    这个对象为每个请求存储了请求引用和响应对象。application,config,session,out对象是通过访问该对象的属性派生出来的。

    pageContext对象还包含发布到JSP页面的指令信息,包括缓冲信息,errorPageURL,页面范围。

    pageContext类定义了几个领域,包括PAGE_SCOPE,REQUEST_SCOPE,SESSION_SCOPE,和APPLICATION_SCOPE,它确定了这四个范围。它还支持40多个方法,大约一半的方法是继承了javax.servlet.jsp.JspContext类的。

    重要方法之一是removeAttribute,该方法接受一个或两个参数。例如,pageContext.removeAttribute(“attrName”) 从全部范围中删除属性,而下面的代码仅从页面范围中删除它:

    pageContext.removeAttribute("attrName", PAGE_SCOPE);

    八、page对象

    这个对象是一个页面实例的真实引用。它可以被认为是一个对象,代表了整个JSP页面。

    page对象实际上是this对象的一个直接的同义词。

    九、exception对象

    exception对象是一个包装器,包含来自先前页面的异常抛出。它通常用于为错误条件生成一个适当的响应。

  • 相关阅读:
    反射-特性
    反射-2
    反射-1
    智能楼宇管理实用手册
    山光凝翠,川容如画——太原西山地区的历史营建与遗存
    城市逆向规划建设:基于城市生长点形态与机制的研究
    建筑快题设计50问与100例
    明清建筑二论·斗栱的起源与发展
    建筑工程计量与计价实训教程(甘肃版)
    室内设计手绘快速表现技法火星课堂
  • 原文地址:https://www.cnblogs.com/EasonJim/p/6947758.html
Copyright © 2011-2022 走看看