JSP隱式對象是JSP容器為每個頁面提供的Java對象

來源:互聯網
上載者:User

標籤:lse   get   write   des   gets   不同的   生命週期   cookies   class   

JSP 隱式對象

JSP隱式對象是JSP容器為每個頁面提供的Java對象,開發人員可以直接使用它們而不用顯式聲明。JSP隱式對象也被稱為預定義變數。

JSP所支援的九大隱式對象:

對象 描述
request HttpServletRequest類的執行個體
response HttpServletResponse類的執行個體
out PrintWriter類的執行個體,用於把結果輸出至網頁上
session HttpSession類的執行個體
application ServletContext類的執行個體,與應用上下文有關
config ServletConfig類的執行個體
pageContext PageContext類的執行個體,提供對JSP頁面所有對象以及命名空間的訪問
page 類似於Java類中的this關鍵字
Exception Exception類的對象,代表發生錯誤的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,Srtring,object等類型資料的重要方法:

方法 描述
out.print(dataType dt) 輸出Type類型的值
out.println(dataType dt) 輸出Type類型的值然後換行
out.flush() 重新整理輸出資料流
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-name>元素中的servlet名字,注意,<servlet-name>元素在 WEB-INF\web.xml 檔案中定義。

pageContext 對象

pageContext對象是javax.servlet.jsp.PageContext 類的執行個體,用來代表整個JSP頁面。

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

這個Object Storage Service了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 類。

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

pageContext.removeAttribute("attrName", PAGE_SCOPE);
page 對象

這個對象就是頁面執行個體的引用。它可以被看做是整個JSP頁面的代表。

page 對象就是this對象的同義字。

exception 對象

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

JSP隱式對象是JSP容器為每個頁面提供的Java對象

相關文章

聯繫我們

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