はじめに
Struts2が、どこでどう使用されているのかわからなかったので、Udemyのコースでわかりやすく説明されていた概要をまとめて記事にしました。なので、実際のコーディングなどの説明ではなく、MVCモデルと照らし合わせてStruts2がMVCのどこでどんな役割をしているのかを軽く触れた内容です。
MVCモデルとは
プログラムの処理を「Model・View・Controller」の3つの役割に分けてコーディングを行うソフトウェア設計モデル

MVCの各役割
| 名前 | 説明 |
|---|---|
| Medel |
データベースとやり取りする ビジネスロジックを実行する |
| View |
ユーザーが画面で目にするもの UIを生成する |
| Controller* |
ユーザーからのインプットを受け取る ModelとViewとやり取りする |
*Controllerに関する補足
ユーザーからのインプットはrequest parameterなどを受け取る
ModelとViewをやり取りするとは、データを画面に表示するために、Modelが扱ったデータを、Viewへ受け渡すなど。
MVCモデルとStruts2の対応
| MVCモデル | Struts2 |
|---|---|
| Medel | Service |
| View | JSP |
| Controller | Action |
Struts2とは
ディベロッパーがやること
1. Action classの作成
2. JSP Pageの作成
3. struts.xmlでアクションをマッピング
struts.xmlファイルは、Struts2の設定ファイル。
詳しいStruts2の導入方法は以下の記事が参考になります
Struts2入門(2023年最新版)
リクエストの処理フロー
補足
| 名前 | 説明 |
|---|---|
| Filter Dispacher | Servlet filter Struts2では、StrutsPrepareAndExcuteFilterという |
| Action class | actionが呼ばれた時、デフォルトで、excuteメソッドが実行される。 excuteメソッドは、Action classのメインメソッド |
| Interceptor | アクションの前後で実行される validation, ログメッセージ, パラメータ操作など、アクションの前処理や後処理を実行する。 |

