////////////////////////////////////////////////////////////////////////////////
//  << sv113c.java >>
//
// サーブレット(1):要求の解析
//
//    要求に含まれるすべてのヘッダ名とその値を表示する。
//  出力を表形式にする。
//
//    入力フォームもmethod属性がGETと指定されていても、doGetメソッドでdoPost
//  メソッドを呼び出しているので、method属性が、GETまたはPOSTに関わらず
//  正常に動作する。
//
// ●起動法
//  (1)Javaファイル(sv113c.java)をコンパイルし、classファイル(sv113c.class)を
//       作成する。
//       ただし、Javaファイル(sv113c.java)は、
//       %CATALINA_HOME%\webapps\SV\WEB-INF\classes\sv113c.java
//     classファイル(sv113c.class)は、
//       %CATALINA_HOME%\webapps\SV\WEB-INF\classes\sv113c.class
//       に保存する。
//    (2)HTMLファイル中、入力フォームで、
//         URL(http://localhost:8080/SV/servlet/sv113c)
//       を指定する。
//
////////////////////////////////////////////////////////////////////////////////

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

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

    // 要求に含まれるすべてのヘッダ名を取得。
    Enumeration e = request.getHeaderNames();

    // コンテンツタイプの指定。
    response.setContentType("text/html; charset=Shift_JIS");

    // HTML文書の出力。
    PrintWriter pw = response.getWriter();
    pw.println("<html>"                                    
             + "<head><title>サーブレット</title></head>"  
             + "<body>"                                    
             + "サーブレットからの出力です<br><br>"
             + "<table width=90% height=90% border=2>"
             + "  <tr><th bgcolor=orange>ヘッダ名</th>"
             + "<th bgcolor=orange>値</th></tr>");    

    while( e.hasMoreElements() ) {
      String s = (String)e.nextElement(); 
      String t = request.getHeader(s);
      pw.println("<tr><td bgcolor=lime>" + s + "</td><td>" + t + "</td></tr>");
    }            

    pw.println("</table>"                                   
             + "</body>"                                 
             + "</html>");                                 
    pw.flush();
    pw.close();
  }

  // method属性がGETのとき、doPostメソッドを呼び出す。
  public void doGet(HttpServletRequest request, HttpServletResponse response)
                    throws ServletException,IOException {
    doPost(request,response);
  }
}
入力フォーム
<form action="http://localhost:8080/SV/servlet/sv113c" method="GET">
  <input type="submit" value="実行">
</form>
実行結果

実行後