JSP中的隱藏對象

來源:互聯網
上載者:User
  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

     

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.