以前のものとは似て非なるもの
Apache Struts(以下、Struts)という名前を知らないJava EE/Web開発者は、もはやいないのではないでしょうか。紹介するまでもありませんが、Strutsは、Javaで記述されたオープンソースのWebアプリケーションフレームワークです。
今回紹介するStruts 2は皆さんがご存知のStruts(以下、Struts 1と表記します)とは似て非なるものです。Struts 2は、Struts 1のメジャー・バージョンアップ・プロダクトとして開発されましたが、そのベースは、WebWork2と呼ばれていたStruts 1とはまったく別のWebアプリケーションフレームワークです。すなわち、Struts 1とは異なるアーキテクチャとAPI、機能を提供する別のWebアプリケーションフレームワークと言えます。よって、Struts 1アプリケーションを、ライブラリの置き換えと簡単な修正のみでStruts 2アプリケーションに単純にバージョンアップする事はできないと考えてください。
とはいえ、基本的なアーキテクチャはStruts 1に似た設計となっています。また、DIやPOJOといった近年のトレンドも採用され、Struts 1が抱える設計思想の古さも払拭されており、非常に魅力的なWebアプリケーションフレームワークとなっています。
本稿では、Struts 2を用いたWebアプリケーションの作成方法を通して、この新しいWebアプリケーションフレームワークを紹介していきたいと思います。
Struts 2とは
前述したようにStruts 2はStruts 1の後継として開発が行われ、執筆現在バージョン2.0.9がリリースされています。注意して頂きたいのは、Struts 2はStruts 1の後継であるため、バージョン2.0.0からバージョン番号が開始されている点です。よって、正式名称はStruts 2.X.X(Xは任意の数値)となります。
Struts 1もStruts 2もApache Strutsプロジェクトにて開発が行われています。したがって、1つのプロジェクトで2つのフレームワークを開発している事になります。
Struts 2の特徴はアプリケーションの開発、デプロイからメンテナンスに至る、全ての工程を合理的に実施できるように設計されてる点です。Struts 2のサイトでは様々な特徴が述べられていますが、本稿ではサンプルアプリケーションの構築過程を通して皆さんにそれらを体感して頂きたいと思います。