基本パッケージ
サーブレットを作成する上で必要となるクラスが含まれているパッケージについて簡単に見ていきます。大きくわけて2つのパッケージが用意されており、「javax.servlet」パッケージと「javax.servlet.http」パッケージとなります。
全てのサーブレットは「javax.servlet」パッケージに含まれる「Servlet」インターフェースを実装する必要があります。このインターフェースを実装しているのが「GenericServlet」クラスと「HttpServlet」クラスです。その為、通常はこのどちらかのクラスを継承してクラスを作成します。
「GenericServlet」クラスはプロトコルに依存しないサーブレットを作成する場合に利用します。「HttpServlet」クラス自体も「GenericServlet」クラスのサブクラスですがHTTP通信を行うサーブレットを作成するのみ便利なように拡張されたクラスとなっています。今後はHTTP通信を行うサーブレットを中心に利用方法を確認していきますので、基本的には「HttpServlet」クラスを継承して作成するようにします。
ではそれぞれのパッケージに含まれるインターフェースやクラスの一覧を見ておきます。
javax.servletパッケージ: インターフェース Filter FilterChain FilterConfig RequestDispatcher Servlet ServletConfig ServletContext ServletContextAttributeListener ServletContextListener ServletRequest ServletRequestAttributeListener ServletRequestListener ServletResponse SingleThreadModel クラス GenericServlet ServletContextAttributeEvent ServletContextEvent ServletInputStream ServletOutputStream ServletRequestAttributeEvent ServletRequestEvent ServletRequestWrapper ServletResponseWrapper Exceptions ServletException UnavailableException
この中でサーブレットが呼び出される前や後に処理を行うフィルタの機能を行うのが「Filter」インターフェースです。フィルタについては別のページで詳しく見ていきます。
javax.servlet.httpパッケージ: インターフェース HttpServletRequest HttpServletResponse HttpSession HttpSessionActivationListener HttpSessionAttributeListener HttpSessionBindingListener HttpSessionContext HttpSessionListener クラス Cookie HttpServlet HttpServletRequestWrapper HttpServletResponseWrapper HttpSessionBindingEvent HttpSessionEvent HttpUtil
この中でサーブレットを作成する上で継承して利用するクラスが「HttpServlet」クラスとなります。「HttpServlet」クラスで用意されている様々なメソッドを定義していくことでサーブレットを作成していきます。
またサーブレットがクライアントであるブラウザなどから呼ばれた時にパラメータなどの情報が含まれているのが「HttpServletRequest」インターフェースのオブジェクトです。そしてサーブレットからクライアントに出力を行う場合に利用するのが「HttpServletResponse」インターフェースのオブジェクトです。これらは「HttpServlet」クラスの中で定義されているメソッドの引数として渡されてきます。
他にクッキーを扱う「Cookie」クラス、セッションを扱う「HttpSession」インターフェースなどがあります。これらは別のページでそれぞれ詳しく見ていきます。
では次のページで「HttpServlet」クラスから詳しく見ていきましょう。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。