次へ→WEBアプリケーション開発フレームワークアプリケーションの開発は、フレームワークを利用することで効率化することができます。フレームワークとはアプリケーションの土台となるソフトウェアです。フレームワークはアプリケーションの枠組みを定義し、その枠組みにあわせたクラス・インタフェース群を提供します。アプリケーションの開発者はフレームワークが提供するクラス・インタフェースを実装することでアプリケーションを実現します。開発者が記述すべきコード量を減らすことができるなどのメリットがあります。開発したいアプリケーションの構造に応じてフレームワークを選択することが重要です。今回は、有名なWEBアプリケーション開発フレームワークの1つであるStruts2について説明します。2は以下のような構造のフレームワークです。2は全く違う構造です。1には適用できませんのでご注意ください。)Struts2はMVCという考え方に基づいて設計されています。MVCとは、以下のようにアプリケーションをModel,View,Controllerの3種類に分割して考えるモデルです。アプリケーションのうちデータを保持・管理する部分を指し、Controllerからの呼び出しに応じて内部状態を変化する機能を実装する。アプリケーションの外観を作成する部分を指し、Modelの内容に応じて外観を作成する機能を実装する。アプリケーションのうち、ユーザからの制御を処理する部分を指し、ユーザからの入力をModelに対して通知する機能を実装する。したがって、アプリケーション開発者はModel、Viewのみを実装すればアプリケーションを実現することができます。setter/getterメソッドを持つクラスとして実装する。2では、Modelの規約に則ったクラスをActionクラスと呼ぶ。ビューに表示すべきデータはActionクラスからgetterを通じてViewに提供される。JSP/Velocity用テンプレートなどの形式で実装する。JSPの場合、Struts2が提供するカスタムタグライブラリを通じてActionクラスから値を取得する。2の規約に従った設定ファイルによって関連付けることでアプリケーションを実現することができます。2での開発作業を確認していきましょう。この中で、実際に書くべきコードの量が減ったり、アプリケーションの柔軟性が向上することを実感してください。サンプルは以下のような構造とします。コンテキストパスとは、アプリケーションサーバがWEBアプリケーションを識別するためのパスです。URLでは、以下のようになります。http://(サーバ名:ポート番号)/(コンテキストパス)/ActionクラスおよびJSPファイルは以下のものを用意するものとします。示した仕様に従います。ログイン画面を表示します。成功した場合はsuccessに転送し、エラーが発生した場合はerrorに転送します。ログイン処理を実行します。成功した場合はsuccessに転送し、エラーが発生した場合はerrorに転送します。一覧画面を表示します。成功した場合はsuccessに転送し、エラーが発生した場合はerrorに転送します。作業項目追加画面を表示します。成功した場合はsuccessに転送し、エラーが発生した場合はerrorに転送します。作業項目追加処理を実行します。成功した場合はsuccessに転送し、エラーが発生した場合はerrorに転送します。作業項目編集画面を表示します。成功した場合はsuccessに転送し、エラーが発生した場合はerrorに転送します。作業項目編集処理を実行します。成功した場合はsuccessに転送し、エラーが発生した場合はerrorに転送します。作業項目削除画面を表示します。成功した場合はsuccessに転送し、エラーが発生した場合はerrorに転送します。作業項目削除処理を実行します。成功した場合はsuccessに転送し、エラーが発生した場合はerrorに転送します。完了/未完了切替処理を実行します。成功した場合はsuccessに転送し、エラーが発生した場合はerrorに転送します。検索結果画面を表示します。成功した場合はsuccessに転送し、エラーが発生した場合はerrorに転送します。/WEB-INF/jsp/error.jspログイン-一覧画面のStruts2による実装まず、ログイン-一覧画面の一連の流れを実装してみましょう。2上で実装してみましょう。