Strutsコンフィギュレーション・ファイルについて

Webアプリケーションのデプロイメント・ディスクリプタ・ファイル(web.xml)は、一般的なランタイム・コンテキストを定義するためにすべてのWebアプリケーションによって使用され、特に、Strutsアプリケーションではアクション・サーブレット・コントローラを識別するために使用されます。

StrutsをサポートするすべてのWebアプリケーションには、アプリケーションの実行時の動作を制御するために、XMLコンフィギュレーション・ファイルが必要です。各アプリケーションは1つ以上のStrutsコンフィギュレーション・ファイルを使用します。Strutsコンフィギュレーション・ファイルには、アプリケーションのアクションの名前やそれに対応するアクション・クラスとフォームBeanなど、Webアプリケーションのデプロイメント・ディスクリプタ・ファイル(web.xml)には格納されていないStruts固有の構成情報が記載されています。

このトピックでは、次の項目について説明します。

StrutsのXMLコンフィギュレーション・ファイル

通常、Strutsコンフィギュレーション・ファイルはstruts-config.xmlまたは類似した名前のXMLファイルです。JDeveloperでWebアプリケーション・プロジェクトを設定すると、struts-config.xmlという単一のStrutsコンフィギュレーション・ファイルが作成されます。

コンフィギュレーション・ファイルはXMLファイルであるため、JDeveloperで他のXMLファイルを編集する場合と同様に編集できます。また、JDeveloperには、Strutsコンフィギュレーション・ファイルに要素を追加したり、Strutsコンフィギュレーション・ファイルを保守するために設計された特別な編集ツールが用意されています。「Struts編集ツールの選択」を参照してください。

コンフィギュレーション・ファイルはXMLファイルであるため、プロジェクトで実行するリファクタ操作に含めることもできます。「リファクタについて」を参照してください。

複数のStrutsコンフィギュレーション・ファイル

小規模なアプリケーションには単一のStrutsコンフィギュレーション・ファイルが適切です。通常、単一のファイルはstruts-config.xmlという名前になります。

大規模なアプリケーションでは、アプリケーションを複数のモジュールに分類したり、各開発者グループがアプリケーションの個別の機能を担当できるように、複数のStrutsコンフィギュレーション・ファイルが必要になります。

Strutsテクノロジ・スコープを含むJDeveloperの各アプリケーションには、struts-config.xmlという単一のStrutsコンフィギュレーション・ファイルが自動的に作成されます。Strutsコンフィギュレーション・ファイルをプロジェクトに追加する方法は、「Webアプリケーションに対するStrutsコンフィギュレーション・ファイルの追加」を参照してください。

Webアプリケーションで複数のコンフィギュレーション・ファイルを使用するには、2つの方法があります。

個別のアプリケーション・モジュールに対するコンフィギュレーション・ファイル

複数のアプリケーション・モジュールで構成され、各モジュールが独自のStrutsコンフィギュレーション・ファイルを保持するWebアプリケーションを定義できます。開発者グループは、他のモジュールとは関係なく独自のコンフィギュレーション・ファイルを使用してそれぞれのモジュールを開発できます。

個別のコンフィギュレーション・ファイルの内容は、実行時も相互に独立しています。これは、各モジュールには、個別のアクション、アクション・フォーム、例外処理などがあることを意味します。

次に、デフォルトのモジュールconfigと、もう1つのモジュールmod1という2つのアプリケーション・モジュール用に構成したアプリケーション・デプロイメント・ディスクリプタ・ファイルweb.xmlの部分的な例を示します。

<servlet>
  <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
	<init-param>
	  <param-name>config</param-name>
	  <param-value>/WEB-INF/struts-config.xml</param-value>
	</init-param>
	<init-param>
	  <param-name>config/mod1</param-name>
	  <param-value>/WEB-INF/struts-config-mod1.xml</param-value>
	</init-param>
</servlet>    

同じアプリケーション・モジュールに対する複数のピアコンフィギュレーション・ファイル

単一のアプリケーションに対するStrutsコンフィギュレーション・ファイル詳細は、アプリケーション全体の構成をまとめて定義する複数のコンフィギュレーション・ファイルに分割できます。実行時は、個々のコンフィギュレーション・ファイルの内容が一括したStruts構成の定義とみなされます。

ピアStrutsコンフィギュレーション・ファイルは、Webアプリケーションのデプロイメント・ディスクリプタ・ファイルにカンマ区切りのリストとして指定されます。ActionServletの<init-param>パラメータの名前はconfigで、値はカンマ区切りのファイル・リストになります。

Strutsコンフィギュレーション・ファイルは、実行時に<init-param>の記載順にロードされます。Strutsモデルでは、すべてのピア・ファイルの情報がマージされます。

名前が重複している(複数のコンフィギュレーション・ファイルに同じ項目が定義されている)場合は、最後にロードしたファイルのエントリが使用されます。たとえば、/action1struts-config.xmlファイルに指定されており、その後にロードしたstruts-config-reg.xmlファイルにも定義されている場合、struts-config.xmlファイルのエントリは無視されます。

次に、ピアStrutsコンフィギュレーション・ファイルstruts-config.xmlおよびstruts-config-reg.xmlのエントリを示すアプリケーション・デプロイメント・ディスクリプタ・ファイルweb.xmlの部分的な例を示します。

<init-param>
  <param-name>config</param-name>
  <param-value>/WEB-INF/struts-config.xml, 
     /WEB-INF/struts-config-reg.xml</param-value>
</init-param>    

JDeveloperでのStrutsサポートについて
Strutsプロパティ・ファイルおよびリソース・バンドルについて
Webモジュールのランタイム構成について

Struts編集ツールの選択
Webアプリケーションに対するStrutsコンフィギュレーション・ファイルの追加

Strutsアプリケーションの構成およびStrutsアプリケーションでのモジュールの使用に関する詳細は、Strutsのドキュメントを参照してください。

http://struts.apache.org/userGuide/configuration.html