JavaA2Z

KAB-studio > プログラミング > JavaA2Z > doPostとは

doPost

日本語 提示する
英語 do post
ふりがな どぅーぽすと
フリガナ ドゥーポスト

解説

ホームページを表示する時に呼び出されるメソッド
正確には、HTTPメソッドのひとつ、POSTリクエストとして渡された時に呼び出されるメソッド
 
サーブレットスーパークラスであるHttpServletクラスのdoPost()メソッドオーバーライドしたもの。
入力フォームに入力された情報を送信する」というリクエストを受け取ると、アプリケーションサーバーリクエストURLを元にサーブレットを探し、そのdoPost()メソッド呼び出す
 
ただし、入力フォームでもGETで送信することができるうえ、入力フォームの代わりにリクエストパラメーターとして渡すこともできるため、doPost()だけで処理できるものではない。
そのため、基本的には「doPost()メソッドからdoGet()メソッドを呼ぶ」ようにする。引数戻り値例外全て同じのため、そのまま呼び出しdoGet()メソッド実装するのがいいだろう。

参考サイト


(KAB-studioからのおしらせです)

サンプルプログラム(とか)サンプルを別ウィンドウで表示サンプルをクリップボードへコピー(WindowsでIEの場合のみ)

<!-- webapps/sample-servlet/form.html -->
<!-- http://localhost:8080/sample-servlet/form.html でアクセスできます。 --><HTML>
<HEAD>
<TITLE>入力フォーム</TITLE>
</HEAD>
<BODY>

<!-- 入力フォームです。 -->
<FORM METHOD="POST" ACTION="servlet/SampleServlet">
名前:<INPUT TYPE="text" NAME="name" SIZE="10"><BR>
<INPUT TYPE="submit" VALUE="実行"><BR>

</FORM>

</BODY>
</HTML>


// webapps/sample-servlet/WEB-INF/src/SampleServlet.java
// http://localhost:8080/sample-servlet/servlet/SampleServlet でアクセスできます。
// このサンプルプログラムは「サーブレット」の項目に書かれている準備を行ってから使用してください。
import java.io.PrintWriter;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
*   サーブレットのテスト。
*/
public class SampleServlet extends HttpServlet
{
    /**
     * リクエストとしてHTTPメソッドのGETが渡されるとこのメソッドが呼ばれます。
     */
    public void doGet( HttpServletRequest request, HttpServletResponse response ) throws IOException, ServletException
    {
        // Content-Typeをセット。
        response.setContentType( "text/html;charset=Windows-31J" );

        // 入力値の文字コードをセットします。
        request.setCharacterEncoding( "Windows-31J" );

        // 入力フォームから入力された値を取得します。
        String name = request.getParameter( "name" );
        System.out.println( name );
        // (入力フォームの「名前:」に入力された文字列)

        // HTML出力用のPrintWriterを取得します。
        PrintWriter out = response.getWriter();

        // HTMLを出力します。
        out.println( "<html>" );
        out.println( "<head>" );
        out.println( "<title>サーブレットのテスト</title>" );
        out.println( "</head>" );
        out.println( "<body>" );
        out.println( "入力された値:" );
        out.println( name );
        out.println( "</body>" );
        out.println( "</html>" );
    }

    /**
     * リクエストとしてHTTPメソッドのGETが渡されるとこのメソッドが呼ばれます。
     */
    protected void doPost( HttpServletRequest request, HttpServletResponse response ) throws IOException, ServletException 
    {
        // でも面倒なのでdoGet()メソッドに丸投げします。
        doGet( request, response );
    }
}
<!-- webapps/sample-servlet/form.html -->
<!-- http://localhost:8080/sample-servlet/form.html でアクセスできます。 --><HTML>
<HEAD>
<TITLE>入力フォーム</TITLE>
</HEAD>
<BODY>

<!-- 入力フォームです。 -->
<FORM METHOD="POST" ACTION="servlet/SampleServlet">
名前:<INPUT TYPE="text" NAME="name" SIZE="10"><BR>
<INPUT TYPE="submit" VALUE="実行"><BR>

</FORM>

</BODY>
</HTML>


// webapps/sample-servlet/WEB-INF/src/SampleServlet.java
// http://localhost:8080/sample-servlet/servlet/SampleServlet でアクセスできます。
// このサンプルプログラムは「サーブレット」の項目に書かれている準備を行ってから使用してください。
import java.io.PrintWriter;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
*   サーブレットのテスト。
*/
public class SampleServlet extends HttpServlet
{
    /**
     * リクエストとしてHTTPメソッドのGETが渡されるとこのメソッドが呼ばれます。
     */
    public void doGet( HttpServletRequest request, HttpServletResponse response ) throws IOException, ServletException
    {
        // Content-Typeをセット。
        response.setContentType( "text/html;charset=Windows-31J" );

        // 入力値の文字コードをセットします。
        request.setCharacterEncoding( "Windows-31J" );

        // 入力フォームから入力された値を取得します。
        String name = request.getParameter( "name" );
        System.out.println( name );
        // (入力フォームの「名前:」に入力された文字列)

        // HTML出力用のPrintWriterを取得します。
        PrintWriter out = response.getWriter();

        // HTMLを出力します。
        out.println( "<html>" );
        out.println( "<head>" );
        out.println( "<title>サーブレットのテスト</title>" );
        out.println( "</head>" );
        out.println( "<body>" );
        out.println( "入力された値:" );
        out.println( name );
        out.println( "</body>" );
        out.println( "</html>" );
    }

    /**
     * リクエストとしてHTTPメソッドのGETが渡されるとこのメソッドが呼ばれます。
     */
    protected void doPost( HttpServletRequest request, HttpServletResponse response ) throws IOException, ServletException 
    {
        // でも面倒なのでdoGet()メソッドに丸投げします。
        doGet( request, response );
    }
}

この単語を含むページ

「みだし」に含まれているページ

はてなブックマーク 詳細を表示 はてなブックマーク ブックマーク数
livedoorクリップ 詳細を表示 livedoorクリップ ブックマーク数
Yahoo!ブックマーク 詳細を表示 users
del.icio.us 登録する RSSに登録
サンプルを別ウィンドウで表示
サンプルをクリップボードへコピー(WindowsでIEの場合のみ)
update:2005/09/02
このページは、Javaプログラミング言語についての用語を網羅した辞書「JavaA2Z」の一ページです。
詳しくは「JavaA2Z」表紙の説明をご覧ください。