JSP筆記-隱式物件

大雄45發表於2021-08-11
導讀 JSP(全稱JavaServer Pages)是由Sun Microsystems公司主導建立的一種動態網頁技術標準。JSP部署於網路伺服器上,可以響應客戶端傳送的請求,並根據請求內容動態地生成HTML、XML或其他格式文件的Web網頁,然後返回給請求者。JSP技術以Java語言作為 語言,為使用者的HTTP請求提供服務,並能與伺服器上的其它Java程式共同處理複雜的業務需求。

JSP筆記-隱式物件JSP筆記-隱式物件
SP隱式物件是JSP容器為每個頁面提供的Java物件,開發者可以直接使用它們而不用顯式宣告。JSP隱式物件也被稱為預定義變數。

JSP所支援的九大隱式物件:
JSP筆記-隱式物件JSP筆記-隱式物件

request物件

request物件是javax.servlet.http.HttpServletRequest 類的例項。每當客戶端請求一個JSP頁面時,JSP引擎就會製造一個新的request物件來代表這個請求。

request物件提供了一系列方法來獲取HTTP頭資訊,cookies,HTTP方法等等。

response物件

response物件是javax.servlet.http.HttpServletResponse類的例項。當伺服器建立request物件時會同時建立用於響應這個客戶端的response物件。

response物件也定義了處理HTTP頭模組的介面。透過這個物件,開發者們可以新增新的cookies,時間戳,HTTP狀態碼等等。

out物件

out物件是 javax.servlet.jsp.JspWriter 類的例項,用來在response物件中寫入內容。

最初的JspWriter類物件根據頁面是否有快取來進行不同的例項化操作。可以在page指令中使用buffered='false'屬性來輕鬆關閉快取。

JspWriter類包含了大部分java.io.PrintWriter類中的方法。不過,JspWriter新增了一些專為處理快取而設計的方法。還有就是,JspWriter類會丟擲IOExceptions異常,而PrintWriter不會。

下表列出了我們將會用來輸出boolean,char,int,double,String,object等型別資料的重要方法:
JSP筆記-隱式物件JSP筆記-隱式物件

session物件

session物件是 javax.servlet.http.HttpSession 類的例項。和Java Servlets中的session物件有一樣的行為。

session物件用來跟蹤在各個客戶端請求間的會話。

application物件

application物件直接包裝了servlet的ServletContext類的物件,是javax.servlet.ServletContext 類的例項。

這個物件在JSP頁面的整個生命週期中都代表著這個JSP頁面。這個物件在JSP頁面初始化時被建立,隨著jspDestroy()方法的呼叫而被移除。

透過向application中新增屬性,則所有組成您web應用的JSP檔案都能訪問到這些屬性。

config物件

config物件是 javax.servlet.ServletConfig 類的例項,直接包裝了servlet的ServletConfig類的物件。

這個物件允許開發者訪問Servlet或者JSP引擎的初始化引數,比如檔案路徑等。

以下是config物件的使用方法,不是很重要,所以不常用:

config.getServletName();

它返回包含在元素中的servlet名字,注意,元素在 WEB-INF\web.xml 檔案中定義。

pageContext 物件

pageContext物件是javax.servlet.jsp.PageContext 類的例項,用來代表整個JSP頁面。

這個物件主要用來訪問頁面資訊,同時過濾掉大部分實現細節。

這個物件儲存了request物件和response物件的引用。application物件,config物件,session物件,out物件可以透過訪問這個物件的屬性來匯出。

pageContext物件也包含了傳給JSP頁面的指令資訊,包括快取資訊,ErrorPage URL,頁面scope等。

PageContext類定義了一些欄位,包括PAGE_SCOPE,REQUEST_SCOPE,SESSION_SCOPE, APPLICATION_SCOPE。它也提供了40餘種方法,有一半繼承自javax.servlet.jsp.JspContext 類。

其中一個重要的方法就是 removeAttribute(),它可接受一個或兩個引數。比如,pageContext.removeAttribute("attrName") 移除四個scope中相關屬性,但是下面這種方法只移除特定 scope 中的相關屬性:

pageContext.removeAttribute("attrName", PAGE_SCOPE);
page 物件

這個物件就是頁面例項的引用。它可以被看做是整個JSP頁面的代表。

page 物件就是this物件的同義詞。

exception 物件

exception 物件包裝了從先前頁面中丟擲的異常資訊。它通常被用來產生對出錯條件的適當響應。

原文來自:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2785749/,如需轉載,請註明出處,否則將追究法律責任。

相關文章