對servlet\jsp九大內建物件的介紹及部分物件的區別

小爺欣欣發表於2017-06-03

經網友指錯,servlet沒有內建物件,而是jsp的

JSP九大內建物件:

1.request

獲取頁面傳來的引數資訊

2.response.

request獲取頁面傳來的引數後,後臺做出相應,返回給客戶端資料

3.session

每個客戶開啟一個瀏覽器,就會建立一個會話,並直到頁面關閉是一個完整的會話.其作用是當使用者在一個伺服器反覆呼叫幾個連結的時候,能讓伺服器知道這是同一個客戶.原理是當開啟第一個jsp頁面時,jsp引擎會建立一個session物件,並分配一個id,傳送到客戶端,放到cookie中,建立一一對應的關係,直到關閉瀏覽器session物件才取消.

4.application

伺服器啟動就建立了一個application物件,因此我個人認為它是以伺服器或者形象說是客戶訪問的某個網站為參照物件的.因此一個伺服器所有的客戶都是同一個application物件,它與seesion的區別是,session物件是以客戶為參照的,即一個客戶一個session物件,關閉瀏覽器seesion就消失,期間建立的變數也會歸零.而application物件建立的變數則是不斷累積,除非關閉的是伺服器.

5.out

out物件是一個輸出流,用來向客戶端輸出資料,可以是任何形式的,類似java後臺程式碼的system.out.println(),可以直接列印輸出語句.其與response的區別是out用於jsp頁面,response在servlet後臺程式碼和jsp頁面中都有出現,因此在jsp頁面中,out通常使用out.print直接列印語句,而response要先使用response.write()方法獲取後臺的響應資料,然後在使用print()列印出來.

6.page物件

是當前頁面轉換成servlet類的例項,多用在後臺程式碼中

7.config物件

jsp的配置資訊,多用在servlet類例項中

8.exception

頁面處理過程中的報錯資訊

9.pagecontext

是上下文屬性物件,即獲取當前頁面的屬性,通過此物件可以獲得其他八大物件

 

經網友指點,servlet確實沒有內建物件,不過servlet是java後臺程式碼,jsp是側重於html前端程式碼,jsp本質還是servlet。所以jsp的每個內建物件都在serlvet有對應方法,如下:

 

out 相當於
PrintWrite write=respons.getWrite();
write.println(“some test and html”);

Request 就是Servlet的request
reponse 就是Servlet的reponse
session 通過request.getsession()來獲得
application 就是ServletContext
config 就是ServletConfig
上邊2個的取得方法和session一樣就不說了
下邊3個屬性是Servlet裡沒有的(也不能說沒有 但是不能呼叫)
exception
PageContext
Page

 

 

相關文章