现在的位置: 首页 > 综合 > 正文

JSP中的隐藏对象

2012年09月25日 ⁄ 综合 ⁄ 共 3025字 ⁄ 字号 评论关闭
  1. 一、JSP中的隐藏对象        
               由于JSP是嵌入式的语言,不能显式的把一些必须的参数传递进来,比如Request对象,Response对象等,所以在JSP规范中提供了几个隐含的 对象来实现折椅功能。所谓隐含的对象,就是大家约定好使用一个名字来指代某个特定的对象,在编写JSP的时候不用显式的声明就能使用,由JSP引擎负责在 解释的时候把隐含对象加入到解释完的.java文件中。常用的隐含对象有application, session, request, response, out, page, exception, pageContext

      1.session对象

      2.application对象

      3.request对象

      4.respose对象

      5.out对象

      6.page对象

      7.exception对象

      8.pageContext对象

     1.session对象

      前面在Servlet部分已经提到,过当客户第一次访问Web服务器发布目录(一个Web服务器有一个或多个"发布目录")下的网页文件时,Web服 务器会自动创建一个session对象,并为其分配唯一的ID号,客户可以将其需要的一些信息保存到该session对象,以便需要时使用。 session对象就是指通过getSession法办法得到的对象,在JSP中是隐含对象,关于session对象的使用读者可以参见Servlet API

     2.application对象

      当Web服务器启动时,Web服务器会自动创建application对象。Application对象一旦创建,它将一直存在,直到Web服务器关闭。因此,application对象可以实现多客户间的数据共享。

      一个Web服务器常常有多个发布目录,当Web服务器启动时,它自动为每个发布目录都创建一个application对象,这些application对象各自独立,而且和发布目录一一对应。

      application的生命周期:从Web服务器启动到Web服务器关闭。

      application在生命周期内的作用范围:在同一个发布目录A下的所有网页文件中,都可以对"和发布目录A对应"的application对象 进行操作,而且访问发布目录A的所有客户都共用一个application对象。因此,当在该application中存放数据信息时,所有访问该发布目 录A的客户都能够对其进行访问,实现了多客户之间的数据共享。

      application对象的基类是:javax.servlet.ServletContext类。可以用该类中的getServletContext()方法取得application。具体的使用方法参见Servlet API。

     3.request对象

      request对象主要用于取得客户在表单中提交的数据信息及多个网页之间数据信息传递等。同时通过它也可以取得Web服务器的参数。跟Servlet参数中的Request对象是相对应的。

      request对象的基类为:javax.servlet.ServletRequest

      如果传输协议是http,则是javax.servlet.HttpServletRequest
      
      具体的使用方法参见Servlet API。

     4. respose对象

      respose对象主要用于向客户端输出信息,响应客户端的请求。跟Servlet参数中的Response对象是相对应的。

      respose对象的基类是:javax.servlet.ServletResponse

      如果传输协议是http.则为javax.servlet.HttpServletResponse.

      具体的使用方法参见Servlet API。

     5.out对象

      out对象用于向客户端输出数据。

      out对象基类是:javax.servlet.JspWriter类,跟Servlet中由HttpServletResponse得到的PrintWriter略有不同,但是都是从
    Writer继承而来,所以基本上还是一样的。

      具体的使用方法参见Servlet API。

     6.page对象

      page对象是当前JSP页面本身的一个实例。它的类型是:java.lang.Object。

      其方法就是Object类中的方法。如:Class getClass()返回一个对象在运行时所对应的类的表示,从而可以得到相应的信息。String toString()返回当前对象的字符串表示。page对象在当前页面中可以用this代替。

      具体的使用方法参见Java 2 API。

     7.exception对象

      当JSP页面在执行过程中发生例外或错误时,会自动产生exception对象。

      在当前页面用设置后,就可以使用该exception对象,来查找页面出错信息。
      exception对象的类型是:java.lang.Exception类.

      exception对象的常用方法为:

      String getMessage()
      返回页面的出错信息,如果没有则返回null

      void printStackTrace()
      以标准错误输出流的形式,打印并显示当前exception对象及其执行轨迹.

      具体的使用方法参见Java 2 API。

     8.pageContext对象

      pageContext对象相当于当前页面的容器,可以访问当前页面的所有对象。
      pageContext对象的基类是:javax.servlet.jsp.PageContext类。
      pageContext对象的常用方法:
      HttpSession getSession() 取得当前页面的session对象。
      ServletRequest getRequest() 取得当前页面的request对象。
      ServletResponse getResponse() 取得当前页面的response对象。
      ServletContext getServletContext() 取得当前页面的application对象。
      ServletConfig getServletConfig() 取得当前页面的config对象。
      Object getPage() 取得当前页面的page对象。
      JspWriter getOut() 取得当前页面的out对象。
      Exception getException() 取得当前页面的exception对象。
      void setAttribute(String variabelName, Object objectName)
      将对象objectName保存到pageContext中。
      Object getAttribute(String variableName)

      取得pageContext对象中保存的数据。如果参数variableName在当前session中不存在,则返回null.
      void removeAttribute(String variableName)

      删除pageContext中指定名字variableName的对象。如果该对象名不存在,则不执行任何操作。

      具体的使用方法参见Servlet API。

    以上原文出处:

    http://blog.chinaunix.net/u/4764/showart.php?id=136125

     

抱歉!评论已关闭.