1. ホーム
  2. java

[解決済み] サーブレットの「response.setContentType("text/html")」の使い方を教えてください。

2022-02-05 12:26:25

質問事項

public class HelloWorld extends HttpServlet{ 
      public void doGet(HttpServletRequest request, 
      HttpServletResponse response)
      throws ServletException,IOException{
      **response.setContentType("text/html");**
      PrintWriter pw = response.getWriter();
      pw.println("<html>");
      pw.println("<head><title>Hello World</title></title>");
      pw.println("<body>");
      pw.println("<h1>Hello World</h1>");
      pw.println("</body></html>");
      }
    }

解決方法は?

HTTPレスポンスにコンテンツタイプが含まれるのは、コンテンツ内の同じバイト列の値が複数の方法で解釈される可能性があるためです(*)。

httpはHTML以外のものも転送することができ(js、css、画像は明らかな例です)、場合によっては受信者がどのような種類のオブジェクトを受信するのか分からないこともあることを覚えておいてください。


(*) ここで明らかなのはXHTMLで、これはXMLです。もし、コンテンツ・タイプが application/xml の場合、受け手である はず は、単にXMLとして扱われます。もしそれが application/xhtml+xml であれば、XHTMLとして扱われるはずです。