Servlet日記(1999/02/10)

本日の成果

 今まではGETメソッドだけを扱ってきましたが、POSTメソッドを扱ってみます。そのためには、doPost()メソッドをオーバライドするだけでよいようです。(メソッドを二つの意味で使っているので、まぎらわしいですね。)

 相変わらず、servletrunnerでHTMLドキュメントにアクセスできるようにする方法がよくわからないので、GETメソッドでアクセスされたときにテストのためのFORMを含むドキュメントを返すようにしてみました。

public class GetPost extends HttpServlet {
    public void doGet(
        HttpServletRequest req,
        HttpServletResponse res
    ) throws ServletException, IOException
    {
        res.setContentType("text/html");
        PrintWriter out = res.getWriter();
        out.print("<html><head><title>GetPost Servlet</title></head>");
        out.print("<body><form method=get><input type=submit value=\"Get\"></form><br>");
        out.print("<form method=post><input type=submit value=\"Post\"></form></body></html>");
    }

    public void doPost(
        HttpServletRequest req,
        HttpServletResponse res
    ) throws ServletException, IOException
    {
        res.setContentType("text/plain");
        PrintWriter out = res.getWriter();
        out.print("Post Method");
    }
}

 WebブラウザからこのServletにアクセスすると、GetとPostの二つのSubmitボタンからなる表示が現れ、Getボタンを押すと同じ表示の繰り返し、Postボタンを押すとPost Methodというテキストを表示します。

本日の教訓

 POSTメソッドを処理するには、doPost()メソッドをオーバライドしよう。

Servlet日記(1999/02/07) Servlet日記の目次 Servlet日記(1999/02/14)