HTTPリクエストのヘッダー情報を入手する


サーブレットを使って、リクエストしてきたブラウザのバージョンなど、HTTPヘッダー情報が入手できます。

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

/**
 * This servlet returns requset header of client.
 * @author  applitips
 */

public class ExamRequestHeader  extends HttpServlet {

    public void doGet(HttpServletRequest request,
                      HttpServletResponse response)
        throws IOException, ServletException
    {

        response.setContentType("text/html");
        PrintWriter out = response.getWriter();

        out.println("<html>");
        out.println("<body>");
        out.println("<h1>" + "your  request header" + "</h1>");
        out.println("<table>");

        Enumeration  en  = request.getHeaderNames();
        while(en.hasMoreElements())  {
             String  head  =  (String)en.nextElement();
             out.println("<tr><td>"  + head  + "</td><td>"  + request.getHeader(head) +"</td></tr>");  
        }
        out.println("</table>");
        out.println("</body>");
        out.println("</html>");
    }
}

<実行結果>
ブラウザから、http://localhost:8080/bigcare2/servlet/ExamRequestHeader
と入力すると、以下の応答画面が表示されます。



<getHeaderNames() method>
 使用可能なヘッダの名前のEnumarationを入手することが出来ます。

<getHeader() method>
 引数で指定したヘッダの値が入手できます。
 このメソッドの引数になるヘッダ名は大文字、小文字が区別されません。