Struts Hello Worldの例

Struts Hello Worldの例

このチュートリアルでは、従来のStruts 1.3フレームワークを使用してHello WorldWebアプリケーションを開発する方法を示します。

使用されるツールとテクノロジー:

  1. Struts 1.3.10

  2. Maven 2.x

  3. Eclipse 3.6

最終プロジェクト構造

最初に最終的なフォルダー構造を見てみましょう。

Struts-Hello-World-Maven

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でアクセスできます。

Struts-Hello-World-Maven2

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

ダウンロード

ダウンロード–Struts-Hello-World-Example.zip