| 原作者 | クレイグ・マクラナハン |
|---|---|
| 開発者 | Apache ソフトウェア財団 |
| 初回リリース | 2000年5月 |
| 最終リリース | 1.3.10 / 2008年12月8日 |
| リポジトリ |
|
| 書かれた | ジャワ |
| オペレーティング·システム | クロスプラットフォーム |
| プラットフォーム | クロスプラットフォーム( JVM ) |
| 後継 | アパッチストラッツ2 |
| ライセンス | Apache ライセンス 2.0 |
| Webサイト | weblegacy.github.io/struts1/ |
Apache Struts 1 は、Java EE Web アプリケーションを開発するためのオープンソースの Web アプリケーション フレームワークです。Java Servlet API を使用および拡張することで、開発者がモデル - ビュー - コントローラ(MVC) アーキテクチャを採用することを推奨しています。これはCraig McClanahanによって最初に作成され、2000 年 5 月にApache Foundationに寄贈されました。以前は Apache Jakarta プロジェクトの下にあり、 Jakarta Strutsとして知られていましたが、2005 年にトップレベルの Apache プロジェクトになりました。
WebWork フレームワークは、Apache Struts から派生したもので、元の Struts フレームワークの一般的なアーキテクチャを維持しながら、機能強化と改良を提供することを目指しています。しかし、2005 年 12 月に Struts が WebWork と再び統合されることが発表されました。WebWork 2.2 はApache Struts 2として採用され、2007 年 2 月に最初の完全リリースに到達しました。
常に進化を続ける現在の後継バージョンであるStruts 2に加えて、 2022年からStruts 1のクローンも存在しており、Struts 1のレガシーフレームワークを現在のJakarta EE互換スタックに更新しています。[1]
設計目標と概要
標準のJava EE Web アプリケーションでは、クライアントは通常、Web フォームを介してサーバーを呼び出します。その後、情報は、データベースと対話してHTML形式の応答を生成するJava サーブレットに渡されるか、同じ結果を得るために HTML と Java コードを混在させるJavaServer Pages (JSP) ドキュメントに渡されます。どちらのアプローチも、アプリケーション ロジックとプレゼンテーションが混在し、メンテナンスが困難になるため、大規模なプロジェクトには不適切であると考えられることがよくあります。
Struts の目標は、モデル(データベースと対話するアプリケーション ロジック) をビュー(クライアントに表示される HTML ページ) およびコントローラ(ビューとモデルの間で情報を渡すインスタンス) から分離することです。Struts はコントローラ (と呼ばれるサーブレットActionServlet) を提供し、ビューまたはプレゼンテーション レイヤーのテンプレートの記述を容易にします (通常は JSP ですが、XML / XSLTおよびVelocitystruts-config.xmlもサポートされています)。Web アプリケーション プログラマは、モデル コードを記述し、モデル、ビュー、コントローラを結合する
中央構成ファイルを作成する責任があります。
クライアントからのリクエストは、構成ファイルで定義された「アクション」の形式でコントローラに送信されます。コントローラがそのようなリクエストを受信すると、アプリケーション固有のモデル コードと対話する対応するアクション クラスを呼び出します。モデル コードは、「ActionForward」を返します。これは、コントローラにクライアントに送信する出力ページを指示する文字列です。情報は、特別なJavaBeansの形式でモデルとビューの間で渡されます。強力なカスタム タグ ライブラリにより、埋め込み Java コードを必要とせずに、プレゼンテーション層からこれらの Bean のコンテンツを読み書きできます。
Strutsはモデル2リクエストベースのWebアプリケーションフレームワークに分類されます。[2]
Struts は、Web フォームによる国際化もサポートしており、「タイル」と呼ばれるテンプレート メカニズムも備えています。これにより、たとえば、プレゼンテーション層を独立したヘッダー、フッター、メニュー ナビゲーション、コンテンツ コンポーネントから構成できるようになります。
参照
参考文献
- ^ Graff, Stefan (2024). 「Struts1 - Reloaded」. Github . 2024年2月13日閲覧。
- ^ Shan, Tony (2006). 「Java Web アプリケーション フレームワークの分類」。2006 IEEE 国際 e-ビジネス エンジニアリング カンファレンス (ICEBE'06)。2006 IEEE 国際 e-ビジネス エンジニアリング カンファレンス (ICEBE 2006) の議事録。pp. 378–385。doi :10.1109 / ICEBE.2006.98。ISBN 0-7695-2645-4. 2010年10月10日閲覧。
文献
- ジェームズ・ホームズ:Struts:完全リファレンス、McGraw-Hill Osborne Media、ISBN 0-07-223131-9
- ビル・ダドニーとジョナサン・レア:ジャカルタの落とし穴、ワイリー、ISBN 978-0-471-44915-7
- Bill Siggelkow: Jakarta Struts Cookbook、O'Reilly、ISBN 0-596-00771-X
- ジェームズ・グッドウィル、リチャード・ハイタワー:プロフェッショナル・ジャカルタ・ストラット、Wrox Press、ISBN 0-7645-4437-3
- ジョン・カーネルとロブ・ハロップ:プロ・ジャカルタ・ストラット、第 2 版、Apress、ISBN 1-59059-228-X
- John Carnell、Jeff Linwood、Maciej Zawadzki: Professional Struts Applications: Struts、ObjectRelationalBridge、Lucene、Velocity を使用した Web サイトの構築、Apress、ISBN 1-59059-255-7
- テッド・ハステッド他:Struts in Action、Manning Publications Company、ISBN 1-930110-50-2
- Struts ビューのアセンブリと検証 (PDF 形式)。
- Stephan Wiesner: Learning Jakarta Struts 1.2、Packt Publishing、2005 ISBN 1-904811-54-X
外部リンク
- 公式サイト
