天天看點

JSP内置對象JSP隐藏對象

servlet 和jsp中輸出資料都需要使用out對象。servlet 中的out對象是通過getwriter()方法擷取的。而jsp中沒有定義out對象卻可以直接使用。這是因為out是jso的内置隐藏對象。jsp中的常見的9個内置隐藏對象如下

JSP内置對象JSP隐藏對象

  隐藏對象out是javax.servlet.jsp.jspwriter類的執行個體伺服器向客戶輸出的字元内容可以通過out對象輸出,out對象常用的方法如下:

1   void clear()   清除緩沖區的内容

2   void clearbuffer()   清除緩沖區的目前内容

3   void flush()   将緩沖内容flush到用戶端浏覽器

4   int getbuffersize()   傳回緩沖大小,機關kb

5   int getremaining()   傳回緩沖剩餘大小,機關kb

6   isautoflush()   傳回緩沖區滿時,是自動清空還是抛出異常

7   void close()    關閉輸出流

  隐藏對象request是javax.servlet.servletrequest類的執行個體,代表用戶端的請求。request包含用戶端的資訊以及請求的資訊,如請求那個檔案,附帶的位址參數等。每次用戶端的請求都會産生一個request執行個體。request對象的常用方法如下:

1   object getattribute(string name)   傳回指定屬性的屬性值

2   enumeration getattributenames()    傳回所有可用屬性名的枚舉

3  string getcharacterencoding()   傳回字元編碼方式

4   int getcontentlength()   傳回請求體的長度(以位元組數)

5   string getcontenttype()   得到請求體的mime類型

6   servletinputstream getinputstream()   得到請求體中一行的二進制流

7   string getparameter(string name)   傳回name指定參數的參數值

8   enumeration getparameternames()   傳回可用參數名的枚舉

9   string[] getparametervalues(string name)    傳回包含參數name的所有值的數組

10   string getprotocol()   傳回請求用的協定類型及版本号

11   string getscheme()   傳回請求用的計劃名,如:http https及ftp等

12   int getserverport()   傳回伺服器接受此請求所用的端口号

13   string getservername()    傳回接受請求的伺服器主機名

14   bufferedreader getreader()    傳回解碼過了的請求體

15   string getremoteaddr()    傳回發送此請求的用戶端ip位址

16   string getremotehost()   傳回發送此請求的用戶端主機名

17   void setattribute(string key object obj)   設定屬性的屬性值

18   string getrealpath(string path)   傳回一虛拟路徑的真實路徑

19   void setcharacterencoding(“gb2312”)   設定接受參數的字元集

  隐藏對象response是javax.servlet.servletresponse類的執行個體,代表用戶端的響應。伺服器端的任何輸出都通過response對象發送到用戶端浏覽器。每次伺服器端都會響應一個response執行個體。response對象的常用方法如下:

1   string getcharacterencoding()    傳回響應用的是何種字元編碼

2   servletoutputstream getoutputstream()   傳回響應的一個二進制輸出流

3   printwriter getwriter()   傳回可以向用戶端輸出字元的一個對象

4    void setcontentlength(int len)   設定響應頭長度

5   void setcontenttype(string type)   設定響應的mime類型

6   sendredirect(java.lang.string location)   重新定向用戶端的請求

7   void setcharacterencoding(“gb2312”)   設定響應頭的字元集

  隐藏對象config是javax.servlet.servletconfig類的執行個體,servletconfig封裝了配置在web.xml中初始化jsp的參數。jsp中通過config擷取這些參數。每個jsp檔案中共有一個config對象。config對象的常用方法如表:

1  string getinitparameter(string name)  傳回配置在web.xml中初始化參數

2  enumeration getinitparameternames()   傳回所有的初始化參數名稱

3  servletcontext getservletcontext()  傳回servletcontext對象

4  string getservletname  傳回servlet對象

  隐藏對象session是javax.servlet.http.httpsession類的執行個體。session與cookie是記錄客戶通路資訊的兩種機制,session是用于伺服器端儲存使用者資訊,cookie用于在用戶端儲存使用者資訊。servlet中通過request.getsession()來擷取session對象,而jsp中可以直接使用。如果jsp中配置了<%@page session=”false”%>,則隐藏對象session不可用。每個使用者對應一個session對象。session對象的常用方法如下:

1   long getcreationtime()   傳回session建立時間

2   public string getid()   傳回session建立時jsp引擎為它設的唯一id号

3   long getlastaccessedtime()   傳回此session裡用戶端最近一次請求時間

4   int getmaxinactiveinterval()   傳回兩次請求間隔多長時間此session被取消(ms)

5   string[] getvaluenames()   傳回一個包含此session中所有可用屬性的數組

6   void invalidate()  取消session,使session不可用

7   boolean isnew()   傳回伺服器建立的一個session,用戶端是否已經加入

8   void removevalue(string name)   删除session中指定的屬性

9   void setattribute(string key,object obj)   設定session的屬性

10, object getattribute(string name)   傳回session中屬性名為name的對象

  隐藏對象application是javax.servlet.servletcontext類的對象。application封裝jsp所在web應用程式的資訊,例如web.xml中國配置的全局的初始化資訊。servlet中application對象需要通過servletconfig.getservletcontext()來擷取。整個web應用程式對應一個application對象。application對象常用的方法如下:

1,  object getattribute(string name)  傳回application中屬性為name的對象

2,  enumeration getattributenames()   傳回application中的所有屬性名

3,  void setattribute(string name,object value)  設定application屬性

4,  void removeattribute(string name)   移除application屬性

5,  string getinitparameter(string name)  傳回全局初始話函數

6,  enumeration getinitparameternames()  傳回所有的全局初始話參數

7,  string getmimetype(string filename)  傳回檔案的文檔類型,例如getmimetype(“abc.html”)将傳回“text.html”

8,  string getrealpath(string relativepath)  傳回web應用程式内相對網址對應的絕對路徑

  隐藏對象page是javax.servlet.jsp.httpjsppage類的執行個體。page對象代表目前jsp頁面,是目前jsp編譯後的servlet類的對象。page想當于java類中的關鍵字this

  隐藏對象pagecontext為javax.servlet.jsp.pagecontext類的執行個體。pagecontext對象代表目前jsp頁面編譯後的内容。通過pagecontext能夠擷取到jsp中的資源。pagecontext常用方法如下:

1    jspwriter getout()   傳回out對象

2    httpsession getsession()    傳回session對象(session)

3    object getpage()   傳回page對象

4    servletrequest getrequest()    傳回request對象

5    servletresponse getresponse()    傳回response對象

6    void setattribute(string name,object attribute)    設定屬性及屬性值 ,在page範圍内有效

7    void setattribute(string name,object obj,int scope)   在指定範圍内設定屬性及屬性值 ,int1=page,2=request,3=session,4=application

8   public object getattribute(string name)   取屬性的值

9   object getattribute(string name,int scope)   在指定範圍内取屬性的值

10   public object findattribute(string name)   尋找一屬性,傳回起屬性值或null

11   void removeattribute(string name)   删除某屬性

12   void removeattribute(string name,int scope)    在指定範圍删除某屬性

13   int getattributescope(string name)   傳回某屬性的作用範圍

14  enumeration getattributenamesinscope(int scope)   傳回指定範圍内可用的屬性名枚舉

15   void release()   釋放pagecontext所占用的資源

16  void forward(string relativeurlpath)    使目前頁面重導到另一頁面

17   void include(string relativeurlpath)    在目前位置包含另一檔案

  隐藏對象exception為java.lang.exception類的對象。exception封裝了jsp中抛出的異常資訊。要使用exception隐藏對象,需要設定<%@page iserrorpage”true”%>。隐藏對象exception通常被用來處理錯誤頁面,