The Apache Project

Strutsについて学ぶ

このフレームワークの公式ドキュメントはオンラインと、 配布に含まれていて自分でインストールするWARファイルの両方で提供されています。 struts-documentation.warに含まれるドキュメントは以下の通りです。

ドキュメントをオンラインでプレビューし、更に深く学ぶためにローカルにアプリケーションをインストールしませんか?

注: もし、Webサイトでドキュメントを見ているのであれば、 そのセクションのリンクの大半はナイトリビルドに関するものとなります。 Strutsについて学ぶときに、ドキュメントがあなたが実際に使っているバージョンに対するものであるか 確認してください。 ドキュメントはあなたがインストールし、ローカルで利用できるアプリケーションとして、 配布毎に異なっています。

簡潔なStruts ユーザガイド にはMVC(Model-View-Controller)アーキテクチャが紹介されており、 MVCとStrutsの主要コンポーネントとの関連についても述べられております。 「Strutsがどのように動くのか」知りたければ、これはスタート地点となります。 アーキテクチャ概要に加えて、ユーザガイドには詳細なインストール手順とフレームワークの 各バージョンのリリースノートも含まれています。

開発者ガイドはStruts配布が提供するエクステンションとコンポーネントに関する詳細な技術リファレンスです。 パッケージ概要やStrutsタグライブラリごとのAPIリファレンスの他に、StrutsユーティリティとValidatorのガイドも含まれています。 開発者ガイドは日々のリファレンスとして標準パッケージを最大限に活用できるように作られています。 様々な開発者ガイドへのリンクは ユーザガイド メニューの 一部として提供されています。

個々のクラスやパッケージについてのより詳しい情報については、Struts Javadoc に驚くほど広範囲に書かれており、かつ入念にメンテナンスされています。 各クラスをご利用の際にはJavadocを参照されることを強くお勧めいたします。 このことは重要な機能やオプションを見落とさないようにするのに役立ちます。 知らないことは、役に立たないのです。

Struts FAQはJavadocsやユーザガイド・開発者ガイドでは網羅しきれない、 細かい情報を補足することを目的としています。

  • The キックスタートFAQ はStrutsについて最初に聞かれることの多い非技術的な質問への回答です。
  • Struts初心者FAQ は初めてStrutsで開発する人から聞かれることの多い技術的な質問への回答です。
  • 支援方法FAQ はApache Strutsプロジェクトへの貢献について聞かれることの多い質問への回答です。

Howtoガイドは、Strutsで利用可能なオプションのエクステンションやコンポーネントのいくつかについて、 初めて使う際に役に立つよう作られています。 Secure Socket Layer (SSL) プロトコルのStrutsでの使い方や、 Strutsアプリケーションの単体テストのやり方などのトピックがあります。

Struts Wiki は、 比較的新しくStrutsドキュメントに追加されたものです。 Struts Userメーリングリスト同様に、WikiへのStrutsコミュニティメンバからのコメントの投稿を募集しています。 メーリングリストが1回きりの質問に最適なのに対し、Wikiは継続的に重要と思われる話題に最適です。

もし今見ている各ページの内容にコメントがありましたら、各ページの一番下にあるリンク[訳注: 「Comments?」というリンク]から Wikiへ投稿することもできます。

さらに助けが必要ならば、JGuru FAQフォーラムにあるJGuruのStruts知識データベースを見てみるといいかもしれません。

もちろん唯一の正しいドキュメントはソースコードそのものです。 Strutsが実際にどのように動くのかについて疑問があれば、遠慮なくソースをご覧ください。 Strutsフレームワークの完全でビルド可能なソースコードは ソース配布 の srcフォルダをご覧ください。

Strutsのサンプル

Strutsのコンポーネント群の組み合わせ方を理解できるように、 いくつかのサンプルアプリケーションがStruts配布に付属しています。

  • Blank - Strutsアプリケーションを新規作成するための簡単なテンプレート。
  • Documentation - Webサイトで見られるようなStrutsドキュメント群。
  • MailReader - オリジナルのStrutsサンプルアプリ。最初にお試しください!
  • Examples - 別のモジュールとしてまとめた様々なデモアプリケーション。以下のものがあります。
  • Exercise-Taglib - カスタムタグの使用方法のデモも兼ねたテストページ集。
  • Tiles-Doc - Tilesエクステンションの拡張デモ。
  • Upload - ファイルアップロード機能を使ったデモ。(Commons Uploadをベースにしています)
  • Validator - Validatorエクステンションを使ったデモ。

これらのアプリケーションはバイナリ配布のスタンドアローンWARファイルとして提供されています。 各アプリケーションのソースコードはバイナリではWEB-INF/src配下に、 ソース配布ではwebパッケージ配下に収められています

また、学習のために多くのサードパーティ製のサンプルアプリケーションが利用可能です。例えば以下のものがあります。

  • AppFuse - StrutsでXDocletを使うデモで、 その他に色んなセキュリティパッケージや、データベース永続性でHibernateを使っています。
  • JPetStore - Java Petstoreアプリケーションの簡易版で、 StrutsとiBATIS(データベース層)で実装されています。
  • LogWeb - サーブレットコンテナ実行中にLog4Jの設定ができるStruts Webアプリケーション。

Strutsについてさらに学ぶには

Struts メーリングリストは有用でインタラクティブな情報の宝庫です。 Struts Userメーリングリストでは大量のメールが流れがちなので、 新規に質問を投稿する前に、 ドキュメントや メーリングリストアーカイブ を必ずチェックしてください。 恐らく既に質問・回答されていることでしょう。

もし本当にFAQメーリングリストアーカイブで回答が見つからなければ、 Struts Userメーリングリストに投稿できます。しかし投稿する前に、 メーリングリストダイジェスト(要約)メーリングリストを必ずお読みください。

注意:Struts Userメーリングリストには「カジュアルフライデー」ポリシーがあります。 トピックから脱線したメッセージが多くてもOKなのは金曜日だけで、 その場合、メールのタイトルの最初に「[FRIDAY]」とつけることになっています。 もし、このような投稿に煩わされたくなければ、適宜メールフィルタを設定して下さい。 「[FRIDAY]」記事を他の平日に投稿することはできる限りやめて下さい。 皆様のご協力をお願いいたします。

Struts Wiki は比較的新しくドキュメントに追加されたものです。 コミュニティのメンバー(あなたのことですよ!)からのWikiへの新規投稿を募集しています。 しかしWikiは1回限りの質問を行う場ではありません。 サポート的な質問は全てStruts Userメーリングリストか他のサポート用のフォーラムへお願いいたします。

Strutsドキュメントへのコメント専用のWikiページもあります。 ドキュメントへコメントするには、各ページの下段にある「Comments?」というリンクに従ってください。

ロードマップ ページでは将来の開発に関する暫定案の概要を説明しています。

Struts コミュニティリソース

Strutsでは巨大で活気ある開発者コミュニティが生成され、膨大な数のStruts関連リソースが生み出されています。 Struts リソース一覧専用のWikiページもいくつかあります。

Strutsについての書籍

Apache Software Foundation(ASF)は印刷したマニュアルを提供しませんが、 サードパーティからStruts関連図書が何冊も出版されています。 Struts関連書籍の現在の一覧はWiki ページに掲載されています。