JSP - requestオブジェクト
クライアントの要求(リクエスト)をカプセルかしたオブジェクトである。
1. リクエストパラメータを取得する。
2. requestスコープ属性操作ができる。
3. forward, includeを実行する。
主なメソッド | 説明 |
---|---|
getAttribute(String name) | requestスコープのname属性取得 |
setAttribute(String name. objcet value) | requestスコープにname属性設定 |
String getParameter(String paramName) | リクエストパラメータを取得 |
Map getParameterMap() | リクエストパラメータのmap取得 |
Enumeration getParameterNames() | リクエスト名の列挙取得 |
String[] getParamertsValues(String name) | 指定リクエスト名の複数値取得 |
String getHeader(String name) | 指定ヘッダ名の値取得 |
java.util.Enumeration<String > getHeaderNames() | すべてのヘッダ名取得 |
java.util.Enumeration<String > getHeade(String name) | 指定ヘッダ名の複数値取得 |
int getIntHeader(String name) | 指定ヘッダ名のINT値取得 |
getRequestDispatcher(String path).forward(ServletRequest request,ServletResponse response) | ページ遷移を行う |
遷移してもリクエストパラメータは保持する。
getRequestDispatcher(String path).include(ServletRequest request,ServletResponse response)ページ読み込みを行う
requestForm.jsp |
<html>
<head>
<title>send a request.</title>
</head>
<body>
<form id="form1" method="post" action="request1.jsp">
name : <input type="text" name="name" /><br/>
sex : man<input type="radio" name="sex" value="man">women<input type="radio" name="sex" value="women"><br/>
country :
<select name="country">
<option value="china">china</option>
<option value="usa">usa</option>
<option value="korea">korea</option>
</select>
<br/>
<input type="submit" value="send"/>
</form>
</body>
</html>
|
request1.jsp |
<%@page import="java.util.Enumeration"%><html>
<head>
<title>send a request.</title>
</head>
<body>
<form id="form1" method="post" action="request1.jsp">
<%
// ヘッダー取得
Enumeration<String> headerNames = request.getHeaderNames();
while(headerNames.hasMoreElements()){
String headerName = headerNames.nextElement();
out.println("headerName =" + request.getHeader(headerName) + "<br/>");
}
// リクエストパラメータ取得
String name = request.getParameter("name");
String sex = request.getParameter("sex");
String country = request.getParameter("country");
%>
your name : <%=name %><br/>
your sex : <%=sex %><br/>
your country : <%=country %><br/>
</form>
</body>
</html>
|
ポイントまとめ:
1. form内のname属性に対してリクエストパラメータが生成される。
2. name属性に対応するvalue属性が値となる。
3. formタグに disabled="disabled"属性を設定すると、リクエストパラメータを生成しない。
4. formタグのmethod="get"の場合、リクエストパラメータはURLの後ろに追加される。
上記例の場合、「http://localhost:8080/webDemo/request1.jsp?name=MyNameIsLee&sex=man&country=usa」となる。
一般的にPOSTのほうがセキュリティに良い。
5. リクエストパラメータの文字化けには、
postの場合、setCharacterEcconding(String encode)