目次へ

3. サーブレットの基本2

3.1. Webアプリケーション全体の初期設定値の読み出し

2.2節ではサーブレット毎に初期設定を行い、それをサーブレットで読み出す方法について説明しました。この節では、Webアプリケーション全体で通用する初期設定の方法について説明します。

J2EEでは特定のディレクトリ下にまとめられているリソース、および「WEB-INF/web.xml」ファイルで設定されるサーブレットは1つのWebアプリケーションとして識別されます。これら全体から読み出すことのできる初期設定は「WEB-INF/web.xml」で以下のように記述します。

<web-app>
  <context-param>
    <param-name>ServerName</param-name>
    <param-value>sample.xyz</param-value>
  </context-param>
  ...

<context-param>タグで初期設定を行います。<context-param>タグは順番的には<web-app>タグ内の先頭でなければなりません。<context-param>タグ内の記述方法については、<init-param>と同じです。続いてサーブレットでその初期設定の読み取り方法について説明します。

public class SampleServlet extends HttpServlet{
  public void init() throws ServletException{
    ServletContext context=getServletContext();
    String serverName=context.getInitParameter("serverName");
    ...

Webアプリケーション全体に関連する処理を行うメソッドは、「javax.servlet.ServletContext」インタフェースで提供されています。これのオブジェクトは「javax.servlet.ServletConfig」インタフェースや「javax.servlet.GenericServlet」クラスの「getServletContext」メソッドで取得することが可能です。

初期設定の読み出しは、「getInitParameter」メソッドを使用します。この辺りはサーブレット毎の初期設定の読み出しと同じです。値が設定されていない場合にはnullを返します。初期設定の名前一覧を返す「getInitParameterNames」メソッドもあります。

(実習課題1)

2章の実習課題2を改良しなさい。

  • データベースへの接続に関する設定(ユーザ名、パスワードなど)は、Webアプリケーション全体の設定に変えること。

解答例はこちら

↑このページの先頭へ

こちらもチェック!

PR
  • XMLDB.jp