[Java8]サーブレットのPOSTリクエスト(doPost())処理サンプル

環境
JavaSE1.8
Eclipse 4.14.0

構文
doPost(HttpServletRequest req, HttpServletResponse resp)
サーブレットにPOSTリクエストを処理させるためにサーバー(サービスメソッド経由)によって呼び戻されます。

引数
req -クライアントが生成するサーブレットへのリクエストを含む HttpServletRequestオブジェクト
resp – サーブレットがクライアントに送る返信を含む HttpServletResponseオブジェクト

使用例
1.Servlet側プログラム

package com.arkgame.servlet;

import java.io.BufferedReader;
import java.io.IOException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class CftServlet extends HttpServlet {

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
         //リクエストボディはgetReader()メソッドで取得します
        try (BufferedReader br = req.getReader()) {
           処理コード
        }
    }
}

2.web.xmlの定義

<servlet>
    <servlet-name>CftServlet</servlet-name>
    <servlet-class>com.arkgame.servlet.CftServlet</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>CftServlet</servlet-name>
    <url-pattern>/cft</url-pattern>
</servlet-mapping>

3.JSPコード

<form action="/servlet/cft" method="POST">
    都市: <input type="text" name="city" />
    説明: <textarea name="memo"></textarea>
    <input type="submit" value="登録" />
</form>

methodをpostに指定します。

Java

Posted by arkgame