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

6暗黙オブジェクト(request)

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

暗黙オブジェクト(request)

JSPでは、宣言せずに使用できるオブジェクトとして9つの暗黙オブジェクト(request, response, pageContext, session, application, config, page, exception)が用意されています。それぞれの暗黙オブジェクトにはJSPプログラムで頻繁に使用するメソッドが定義されています。ここでは、暗黙オブジェクトのうち、requestについて解説します。

メソッド

暗黙オブジェクトrequestは、javax.servlet.http.HttpServletRequestインタフェースのオブジェクト変数です。クライアントから送信されるパラメータデータ、ヘッダー情報、Cookieを取得する際に使用します。以下にrequestオブジェクトで使用できる主なメソッドを紹介します。

戻り型 メソッド 説明
Cookie
[ ]
getCookies( ) クライアントから送信されるすべてのcookieオブジェクトを返します。
String getHeader(
String)
引数にヘッダー名を指定し、そのヘッダーの値を文字列で返します。ヘッダーが存在しない場合はNullが返されます。
Enumeration getHeader
Names( )
ヘッダー名に対し、ヘッダーの値が複数返されるものに使用します。返される値はEnumeration型です。ヘッダーが存在しない場合はNullが返されます。
Enumeration getHeaders(String) 送信されるすべてのヘッダー名を返します。返される値はEnumeration型です。
String getMethod( ) GET、POSTなどHTTPのメソッド名を返します。
String getParameter(String) 引数にパラメータ名を指定し、そのパラメータの値を取得します。パラメータが存在しない場合はNullが返されます。
String
[ ]
getParameterValues(
String)
パラメータ名に対して、パラメータ値が複数ある場合にこのメソッドを使用します。パラメータ値はString型の配列で返されます。パラメータが存在しない場合はNullが返されます。
Enumeration getParameterNames( ) クライアントから送信されるすべてのパラメータのパラメータ名を取得します。
void setCharacterEncoding(
String)
パラメータ値をエンコードする際のエンコード方式を指定します。パラメータ値を取得する前に指定する必要があります。

※ その他のメソッドについてはAPIリファレンスをご参照ください。

使用例

requestオブジェクトの使用例について解説します。クライアントから送信されたパラメータを取得し、表示するプログラムです。パラメータ名に対し値が1つしかないものと、パラメータ名に対し値が複数あるものをそれぞれ取得します。

exRequest.jsp

<%@page language="java" contentType="text/html; charset=windows-31j"
    pageEncoding="windows-31j"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>

<%
    out.println("暗黙オブジェクトrequestの使用例です。");
    out.println("<BR><BR>");
    //(1)パラメータ値のエンコード方式を指定します。
    //   パラメータ値を取得する前に指定します。
    request.setCharacterEncoding("windows-31j");

    out.println("1.getParameterメソッドの使用例です。");
    out.println("<BR>");
    //(2)パラメータ名(name)を指定し、パラメータ値
    //   を取得します。
    out.println(request.getParameter("name"));
    out.println("<BR><BR>");

    out.println("2.getParameterValuesメソッドの使用例です。");
    out.println("<BR>");
    //(3)複数の値を持つパラメータ名(hobby)を指定し、
    //   パラメータ値を取得します。
    String[] strAry = request.getParameterValues("hobby");
    for(int i=0; i<strAry.length; i++){
        out.print(strAry[i] + "<BR>");
    }
%>

</body>
</html>

【実行結果】JSPプログラムの実行方法に関しては、Javaの道:Tomcat(プログラム配置・実行)を参照してください。

URLにパラメータ名とパラメータ値を指定し、アクセスします。
http://localhost:8080/TEST/exRequest.jsp?name=JavaRoad&hobby=succer&hobby=baseball
Javaの道_request_実行結果

6暗黙オブジェクト(request)