@634

Servlet - HTMLファイルの出力

Advertisement

HTTPの仕組み

初めにWEBサーバからHTMLファイルを受信する手順を簡単に解説する。
  1. クライアント(ブラウザ)がサーバーにページを要求する(リクエスト)
  2. サーバーはリクエストに対する返答をクライアントに送る(レスポンス)。その際、Content-Type という項目に、送り返すデータがHTMLだということを示すための値、text/html を設定する。
  3. サーバからのレスポンスを受け取ったクライアントは Content-Type の値を参照し、処理を決定する。

HTMLの出力

クライアントに対してサーブレットからの応答を行う場合、javax.servlet.http.HttpServletResponse に対して編集を行えばよい。

HTMLファイルとして返す場合の処理を示す。
  1. HttpServletResponse の Content-Type に text/html を設定。
  2. HttpServletResponse から Writer を取得。
  3. 取得した Writer を使用して出力処理を行う。
サンプルコード
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;

public class Servlet3 extends HttpServlet {
    //HTTP Get リクエストの処理
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html; charset=Shift_JIS");
        PrintWriter out = response.getWriter();
        out.println("<html>");
        out.println("<head><title>サンプル</title></head>");
        out.println("<body>");
        out.println("サーブレットが出力したHTMLファイル");
        out.println("</body></html>");
    }
}
response.setContentType() で text/html を設定しているため、この応答を受け取ったブラウザは、サーブレットが HTML を送り返してきていることを認識できる。よって、出力結果(out.println() の結果)を HTML として処理することになる。
実行結果

Advertisement

ショートカット

634
634ブログ
このカテゴリのトップページに戻る
Incubator(Pukiwiki)
634ラボ
   UIコレクションギャラリー
   ZO-3ジェネレーター

サイト検索


Y!ログール