Javaに関する様々な情報をご紹介します。

7暗黙オブジェクト(response)

Javaに関する様々な情報をご紹介します。

暗黙オブジェクト(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)