オープンソース紹介


MCVフレームワーク Struts

JavaでのWebアプリケーション開発といえば、Apache Software Foundation のStruts が非常に有名です。
数多くの案件で、これまで利用され続けているMCV(Model-Controller-View)を元にしたフレームワークです。
JSF(Java Server Faces)などの新しいフレームワークが生まれ、新規案件での採用は少なくなっていると思われますが、 これまでの実績は非常に多く、安定したフレームワークといえます。
弊社も最初の頃のWebアプリケーションは、このStrutsを利用して開発をしています。

MVCモデル

 

Model ActionFormと呼ばれるリクエストデータを格納するクラスと、ビジネスロジックを記述するActionクラスを実装します。
Controller ユーザーからのリクエストを受け取り、URLに関連付けられたリクエストデータをActionFormに格納し、対応するActionクラスのexecuteメソッドを実行します。executeメソッドの戻り値によって、画面の遷移先を決定します。Strutsの場合は、コントローラーがサーブレットとしてあらかじめ用意されており、サーブレットへの指示は、struts-config.xmlファイルに記述します。
View ブラウザに表示するHTMLの元となるJSPファイルとStrutsカスタムタグライブラリを利用して実装します。

 

Struts構造イメージ

Struts構造イメージ

※JSP、ActionForm、Action、struts-config等の設定ファイルが開発対象となります。

Strutsもいくつかの派生したバージョンが存在しています。

Struts 1.x

もっとも広く使われているStruts

OzStruts

Actionクラスを1つで管理し、ビジネスロジック部分のActionFormとActionを1つのPageクラスとして結合。
executeメソッドだけでなく、複数のメソッド(リスナ)を呼び出すことができる。
JSPとPageを1対1で対応させて管理面でも大きなメリットがある。
Strutsを大幅に改善し非常にわかりやすいフレームワークになっているが、利用している実例は少ないと思われます。

Struts.2.x

Strutsのメジャーバージョンアップ版。弊社での実績はまだありません。

S2Strus/SAStrus

Seasarファンデーション提供の最新鋭のStrutsフレームワーク

 

<<back