Javaプログラミング/サーバサイド&ケータイJava

サーブレットに挑戦しよう(4ページ目)

今回は、JSPとともにサーバサイドの基本となる「サーブレット」プログラムの作成を行ってみましょう。

執筆者:掌田 津耶乃

サーブレットの処理の流れを見る


では、実際に簡単なHTMLのコードを呼び出し元に送り返す処理を作成してみましょう。processRequestを以下のように書き換えてみます。

protected void processRequest(HttpServletRequest request,
    HttpServletResponse response)
    throws ServletException, IOException {
  response.setContentType("text/html;charset=UTF-8");
  PrintWriter out = response.getWriter();
  out.println("<html>");
  out.println("<head>");
  out.println("<title>Servlet NewServlet</title>");
  out.println("</head>");
  out.println("<body>");
  out.println("<h1>Servlet NewServlet at " +
    request.getContextPath () + "</h1>");
  out.println("</body>");
  out.println("</html>");
  out.close();
}


 ここで行なっているのは非常に単純なことです。ざっとポイントを整理しておきましょう。

response.setContentType("text/html;charset=UTF-8");

これは、送信する情報のコンテンツタイプを設定するものです。情報をクライアント側に送り返す場合にはHttpServletResponseインスタンスを利用しますが、何よりも先に行なっておくべきは「どういう情報が送られるか」ということを設定しておくという作業です。このresponse.setContentTypeというのを呼び出すことで、これから送り出されるのがどんな情報かを指定できます。ここでは、"text/html;charset=UTF-8"というコンテンツタイプを指定して、「これはtext/htmlのデータで、キャラクタセットはUTF-8を使っていますよ」ということを教えていたのです。

PrintWriter out = response.getWriter();

コンテンツタイプの設定が終わったら、実際にデータを送り返す準備をします。
HttpServletResponseでは、getWriterメソッドを使ってPrintWriterを取り出すことができます。このPrintWriterは、アクセスしているWebブラウザに送信するためのストリームです。このgetWriterで取り出したストリームに情報を書き出せば、アクセスしたブラウザにそれを出力することができるのです。

out.println("<html>");

取り出したPrintWriterのprintlnを使ってHTMLのソースコードを送信しています。こうすることで、引数に指定したテキストをWebブラウザに書き出すことができます。後は、このprintlnをひたすら繰り返して、HTMLのコードをすべて書き出すだけです。

いかがでしょう、サーブレットでの基本的な処理の流れがわかったでしょうか。基本は、

1.response.setContentTypeでコンテンツタイプを設定する。
2.response.getWriterでPrintWriterを取り出す。
3.PrintWriterのprintlnで出力するHTMLコードを書き出す。

――これだけです。この3つのポイントさえしっかり理解できれば、サーブレットを利用するのはそれほど難しくはありません。


  • 前のページへ
  • 1
  • 3
  • 4
  • 5
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます