Javaに関する様々な情報をご紹介します。

10暗黙オブジェクト(config)

Javaに関する様々な情報をご紹介します。

暗黙オブジェクト(config)

JSPでは、宣言せずに使用できるオブジェクトとして9つの暗黙オブジェクト(request, response, pageContext, session, application, config, page, exception)が用意されています。それぞれの暗黙オブジェクトにはJSPプログラムで頻繁に使用するメソッドが定義されています。ここでは、暗黙オブジェクトのうち、configについて解説します。

メソッド

暗黙オブジェクトconfigは、javax.servlet.ServletConfigインタフェースのオブジェクト変数です。このオブジェクトはServletプログラム、JSPプログラム個々の初期化パラメータを取得する際に使用します。他のプログラムから別のプログラムの初期化パラメータを取得することはできません。初期化パラメータをコンテキスト内で共有したい場合は暗黙オブジェクトapplicationを使用します。以下にconfigオブジェクトで使用できる主なメソッドを紹介します。

戻り型 メソッド 説明
Object getInitParameter(String) 引数に指定されたパラメータ名に対するパラメータ値を返します。パラメータ名がない場合は、Nullを返します。
Enumeration getInitParameterNames( ) 指定されているすべてのパラメータ名をEnumeration型で返します。パラメータ名がない場合は、空のEnumeration型のオブジェクトを返します。
Servlet
Context
getServlet
Context( )
JSPが実行されているServletContextオブジェクトを返します。
String getServletName( ) サーブレットクラス名を返します。

※ その他のメソッドについてはAPIリファレンスをご参照ください。

使用例

configオブジェクトの使用例について解説します。web.xmlファイルに指定された初期化パラメータを取得するプログラムです。
configオブジェクトで取得できる初期化パラメータは<init-param>タグで指定します。<init-param>タグは<servlet>タグ内に指定します。JSPプログラムは実行する際、Servletプログラムに変換されて実行されます。コンテナでは、変換されたServletプログラムに対する初期化パラメータとして認識されます。そのため、変換されたServletプログラムにアクセスできるようにweb.xmlの<servlet-mapping>タグを指定する必要があります。

web.xmlの例

<web-app>
--------------------------------
--------------------------------

<servlet>
    <!-- (1)<servlet-name>タグと<jsp-file>タグでJSPプログラムに対するServlet名を指定します。 -->
    <servlet-name>Config</servlet-name>
    <jsp-file>/exConfig.jsp</jsp-file>
    <!-- (2)初期化パラメータnameとその値を指定します。 -->
    <init-param>
        <param-name>name</param-name>
        <param-value>java</param-value>
    </init-param>
</servlet>
<!-- (3)<servlet-mapping>タグで変換されたServletプログラムにアクセスできるようにを指定します。URLに"/exConfig.jsp"が含まれていた場合、該当するServletプログラムにアクセスします。 -->
<servlet-mapping>
    <servlet-name>Config</servlet-name>
    <url-pattern>/exConfig.jsp</url-pattern>
</servlet-mapping>

--------------------------------
--------------------------------
</web-app>

exConfig.jsp

<%@ page contentType="text/html; charset=windows-31j"%>

<HTML>
<BODY>

<%
    out.println("初期化パラメータname: ");
    //(1)getInitParameterメソッドで初期化パラメータ
    //   を取得して、表示します。
    out.println(config.getInitParameter("name"));
%>

</BODY>
</HTML>

【実行結果】JSPプログラムの実行方法に関しては、Javaの道:Tomcat(プログラム配置・実行)を参照してください。

Javaの道_config_実行結果

10暗黙オブジェクト(config)