Strutsノート(一)Strutsプロファイル
9567 ワード
1.Strutsプロファイル Webアプリケーション配置記述子web.xml Strutsプロファイルstruts-config.xml アプリケーションリソースプロファイルアプリケーション.properties strutsコンポーネントプロファイル 1.1. web.xml strutsのActionServiceletとラベルライブラリを構成します. 次のようになります.
コードの番号付けの箇所は以下のコメントに対応します.
①ウェブアプリケーション配置記述子として識別:最初の2行はファイルを1つのウェブアプリケーション配置記述子として識別する.
②ActionServiceletの構成—このセクションでは、コンテナにaction名の下にあるActionServiceletをロードするように指示します.ActionServiceletには、アプリケーション、config、debug、detailの4つのパラメータが渡されます.ActionServiceletは、他のパラメータを受け入れることもできます.は、コンテナにaction servletの重みを与えます.2に設定すると、必要に応じて他のservletを最初に読み込むことができます.これ
ActionServiceletをサブクラス化する際に重要になり、他のservletで事前に読み込まれたリソースを使用できるようになります.1つのアプリケーションでは、1つのActionServiceletまたはActionServiceletのサブクラスのみを読み込むことができます.ActionServiceletは、アプリケーション内の他のコンポーネントとリソースを共有できるように設計されています.マルチActionServiceletを読み込むと競合します.1つのActionServiceletは、別のActionServiceletがコミットしたリソースを書き換える可能性があるためです.Struts 1.1はモジュール化アプリケーションをサポートしますが、ActionServiceletを1つだけロードできます.
③Strutsを識別する要求-この部分は容器が*に一致することを示す.do形式のファイルリクエストはaction servletに転送されます.これが私たちが①で構成したActionServiceletです.この形式に一致しないファイル要求はStrutsによって処理されません.例えば*.htmlまたは*jspファイルのリクエストは、通常、コンテナ内に構築されたサービスによって処理される.
④welcomeファイルの作成-残念ながら、ここでindexを設定します.doファイルは動作しません.希望の容器
Welcomeファイルも物理ファイルです.
⑤ラベルライブラリの構成-アプリケーションで使用するラベルライブラリを構成します.3つのコアのStrutsラベルライブラリ-bean、html、logic-は、ほとんどのアプリケーションで使用できます.アプリケーションで他のラベルライブラリを使用している場合は、ここでも構成されています.最初の要素、は、ラベルライブラリの論理名を与えます.これは通常ファイルパスのように見えますが、実際にはそうではありません.JSPはラベルライブラリのインポート時にこのURIを参照する.2番目の要素、は、コンテキストに関連するラベルライブラリ記述子(*.tld)パスを提供します.TLDは、ライブラリの実際のタイプ(Javaクラス)を識別します.このライブラリが必要な場合、コンテナはラベルライブラリクラスファイルのclasspathを検索します.Strutsラベルライブラリでは、コンテナはstrutsになります.jarファイルにこれらのパッケージが見つかりました.
1.2. struts-config.xml xml)は、複数のキーフレームコンポーネントをロードするために使用される.これらのオブジェクトは、Struts構成を一緒に構成します.Struts構成はStruts ActionServiceletとともに動作し、アプリケーションの制御層を作成します. Struts構成はあなたのアプリケーションの真の青写真です.フォームにどのフィールドがあるか知っています.JSPファイルがどこで見つけられるか知っています.アプリケーションが実行する各アクション、および各actionに必要な実際のリソースも知っています.Struts構成の各コンポーネントはJavaオブジェクトです.ActionFormオブジェクトは、フィールドとフォームを知っています.ActionForwardオブジェクトは、JSPまたはその他のリソースがどこで見つけられるかを知っています.
1.2.1.登録例外
1.2.2.ActionFormBeanの登録
1.2.3.グローバルActionForwardの登録
これらのforwardは、アプリケーション内の各アクションに有効です.ローカルActionForwardを要素に配置することもできます.ローカル転送は、ActionMappingに対してのみ有効です.
1.2.4.ActionMappingの登録
要素は、要求を処理するために適用されるActionMappingオブジェクトを記述します.
(org.apache.struts.action.ActionMapping)の集合です.ActionMappingでは、適用するアクション、コマンドについて説明します.
1.2.5.
Strutsは、複数のアプリケーションモジュールが単一のコントローラservletを共有することを可能にする.各モジュールは独自のStruts構成を有し、他のモジュールに対して独立して開発することができる.<コントローラ>要素を使用すると、各モードActionServiceletが異なる構成パラメータのセットを識別できます.ほとんどは、デプロイメント記述子の元の設定です.<コントロール>要素設定の属性値は、コントローラ構成bean(org.apache.struts.config.ControllerConfig)に格納されます.各アプリケーションモジュールは、デフォルトのルートモジュールを含むコントローラ構成を作成します.モジュールのstruts-configが要素を提供する場合、モジュールのコントローラ構成beanのプロパティを設定します.
各モジュールはActionServiceletを共有するため、各モジュールに異なるリクエストプロセッサを挿入することもできます.これにより、各モジュールは、サブクラス化共有servletを用いずに、要求を独自の方法で処理することができる.
1.2.6.
要素は、アプリケーションで使用するリソースビームを配置するために使用されます.
1.2.7.
Actionが独自のリソースを初期化および破棄する必要がある場合、PlugInインタフェース(org.apache.struts.action.PlugIn)を実現することができます.このインタフェースはinitとdestroyメソッドを宣言しています.
コントローラは適切なタイミングで呼び出すことができます.PlugIn Actionは、Struts構成において要素で登録することができる.
1.2.8.
データ・ソースの構成
1.3. application.properties
Strutsリソースバンドルを保存します.ファイル自体は通常のテキストファイルで、各行はキーワード-値ペアです.応用の国際化を実現できる.
<!—① -->
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app>
<!—② -->
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>
org.apache.struts.action.ActionServlet
</servlet-class>
<init-param>
<param-name>application</param-name>
<param-value>Application</param-value>
</init-param>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/conf/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>2</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>2</param-value>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<!—④-->
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<!—⑤-->
<taglib>
<taglib-uri>/tags/struts-bean</taglib-uri>
<taglib-location>/WEB-INF/lib/struts-bean.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/tags/struts-html</taglib-uri>
<taglib-location>/WEB-INF/lib/struts-html.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/tags/struts-logic</taglib-uri>
<taglib-location>/WEB-INF/lib/struts-logic.tld</taglib-location>
</taglib>
</web-app>
コードの番号付けの箇所は以下のコメントに対応します.
①ウェブアプリケーション配置記述子として識別:最初の2行はファイルを1つのウェブアプリケーション配置記述子として識別する.
②ActionServiceletの構成—このセクションでは、コンテナにaction名の下にあるActionServiceletをロードするように指示します.ActionServiceletには、アプリケーション、config、debug、detailの4つのパラメータが渡されます.ActionServiceletは、他のパラメータを受け入れることもできます.
ActionServiceletをサブクラス化する際に重要になり、他のservletで事前に読み込まれたリソースを使用できるようになります.1つのアプリケーションでは、1つのActionServiceletまたはActionServiceletのサブクラスのみを読み込むことができます.ActionServiceletは、アプリケーション内の他のコンポーネントとリソースを共有できるように設計されています.マルチActionServiceletを読み込むと競合します.1つのActionServiceletは、別のActionServiceletがコミットしたリソースを書き換える可能性があるためです.Struts 1.1はモジュール化アプリケーションをサポートしますが、ActionServiceletを1つだけロードできます.
③Strutsを識別する要求-この部分は容器が*に一致することを示す.do形式のファイルリクエストはaction servletに転送されます.これが私たちが①で構成したActionServiceletです.この形式に一致しないファイル要求はStrutsによって処理されません.例えば*.htmlまたは*jspファイルのリクエストは、通常、コンテナ内に構築されたサービスによって処理される.
④welcomeファイルの作成-残念ながら、ここでindexを設定します.doファイルは動作しません.希望の容器
Welcomeファイルも物理ファイルです.
⑤ラベルライブラリの構成-アプリケーションで使用するラベルライブラリを構成します.3つのコアのStrutsラベルライブラリ-bean、html、logic-は、ほとんどのアプリケーションで使用できます.アプリケーションで他のラベルライブラリを使用している場合は、ここでも構成されています.最初の要素、
1.2. struts-config.xml
1.2.1.
<exception
type="org.apache.struts.webapp.example.ExpiredPasswordException"
key="expired.password"
path="/changePassword.jsp" />
1.2.2.
<form-bean name="menuForm" type="org.apache.struts.scaffold.MenuForm" />
<form-bean name="logonForm"
type="org.apache.struts.action.DynaActionForm">
<form-property name="username" type="java.lang.String" />
<form-property name="password" type="java.lang.String" />
</form-bean>
1.2.3.
これらのforwardは、アプリケーション内の各アクションに有効です.ローカルActionForwardを
<global-forwards>
<forward name="logoff" path="/Logoff.do" />
<forward name="logon" path="/Logon.do" />
</global-forwards>
1.2.4.
(org.apache.struts.action.ActionMapping)の集合です.ActionMappingでは、適用するアクション、コマンドについて説明します.
<action-mappings>
<action path="/logoff"
type="app.LogoffAction" />
<action path="/logonSubmit"
type="app.LogonAction"
name="logonForm"
scope="request"
validate="true"
input="/pages/Logon.jsp" />
<action path="/logon"
type="app.ContinueAction">
<forward name="continue"
path="/pages/Logon.jsp" />
</action>
<action path="/welcome"
type="app.ContinueAction">
<forward name="continue"
path="/pages/Welcome.jsp" />
</action>
</action-mappings>
1.2.5.
Strutsは、複数のアプリケーションモジュールが単一のコントローラservletを共有することを可能にする.各モジュールは独自のStruts構成を有し、他のモジュールに対して独立して開発することができる.<コントローラ>要素を使用すると、各モードActionServiceletが異なる構成パラメータのセットを識別できます.ほとんどは、デプロイメント記述子の元の
各モジュールはActionServiceletを共有するため、各モジュールに異なるリクエストプロセッサを挿入することもできます.これにより、各モジュールは、サブクラス化共有servletを用いずに、要求を独自の方法で処理することができる.
<controller
nocache="true"
null="true"
processorClass="com.myCompany.struts.RequestProcessor"/>
1.2.6.
<message-resources
parameter="resources.application"/>
<message-resources
parameter="resources.image"/>
1.2.7.
Actionが独自のリソースを初期化および破棄する必要がある場合、PlugInインタフェース(org.apache.struts.action.PlugIn)を実現することができます.このインタフェースはinitとdestroyメソッドを宣言しています.
コントローラは適切なタイミングで呼び出すことができます.PlugIn Actionは、Struts構成において
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property
property="pathname"
value="/WEB-INF/validator-rules.xml"/>
<set-property
property="pathname"
value="/WEB-INF/validation.xml"/>
</plug-in>
1.2.8.
データ・ソースの構成
<data-sources>
<data-source>
<set-property property="maxCount" value="4" />
<set-property property="minCount" value="2" />
<set-property property="description"
value="Artimus:MySQL Data Source Configuration" />
<set-property property="driverClass" value="org.gjt.mm.mysql.Driver" />
<set-property property="url" value="jdbc:mysql://localhost:3306/artimus" />
<set-property property="autoCommit" value="true" />
<set-property property="user" value="root" />
<set-property property="password" value="" />
</data-source
1.3. application.properties
Strutsリソースバンドルを保存します.ファイル自体は通常のテキストファイルで、各行はキーワード-値ペアです.応用の国際化を実現できる.
# -- Custom messages for struts-messages application --
# -- See http://www.coreservlets.com/Apache-Struts-Tutorial/ --
form.title=Registration
form.firstName=First name
form.lastName=Last name
form.emailAddress=Email address
form.buttonLabel=Register Me
form.successString=Success