Struts を使用した簡単な Web アプリケーションの作成
技術情報 TOP へ

本ページでの使用環境
OS:Windows XP SP 2
Java:JDK 5.0 UPDATE 8
Tomcat:5.0.28
ここでは、JDK 5.0 UPDATE 8 、Tocmat 5.0.28 、Eclipse 3.1.1 及び Eclipse に Tomcat プラグインがインストールされていることを前提として説明いたします。 これらのインストールについては下記のページを参照ください。

JDK のインストール -Windows 編-

Eclipce 3.1.1 のインストール -Windows 編 -
* ここでは C:/eclipse に Eclipse をインストールした前提とします。
workspace の場所は C:/eclipse/workspace とします。

Tomcat 5.0.* 系のインストール -Windows 編 ( exe , zip ファイル ) -
* ここでは zip ファイルを使用して C:/jakarta-tomcat-5.0.28 に Tomcat をインストールした前提とします。
CATALINA_HOME は、C:/jakarta-tomcat-5.0.28 です。
( exe ファイルを使用してインストールした場合も本ページの手順で作成可能です。 )

Eclipse 3.1.1 の Tomcat プラグイン導入

以下、Struts を使用した簡単な Web アプリケーションを作成します。

Struts には 「struts-blank 」というテンプレートが含まれていますので、ここではこの 「struts-blank 」を利用して、 簡単な Web アプリケーションを作成してみます。




( 1 ) Struts のダウンロード

ここでは、本ページ記述時点の Struts 1.2.* 系の最新版である struts-1.2.9-bin.zip をダウンロードしました。

下記の Struts のページで [ Full Releases ] - [ Struts 1.2.9 ] - [ Binaries ] をクリック、
struts-1.2.9-bin.zip をダウンロードしてください。

・Download Struts
< http://struts.apache.org/download.cgi >





( 2 ) ダウンロードしてきた 「struts-1.2.9-bin.zip 」の展開

ダウンロードしてきた 「struts-1.2.9-bin.zip」 を展開します。

以下は展開されたフォルダの内容です。




( 3 ) struts-blank.war の展開

展開されたフォルダに含まれる struts-blank.war を展開します。ここでは、Tomcat の機能を利用して展開してみます。

ダウンロードしたファイル struts-1.2.9-bin.zip を展開してできた「struts-1.2.9-bin/webapps」 フォルダ配下の struts-blank.war を 「CATALINA_HOME/webapps」 配下 ( ここでは C:/jakarta-tomcat-5.0.28/webapps ) にコピーします。





( 4 ) Tomcat の起動

Tomcat を起動します。エラー等が出力されていないことを確認します。



( 5 ) Tomcat の停止

Tomcat が起動後、Tomcat をシャットダウンします。



( 6 ) 展開された struts-blank フォルダの確認

struts-blank.war が 展開されて、「CATALINA_HOME/webapps」 配下に struts-blank フォルダが作成されています。
* CATALINA_HOME/webapps/struts-blank.war は削除しておきます。

今回は、この struts-blank フォルダを使用して簡単な Web アプリケーションを作成します。





( 7 ) Eclipse 3.1.1 の起動

ここからは Eclipse 3.1.1 を使用して説明を進めます。

Eclipse 3.1.1 を起動します。





( 8 ) 新規プロジェクトの作成

メニューの [ ファイル ] - [ 新規 ] - [ プロジェクト] をクリックします。


以下の [ 新規プロジェクト ] 画面 が表示されますので、 [ Java ] - [ Tomcat プロジェクト ]を選択して、 [ 次へ ] をクリックします。


次の画面では、[ プロジェクト名 ] を入力します。

プロジェクト名はここでは、「strutsapp」 とします。

入力したら、[ 次へ ] をクリックします。


次に以下の [ Tomcat プロジェクト設定 ] 画面が表示されます。 ここで、[ アプリケーション URI ] として、「/strutsapp」がデフォルト値として設定されています。

この [ アプリケーション URI ] の値 「/strutsapp」がこの Web アプリケーションのコンテキストパスになります。
* 「http://サーバ名/*****/index.html」などの URL の 「*****」の箇所になります。

ここでは、[ アプリケーション URI ] の値は 「/strutsapp」としますので、そのまま [ 終了 ] をクリックします。


「ワークベンチ」画面に戻ります。これで新規 「Tomcat プロジェクト」 の作成は終了です。
Eclipse 画面左側の [ パッケージ・エクスプローラー ]に 「strutsapp」プロジェクトが作成されているのが確認できます。





( 9 ) strutsapp フォルダへ struts-blank フォルダの内容をコピー

Eclipse で設定している workspace 内の「 strutsapp 」 フォルダ ( ここでは C:/workspace/strutsapp ) に、 さきほど展開した 「 CATALINA_HOME/struts-blank 」 フォルダ ( ここでは C:/jakarta-tomcat-5.0.28/webapps/struts-blank ) 内の ファイル及びフォルダを全てコピーします。

* メッセージが表示されますが 「すべて上書き」 します。





( 10 ) strutsapp プロジェクトの更新

Eclipse 画面左側の [ パッケージ・エクスプローラー ] で 「strutsapp」 を選択し、 右クリック 「更新」 をクリックします。


Eclipse 画面左側の [ パッケージ・エクスプローラー ] の 「strutsapp」を展開すると「struts-blank」 フォルダからコピーしたファイルなどが反映されているのが確認できます。





( 11 ) クラスパスの設定

「C:/eclipse/workspace/strutsapp/WEB-INF/lib/struts.jar」 を Eclipse のビルドパス ( クラスパス ) に追加します。

Eclipse 画面左側の [ パッケージ・エクスプローラー ] で 「strutsapp」 を選択し、右クリック [ プロパティ ] をクリックします。

[ Java のビルドパス ] をクリックし、[ ライブラリー ] タブの[ 外部 JAR の追加 ] で 「workspace/strutsapp/WEB-INF/lib/struts.jar」 を選択し [ OK ] をクリックします。

Eclipse でのクラスパスの設定については以下のページを参照してください。
・クラスパスの簡単な説明と設定 - コマンド編、Eclipse 編-
[ 2 ] クラスパスの設定 - Eclipse 編 -
<
http://whitemark.co.jp/tec/java/java4.html#2 >
「strutsapp」 プロジェクトに追加された 「C:/eclipse/workspace/strutsapp/WEB-INF/lib/struts.jar」





( 12 ) JSP の作成

Eclipse 画面左側の [ パッケージ・エクスプローラー ] で 「strutsapp」 を選択し、右クリック [ 新規 ] - [ ファイル ] をクリックします。


[ 新規ファイル ] 画面が表示されますので名前を入力し [ OK ] ボタンをクリックします。 今回は 「start.jsp」 という名前にしました。

これで「start.jsp」が編集可能となります。




( 13 ) JSP の記述

[ start.jsp ] に以下のプログラムを記述して保存します。

ファイル名:start.jsp
<%@ page contentType="text/html;charset=Shift_JIS" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<html:html>
  <head>
    <title>Start</title>
  </head>
  <body>
    <h4>Start JSP</h4>
    <html:form action="/StartAction">
    <table>
    <tr>
      <td><font size="3">Id</font></td>
      <td><html:text property="inputId" size="20" maxlength="50" /></td>
    </tr>
    <tr>
      <td><font size="3">Name</font></td>
      <td><html:text property="inputName" size="20" maxlength="50" /></td>
    </tr>    
    </table><br>
      <html:submit property="submit" value="Submit" />
    </html:form>
  </body>
</html:html>
上述の ( 12 ) の手順で 「end.jsp」を作成して、[ end.jsp ] に以下のプログラムを記述して保存します。

ファイル名:end.jsp
<%@ page contentType="text/html;charset=Shift_JIS" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<html:html>
  <head>
    <title>End JSP</title>
  </head>
  <body>
    <h4>End JSP</h4> 
    <table>
	    <tr>
	      <td><font size="3">Id</font></td>
	      <td><bean:write name="startForm" property="inputId" /></td>
	    </tr>
	    <tr>
	      <td><font size="3">Name</font></td>
	      <td><bean:write name="startForm" property="inputName" /></td>
	    </tr>    
    </table>      
  </body>
</html:html>



( 14 ) 新規 ActionForm クラスの作成

次に Eclipse 画面左側の [ パッケージ・エクスプローラー ] から [ WEB-INF/src ] フォルダを選択して、 [ 新規作成 ] - [ クラス ] をクリックします。


以下の [ 新規 Java クラス ] 画面が表示されますので、 次の値を入力します。

  • [ パッケージ ] に 「 jp.wm 」を入力します。
  • [ 名前 ] に 「 StartForm 」を入力します。
入力後、[ 終了 ] をクリックします。


Eclipse 画面左側の [ パッケージ・エクスプローラー ] に jp.wm パッケージの StartForm クラスが作成されていることが確認できます。 この状態で StartForm.java は編集可能となります。


[ StartForm.java ] に以下のプログラムを記述して保存します。

ファイル名:StartForm.java
package jp.wm;

import org.apache.struts.validator.ValidatorForm;

public class StartForm extends ValidatorForm{
	
	private String inputId = null;
	
	private String inputName = null;

	public StartForm(){
	  super();
	  System.out.println("StartForm");	  
	}

	public String getInputId() {
		return inputId;
	}

	public void setInputId(String inputId) {
		this.inputId = inputId;
	}

	public String getInputName() {
		return inputName;
	}

	public void setInputName(String inputName) {
		this.inputName = inputName;
	}
}

( 15 ) 新規 Action クラスの作成

上述の ( 14 ) と同じ手順で jp.wm パッケージの StartAction クラス [ StartAction.java ] を作成して保存します。
[ StartAction.java ] に以下のプログラムを記述します。

ファイル名:StartAction.java
package jp.wm;

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;

public class StartAction extends Action {	

	 public ActionForward execute (ActionMapping map, ActionForm frm, 
			  	HttpServletRequest request, HttpServletResponse response) {	 

		 System.out.println("StartAction");

		 /* Form オブジェクトを受け取ります */
		 StartForm startForm = (StartForm)frm;
		  
		 /* Form オブジェクトをリクエストに格納します。 */
		 request.setAttribute("stratForm",startForm);
		 
		 /* map.findForward メソッドに success を設定します。 */
		 return map.findForward("success");
	 }
}




( 16 ) struts-config.xmlの追記

Eclipse 画面左側の [ パッケージ・エクスプローラー ] から「strutsapp」をクリックし 「 strutsapp/WEB-INF/struts-config.xml 」 を開き、以下の記述を追記します。

* [strutsapp/WEB-INF/src] ではなく、 [ strutsapp/WEB-INF ] です。

<form-beans> の直下に下記を追記します。
<form-bean name="startForm" type="jp.wm.StartForm" />
<action-mappings> の直下に下記を追記します。
 <action path="/StartAction" type="jp.wm.StartAction"
     name="startForm" scope="request" >
    		<forward name="success" path="/end.jsp" />
 </action> 




( 17 ) プロジェクトのビルド

メニューの [ プロジェクト ] から、右クリック [ プロジェクトのビルド ] をクリックします。
* エラー等のないことを確認してください。





( 18 ) Tomcat のコンテキストの更新

Eclipse 画面左側の [ パッケージ・エクスプローラー ] で「strutsapp」を選択し、右クリック [ Tomcat プロジェクト ] - [ Tomcat のコンテキストを更新 ] をクリックします。

* この作業で Tomcat の server.xml が更新され、「strutsapp」コンテキストが追加されます。






( 19 ) Tomcat の起動

Tomcat を起動します。
* エラー等のないことを確認してください。





( 20 ) 動作確認を行います。

下記のアドレスにブラウザでアクセスします。
< http://localhost:8080/strutsapp/start.jsp >

以下の画面が表示されます。


ID 及び Name に値を入力して 「Submit」ボタンをクリックします。
* この時点では、日本語の送信に対応していません。ここでは動作確認のみをおこないますので、英数字を入力します。

日本語の対応については以下のページを参照してください。

Web アプリケーションの POST 送信 日本語入力対応 - Struts 編 -


以下の画面が表示されれば成功です。


Eclipse のコンソールには "StratForm" 、"StartAction" の文字が出力されています。





技術情報 TOP へ


Google
WWW を検索 whitemark.co.jp を検索

Copyright © 2006 by WhiteMark, All rights Reserved. Last Modified: 2006/05