JSP 隐式对象

  • 隐式对象

    在本章中,我们将讨论JSP中的隐式对象。这些对象是JSP容器在每个页面中提供给开发人员的Java对象,开发人员可以直接调用它们而无需明确声明。JSP隐式对象也称为预定义变量。
    下表列出了JSP支持的九个隐式对象-
    对象 描述
    request 这是与请求关联的HttpServletRequest对象。
    response 这是与对客户端的响应相关联的HttpServletResponse对象。
    out 这是用于将输出发送到客户端的PrintWriter对象。
    session 这是与请求关联的HttpSession对象。
    application 这是与应用程序上下文关联的ServletContext对象。
    config 这是与页面关联的ServletConfig对象。
    pageContext 这封装了服务器特定功能的使用,例如更高性能的JspWriters。
    page 这只是它的同义词,用于调用已翻译的Servlet类定义的方法。
    Exception Exception对象允许指定的JSP访问异常数据。
  • request 对象

    request对象是javax.servlet.http.HttpServletRequest对象的实例。每次客户请求页面时,JSP引擎都会创建一个新对象来表示该请求。request对象提供了获取HTTP标头信息的方法,包括表单数据,cookie,HTTP方法等。
    “JSP-客户端请求”中,我们将介绍与请求对象相关的完整方法集。
  • response 对象

    response对象是javax.servlet.http.HttpServletResponse对象的实例。正如服务器创建请求对象一样,它也创建一个对象来表示对客户端的响应。响应对象还定义了用于处理创建新HTTP标头的接口。通过此对象,JSP程序员可以添加新的cookie或日期戳,HTTP状态代码等。
    “JSP服务器响应”中,我们将介绍与响应对象相关的完整方法集。
  • out 对象

    out隐式对象是javax.servlet.jsp.JspWriter对象的实例,用于在响应中发送内容。初始JspWriter对象的实例化取决于页面是否被缓冲。使用page指令的buffered='false'属性可以很容易地关闭缓冲。JspWriter对象包含与java.io.PrintWriter类大多数相同的方法。但是,JspWriter具有一些其他设计用于处理缓冲的方法。与PrintWriter对象不同,JspWriter抛出IOExceptions。
    下表列出了我们将用于编写布尔char,int,double,object,String等的重要方法。
    • out.print(dataType dt) - 打印数据类型值
    • out.println(dataType dt) - 打印数据类型值,然后以换行符结束该行。
    • out.flush() - 冲洗流。
  • session 对象

    session对象是javax.servlet.http.HttpSession的实例,其行为与session对象在Java Servlet下的行为完全相同。session对象用于跟踪客户端请求之间的客户端会话。我们将在“JSP-会话跟踪”中介绍session对象的完整用法。
  • application 对象

    application对象是生成的ServletServletContext对象的直接包装,实际上是javax.servlet.ServletContext对象的实例。该对象表示JSP页面在其整个生命周期中的状态。在初始化JSP页面时创建此对象,并在通过jspDestroy()方法删除JSP页面时将其删除。通过向应用程序添加属性,可以确保组成Web应用程序的所有JSP文件都可以访问它。
    我们将在“JSP-点击计数器”一章中检查application 对象的使用。
  • config 对象

    config对象是javax.servlet.ServletConfig的实例,并且是生成的ServletServletConfig对象的直接包装。
    该对象允许JSP程序员访问Servlet或JSP引擎初始化参数,例如路径或文件位置等。
    以下配置方法是您可能会使用的唯一方法,其用法很简单-
    
    config.getServletName();
    
    这将返回servlet名称,该名称是WEB-INF\web.xml文件中定义的<servlet-name>元素中包含的字符串。
  • pageContext 对象

    pageContext对象是javax.servlet.jsp.PageContext对象的实例。pageContext对象用于表示整个JSP页面。该对象旨在作为一种访问页面信息的方式,同时隐藏了大多数实现细节。该对象存储对请求的引用以及每个请求的响应对象。的应用程序,配置,会话,进出目的通过访问该对象的属性的。 pageContext对象还包含有关发布到JSP页面的指令的信息,包括缓冲信息,errorPageURL和页面作用域(scope)。PageContext类定义了几个字段,包括PAGE_SCOPE,REQUEST_SCOPE,SESSION_SCOPEAPPLICATION_SCOPE,它们标识了四个范围。它还支持40多种方法,其中大约一半是从javax.servlet.jsp.JspContext类继承的。重要的方法之一是removeAttribute。此方法接受一个或两个参数。例如,pageContext.removeAttribute("attrName")从所有范围中删除该属性,而以下代码仅从page 作用域中删除该属性-
    
    pageContext.removeAttribute("attrName", PAGE_SCOPE);
    
    可以在“JSP-文件上传”一章中检查pageContext的使用。
  • page 对象

    page对象是对页面实例的实际引用。可以将其视为代表整个JSP页面的对象。page对象实际上是此对象的直接同义词。
  • exception 对象

    exception 对象是一个包装器,包含从上一页引发的异常。它通常用于生成对错误情况的适当响应。
    我们将在“JSP-异常处理”一章中介绍该对象的完整用法。