はじめに
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, ログメッセージ, パラメータ操作など、アクションの前処理や後処理を実行する。 |