実際の開発では、ユーザー名、パスワード、メールアドレスなど、フォームから送信されたフォームデータを取得する必要がある場合がよくあります。
リクエストパラメータを取得する方法
String getParameter(String name)
このメソッドは、指定された名前のパラメーター値を取得するために使用されます。指定された名前のパラメーターが複数ある場合、メソッドは最初のパラメーター値を返します。
String [] getParameterValues(String name)
HTTPリクエストメッセージには、同じ名前の複数のパラメータが含まれています。HTTPリクエストメッセージの同じパラメータに対応するすべてのパラメータ値を取得する場合は、String [] getParameterValues(String name)を使用する必要があります。 、このメソッドは、String型の配列を返すために使用されます。
列挙getParameterNames()は
、すべてのパラメーターを含む要求メッセージを返すために使用されます。
Map getParameterMap()
このメソッドは、リクエストメッセージ内のすべてのパラメータ名と値をMapオブジェクトにロードして返すために使用されます。
場合
form.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="/Test4/RequestParamsServlet" method="post">
用户名:<input type="text" name = "username"></br>
密码:<input type="password" name="password"></br>
爱好:
<input type="checkbox" name="hobby" value="sing">唱歌
<input type="checkbox" name="hobby" value="dance">跳舞
<input type="checkbox" name="hobby" value="football">足球</br>
<input type="submit" value="提交">
</form>
</body>
</html>
RequestParameterServlet.java
package Test;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class RequestParamsServlet
*/
public class RequestParamsServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String username = request.getParameter("username");
String password = request.getParameter("password");
System.out.println("用户名"+username);
System.out.println("密码"+password);
//获取参数名为“hobby”的值
String []hobbys = request.getParameterValues("hobby");
System.out.println("爱好:");
for(int i = 0 ; i<hobbys.length;i++) {
System.out.println(hobbys[i]);
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
実験結果:
総括する:
指定された名前のパラメーター値を取得するには、request.getParameter(String name)メソッドを使用します。指定された名前の複数のパラメーター値を取得するには、request.getParameterValues(String name)メソッドを使用して複数のパラメーター値を返します。