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

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

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

執筆者:掌田 津耶乃

サーブレットのソースコード


では、作成したサーブレット・クラスがどうなっているか見てみましょう。NetBeansで作成したクラスのソースコードを見ると、ざっと以下のようになっているのがわかります。(なお、コメント類は省略してあります)

package jp.tuyano;

import java.io.*;
import java.net.*;

import javax.servlet.*;
import javax.servlet.http.*;

public class NewServlet extends HttpServlet {
  
  protected void processRequest(HttpServletRequest request,
      HttpServletResponse response)
      throws ServletException, IOException {
    response.setContentType("text/html;charset=UTF-8");
    PrintWriter out = response.getWriter();
    
    ・・・ここに呼び出された際の処理を用意する・・・
    
    out.close();
  }
  
  protected void doGet(HttpServletRequest request,
      HttpServletResponse response)
      throws ServletException, IOException {
    processRequest(request, response);
  }
  
  protected void doPost(HttpServletRequest request,
      HttpServletResponse response)
      throws ServletException, IOException {
    processRequest(request, response);
  }
  
  public String getServletInfo() {
    return "Short description";
  }
}


サーブレット・クラスは、javax.servlet.http.HttpServletというクラスを継承して作成します。このクラスを継承すると、サーブレットとしての必要な機能が実装された形でクラスが作成されます。HttpServletを継承していない場合、サーブレット・コンテナ内で実行することができません。

実際に実行する処理はprocessRequestというメソッドにまとめてありますが、これは「doGet」「doPost」というメソッドから呼び出されるようになっています。このdoGet、doPostというのが、サーブレットで最も重要となるメソッドなのです。

doGet――GETでサーブレットが呼ばれたときの処理
doPost――POSTでサーブレットが呼ばれたときの処理

GETとPOSTについては、既におわかりですね? 通常、Webブラウザなどから指定のURLを呼び出したときに送られる命令がGET、フォームなどからPOSTを指定して送られるのがPOSTと考えればよいでしょう。この2つのメソッドさえきちんと理解しておけば、とりあえずサーブレットを作ることはできるようになります。

このdoGet/doPostメソッドでは、HttpServletRequest/HttpServletResponseというクラスのインスタンスが引数で渡されていますね。これらはそれぞれ、HTTPによるリクエストとレスポンスの各種情報を持ったオブジェクトだと理解すればよいでしょう。要するに「Webブラウザからサーバーに送られてきたさまざまな情報」「サーバーからWebブラウザに送り返すさまざまな情報」がこれらにまとめられている、というわけです。

したがって、「どのような情報が送信されてきたか」を知りたければ、HttpServletRequestの中を探せば必ずその情報が見つかります。また「Webブラウザにこういう情報を送り返したい」ということは、HttpServletResponseを使ってその情報を送信すればいい、というわけです。


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

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

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