javax.servlet.http.HttpServletRequest (ServletRequest)のリクエストパラメータ関連のメソッドには以下がある。
メソッド名 | 戻り値型 | 説明 |
---|---|---|
getParameterNames() | Enumeration | 全パラメータ名をEnumerationで取得 |
getParameterMap() | Map | 全パラメータ値をMapで取得 |
getParameterValues (String name) | String[] | 全パラメータ値をString[]で取得 |
getParameter (String name) | String | パラメータ値をStringで取得 |
全てのパラメータを出力する場合は以下のようにする。
StringBuilder sb = new StringBuilder();
// 全リクエストパラメータ名を取得
Enumeration<?> paramNames = request.getParameterNames();
while (paramNames.hasMoreElements()) {
// パラメータ名を取得
String paramName = (String)paramNames.nextElement();
sb.append(paramName);
sb.append("=");
// パラメータ値を取得
String[] paramValues = request.getParameterValues(paramName);
for (int i = 0; i < paramValues.length; i++) {
if(i > 0){
sb.append(",");
}
sb.append(paramValues[i]);
}
sb.append("\n");
}
System.out.print(sb);
出力結果
param1=value1
param2=value2,value3
javax.servlet.http.HttpServletRequestのリクエストヘッダ関連のメソッドには以下がある。
メソッド名 | 戻り値型 | 説明 |
---|---|---|
getHeader (String name) | String | ヘッダ値をStringで取得 |
getHeaderNames() | Enumeration | 全ヘッダ名をEnumerationで取得 |
getHeaders (String name) | Enumeration | ヘッダ値をEnumerationで取得 |
全てのヘッダを出力する場合は以下のようにする。
StringBuilder sb = new StringBuilder();
// 全リクエストヘッダ名を取得
Enumeration<?> headerNames = request.getHeaderNames();
while (headerNames.hasMoreElements()) {
// ヘッダ名と値を取得
String headerName = (String)headerNames.nextElement();
String headerValue = request.getHeader(headerName);
sb.append(headerName);
sb.append("=");
sb.append(headerValue);
sb.append("\n");
}
System.out.print(sb);
出力結果
host=localhost:8080
user-agent=Mozilla/5.0 (Windows NT 6.1; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0
accept=text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
accept-language=ja,en-US;q=0.7,en;q=0.3
accept-encoding=gzip, deflate
referer=http://localhost:8080/test/test.jsp
cookie=JSESSIONID=B8AACAE6ABED2AE672330EDCBF6DA550
connection=keep-alive
content-type=application/x-www-form-urlencoded
content-length=9
javax.servlet.http.HttpServletRequestのリクエスト属性関連のメソッドには以下がある。
メソッド名 | 戻り値型 | 説明 |
---|---|---|
getAttributeNames() | Enumeration | 全属性名をEnumerationで取得 |
getAttribute (String name) | Object | パラメータ値をObjectで取得 |
setAttribute (String name, Object o) | void | 属性値を設定 |
removeAttribute (String name) | void | 属性値を削除 |
全てのパラメータを出力する場合は以下のようにする。
StringBuilder sb = new StringBuilder();
// 全リクエスト属性名を取得
Enumeratio<?> attrNames = request.getAttributeNames();
while (attrNames.hasMoreElements()) {
// 属性名と値を取得
String attrName = (String)attrNames.nextElement();
Object attrValue = request.getAttribute(attrName);
sb.append(attrName);
sb.append("=");
sb.append(attrValue);
sb.append("\n");
}
System.out.print(sb);
出力結果
attrName1=attrValue1
attrName2=attrValue2