<form action="SERVLET">
<input type="text" name="name"/><br>
<input type="text" name="group"/>
<input type="text" name="pass"/>
<input type="submit" value="submit">
</form>
サーブレットでこれらのデータを取得してデータベースに追加する方法
HttpServlet
を拡張するクラスを作成し、サーブレットが待機する必要のあるURLを含む@WebServlet
アノテーションをそれに追加します。
@WebServlet("/yourServletURL")
public class YourServlet extends HttpServlet {}
そして、ちょうどこのURLにフォームアクションpointをさせてください。私はrecommend私は非冪等要求のためにPOSTメソッドを使うことにしました。最後に、入力フィールドのname属性を指定したことを確認してください。これはHTTPリクエストパラメータ名を表します。さまざまなHTML form input fieldsの例をいくつか示します。
<form action="${pageContext.request.contextPath}/yourServletURL" method="post">
<p>Normal text field.
<input type="text" name="name" /></p>
<p>Secret text field.
<input type="password" name="pass" /></p>
<p>Single-selection radiobuttons.
<input type="radio" name="gender" value="M" /> Male
<input type="radio" name="gender" value="F" /> Female</p>
<p>Single-selection checkbox.
<input type="checkbox" name="agree" /> Agree?</p>
<p>Multi-selection checkboxes.
<input type="checkbox" name="role" value="USER" /> User
<input type="checkbox" name="role" value="ADMIN" /> Admin</p>
<p>Single-selection dropdown.
<select name="countryCode">
<option value="NL">Netherlands</option>
<option value="US">United States</option>
</select></p>
<p>Multi-selection listbox.
<select name="animalId" multiple="true" size="2">
<option value="1">Cat</option>
<option value="2">Dog</option>
</select></p>
<p>Text area.
<textarea name="message"></textarea></p>
<p>Submit button.
<input type="submit" name="submit" value="submit" /></p>
</form>
サーブレットにdoPost()
メソッドを作成します。これは、入力フィールドの名前(idではありません)をキーとするリクエストパラメータとして送信された入力値を取得します。 request.getParmeter()を使用して単一値フィールドから送信された値を取得し、request.getParameterValues()を使用して複数値フィールドから送信された値を取得できます。
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String name = request.getParameter("name");
String pass = request.getParameter("pass");
String gender = request.getParameter("gender");
boolean agree = request.getParameter("agree") != null;
String[] roles = request.getParameterValues("role");
String countryCode = request.getParameter("countryCode");
String[] animalIds = request.getParameterValues("animalId")
String message = request.getParameter("message");
boolean submitButtonPressed = request.getParameter("submit") != null;
// ...
}
必要であればvalidationを実行し、最後に通常のJDBC/DAOの方法でDBに保存します。
User user = new User(name, pass, roles);
userDAO.save(user);
また見なさい:
> Our Servlets wiki page
> doGet and doPost in Servlets
> How do I call a specific Java method on click/submit event of specific button in JSP?
> How perform validation and display error message in same form in JSP?
> How can I retain HTML form field values in JSP after submitting form to Servlet?
> How to upload files to server using JSP/Servlet?
> Show JDBC ResultSet in HTML in JSP page using MVC and DAO pattern
> Servlet returns “HTTP Status 404 The requested resource (/servlet) is not available”
関連記事
転載記事の出典を記入してください: HTMLフォームを送信するときにJSPからサーブレットにデータを転送する方法 - コードログ