////////////////////////////////////////////////////////////////////////////////
//  << sv112a.java >>
//
// サーブレット(1):サーブレットからの出力(HTML文書、doPostメソッド)
//
//  Webブラウザから要求を受けると、メッセージを返す。
//
//  ●javax.servlet.hhtp.HttpServletクラス
//    HTTPに依存するサーブレットを作成するとき、このクラスのサブクラスとし、
//  init,service,doGet,doPostなどのメソッドを必要に応じてオーバーライドする。
//
// ●HttpServletクラスのメソッド
//  public void doPost(HttpServletRequest a, HttpServletResponse b)
//                       throws ServletException, java.io.IOException
//   機能:サーブレットが POST 要求を処理するときに、serviceメソッド経由で
//      サーバに呼び出される。
//            2つの引数を持つ。
//      第1引数は、HttpServletRequestインターフェースを実装する
//               HttpServletRequestオブジェクトである。
//      第2引数は、HttpServletResponseインターフェースを実装する
//                HttpServletResponseオブジェクトである。
//   ・Webブラウザからの要求は、HttpServletRequestオブジェクトaを通して
//    サーブレットに渡される。
//    また、クライアントへの応答は、HttpServletResponseオブジェクトbを
//    通して返される。
//
//  ●javax.servlet.http.HttpServletRequestインターフェース
//    サーブレットコンテナは、HttpServletRequestオブジェクトを作成し、
//  doGetメソッドやdoPostメソッドに引数で渡す。 
//
//  ●javax.servlet.http.HttpServletResponseインターフェース
//    サーブレットコンテナは、HttpServletResponseオブジェクトを作成し、
//  doGetメソッドやdoPostメソッドに引数で渡す。 
//
//  ●ServletResponseインターフェースのメソッド
//    public void setContentType(String s)
//      機能:応答にMIMEのContent-typeヘッダを組み込む。sはコンテンツタイプ
//      (HTMLファイルやgifファイルなどのデータの種類をいう)により、
//      text/htmlやimage/gifなどに設定する。charsetが省略されているときは、
//      charset=ISO-8859-1 が仮定される。
//    public PrintWriter getWriter() throws IOException
//      機能:文字データをクライアントに送信するPrintWriterオブジェクトを返す。
//            出力ストリームにデータを書くと、作成したヘッダが自動的に
//      クライアントに送られる。
//
// ●起動法
//  (1)Javaファイル(sv112a.java)をコンパイルし、classファイル(sv112a.class)を
//       作成する。
//       ただし、Javaファイル(sv112a.java)は、
//       %CATALINA_HOME%\webapps\SV\WEB-INF\classes\sv112a.java
//     classファイル(sv112a.class)は、
//       %CATALINA_HOME%\webapps\SV\WEB-INF\classes\sv112a.class
//       に保存する。
//    (2)HTMLファイル中、入力フォームで、
//         URL(http://localhost:8080/SV/servlet/sv112a)
//       を指定する。
//
////////////////////////////////////////////////////////////////////////////////

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class sv112a extends HttpServlet {
  public void doPost(HttpServletRequest request, HttpServletResponse response) 
                     throws ServletException,IOException {

    // コンテンツタイプの指定。
    // HTML形式、漢字コードをシフトJISコードにしてブラウザにデータを送信する
    // ように指定する。
    response.setContentType("text/html; charset=Shift_JIS");

    // HTML文書の出力。
    PrintWriter pw = response.getWriter();
    pw.println("<html>"
             + "<head><title>サーブレット</title></head>"
             + "<body>"
             + "サーブレットからの出力です<br>"
             + "HTML文書です"
             + "</body>" 
             + "</html>"); 
    pw.flush();
    pw.close();
  }
}
入力フォーム
<form action="http://localhost:8080/SV/servlet/sv112a" method="POST">
  <input type="submit" value="実行">
</form>
実行結果

実行後