Javaの道 Javaに関する
 ニュースJava基本Servlet・JSPオープンソースFAQ掲示板
Javaの道 > Servlet・JSP > JSP −7.暗黙オブジェクト(response))
更新日:2006/10/1
JSP−7.暗黙オブジェクト(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 addDateHeader(String, long) 第一引数にヘッダー名、第二引数にヘッダー値を指定し、Date関連のヘッダーデータを返信します。ヘッダー値は1970年1月1日からの経過時間をミリ秒で指定します。ヘッダー値がすでに設定されている場合は、既存のヘッダー値に追加されます。
void addIntHeader(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
setDateHeader(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>



このページのトップへ
 ニュースJava基本Servlet・JSPオープンソースFAQ掲示板
Javaの道_CopyrightJavaの道