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

環境
JavaSE1.8
Eclipse 4.14.0

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

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

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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()) {
処理コード
}
}
}
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()) { 処理コード } } }
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の定義

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<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>
<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>
<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コード

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<form action="/servlet/cft" method="POST">
都市: <input type="text" name="city" />
説明: <textarea name="memo"></textarea>
<input type="submit" value="登録" />
</form>
<form action="/servlet/cft" method="POST"> 都市: <input type="text" name="city" /> 説明: <textarea name="memo"></textarea> <input type="submit" value="登録" /> </form>
<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