Struts Hello Worldの例
このチュートリアルでは、従来のStruts 1.3フレームワークを使用してHello WorldWebアプリケーションを開発する方法を示します。
使用されるツールとテクノロジー:
-
Struts 1.3.10
-
Maven 2.x
-
Eclipse 3.6
最終プロジェクト構造
最初に最終的なフォルダー構造を見てみましょう。

1. Mavenテンプレート
Mavenコマンド「mvn archetype:generate」を使用してクイックスタートJavaプロジェクト構造を生成し、単純なJavaWebプロジェクトテンプレートのテンプレート18を選択します。
Define value for groupId: : com.example.common Define value for artifactId: : StrutsExample Define value for version: 1.0-SNAPSHOT: : Define value for package: com.example.common: : com.example.common ... [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESSFUL [INFO] ------------------------------------------------------------------------ [INFO] Total time: 1 minute 5 seconds [INFO] Finished at: Thu Apr 08 11:29:30 SGT 2010 [INFO] Final Memory: 8M/14M [INFO] ------------------------------------------------------------------------
2. pom.xml file configuration
pouts.xmlにStruts依存関係を追加します。 Struts 1.xでは、コアモジュール用にstruts-core.jar、タグライブラリ用にstruts-taglib.jarが必要です。
4.0.0 com.example.common StrutsExample war 1.0-SNAPSHOT StrutsExample Maven Webapp http://maven.apache.org junit junit 3.8.1 test org.apache.struts struts-core 1.3.10 org.apache.struts struts-taglib 1.3.10 StrutsExample
3. Eclipse IDE
Mavenコマンド「mvn eclipse:eclipse -Dwtpversion=1.5」を使用して、このプロジェクトをEclipseWebプロジェクトに変換します。 すべてのStruts依存ライブラリは、Mavenローカルリポジトリに自動的にダウンロードされ、プロジェクトクラスパスにリンクされ、EclipseのWebプロジェクトスタイルに変換されます。
E:\workspace\struts\StrutsExample>mvn eclipse:eclipse -Dwtpversion=1.5 [INFO] Scanning for projects... [INFO] Searching repository for plugin with prefix: 'eclipse'. [INFO] ------------------------------------------------------------------------ [INFO] Building StrutsExample Maven Webapp
Eclipse IDEにインポートするだけです。
4. アクションフォーム
「hello world」データを後で保持するために、Strutsアクションフォームを作成します。
package com.example.common.form;
import org.apache.struts.action.ActionForm;
public class HelloWorldForm extends ActionForm{
String message;
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
5. アクション(コントローラー)
Strutsアクション(アクションコントローラー)ファイルを作成して、Strutsがリクエストを転送する方法を制御します。ここで、execute()メソッドを独自のロジックでオーバーライドするだけです。
package com.example.common.action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import com.example.common.form.HelloWorldForm;
public class HelloWorldAction extends Action{
public ActionForward execute(ActionMapping mapping,ActionForm form,
HttpServletRequest request,HttpServletResponse response)
throws Exception {
HelloWorldForm helloWorldForm = (HelloWorldForm) form;
helloWorldForm.setMessage("Hello World! Struts");
return mapping.findForward("success");
}
}
6. JSPビューページ
JSPページを作成し、Strutsタグライブラリを介してAction Formオブジェクトにアクセスし、そのメッセージプロパティを印刷します。
7. struts-config.xml
Struts構成の詳細用にstruts-config.xmlファイルを作成し、それをWEB-INFフォルダーに配置します。
「helloWorldForm」という名前のフォームBeanと「HelloWorldAction」をマッピングするアクションコントローラーを定義し、/helloWorld WebパスをHelloWorldActionに一致させます。 これは、/helloWorldのWebパスからのすべてのリクエストがHelloWorldActionにリダイレクトされることを意味します。 「name」属性は、このHelloWorldActionに渡すアクションフォームを定義するために使用されます。
8. Webアプリケーションデプロイメント記述子
web.xmlファイルで、StrutsActionServletインスタンスを構成し、それをurlパターン「.do”, so that the container is aware of all the “ * .do *」パターンでマップすると、Struts ActionServletにリダイレクトされます。
Maven Struts Examples action org.apache.struts.action.ActionServlet config /WEB-INF/struts-config.xml 1 action *.do
9. Java EEモジュールの依存関係(オプション)
Eclipse IDEでデバッグ作業を行う場合は、Eclipseがすべての依存関係を正しいフォルダーにデプロイするように、Java EE module dependenciesがチェックされていることを確認する必要があります。 See details here。
10. それを実行します
Eclipse IDEで、新しいサーバープラグインを作成して起動します。 この例には、次のURLでアクセスできます。

HttpServletRequest class not found?
上記のエラーが発生した場合は、必ずjavaee.jar(JDK / libフォルダーに存在する)を含めてください。 ライセンスの問題により、このjavaee.jarはMavenを使用してダウンロードできません。手動で含める必要があります。