Apache Struts
| 開発元 | Apacheソフトウェア財団 |
|---|---|
| 初版 | 2001年 |
| 最新版 | 2.3.14.3 / 2013年6月3日 |
| プラットフォーム | クロスプラットフォーム |
| 種別 | Webアプリケーションフレームワーク |
| ライセンス | Apache License 2.0 |
| 公式サイト | http://struts.apache.org |
Apache Struts(アパッチ・ストラッツ)は、Apacheソフトウェア財団のApache Strutsプロジェクトにて開発されているオープンソースのJava Webアプリケーションフレームワークである。
目次 |
概要[編集]
元々はクレイグ・マクラナハンの作成したソフトウェアであり、2000年5月にApacheソフトウェア財団に寄付された。当初はJakarta Projectに位置しており、Jakarta Struts(ジャカルタ・ストラッツ)と呼ばれていた。2005年にApacheのトップレベルプロジェクトに昇格した。
Apache Tomcatなどのサーブレットコンテナ上で動かすことができる。サーブレットとJSPによる開発環境下に登場したStruts1は広く受け入れられ、2005年頃にはJava Webフレームワークのデファクトスタンダードと呼ばれるほどの普及を見せていた[1][2]。しかしソフトウェア技術の進歩とともに欠点も多く指摘されるようになり、2007年にリリースされたStruts2ではそれまでの仕組みを捨て、WebWork2として開発されていた別のフレームワークをベースとしたものへと置き換えられている[3]。
フレームワークにはModel View Controllerアーキテクチャが適用されている。類似したフレークワークとしてJSF (Java Server Faces) や Spring MVCフレームワークがある。
特徴 (Struts1)[編集]
整備されたJSPカスタムタグによってJavaコードはJSPファイルとは分離され、 従来のJSPのように HTMLタグの中に<%と%>で囲まれたスクリプトレットであるJavaソースコードを混在させる必要なく読みやすく洗練されたコーディングをできるようになる。最新版は、1.3.10(2008/10/4リリース)
主なStrutsのタグライブラリ
- HTML
- HTMLのフォーム部分で利用する
- Logic
- 条件分岐や繰り返しなどの制御ロジックを提供
- Beans
- Modelで定義されたJavaBeansにアクセスする機能を提供
- Nested
- 属性名の記述を省略可能にする
- Tiles
- 複数のJSPで利用する記述を共通化するテンプレート機能を提供
またStrutsではActionServletが用意されており、画面の遷移をコントロールする設定ファイル(struts-config.xml)を変更するだけで容易に遷移先を変えることができる機能を提供している。 アクションサーブレットでは画面で入力された内容を検査する Validator の機能が用意されており、設定ファイル(validator-rules.xml)を変更するだけで入力チェックの仕様を変更することが可能である。入力チェックするデータは一旦アクションフォームと呼ばれるBeansに格納される。
特徴 (Struts2)[編集]
Struts2では、Struts1と比べて下記のような改善がなされている[3]。
派生版[編集]
- Super Agile Struts (SAStruts)
- Seasarプロジェクトが公開している、Struts1と独自のDIコンテナであるSeasar2をベースに、より素早い開発を行うことを目指したフレームワーク。
- TERASOLUNA Server Framwork for Java
- NTTデータが公開している、Struts1とSpring, iBATISをベースに、独自の拡張を行ったサーバサイドフレームワーク。
競合するMVCフレームワーク[編集]
Strutsは、よくドキュメント化され、成熟し、普及したフロントエンドのフレームワークであるが、「軽量」フレームワークとして分類されるSpring MVC、Stripes、Wicket、Play Framework、Apache Tapestryといったものがある。
StrutsからスピンオフしたWebWorkフレームワークは、Strutsオリジナルと同じアーキテクチャでの保持したうえでの強化と洗練を目的としていたが、StrutsとWebWorkは再びマージされ、Struts2としてリリースされた。
その他のJavaベースのMVCフレームワークとして、WebObjectsやGrailsもある。
脚注[編集]
- ^ “普及進む無償のフレームワーク「Struts」”. ITPro (2002年12月16日). 2011年11月26日閲覧。
- ^ “手を握るStrutsとSpring、今後の行方は”. マイナビニュース (2005年10月17日). 2011年11月26日閲覧。
- ^ a b “Struts2入門”. CodeZine (2008年3月21日). 2011年11月26日閲覧。
関連項目[編集]
外部リンク[編集]
|
||||||||||||||||||||||||||