HTML⇒Servlets

HTML から Get と Post で Servlets を呼び出します。

前田稔の超初心者のプログラム入門

プログラムの作成

  1. Servlets のテスト用に "C:\tomcat\webapps\ の下に piyo のフォルダーを作成しました。
    ここに HTML から Get で呼び出される DispGet と、Post で呼び出される DispPost を格納します。
    +がフォルダーで、・がプログラマが格納するファイルで、*がコンパイラなどで作成するファイルです。
    +piyo
        +WEB-INF
            +classes
                ・DispGet.java      //Get で呼び出される Servlets
                *DispGet.class
                ・DispPost.java     //Post で呼び出される Servlets
                *DispPost.class
            ・web.xml               //Servlets のマッピング
        ・formget.htm               //Get で呼び出す HTML
        ・formpost.htm              //Post で呼び出す HTML
    
  2. ソースプログラムです。
    ファイル名 説明
    formget.htm Get で呼び出す HTML
    DispGet.java Get で呼び出される Servlets
    formpost.htm Post で呼び出す HTML
    DispPost.java Post で呼び出される Servlets
    web.xml TEXT FILE を入力 を参照して各自で作成して下さい
  3. DispGet.java をコンパイルして DispGet.class を作成します。
    詳細は JSP Error Guide を参照して下さい。
  4. サーブレットを実行します。
    "C:\tomcat\bin\tomcat7w.exe" を選択して、管理者として実行から apache-tomcat を起動します。
    WWW ブラウザを起動して下記の URL を張り付けて下さい。
    http://localhost:8080/piyo/formget.htm
    submit をクリックすると DispGet.class が呼び出されて "DispGet を呼び出す" が表示されます。

プログラムの説明

  1. formget.htm の画面から submit をクリックすると DispGet.class が呼ばれます。
    method を省略、または method="get" で呼ばれると、doGet() が呼び出されます。
    パラメータとして "msg" の名前で "DispGet を呼び出す" を渡します。
        <form action="DispGet">
          <input type="text" name="msg" value="DispGet を呼び出す"><br>
          <input type="submit" value="submit">
        </form>
        
  2. 呼び出される DispGet.java のメソッド doGet() です。
    out.println() で HTML 文を吐き出して WWW ブラウザに渡します。
    out.println(req.getParameter("msg") + "<br>"); で渡されたメッセージを表示します。
    req.getParameter("msg")が "msg" をキーにしてメッセージを取得するメソッドです。
        public void doGet(HttpServletRequest req, HttpServletResponse res)
            throws ServletException, IOException
        {
            PrintWriter out = res.getWriter();
            out.println("<HTML>");
            out.println("<HTML>");
            out.println("<BODY>");
            out.println(req.getParameter("msg") + "<br>");
            out.println("</BODY>");
            out.println("</HTML>");
        
  3. 私は何の問題も無く表示されたのですが、環境によっては全角文字(日本語)が文字化けするかも知れません。 (^_^;)
    そのときは JSP Error Guide を参照して下さい。

Post で呼び出す


  1. Form から Post で呼び出します。
    Get と Post の違いは Parameter を受け取る を参照して下さい。
    DispPost.java のソースコードは Get が Post に変わるだけで、ほとんど同じです。
    public class DispPost extends HttpServlet
    {   public void doPost(HttpServletRequest req, HttpServletResponse res)
            ・・・
    
  2. formpost.htm のソースコードも formget.htm とほとんど同じです。
    form に method="post" を設定して下さい。
    method="post" で呼ばれると、doPost() が呼び出されます。
            ・・・
        <form method="post" action="DispPost">
            ・・・
    
  3. web.xml に DispPost を追加して下さい。
  4. サーブレットの実行も formget.htm と同じ要領です。
    http://localhost:8080/piyo/formpost.htm
  5. 環境によっては全角文字(日本語)が文字化けするかも知れません。 (^_^;)
    そのときは JSP Error Guide を参照して下さい。

Java Game Program