暗黙オブジェクト(response)
JSPでは、宣言せずに使用できるオブジェクトとして9つの暗黙オブジェクト(request, response, pageContext, session, application, config, page, exception)が用意されています。それぞれの暗黙オブジェクトにはJSPプログラムで頻繁に使用するメソッドが定義されています。ここでは、暗黙オブジェクトのうち、responseについて解説します。
メソッド
暗黙オブジェクトresponseは、javax.servlet.http.HttpServletResponseインタフェースのオブジェクト変数です。クライアントにヘッダー情報、HTTPステータス、Cookieなどを返す際に使用します。以下にresponseオブジェクトで使用できる主なメソッドを紹介します。
戻り型 | メソッド | 説明 |
---|---|---|
void | addCookie( Cookie) |
引数に指定されたCookieオブジェクトをクライアントに返します。呼出しごとにCookieオブジェクトは追加され、複数のCookieオブジェクトを指定することができます。 |
void | addHeader(String, String) | 第一引数にヘッダー名、第二引数にヘッダー値を指定し、ヘッダーデータを返信します。ヘッダー値がすでに設定されている場合は、既存のヘッダー値に追加されます。 |
void | addDate Header( String, long) |
第一引数にヘッダー名、第二引数にヘッダー値を指定し、Date関連のヘッダーデータを返信します。ヘッダー値は1970年1月1日からの経過時間をミリ秒で指定します。ヘッダー値がすでに設定されている場合は、既存のヘッダー値に追加されます。 |
void | addInt Header( String, int) |
第一引数にヘッダー名、第二引数にヘッダー値を指定し、ヘッダー値にint型のデータを持つヘッダーデータを返信します。ヘッダー値がすでに設定されている場合は、既存のヘッダー値に追加されます。 |
String | encodeURL(String) | 引数に指定されたURLにセッション管理のためのセッションIDを付与したURLを生成します。cookieを使用できる環境などセッションIDを付与する必要がない場合は、URLは変化しません。 |
String | encodeRedirectURL( String) |
sendRedirectメソッドで使用するためにセッション管理のためのセッションIDを付与したURLを生成します。cookieを使用できる環境などセッションIDを付与する必要がない場合は、URLは変化しません。 |
void | sendError( int) |
引数に指定されたHTTPプロトコルのエラーステータスコードをクライアントに返します。 |
void | sendRedirect(String) | 引数に指定されたURLへのリダイレクトを行います。 |
void | setHeader(String, String) | 第一引数にヘッダー名、第二引数にヘッダー値を指定し、ヘッダーデータを返信します。ヘッダー値がすでに設定されている場合は、既存のヘッダー値を上書きします。 |
void | setDate Header( String, long) |
第一引数にヘッダー名、第二引数にヘッダー値を指定し、Date関連のヘッダーデータを返信します。ヘッダー値は1970年1月1日からの経過時間をミリ秒で指定します。ヘッダー値がすでに設定されている場合は、既存のヘッダー値を上書きします。 |
void | setIntHeader(String, int) | 第一引数にヘッダー名、第二引数にヘッダー値を指定し、ヘッダー値にint型のデータを持つヘッダーデータを返信します。ヘッダー値がすでに設定されている場合は、既存のヘッダー値を上書きします。 |
void | setStatus( int) |
エラーではないときに、クライアントに返すスタータスコードを指定します。エラーの時は、sendErrorメソッドを使用します。 |
※ その他のメソッドについてはAPIリファレンスをご参照ください。
使用例
responseオブジェクトの使用例について解説します。クライアントにデータをキャッシュしないようなヘッダー情報を返すプログラムです。
※ 実際にクライアントにデータをキャッシュされないようにするには、例示された以外にもいくつかの考慮事項があります。
exResponse.jsp
<%@ page contentType="text/html; charset=windows-31j"%>
<html>
<body>
<%
out.println("暗黙オブジェクトresponseの使用例です。");
out.println("<BR>");
//(1)Expiresヘッダー、ヘッダー値"-1"をクライアントに返し、
// exResponse.jspがクライアントにキャッシュされないように
// しています。
response.addIntHeader("Expires", -1);
//他のプログラム処理
//他のプログラム処理
//他のプログラム処理
%>
</body>
</html>
7暗黙オブジェクト(response)