Strutsユーザガイド
クイックリンク
ホーム
目次
はじめに
モデル コンポーネント
ビュー コンポーネント
コントローラ コンポーネント
リソース
私たちは誰でしょう
Kickstart FAQ
目次

ここに、初めに得るべき質問への答えがあります。 詳細な検索可能なFAQについては、私達を支援する JGuruを訪れてください。

なぜStrutsが必要なのでしょう?
今日の企業イントラネットとパブリックなWebサイトの要求をみたすアプリケーションの作成と維持する場合に、Javaテクノロジが開発者に強力な後押しをします。 StrutsはJava Servlet, Java ServerPages, カスタムタグとメッセージのリソースを統一フレームワークとして統合します。 最終目標は、開発チームや個人開発者また関係する全ての人にとって有用な、共同・協力して作業可能なプラットフォームを提供することです。
Strutsはどのような動作をしますか?

Java ServletはWebブラウザで作成されたリクエストを処理するようにデザインされました。Java ServerPages はビルボード・サイトを実際のアプリケーションに代えられるような、動的なWeb pageを作るためにデザインされました。Webブラウザからのリクエストを適切なServerPageに送るために、Strutsはスイッチボードとして特別なServletを使用します。 これは、Webアプリケーションを設計、作成そして維持することを、とても容易にします。

Strutsは他のJava技術と互換性はありますか?
はい。Strutsは業界標準のサポートを約束します。私達の主開発者は、SunのカスタムJSPタグの標準ライブラリ開発のエキスパートグループであるJSR052のメンバです。主要な設計基準は、Sunの企業向けJ2EEプラットフォームと互換性を持たせることです。事実、StrutsはJava技術のインテグレータによって「現実の世界で」使われています。
誰がStrutsを書いたのですか?

Strutsは Craig R McClanahanによって作成され、そして2000年5月にApache Software Foundationに寄贈されました。Craigは、StrutsとJavaServletコンテナの公式参照実装(オフィシャル リファレンス インプリメンテーション)であるTomcat 4の主要な開発者です。StrutsとTomcat4の安定したリリースのサイクルのために、Craigは、現在Sunの新しいWebサービスパックの実装エンジニアとして働いています。

現在、Strutsプロジェクトに世界中から多くのコミッタが協力してくれています。他のJava開発者も、プロジェクトに貢献することが望まれています。Strutsは「オープンで協調した開発によるJavaプラットフォームでの、サーバサイドソリューションを商用クォリティで提供する」という共通の目的をもつ、Apache Jakartaプロジェクトです。全部で、17の個人開発者とコミッタがStruts1.0のコードベースに貢献しました。

なぜStrutsと呼ばれるのでしょう?

ビル、家や橋を支えるほとんど気にせず目に見えない部分、という建築上の感覚に基づいています。

Strutsのライセンスはどうなっていますか?

Strutsは、the Apache Software Foundation の"free-to-use-license"に基づく著作権をもつソフトウェアです。ライセンスは、全てのソースコードファイルの上部に表示されています。コピーに関するライセンスは、ここを参照してください。

商用アプリケーションにStrutsを使う事は出来ますか?

はい。満たさなければならないただ一つの必要条件は、ディストリビューションのトップディレクトリにLICENSEファイルを置く事と、それぞれのソースファイルの先頭にthe Apache Software Foundation licenseをリストする事です。

さらに、パッチの寄付、改善したコード、新しい機能、あるいは、さらなる機能の要求を歓迎します。

Strutsのコピーは何処から得られますか?

Strutsダウンロードのベストな場所は、jakarta.apache.org/strutsです。ナイトリービルドはとても安定していて、いまから始める最良の場所として推奨します。

どうやってStrutsをインストールするのですか?

Strutsでアプリケーションを開発するなら、通常はあなたのJava開発環境にStrutsのJARファイルを追加します。その後は自分のアプリケーションの一部として、Strutsクラスが使えるようになります。あなたの考えている事が、コピーするだけで迅速に開 始できるように、blank Struts applicationが、提供されています。

Strutsの全ソースコードが利用可能です。さらに、ゼロからStruts JARをコンパイルするための 完全な手順を提供します(これは見ると本当に簡単です)。

Strutsアプリケーションは、標準のWARファイルとして通常は配備出来ます。ほとんどの場合、単にアプリケーションサーバーにWARファイルを置くだけで、自動的にインストールされます。もし、だめなら、様々なservletコンテナのための、ステップ・バイ・ステップのインストール手順が利用できます。

いつ、クラスパス中の"struts.jar"を必要としますか?

Strutsのクラスを使ったアプリケーションをコンパイルする時、コンパイラが参照するクラスパスに“struts.jar”がなくてななりません。参考 - それは、あなたのCLASSPATH環境変数中にある必要はありません

なぜ、それの区別が重要なのでしょうか?なぜなら、開発マシン上のServletコンテナを使ってあなたのアプリケーションをテストする場合、コンテナが実行する“struts.jar”は、あなたのCLASSPATH環境変数上ではないからです。(これは各ウェブアプリケーションがさらにStrutsクラス自身のコピーを持つからです。また、コンテナーは、それが環境のパス上に同様にある場合に、混乱するようになるでしょう)

この問題へのいくつかの一般的なアプローチがあります。

  • ANTを使ってプロジェクトを構築する -- これは、コンパイラ用のクラスパスを容易に組み立てる事が可能です。
  • IDEを使ってCLASSPATH環境変数に非依存の編集のために用意された“クラスパス”を設定可能とします
  • シェルスクリプトを使って一時的にコンパイル時のクラスパスにstruts.jarを追加します。例は
    javac -classpath /path/to/struts.jar:$CLASSPATH $@です。
どこでStrutsに関するヘルプが得られますか?

Strutsパッケージは人々にフレームワークおよびその基礎的な技術を導入する ための、ユーザガイドを完備しています。様々なコンポーネントは、さらにもっと高度なトピックをカバーするために、詳細な開発者ガイドをもっています。 わかりやすいJavadocsは、 全てのソースコードに含まれています。 Strut's メーリングリストは、とても活発で、そして新しいユーザの投稿を歓迎します。

Strutsを扱った、多くのサードパーティのチュートリアル、記事と本が存在します。現在の一覧とリンクはResources pageを参照してください。2つの有益なリソースは、メーリングリストアーカイブJGuruのStrutsフォーラムです。

Strutsの商用サポートはありますか?

公式には存在しません。Strutsへの商用サポートは、しかしサードパーティが様々なレベルのサポートを提供するでしょう。Strutsのコンサルタントのリストはリソースページにて参照できます。

StrutsアプリケーションをホスティングできるISPがありますか?

いくつかのJavaとStruts ISPのリストについては、私達の リソースページを訪れてください。

どこのウェブサイトが既にStrutsによって動いていますか?

公になっているStrutsで動作しているウェブサイトのリストについては、私達の リソースページを訪れてください。

Jakarta Struts とJakarta Turbineの間の差は何でしょう?

下記を参照してください

なぜ、StrutsタグはJakarta Taglibsプロジェクトの一部として管理されないのですか?

両方のプロジェクトの開発は、ほぼ同時に開始されました。Struts1.0のリリースに際して、コントローラと並んでタグリブを継続的に開発するのがよいであろうと判断しました。現在、Struts1.0はリリース済みで、Java Server Pagesの標準Taglibは活発に開発されています。一旦、JSPTLの作業が安定すれば、Struts taglibsは再びJSTLに歩み寄るでしょう。フレームワークへ直接関係していないタグは、我々の代わりにJakarta Taglibsによって供給されるでしょう。

バグまたは機能作成要求は何処へレポートすればよいですか?

未解決のフィックスと機能のリクエストについては、Jakarta Bugzillaを使って調査と報告が出来ます。

これが本当にバグなのかどうか不確実な場合、まずは自由な形式でメーリングリストに投稿してください。しかし、確実に問題を解決するためには、常にBugzillaにそれを報告してください。

またStrutsでは計画中または開発中の機能の概要を示すTODO リストを持っています。

私はどのようにStrutsの開発に貢献することができますか?

StrutsはApache Software Foundationによって配布されています。これは、Apache Webサーバを配布しているのと同じ人々です。全てのASFプロジェクトのように、Strutsは「meritocracy(実績重視主義)」として管理されており、皆さんの貢献が歓迎されます。ユーザは、メーリングリスト, バグレポート, や新機能リクエストで、他のユーザの助けができます。開発者は、パッチ、新しいコードやドキュメントで寄与できます。とても積極的な開発者はコミッタとなり、Strutsのコードベースに関する実際の決定を下します。

Strutsユーザリストに参加する事ができます。もし、そこへの参加をエンジョイできたなら、Strutsデベロッパリストにもサインアップしてください。Strutsに関いくらかの問題を見つけた場合、または見当たらない機能を見つけた場合、私達のBugzillaデータベースへレコードを入力する事が可能となります。

次のリリースはいつですか?

ここに、リリースに関する真実があります:

Jakarta プロダクトは厳密な予定に従うのでは~なく~、 功績に基づいてリリースされます。 ボランティアは、プロダクトの開発作業可能であればどんな時間であっても捧げています。 しかし、ボランティアはみな実際の仕事および実際の生活をもっています。 そちらが優先されます。Strutsはプロジェクトで作業をする人員に利益になるよう、単に日程指向の約束をすることはしません。

全てのJakartaプロダクトは、リリース前に公式ベータを配布します。 ベータが配布されていない場合、それは常に、リリースがすぐには出ないと考えてよいでしょう。 プロダクトは時々、最終リリース前にいくつかのベータを通過します。 したがって、それがベータ1である場合、それはまだ、すぐにリリースされないかもしれません。

結論は、Jakartaがリリースを非常に真剣に受けとめているということです。 私たちは、カレンダーを見ることにより、ソフトウェアの質を危険にさらしません (そして、即座に提供するか否かをきめます)。 リリース準備完了というのは、その準備が出来たときにはじめていえるのです。

素っ気無く聞こえるかもしれません。しかし、それが真実です。 プロダクトの質と最先端のソフトウェアを提供する事は、 だれもが予測(訳者:原文は多分スペルミスprognasticate→prognosticate) できる事ではありません。 もし、誰かが挑戦するというなら、彼らは嘘を言っています。 私たちはしません :-)

私達は、私達が開発しているソフトウェアの全てが開発されると、すぐにリリースを行うでしょう。この方法は、開発がどれくらい速く進んでいるか、そして、 開発されているものがあなたのニーズを満たすかどうかを、あなた自身で判断することができます。今すぐ機能を必要とする場合、あなたは、ナイトリービルドまたは、機能の独自のパッチを使う事ができます。それらは、非公開のCVSや非公開の開発リストではありません。あなたが見るものは、私達が得たものです。 もしあなたが、開発者メーリングリストに参加しているならば、 開発者が知っているすべてを知ることができます。 本当です。

どうやってメーリング・リストから登録を取り消しますか?

購読を登録するために使用したメールアカウントから、 空のメッセージを < struts-user-unsubscribe@jakarta.apache.org>へ送ります


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