Strutsフレームワーク
ようこそ
トップページ
キックスタートFAQ
ユーザガイド
リソース
私たちは誰でしょう
ダウンロード
バイナリ
ソースコード
はじめよう
インストール
リリースノート
APIドキュメント
メーリングリスト
バグ データベース
開発者ガイド
Beanタグ
HTMLタグ
Logicタグ
Templateタグ
Digester
Utilities
タグライブラリ ドキュメント
Beanタグ
HTMLタグ
Logicタグ
Templateタグ
現在の開発
インストール(ナイトリビルド)
リリースノート(ナイトリビルド)
APIドキュメント(ナイトリビルド)
ワークフローの提案
TODOリスト
前提となるソフトウェア

Strutsソースディストリビューションをビルドしたり、または、バイナリーディストリビューションをインストールして利用するために、下記のようにいくつかのソフトウェアパッケージを別途入手しインストールする必要があります:

  • Java開発キット - あなたのオペレーティングシステムの環境に合ったJava 開発キット、 Java2(version 1.2か、それ以降) をダウンロードしてインストールする必要があります。 Java開発キットのディストリビューションについては http://java.sun.com/j2seからはじめるとよいでしょう。
  • Servletコンテナ -Servlet API仕様(Version2.2かそれ以降)、 JavaServer Pages (JSP)仕様(Version1.1かそれ以降)に準拠したServletコンテナをダウンロードしてインストールする必要があります。 一つのポピュラーな選択としては、Apacheの Tomcat (version 3.1以上が必要、version 3.2以上を推奨)があります。
  • Ant ビルドシステム - ソースディストリビューションからStrutsをビルドする場合は、 version 1.3かそれ以降の Ant ビルドシステムをダウンロードしてインストールする必要があります。 Strutsを使ってあなた自身のWebアプリケーションを構築する際にも、このパッケージを使用することを強くお勧めします。
    • Ant Version1.3を利用している場合は、<style>コマンドを実装している "optional.jar" もダウンロードする必要があります。
    • $ANT_HOME/binディレクトリをPATH環境変数に加えて、"ant" と "ant.bat" スクリプトが実行可能であることを確認してください。
  • Servlet APIクラス - Struts自身やStrutsを利用するアプリケーションをコンパイルするために、 ServletやJSP APIクラスを含んだservlet.jarファイルを用意する必要があります。 大部分のServletコンテナはこのJARファイルを含んでいます。 別の方法としては、Servlet APIクラスのディストリビューションを こちら から得ることもできます。
  • JDBC 2.0拡張パッケージクラス - Strutsはjavax.sql.DataSource の拡張実装をサポートします。よって、コンパイルするために拡張APIクラスを必要とします。 これらは、http://java.sun.com/products/jdbc/download.html からダウンロード可能です。
  • XMLパーサ - Strutsは、 XMLパースのためのJava API(JAXP)仕様1.0かそれ以降と互換性のあるXMLパーサを必要とします。 Strutsソースディストリビューションをビルドするために必要なJAXPの リファレンス実装 ダウンロードすることができます。 Strutsベースのwebアプリケーションでは、リファレンス実装のクラスを Xercesのような他のJAXP準拠パーサに置き換えてもよいです。 パーサの命令に関する詳細は、下記のStrutsのビルドインストール のための手引きをご覧下さい。
  • Xalan XSLT プロセッサ - もし、ソースディストリビューションから Strutsをビルドするのであれば、 Xalan XSLT プロセッサ (Xerces XML parserを含む)version 1.2か、 JAXP 1.1に含まれるXalanをダウンロードしてインストールする必要があります(現在のXalan 2.0には問題が報告されています)。 XSLTプロセッサは、Strutドキュメントアプリケーションで内部的にXMLをHTMLに変換するのに、利用されます。
ソースからのStrutsのビルド

まず、 ここの手引きにしたがってStrutsのソースディストリビューションをダウンロードします。 それから、 前に述べた前提となるソフトウェア パッケージを全てダウンロードしてインストールします。

Strutsをビルドするためには、以下のように開発環境にあわせてビルドの手順をカスタマイズする必要があります:

  • Strutsソースディストリビューションはbuild.properties ファイル(ディストリビューションのトップレベルディレクトリにあります)を利用して、 Strutsが依存する外部コンポーネントの場所を認識します。
  • ソースディストリビューションにはbuild.propertiesファイルは含まれません。 しかし、build.properties.exampleというサンプルファイルがあります。 これをbuild.properties ファイルとしてコピーしてカスタマイズして利用できます。
  • build.propertiesファイルの中で設定しなければならないプロパティは:
    • catalina.home - Tomcat4.0のバイナリディストリビューションのディレクトリパス名 (deploy.catalinaターゲットを使いたいときだけ必要です)
    • servletapi.home - Servlet APIクラスのディレクトリパス名
    • tomcat.home - Tomcat 3.2のバイナリディストリビューションのディレクトリパス名 (deploy.tomcatターゲットを使いたいときだけ必要です)
    • xerces.home - Xercesパーサ version 1.2 または 1.3のディレクトリパス名 ( deploy.catalinaターゲットを使いたいときだけ必要です)
  • もし、あなたがCVSリポジトリへの書き込みアクセスができるStruts開発者ならば、 build.propertiesファイルのコピーをチェックイン しないように注意してください。 (このファイルは各々の開発者ごとに違うはずなので)

Strutsの "ディストリビューション" をビルドするには、 まずStrutsソースディストリビューションを展開したディレクトリに移動してください。 そして、(必要であれば)build.propertiesファイルを上記に示したように、作成したりカスタマイズしてください。 そしてこのように入力してください。:

        ant dist

このコマンドは、 distディレクトリ(どこでコンパイルしたかに依存する)にStrutsのバイナリディストリビューションを作成します。 このディレクトリは、 次のセクションで説明するStrutsバイナリディストリビューションと全く同じファイルを含んでいます。

要注意: Strutsをコンパイルする際struts.jarをクラスパスに含めなければなりません。 ソースディストリビューションに用意されているbuild.xmlは、これを自動的に行ってくれます。 開発マシンを使ってStrutsアプリケーションをローカルでテストする場合は、 コンテナが動作時にstuts.jarをクラスパスに 含めないようにしてください。

Strutsバイナリディストリビューションのインストール

まず、ここの手引きに従ってStrutsのバイナリディストリビューションをダウンロードします。 それから、前に述べた前提となるソフトウェアパッケージをダウンロードしインストールします。

Strutsバイナリディストリビューションを適当なディレクトリに展開します。 (もしソースディストリビューションからStrutsをビルドしたのなら、ビルドの結果はバイナリディストリビューションを展開したのと既に同じ状態になっています)。 ディストリビューションの内容は以下のとおりです:

  • lib/struts.jar - このJARファイルはStrutsの全てのJavaクラスを含んでいます。 このファイルを、あなたのWebアプリケーションのWEB-INF/lib ディレクトリにコピーしてください。 警告 - 同じServletコンテナ上で複数のStrutsをベースとしたアプリケーションを動作させるのであれば、 struts.jarファイルをコンテナのサポートする共有リポジトリに配置したくなるでしょう。 その場合、アプリケーションの全てのクラスを共有リポジトリに格納しなければ ClassNotFoundException問題を引き起こす原因となることを忠告します。
  • lib/struts*.tld - これらは、"タグライブラリ記述子"(さまざまなStrutsタグライブラリの中のカスタムタグを記述したもの)です。 これらのファイルをあなたのWebアプリケーションの WEB-INFディレクトリにコピーしてください。
  • webapps/struts-blank.war - これは、Strutsベースのアプリケーションを作る際の出発点となる、 シンプルな "Webアプリケーションアーカイブ"ファイルです。
  • webapps/struts-documentation.war - これは、 Struts web サイトにあるStrutsドキュメントの全てを含んだ "Webアプリケーションアーカイブ"ファイルです(このページも含みます)。 Servlet API 2.2以降互換のServletコンテナにインストールすることができます。
  • webapps/struts-example.war - これは、 Strutsの機能の大部分を利用したサンプルWebアプリケーションです。 Servlet 2.2(またはそれ以降)、JSP 1.1(またはそれ以降)互換のServletコンテナにインストールすることができます。 もし、あなたのコンテナにおいてwebアプリケーションがXMLパーサを利用できないのであれば、 そのwebアプリケーションのWEB-INF/libディレクトリにXMLパーサを追加する必要があります。
  • webapps/struts-exercise-taglib.war - このwebアプリケーションは、 Strutsのサポートするさまざまなカスタムタグのためのテストページを含んでいます。 これは、Strutsカスタムタグを拡張しようとする開発者のためになりますし、 さまざまなStrutsタグの利用方法の簡単なサンプルとしても有用でしょう。
  • webapps/struts-template.war - このwebアプリケーションは、 Strutsテンプレートタグの紹介とデモです。
  • webapps/struts-upload.war - このwebアプリケーションは、 Strutsフレームワークを用いたファイルのアップロードの簡単なサンプルです。

あなたのアプリケーションでStrutsを使うには、以下のステップに従ってください:

  • lib/struts.jarを、Strutsのディストリビューションから、 あなたのwebアプリケーションのWEB-INF/lib ディレクトリにコピーしてください。
  • Strutsのディストリビューションからlib/struts*.tldに一致する全てのファイルを、 あなたのwebアプリケーションのWEB-INF ディレクトリにコピーしてください。
  • あなたのwebアプリケーションのWEB-INF/web.xmlファイルを修正して<servlet> 要素を追加し、コントローラサーブレットを定義します。 そして<servlet-mapping>要素を追加し、どのリクエストURIがこのServletにマップするのかを確立させます。 StrutsサンプルアプリケーションのWEB-INF/web.xmlファイルを、 必要なシンタックスの詳細なサンプルとして利用してください。
  • あなたのwebアプリケーションのWEB-INF/web.xmlファイルを修正して、 以下のタグライブラリ宣言を含めるようにしてください:
<taglib>
  <taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>
  <taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
</taglib>

<taglib>
  <taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
  <taglib-location>/WEB-INF/struts-html.tld</taglib-location>
</taglib>

<taglib>
  <taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri>
  <taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
</taglib>

<taglib>
  <taglib-uri>/WEB-INF/struts-template.tld</taglib-uri>
  <taglib-location>/WEB-INF/struts-template.tld</taglib-location>
</taglib>
  • アプリケーション固有のアクションマッピングやその他の特徴を定義する WEB-INF/struts-config.xmlファイルを作成します。 Strutsサンプルアプリケーションのstruts-config.xmlファイルを、 必要なシンタックスの詳細なサンプルとして利用してください。
  • Strutsカスタムタグを使う各JSPページの先頭に、下記のようにStrutsカスタムタグライブラリの宣言文を追加します:
<@ taglib uri="/WEB-INF/struts-bean.tld" prefix="struts-bean" %>
<@ taglib uri="/WEB-INF/struts-html.tld" prefix="struts-html" %>
<@ taglib uri="/WEB-INF/struts-logic.tld" prefix="struts-logic" %>
<@ taglib uri="/WEB-INF/struts-template.tld" prefix="struts-template" %>
  • あなたのアプリケーションを構成するJavaクラスをコンパイルする際、 (先ほどコピーした)struts.jarファイルをコンパイラが認識するCLASSPATHに確実に追加してください。
サーブレットコンテナにStrutsをインストールする

警告 - 個々のWebアプリケーションの/WEB-INF/libstruts.jarを配置するのを避けようとして、 サーブレットコンテナのクラスパスにstruts.jarを追加しないでください。 そのようなことをすればClassNotFoundExceptionの問題が引き起こされるでしょう。

多くのコンテナでは、以下の作業のみ必要です:

  • Strutsの/webappディレクトリにあるWARファイルをコンテナのwebappsディレクトリにコピーします。
  • 場合によっては、コンテナの再起動が必要です。

さまざまなコンテナの状況


[訳注: これは芦沢 嘉典が翻訳しました。日本語訳に対するコメントがあれば、report@jajakarta.orgに送って下さい。]
Copyright (c) 2000-2002, Apache Software Foundation