JAVA-JSP隱式對象

來源:互聯網
上載者:User

標籤:擷取   欄位   字元   htm   writer   對象   組成   hits   and   

JSP隱式對象

在本章中,我們將討論和學習JSP中的隱式對象。這些對象是JSP容器為每個頁面中的開發人員提供的Java對象,開發人員可以直接調用它們而不用顯式地聲明它們再調用。 JSP隱式對象也稱為預定義變數。

下表列出了JSP支援的九個隱式對象 -

編號 對象 描述
1 request 這是與請求相關聯的HttpServletRequest對象。
2 response 這是與用戶端的響應關聯的HttpServletResponse對象。
3 out 這是用於將輸出發送到用戶端的PrintWriter對象。
4 session 這是與請求相關聯的HttpSession對象。
5 application 這是與應用程式上下文相關聯的ServletContext對象。
6 config 這是與該頁面相關聯的ServletConfig對象。
7 pageContext 這封裝了使用伺服器特定的功能,如更高效能的JspWriter
8 page 這隻是一個同義字,用於調用由翻譯的servlet類定義的方法。
9 Exception Exception對象允許指定的JSP訪問異常資料。
1. request對象

request對象是javax.servlet.http.HttpServletRequest對象的一個執行個體。每當用戶端請求頁面時,JSP引擎將建立一個新對象來表示該請求。

request對象提供了擷取包括表單資料,Cookie,HTTP方法等HTTP頭資訊的方法。

在後續章節-JSP用戶端請求中涵蓋與request對象相關聯的一整套方法。

2. response對象

response對象是javax.servlet.http.HttpServletResponse對象的一個執行個體。就像伺服器建立request對象一樣,它還建立一個對象來表示對用戶端的響應。

response對象還定義了處理建立新HTTP頭的介面。通過此對象,JSP程式員可以添加新的Cookie或日期戳,HTTP狀態碼等。

在後續章節 - JSP伺服器響應中介紹與response對象相關聯的一整套方法。

3. out對象

out隱式對象是javax.servlet.jsp.JspWriter對象的一個執行個體,用於在響應中發送內容。

初始化JspWriter對象根據頁面是否緩衝而不同地執行個體化。緩衝可以通過使用page指令的buffered =‘false‘屬性來關閉。

JspWriter對象包含與java.io.PrintWriter類大部分相同的方法。但是,JspWriter還有一些額外的方法用來處理緩衝。與PrintWriter對象不同,JspWriter會拋出IOExceptions異常。

下表列出了用於寫入booleancharintdoubleobjectString等類型資料的重要方法。

編號 方法 描述
1 out.print(dataType dt) 列印資料類型值
2 out.println(dataType dt) 列印資料類型值,然後用新行(換行)字元終止行。
3 out.flush() 重新整理流
4. session對象

session對象是javax.servlet.http.HttpSession的一個執行個體,其行為與Java Servlet下的會話對象行為完全相同。
session對象用於跟蹤用戶端請求之間的用戶端工作階段。在隨後的章節 - JSP會話跟蹤中將介紹會話對象的完整使用。

5. application對象

application對象是產生的ServletServletContext對象的直接封裝,實際上是javax.servlet.ServletContext對象的一個執行個體。

application對象是JSP頁面在其整個生命週期中的表示。 當JSP頁面被初始化時,將建立此對象,並且在JSP頁面被jspDestroy()方法刪除時application對象也將被刪除。

通過向application對象添加屬性值,可以確保組成Web應用程式的所有JSP檔案都可以訪問它。

在JSP使用者點擊統計章節中介紹和學習application對象如何使用。

6. config對象

config對象是javax.servlet.ServletConfig的執行個體化,是產生的servlet的ServletConfig對象周圍的直接封裝。

該對象允許JSP程式員訪問Servlet或JSP引擎初始化參數,例如:路徑或檔案位置等。
以下配置方法是唯一可以使用的配置方法,它的用法是非常簡單的 -

config.getServletName();
Java

這將返回當前servlet名稱,它是包含在WEB-INF\web.xml檔案中定義的<servlet-name>元素中的字串。

7. pageContext對象

pageContext對象是javax.servlet.jsp.PageContext對象的一個執行個體。pageContext對象用於表示整個JSP頁面。

pageContext對象旨在作為訪問有關頁面的資訊的一種手段,同時避免大部分實現細節。
該Object Storage Service對每個請求的請求和響應對象的引用。應用程式,配置,會話和輸出對象是通過訪問此對象的屬性匯出的。

pageContext對象還包含有關發布到JSP頁面的指令的資訊,包括緩衝資訊,errorPageURL和頁面範圍。

PageContext類定義了幾個欄位,包括:PAGE_SCOPEREQUEST_SCOPESESSION_SCOPEAPPLICATION_SCOPE,它們標識了四個範圍。它還支援超過40種方法,其中約一半是從javax.servlet.jsp.JspContext類繼承的。

其中一個重要的方法是removeAttribute。 此方法接受一個或兩個參數。 例如,pageContext.removeAttribute("attrName")從所有範圍中刪除屬性,而以下代碼僅將其從頁面範圍中刪除 -

pageContext.removeAttribute("attrName", PAGE_SCOPE);
Java

可以在JSP檔案上傳章節中查看pageContext是如何使用的。

8. page對象

page對象是對該頁面執行個體的實際引用。可以認為它是表示整個JSP頁面的對象。

page對象是this對象的直接同義字。

9. exception對象

exception對象是一個包含上一頁拋出的異常的封裝器。它通常用於產生對錯誤條件的適當響應。

我們將在JSP異常處理這一章中介紹這個對象的完整用法。

 

JAVA-JSP隱式對象

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.