| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

1.3 HttpServletレスポンスのインタフェースを使用して、以下のコードを書き出す

提供: MyMemoWiki
ナビゲーションに移動 検索に移動

レスポンスヘッダを設定する

response.setHeader("Last-Modified",     "Sat, 01 Apr 2006 15:49:15 GMT");

RFC 2616 HTTP ヘッダーは、レスポンスについての追加情報を名前と値のペアで送るために利用される setDateHeader|http://java.sun.com/j2ee/1.4/docs/api/javax/servlet/http/HttpServletResponse.htmlを利用すると、[RFC 1123 の時刻フォーマット]で時刻を設定してくれる

レスポンスオブジェクトのコンテンツタイプを設定する

response.setContentType("text/html;charset=Shift_JIS");

レスポンスオブジェクトに対しテキストストリームを取得する

PrintWriter out = response.getWriter();

レスポンスオブジェクトに対しバイナリストリームを取得する

response.setContentType("application/jar");

String path = getServletContext().getRealPath("/jsp/swc.jar");
FileInputStream in = new FileInputStream(new File(path));
OutputStream   out = response.getOutputStream();
		
byte[] buf = new byte[255];
while ( in.read(buf) >= 0) {
    out.write(buf);
}

他のURLへHTTPリクエストをリダイレクトする

String url = "http://www.google.co.jp/search?hl=ja&q=scwcd&lr=lang_ja";
response.sendRedirect(url);

レスポンスオブジェクトにクッキーを追加する

Cookie cookie = new Cookie("request_time", (new Date()).toString() );
response.addCookie(cookie);

まとめ

ServletResponse
戻値 メソッド 備考
void setContentType(String type) コンテンツの長さを設定
void setContentLength(int len) コンテンツタイプを設定
PrintWriter getWriter() テキストストリームを取得
ServletOutputStream getOutputStream() バイナリストリームを取得
HttpServletResponse
戻値 メソッド 備考
void setHeader(String name,String value) レスポンスヘッダを設定
void addHeader(String name,String value) レスポンスヘッダを追加
void setIntHeader(String name,int value) レスポンスヘッダ(整数値)を設定
void addIntHeader(String name,int value) レスポンスヘッダ(整数値)を追加
void setDateHeader(String name,long date) レスポンスヘッダ(日付)を設定
void addDateHeader(String name,long date) レスポンスヘッダ(日付)を追加
boolean containsHeader(String name) 指定ヘッダがすでに設定されているか
void sendRedirect(String location) HTTPリクエストをリダイレクト
void addCookie(Cookie cookie) クッキーを追加
クラス図

0080 servlet reaponse.jpg


1.2 HttpServletRequestインタフェースを使用して、以下のコードを書き出す 1.4 サーブレットのライフサイクルの目的とイベントシーケンスを説明する

SCWCD Exam Study Kit: Java Web Component Developer Certification (ペーパーバック)