`

JSP系列五:JSP隐含对象

    博客分类:
  • JSP
阅读更多
一,jsp隐含对象
 1,jsp隐含对象是JSP容器加载管理的一组类的实例.

  * jsp隐含对象在 _jspService方法 中定义,所以只能在表达式,scriptlet中使用这些对象。
 
 2,jsp隐含对象分为4类:

  * 输入输出对象 : HttpServletRequest的request, HttpServletResponse的response, JspWriter的out;
  * 作用域通信对象 : HttpSession的session, ServletContext的application, PageContext的pageContext;
  * servlet对象 : Object的page, ServletConfig的config;
  * 错误对象 : Throwable的exception;

 3,servlet中的代码片段:
  ... ...
 public void _jspService(HttpServletRequest request, HttpServletResponse response)
          throws java.io.IOException, ServletException {
      PageContext pageContext = null;
      HttpSession session = null;
      ServletContext application = null;
      ServletConfig config = null;
      JspWriter out = null;
      Object page = this;
      JspWriter _jspx_out = null;
      PageContext _jspx_page_context = null;

  ... ...

 }
二,输入输出对象:控制页面的输入输出;

 1,HttpServletRequest request:客户端请求信息的封装。
  * 作用域: 
   一次请求到响应的阶段。在这阶段,对于转发和页面包含对象是共享的。
   请求对象对于每一次请求都重新创建。

 2, HttpServletResponse response : 服务器响应信息的封装。
  * 用于设置响应报头,Cooike等响应信息。

 3,JspWriter :以字符流形式输出数据,是PrintWriter的缓存版本,使用page指令的buffer属性来设置缓冲区的大小。
  
  * 几个和缓存操作有关的方法:
   flush : 刷新缓冲区;
   isAutoFlush:判断out对象是否自动刷新。设置自动刷新在page指令的buffer属性中。
   clear和clearBuffer:清除缓冲区中的内容.如果缓冲区被"刷新",  前者抛出IO异常,后者不会。
   
  * servlet中的代码片段:
   out = pageContext.getOut();
         _jspx_out = out; 
 
三,作用域通信对象:JSP页面和servlet的通信信息;

 1, PageContext pageContext :提供访问其他隐含对象及其属性和自身属性的统一入口,来保持同一页面不同组件之间的数据共享。

  * javax.servlet.jsp.PageContext;

  * 作用域:
   page的作用域。每个页面和请求都有不同的PageContext对象。
   使用include指令包含页面时,被包含文件共享该pageContext 对象。jsp:include动作则不可以。
   对于这样的属性那就放到request中。
   servlet和jsp页面不共享PageContext对象。

  * 访问,设置和移除 其他隐含对象的属性:scope为PageContext常量.
   getAttribute(string name, int scope);
   setAttribute(string name, int scope);
   removeAttribute(string name, int scope);
   removeAttribute(string name)方法将移除所有范围类的指定属性。

  * 搜索所有范围内指定的属性,按page,request,session,application的顺序来搜索。
   findAttribute(string name);

  * servlet中的代码片段:
    ... ...
  private static final JspFactory _jspxFactory = JspFactory.getDefaultFactory();
    ... ...
  public void _jspService(HttpServletRequest request, HttpServletResponse response)
    ... ...
   pageContext = _jspxFactory.getPageContext(this, request, response, null, true, 8192, true);
   PageContext _jspx_page_context = null;
         _jspx_page_context = pageContext;

   application = pageContext.getServletContext();
         config = pageContext.getServletConfig();
         session = pageContext.getSession();
         out = pageContext.getOut();
    ... ...
   _jspxFactory.releasePageContext(_jspx_page_context);
    ... ...
  }

 2,HttpSession session :封装当前请求的会话信息,实现会话跟踪。

  * servlet中的代码片段:
   session = pageContext.getSession();


 2,ServletContext application

  * 作用域: web应用程序运行期间,所有页面都共享该对象。
  * servlet中的代码片段:
    application = pageContext.getServletContext();


四,servlet对象:JSP页面的环境信息;

 1,Object  page :当前请求期间servlet对象的引用。

  * 可以使用page访问生成的servlet的类成员和方法。page指令就是对该对象的应用。

  * 作用域: 
   每次请求jsp页面时创建,在请求转发或响应后被销毁。
   这个范围的对象只能在创建对象的页面中访问。
   pageContext对象属于page范围。
   
  * servlet中的代码片段:
   Object page = this;

 2,ServletConfig  config :servlet初始化信息。


五,错误对象:处理页面的错误;

  * java.lang.Throwable exception : 表示JSP页面运行时产生的异常。
 
 ** 该对象只能在错误页面(page指令中isErrorPage=true的页面)中使用。

原文:[url]http://dinghaoliang.blog.163.com/blog/static/12654071420100259471140/?fromdm&fromSearch&isFromSearchEngine=yes[/url]
分享到:
评论

相关推荐

    jsp隐含对象详细解析

    ### jsp隐含对象详细解析 #### 一、概述 JSP(Java Server Pages)是一种基于Java技术的服务器端动态网页开发技术。它允许开发者在HTML文档中嵌入Java代码来实现动态内容的生成。在JSP开发中,有一些内置的对象...

    JSP EL隐含对象

    EL隐含对象是JSP EL提供的一组预定义变量,无需显式声明即可直接在EL表达式中使用,极大地提高了开发效率。 1. **pageContext对象** pageContext对象提供了对JSP页面所有作用域的访问,包括page、request、session...

    java中JSP和el表达式的隐含对象

    ### Java中JSP和EL表达式的隐含对象详解 在Java Web开发中,JSP(Java Server Pages)作为一种常用的技术被广泛应用于构建动态网页。它允许开发者将HTML、JavaScript等静态网页元素与动态生成的内容混合在一起。在...

    JSP的九个隐含对象

    ### JSP的九个隐含对象详解 #### 一、page对象 `page`对象是JSP中的一个重要概念,它实际上代表的是当前JSP页面在编译后转换成的Servlet实例。通过`page`对象,开发者可以访问和调用由JSP对应的Servlet类中定义的...

    jsp隐含对象 chm

    jsp隐含对象 jsp隐含对象 jsp隐含对象 jsp隐含对象

    JSP隐含对象.ppt

    JSP 隐含对象 JSP 隐含对象是 Web 容器加载的一组类,它们不像一般的 Java 对象那样用” new” 去获取实例,而是可以直接在 JSP 页面使用的对象。这些隐式对象的名称是 JSP 的保留字,JSP 使用 Java 定义的隐式对象...

    详细了解JSP中九个隐含对象

    详细了解JSP中九个隐含对象,page 对象,config 对象,request 对象,response 对象,out 对象,session 对象,application对象,pageContext对象,exception对象

    JSP中九个隐含对象

    ### JSP中的九个隐含对象详解 #### 一、Page对象 在JSP中,`page`对象代表了JSP页面本身,更准确地说,它代表的是JSP被编译后生成的Servlet实例。通过这个对象,我们可以访问当前页面(即Servlet)的所有属性和...

    JAVA网络编程:第3章 JSP隐含对象.ppt

    JSP隐含对象是Java Server Pages(JSP)中预定义的一组特殊变量,开发者在编写JSP页面时可以直接使用,无需显式声明。这些对象提供了对服务器端编程的强大支持,涵盖了从客户端获取数据、向客户端发送响应、管理数据...

    JSP内置对象实验报告.doc

    4. **pageContext对象**:pageContext对象是所有JSP页面范围内的数据共享机制。它提供了对当前页面、请求、会话和应用范围内的对象的访问。`pageContext.getAttribute()`和`pageContext.setAttribute()`用于获取和...

    Jsp中九个隐含对象的区别.doc

    在JavaServer Pages (JSP) 技术中,隐含对象是预定义的变量,可以直接在JSP页面中使用,无需显式声明。它们提供了对Servlet API的便捷访问,简化了开发过程。以下是JSP中九个主要的隐含对象及其区别: 1. **page**:...

    jsp的九个隐含对象

    1. **pageContext对象**:这是最全面的隐含对象,它提供了对JSP页面上下文的访问,允许开发者获取或设置其他隐含对象、请求、响应、session、application等对象的属性。`pageContext.findAttribute()`方法可以用来...

    jsp隐含对象

    jsp 内置文档对象,可通过该文档进行简单查询!

    JAVA网络编程:第3章 JSP隐含对象1.ppt

    JSP隐含对象是预定义的变量,可以直接在JSP页面中使用,无需显式声明。 在3.3节中,重点讲解了与属性作用域相关的`session`对象。HTTP协议本身是无状态的,这意味着服务器对每个请求的处理都是独立的,不保留任何...

    jsp,servlet基础

    jsp 与servlet基础 1:jsp概述 2:jsp基础 3:jsp隐含对象 4:jsp中使用数据库 5:jsp与javabean ...

    JSP的内置对象详细讲解

    6.1 JSP 隐含对象概述 JSP的内置对象包括`out`、`request`、`response`、`session`、`application`、`exception`和`pageContext`。它们在JSP转换成Servlet时自动创建并注入。 6.2 `out` 对象 `out`对象用于向客户端...

Global site tag (gtag.js) - Google Analytics