\r\n\r\n
ピラー&ストラット 2
Struts(別名:apachestrutsまたはstruts1)は、Javaで書かれたクロスプラットフォームのオープンソースフレームワークで、javaeewebアプリケーションを開発するために設計されています。Java EEのオリジナルアプリケーションの1つです。しかし、その数年後にStruts2(またはStrutsVersion2)が登場し、Webアプリケーションのフレームワークとしては全く異なる、高度に改良されたフレームワークとなったのです。オリジナル版で不十分とされた問題点を解決しています。Struts2は、現在、世界中でjavaeeアプリケーションの開発に広く利用されています。
Strutsとは?
Struts(struts1)フレームワークは、javaeewebアプリケーションを開発するためのオリジナルのWebアプリケーションフレームワークの1つです。Strutsフレームワークは、MVC(モデル-ビュー-コントローラ)アーキテクチャを使用することを推奨しています。JavaServletAPIを拡張したもので、Craig McClanahanがStrutsの生みの親である。元々はjakarathastrutsとして知られており、Apache Software FoundationのJakartaプロジェクトでメンテナンスされていた。Strutsフレームワークは、リクエストベースのフレームワークとして知られており、リクエストハンドラ、レスポンスハンドラ、マークアップライブラリの3つの主要なコンポーネントから構成されています。標準的なURI(Uniform Resource Identifier)は、リクエストハンドラにマッピングされます。レスポンスハンドラはトランスポートの制御を担当する。Strutsは、RESTアプリケーションや、SOAP、AJAXなどの様々な技術をサポートしています。
Struts2とは?
当時、javaeeの開発者はStrutsフレームワークにある種の限界(主に表現層、リクエスト処理層、モデルの分離の欠如)を感じており、数年後にStruts2が登場しました。実際にはStruts2とは全く別物です。Struts2はWebWork2.2のフレームワークの名前を変えただけなので、実は同じコードベースでもありません(つまり、WebWorkとStrutsのコミュニティはしばらく別々に活動して、最後に力を合わせてStruts2を立ち上げたのです)。現在の安定版は、2011年5月にリリースされたバージョン2.2.3です。
Struts2との違いは何ですか?
Strutsフレームワークの多くの問題の1つは、インターフェースではなく、抽象クラスをプログラムする必要があることです。例えば、Strutsフレームワークでは、アクションクラスは抽象的な基底クラスから拡張する必要がありますが、Struts2のアクションはアクションインタフェースを実装することが可能です。2つのバージョン間のスレッドモデルの違いにより、Struts2フレームワークで発生するアクションオブジェクトに関するスレッドセーフの問題は発生しません。これは、Struts2のActionオブジェクトはリクエストごとにインスタンス化されるのに対し、StrutsフレームワークのActionは1つのインスタンスでそのActionに対するすべてのリクエストを処理するからです。Strutsフレームワークのアクションとは異なり、Struts2のアクションはServlet APIに依存しません。