暗黙オブジェクト(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
http://localhost:8080/TEST/exRequest.jsp?name=JavaRoad&hobby=succer&hobby=baseball

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