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