天天看點

JSP 九大内置對象

① out - javax.servlet.jsp.jspwriter

   out對象用于把結果輸出到網頁上。

方法:

1. void clear() ;

   清除輸出緩沖區的内容,但是不輸出到用戶端。

2. void clearbuffer() ;

   清除輸出緩沖區的内容,并輸出到用戶端。

3. void close() ;

   關閉輸出流,清除所有内容。

4. void flush() ;

   輸出緩沖區裡面的資料。

5. int getbuffersize() ;

   擷取以kb為機關的目前緩沖區大小。

6. int getremaining() ;

   擷取以kb為機關的緩沖區中未被占用的空間大小。

7. boolean isautoflush() ;

   是否自動重新整理緩沖區。

8. void newline() ;

   輸出一個換行字元。

9. void print( boolean b ) ;

   void print( char c ) ;

   void print( char[] s ) ;

   void print( double d ) ;

   void print( float f ) ;

   void print( int i ) ;

   void print( long l ) ;

   void print( object obj ) ;

   void print( string s ) ;

   将指定類型的資料輸出到http流,不換行。

10. void println( boolean b ) ;

    void println( char c ) ;

    void println( char[] s ) ;

    void println( double d ) ;

    void println( float f ) ;

    void println( int i ) ;

    void println( long l ) ;

    void println( object obj ) ;

    void println( string s ) ;

    将指定類型的資料輸出到http流,并輸出一個換行符。

11. appendable append( char c ) ;

    appendable append( charsequence cxq, int start, int end ) ;

    appendable append( charsequence cxq ) ;

    将一個字元或者實作了charsequence接口的對象添加到輸出流的後面。

成員:

int default_buffer = 0    - 預設緩沖區大小

int no_buffer = -1        - writer是否處于緩沖輸出狀态

int unbounded_buffer = -2 - 是否限制緩沖區大小

② request - javax.servlet.http.httpservletrequest

   request對象包含所有請求的資訊,如請求的來源、标頭、cookies和請求相關的參數值等。

1. object getattribute( string name ) ;

   傳回由name指定的屬性值,該屬性不存在時傳回null。

2. enumeration getattributenames() ;

   傳回request對象的所有屬性名稱的集合。

3. string getauthtype() ;

   傳回用來保護servlet的認證方法的名稱,未受保護時傳回null。

4. string getcharacterencoding() ;

   傳回請求中的字元編碼方法,可以在response對象中設定。

5. int getcontentlength() ;

   傳回請求的body的長度,不能确定長度時傳回-1。可以在response中設定。

6. string getcontenttype() ;

   傳回在response中定義的内容類型。

7. string getcontentpath() ;

   傳回請求的路徑。

8. cookie[] getcookies() ;

   傳回用戶端所有的cookie的數組。

9. enumeration getheadernames() ;

   傳回所有http頭的名稱的集合。

10. enumeration getheaders( string name ) ;

    傳回指定http頭的所有值的集合。

11. string getheader( string name ) ;

    傳回指定名稱的http頭的資訊。

12. long getdateheader( string name ) ;

    傳回指定名稱的data類型的http頭的資訊。

13. int getintheader( string name ) ;

    傳回指定名稱的int類型的http頭的資訊。

14. servletinputstream getinputstream() ;

    傳回請求的輸入流。

15. locale getlocale() ;

    傳回目前頁的locale對象,可以在response中設定。

16. enumeration getlocales() ;

    傳回請求中所有的locale對象的集合。

17. string getlocalname() ;

    擷取響應請求的伺服器端主機名。

18. string getlocaladdr() ;

    擷取響應請求的伺服器端位址。

19. int getlocalport() ;

    擷取響應請求的伺服器端端口

20. string getmethod() ;

    擷取用戶端向伺服器端發送請求的方法(get、post)。

21. string getparameter( string name ) ;

    擷取用戶端發送給伺服器端的參數值。

22. map getparametermap() ;

    該方法傳回包含請求中所有參數的一個map對象。

23. enumeration getparameternames() ;

    傳回請求中所有參數的集合。

24. string[] getparametervalues( string name ) ;

    獲得請求中指定參數的所有值。

25. string getquerystring() ;

    傳回get方法傳遞的參數字元串,該方法不分解出單獨的參數。

26. string getpathinfo() ;

    取出請求中處于servletpath和querystring之間的額外資訊。

27. string getpathtranslated() ;

    傳回用getpathinfo()方法取得的路徑資訊的實際路徑。

28. string getprotocol() ;

    傳回請求使用的協定。可以是http1.1或者http1.0。

29. bufferedreader getreader() ;

    傳回請求的輸入流對應的reader對象,該方法和getinputstream()方法在一個頁面中隻能調用一個。

30. string getremoteaddr() ;

    擷取送出請求的用戶端ip位址。

31. string getremotehost() ;

    擷取送出請求的用戶端主機名

32. string getremoteuser() ;

    傳回經過用戶端驗證的使用者名,未經驗證傳回null。

33. int getremoteport() ;

    傳回送出請求的用戶端主機端口。

34. string getrealpath( string path ) ;

    傳回給定虛拟路徑的實體路徑。

35. requestdispatcher getrequestdispatcher( string path ) ;

    按給定的路徑生成資源轉向處理擴充卡對象。

36. string getrequestedsessionid() ;

    傳回請求的session的辨別。

37. string requesturi() ;

    傳回送出請求的用戶端位址,但是不包括請求的參數字元串。

38. stringbuffer getrequesturi() ;

    傳回響應請求的伺服器端位址

39. string getscheme() ;

    擷取協定名稱,預設值為http協定。

40. string getservername() ;

    傳回響應請求的伺服器名稱。

41. string getservletpath() ;

    擷取用戶端所請求的腳本檔案的檔案路徑。

42. int getserverport() ;

    擷取響應請求的伺服器端主機端口号。

43. void removeattribute( string name ) ;

    在屬性清單中删除指定名稱的屬性。

44. void setattribute( string name, object value ) ;

    在屬性清單中添加/删除指定的屬性。

45. void setcharacterencoding( string name ) ;

    設定請求的字元編碼格式。

46. httpsession getsession() ;

    httpsession getsession( boolean create ) ;

    擷取session,如果create為true,在無session的情況下建立一個。

47. boolean isrequestedsessionidfromcookie() ;

    檢查請求的會話id是否為通過cookie傳入。

48. boolean isrequestedsessionidfromurl() ;

    檢查請求的會話id是否為通過url傳入。

49. boolean isrequestedsessionidvalid() ;

    檢查請求的會話id是否仍然有效。

50. boolean issecure() ;

    檢查請求是否使用安全連結,如果https等。

51. boolean isuserinrole( string role ) ;

    檢查已經通過驗證的使用者是否在是role所指定的角色。

52. principal getuserprincipal() ;

    傳回包含使用者登陸名的一個java.security.principal對象。

string basic_auth = "basic"             - 

string client_cert_auth = "client_cert" - 

string digest_auth = "digest"           - 

string form_auth = "form"               -

③ response - javax.servlet.http.httpservletresponse

   response對象主要将jsp容器處理後的結果傳回到用戶端。

1. void addcookie( cookie cookie ) ;

   添加一個cookie對象,儲存用戶端資訊。

2. void adddateheader( string name, long value ) ;

   添加一個日期類型的http頭資訊,覆寫同名的http頭資訊。

3. void addheader( string name, string value ) ;

   添加一個http頭,覆寫同名的舊http頭。

4. void addintheader( string name, int value ) ;

   添加一個整型的http頭,覆寫同名的舊http頭。

5. boolean containsheader( string name ) ;

   判斷指定的http頭是否存在。

6. string encoderedirecturl( string url ) ;

   對sendredirect()方法使用的url進行編碼。

7. string encodeurl( string url ) ;

   将url予以編碼,回傳包含session id的url。

8. void flushbuffer() ;

   強制把目前緩沖區的内容發送到用戶端。

9. int getbuffersize() ;

   取得以kb為機關的緩沖區大小。

10. string getcharacterencoding() ;

    擷取響應的字元編碼格式。

11. string getcontenttype() ;

    擷取響應的類型。

12. locale getlocale() ;

    擷取響應的locale對象。

13. servletoutputstream getoutputstream() ;

    傳回用戶端的輸出流對象。

14. printwriter getwriter() ;

    擷取輸出流對應的writer對象。

15. boolean iscommitted() ;

    判斷伺服器端是否已經将資料輸出到用戶端。

16. void reset() ;

    清空buffer中的所有内容。

17. void resetbuffer() ;

    情況buffer中所有的内容,但是保留http頭和狀态資訊。

18. void senderror( int xc, string msg ) ;

    void senderror( int xc ) ;

    發送錯誤,包括狀态碼和錯誤資訊。

19. void sendredirect( string locationg ) ;

    把響應發送到另外一個位置進行處理。

20. void setbuffersize( int size ) ;

    設定以kb為機關的緩沖區大小。

21. void setcharacterencoding( string charset ) ;

    設定響應使用的字元編碼格式。

22. void setcontentlength( int length ) ;

    設定響應的body長度。

23. void setcontenttype( string type ) ;

    設定響應的類型。

24. void setdateheader( string name, long value ) ;

    設定指定名稱的data類型的http頭的值。

25. void setheader( string name, string value ) ;

    設定指定名稱的http頭的值。

26. void setintheader( string name, int value ) ;

    設定指定名稱的int類型的http頭的值。

27. void setstatus( int xc ) ;

    設定響應狀态碼,新值會覆寫目前值。

成員(http狀态碼):

int sc_continue = 100                      int sc_switching_protocols = 101

int sc_ok = 200                            int sc_non_authoritative_information = 203

int sc_accepted = 202                      int sc_created = 201

int sc_no_content = 204                    int sc_reset_content = 205

int sc_partial_content = 206               int sc_multiple_choices = 300

int sc_moved_permanently = 301             int sc_moved_temporarily = 302

int sc_found = 302                         int sc_see_other = 303

int sc_not_modified = 304                  int sc_use_proxy = 305

int sc_temporary_redirect = 307            int sc_bad_request = 400

int sc_unauthorized = 401                  int sc_payment_required = 402

int sc_forbidden = 403                     int sc_not_found = 404

int sc_method_not_allowed = 405            int sc_not_acceptable = 406

int sc_proxy_authentication_required = 407 int sc_request_timeout = 408

int sc_conflict = 409                      int sc_gone = 410

int sc_length_required = 411               int sc_precondition_failed = 412

int sc_request_entity_too_large = 413      int sc_request_uri_too_long = 414

int sc_unsupported_media_type = 415        int sc_requested_range_not_satisfiable = 416

int sc_expectation_failed = 417            int sc_internal_server_error = 500

int sc_not_implemented = 501               int sc_bad_gateway = 502

int sc_service_unavailable = 503           int sc_gateway_timeout = 504

int sc_http_version_not_supported = 505

④ session - javax.servlet.http.httpsession

   session對象表示目前個别使用者的會話狀态,用來識别每個使用者。

   擷取與指定名字相關聯的session屬性值。

   取得session内所有屬性的集合。

3. long getcreationtime() ;

   傳回session的建立時間,最小機關千分之一秒。

4. string getid() ;

   取得session辨別。

5. long getlastaccessedtime() ;

   傳回與目前session相關的用戶端最後一次通路的時間,由1970-01-01算起,機關毫秒。

6. int getmaxinactiveinterval( int interval ) ;

   傳回總時間,以秒為機關,表示session的有效時間(session不活動時間)。-1為永不過期。

7. servletcontext getservletcontext() ;

   傳回一個該jsp頁面對應的servletcontext對象執行個體。

8. httpsessioncontext getsessioncontext() ;

9. object getvalue( string name ) ;

   取得指定名稱的session變量值,不推薦使用。

10. string[] getvaluenames() ;

    取得所有session變量的名稱的集合,不推薦使用。

11. void invalidate() ;

    銷毀這個session對象。

12. boolean isnew() ;

    判斷一個session是否由伺服器産生,但是用戶端并沒有使用。

13. void pubvalue( string name, object value ) ;

    添加一個session變量,不推薦使用。

14. void removevalue( string name ) ;

    移除一個session變量的值,不推薦使用。

15. void setattribute( string name, string value ) ;

    設定指定名稱的session屬性值。

16. void setmaxinactiveinterval( int interval ) ;

    設定session的有效期。

17. void removeattribute( string name ) ;

    移除指定名稱的session屬性。

⑤ pagecontext - javax.servlet.jsp.pagecontext

   pagecontext對象存儲本jsp頁面相關資訊,如屬性、内建對象等。

1. void setattribute( string name, object value, int scope ) ;

   void setattribute( string name, object value ) ;

   在指定的共享範圍内設定屬性。

2. object getattribute( string name, int scope ) ;

   object getattribute( string name ) ;

   取得指定共享範圍内以name為名字的屬性值。

3. object findattribute( string name ) ;

   按頁面、請求、會話和應用程式共享範圍搜尋已命名的屬性。

4. void removeattribute( string name, int scope ) ;

   void removeattribute( string name ) ;

   移除指定名稱和共享範圍的屬性。

5. void forward( string url ) ;

   将頁面導航到指定的url。

6. enumeration getattributenamesscope( int scope ) ;

   取得指定共享範圍内的所有屬性名稱的集合。

7. int getattributescope( string name ) ;

   取得指定屬性的共享範圍。

8. errordata geterrordate() ;

   取得頁面的errordata對象。

9. exception getexception() ;

   取得頁面的exception對象。

10. expressionevaluator getexpressionevaluator() ;

    取得頁面的expressionevaluator對象。

11. jspwriter getout() ;

    取得頁面的out對象。

12. object getpage() ;

    取得頁面的page對象。

13. servletrequest getrequest() ;

    取得頁面的request對象。

14. servletresponse getresponse() ;

    取得頁面的response對象。

15. servletconfig getconfig() ;

    取得頁面的config對象。

16. servletcontext getservletcontext() ;

    取得頁面的servletcontext對象。

17. httpsession getsession() ;

    取得頁面的session對象。

18. variableresolver getvariableresolver() ;

    取得頁面的variableresolver對象。

19. void include( string url, boolean flush ) ;

    void include( string url ) ;

    包含其他的資源,并指定是否自動重新整理。

20. void release() ;

    重置pagecontext内部狀态,釋放所有内部引用。

21. void initialize( servlet servlet, servletrequest request, servletresponse response,

                     string errorpageurl, boolean needsession, int buffersize, boolean autoflush ) ;

    初始化未經初始化的pagecontext對象。

22. bodycontext pushbody() ;

    bodycontext pushbody( writer writer ) ;

    儲存目前的out對象,并更新pagecontext中page範圍内的out對象。

23. jspwrite popbody() ;

    取出由pushbody()方法儲存的out對象。

24. void handlepageexception( exception e ) ;

    void handlepageexception( thrwoable t ) ;

int page_scope = 1        - 頁面共享範圍

int request_scope = 2     - 請求共享範圍

int session_scope = 3     - 會話共享範圍

int application_scope = 4 - 應用程式共享範圍

string page = "javax.servlet.jsp.jsppage"

string pagecontext = "javax.servlet.jsp.jsppagecontext"

string request = "javax.servlet.jsp.jsprequest"

string response = "javax.servlet.jsp.jspresponse"

string config = "javax.servlet.jsp.jspconfig"

string session = "javax.servlet.jsp.jspsession"

string out = "javax.servlet.jsp.jspout"

string application = "javax.servlet.jsp.jspapplication"

string exception = "javax.servlet.jsp.jspexception"

⑥ application - javax.servlet.servletcontext

   application主要功用在于取得或更改servlet的設定。

   傳回由name指定的application屬性。

2. enumeration getattributes() ;

   傳回所有的application屬性。

3. servletcontext getcontext( string uripath ) ;

   取得目前應用的servletcontext對象。

4. string getinitparameter( string name ) ;

   傳回由name指定的application屬性的初始值。

5. enumeration getinitparameters() ;

   傳回所有的application屬性的初始值的集合。

6. int getmajorversion() ;

   傳回servlet容器支援的servlet api的版本号。

7. string getmimetype( string file ) ;

   傳回指定檔案的類型,未知類型傳回null。一般為"text/html"和"image/gif"。

8. int getminorversion() ;

   傳回servlet容器支援的servlet api的副版本号。

9. string getrealpath( string path ) ;

   傳回給定虛拟路徑所對應實體路徑。

10. requestdispatcher getnameddispatcher( string name ) ;

    為指定名字的servlet對象傳回一個requestdispatcher對象的執行個體。

11. requestdispatcher getrequestdispatcher( string path ) ;

    傳回一個requestdispatcher對象的執行個體。

12. url getresource( string path ) ;

    傳回指定的資源路徑對應的一個url對象執行個體,參數要以"/"開頭。

13. inputstream getresourceasstream( string path ) ;

    傳回一個由path指定位置的資源的inputstream對象執行個體。

14. set getresourcepaths( string path ) ;

    傳回存儲在web-app中所有資源路徑的集合。

15. string getserverinfo() ;

    取得應用伺服器版本資訊。

16. servlet getservlet( string name ) ;

    在servletcontext中檢索指定名稱的servlet。

17. enumeration getservlets() ;

    傳回servletcontext中所有servlet的集合。

18. string getservletcontextname() ;

    傳回本web應用的名稱。

19. enumeration getservletcontextnames() ;

    傳回servletcontext中所有servlet的名稱集合。

20. void log( exception ex, string msg ) ;

    void log( string msg, throwable t ) ;

    void log( string msg ) ;

    把指定的資訊寫入servlet log檔案。

21. void removeattribute( string name ) ;

    移除指定名稱的application屬性。

22. void setattribute( string name, object value ) ;

    設定指定的application屬性的值。

⑦ config - javax.servlet.servletconfig

   config對象用來存放servlet初始的資料結構。

1. string getinitparameter( string name ) ;

   傳回名稱為name的促使參數的值。

2. enumeration getinitparameters() ;

   傳回這個jsp所有的促使參數的名稱集合。

3. servletcontext getcontext() ;

   傳回執行者的servlet上下文。

4. string getservletname() ;

   傳回servlet的名稱。

⑧ exception - java.lang.throwable

   錯誤對象,隻有在jsp頁面的page指令中指定iserrorpage="true"後,才可以在本頁面使用exception對象。

1. throwable fillinstacktrace() ;

   将目前stack資訊記錄到exception對象中。

2. string getlocalizedmessage() ;

   取得本地語系的錯誤提示資訊。

3. string getmessage()

   取得錯誤提示資訊。

4. stacktrackelement[] getstacktrace() ;

   傳回對象中記錄的call stack track資訊。

5. throwable initcause( throwable cause ) ;

   将另外一個異常對象嵌套進目前異常對象中。

6. throwable getcause() ;

   取出嵌套在目前異常對象中的異常。

7. void printstacktrace() ;

   void printstacktrace( printstream s ) ;

   void printstacktrace( printwriter s ) ;

   列印出throwable及其call stack trace資訊。

8. void setstacktrace( stacktraceelement[] stacktrace )

   設定對象的call stack trace資訊。

⑨ page - javax.servlet.jsp.httpjsppage

   page對象代表jsp對象本身,或者說代表編譯後的servlet對象,

   可以用( (javax.servlet.jsp.httpjsppage)page )來取用它的方法和屬性。