第1章 Struts2の仕組みと構造
Struts2の仕組みと構造
homepage
# **Struts2の仕組みと構造** *** ## **1.Struts2アプリケーションの構造** <!--graph1-1.png--> <a href="https://i.loli.net/2019/06/24/5d109b0a3411012147.jpg" target="_blank"><img src="https://i.loli.net/2019/06/24/5d109b0a3411012147.jpg" width="40%"></a> <br> **・Controller** コントローラ部がStruts 2のコア部分であり、FilterDispatchがすべての制御を担っています。 interceptors(インターセプタ)とは実際の処理を実装したコンポーネントで、HTTPリクエストの処理や、結果の後処理、例外処理など、Struts 2で複数提供されています。 <br> **・Model** モデル部は、前述のActionクラスとなっていて、アプリケーションで用意するクラスです。 リクエストURIに対応する形になり、Struts 2側でリクエストごとにオブジェクトの生成が行われます。 <br> **・View** ビューでは、URIリクエストの結果ページを表示します。 デフォルトでは、HTMLテンプレートとしてJSPが利用されます。 Struts 2が提供するカスタムタグを用いて、Actionクラスのデータにアクセスすることになります。 <br><br> ## **2.Struts2の入手** <!--graph1-2.png--> <a href="https://i.loli.net/2019/06/24/5d109a7a8db9067591.png" target="_blank"><img src="https://i.loli.net/2019/06/24/5d109a7a8db9067591.png" width="40%"></a> <br> <a href="https://struts.apache.org/download.cgi" target="_blank"> https://struts.apache.org/download.cgi </a> <br> **Struts2のダウンロードページから入手できます。**<br> ダウンロードページには、いろいろなパッケージが並んでいます。今はFull Distribution(struts-2.3.37-all.zip)を選び、適当なところに解凍しておきましょう。 <br><br> ## **3.Struts2アプリケーションの作成** **(1)** Eclipseのメニューから、[ファイル]-[新規]-[プロジェクト]を選択し、新規動的Webプロジェクトを選びます。プロジェクト名を、「HelloProject」としました。Tomcatの設定は、下の図のようになります。 <!--graph1-3.png--> <a href="https://i.loli.net/2019/06/24/5d10977fdb1de60521.png" target="_blank"> <img src="https://i.loli.net/2019/06/24/5d10977fdb1de60521.png" width=40%></a> **(2)** 赤枠表示の内容はチェックしています。 <!--graph1-4.png--> <a href="https://i.loli.net/2019/06/24/5d109849abab369762.png" target="_blank"> <img src="https://i.loli.net/2019/06/24/5d109849abab369762.png" width=40%><br></a> <!--graph1-5.png--> <a href="https://i.loli.net/2019/06/24/5d1098abaf68717670.png" target="_blank"> <img src="https://i.loli.net/2019/06/24/5d1098abaf68717670.png" width=40%></a> **(3)** web.xmlデプロイメント記述子の生成にチェック入れ、完了します <!--graph1-6.png--> <a href="https://i.loli.net/2019/06/24/5d109957e35b111420.png" target="_blank"> <img src="https://i.loli.net/2019/06/24/5d109957e35b111420.png" width=40%></a> <br><br> ## **4.Struts2本体のコピー** struts-2.3.37-all.zipを解凍してできたlibディレクトリ以下のファイルが、Struts 2本体とプラグインファイルです。 これらのJARファイルをドラッグ&ドロップして、WEB-INF/libにコピーしておきます。 <!--graph1-7.png--> <a href="https://i.loli.net/2019/06/20/5d0aef341b92b49655.jpg" target="_blank"> <img src="https://i.loli.net/2019/06/20/5d0aef341b92b49655.jpg" width=40%></a> <br> StrutsPrepareAndExecuteFilterフィルタは、Struts2を使用するためのフィルタです。必ずweb.xmlに設定します。<br> 下のコードをコピーして、web.xmlに貼りつけます。 ``` <!-- struts2の設定 --> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> ``` <br> #### **web.xmlの結果** <!--graph1-8.png--> <a href="https://i.loli.net/2019/06/25/5d1164b51733379018.jpg" target="_blank"> <img src="https://i.loli.net/2019/06/25/5d1164b51733379018.jpg" width=40%></a>
content
戻る