JSP內置response對象的實習方法

來源:文萃谷 2.26W

response對象的作用是處理HTTP連接信息,如cookie、HTTP文件頭信息等,它有很多功能是和request對象相匹配的。它的重要性相對不如request對象、application對象、session對象,該對象所實現的方法如下:

JSP內置response對象的實習方法

  1. void addCookie( Cookie cookie ) ;

添加一個Cookie對象,保存客户端信息。當用户訪問某個站點時,可以使用addCookie()方法添加一個Cookie對象,並將它發送到客户端,保存到客户端操作系統的某個特定目錄下面,用來保存客户端的特定信息。當該用户再次訪問同一個站點時,瀏覽器會自動將這個Cookie對象發送回服務端,調用request對象的getCookies()方法可以獲得所有存在的Cookie對象,getCookies()方法的返回值是一個數組。Cookie對象對於不同的用户來説都是專有的。它的使用方法如下:

或:

  2. void addDateHeader( String name, long value ) ;

添加一個日期類型的HTTP頭信息,覆蓋同名的HTTP頭信息。

  3. void addHeader( String name, String value ) ;

添加一個HTTP頭,覆蓋同名的舊HTTP頭。addHeader()方法的作用是添加HTTP文件頭信息,這些信息將會傳到客户端,發送特定的HTTP文件頭信息,可以控制客户端和服務器端的連接,例如,可以讓客户端的瀏覽器每隔一分鐘就刷新當前頁面。如果同名的HTTP頭文件已經存在,那麼原來的HTTP文件頭的值會被覆蓋。

  它的使用方法如下:

1、利用response對象禁止使用代理服務器緩存

2、利用response對象設定應答的MIME類型及附件

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 ) ;

發送錯誤,包括狀態碼和錯誤信息,例如505:服務器內部錯誤,404:網頁找不到的錯誤等。它的使用方法如下:

19. void sendRedirect( String locationg ) ;把響應發送到另外一個位置進行處理。它的功能和動作指令的功能一模一樣,就是向目標程序傳遞HTTP參數不是很方便。在使用sendRedirect()方法前,必須要確保JSP程序沒有任何可見的輸出被送往客户端。這和動作指令的使用條件是一樣的。它的使用方法如下:

上面的JSP代碼段使當前頁面重定向到網址:。

  還可以使用response對象重定向方法傳送程序文件:

上面的JSP代碼段使得當前頁面定向到地址: 。這時候,客户端會彈出一個對話框,提示用户是否需要下載程序,如果用户確認,那麼瀏覽器會將程序下載,並保存在用户指定的目錄下面。

上面的JSP代碼段同樣實現了重定向的功能,不過沒有使用sendRedirect()方法,而是使用setHeader()方法,向客户端的瀏覽器發送HTTP文件頭——Location,瀏覽器接到這個HTTP文件頭以後,就會自動打開Location所指定的新的URL地址。這也就是重定向了當前網頁了。

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 ) ;設置響應狀態碼,新值會覆蓋當前值。

熱門標籤