Spring Web MVCフレームワークは、柔軟で疎結合なwebアプリケーションを開発するために使用できるモデルビューコントローラ(MVC)アーキテクチャと準備ができたコンポーネントを提供します。 MVCパターンにより、アプリケーションのさまざまな側面(入力ロジック、ビジネスロジック、UIロジック)が分離され、これらの要素間の疎結合が提供されます。,
-
このモデルはアプリケーションデータをカプセル化し、一般的にはPOJOで構成されます。
-
ビューはモデルデータをレンダリングする責任があり、一般的にはクライアントのブラウザが解釈できるHTML出力を生成します。
-
コントローラーは、ユーザー要求の処理と適切なモデルの構築を担当し、レンダリングのためにビューに渡します。
DispatcherServlet
Spring Web model-view-controller(MVC)フレームワークは、すべてのHTTP要求と応答を処理するDispatcherServletを中心に設計されています。, Spring Web MVC DispatcherServletの要求処理ワークフローは、次の図に示されています−
以下は、DispatcherServletへの着信HTTP要求に対応するイベントのシーケンスです−
-
HTTP要求を受信した後、DispatcherServletはHandlerMappingに問い合わせて適切なコントローラを呼び出します。
-
コントローラは要求を受け取り、使用されたGETまたはPOSTメソッドに基づいて適切なサービスメソッドを呼び出します。, Serviceメソッドは、定義されたビジネスロジックに基づいてモデルデータを設定し、DispatcherServletにビュー名を返します。
-
DispatcherServletはViewResolverからリクエストの定義されたビューを取得するのに役立ちます。
-
ビューがファイナライズされると、DispatcherServletはモデルデータをビューに渡し、最終的にブラウザにレンダリングされます。
上記のすべてのコンポーネント、すなわち, HandlerMapping、Controller、およびViewResolverは、webアプリケーションに必要ないくつかの追加機能を備えたplainApplicationContextの拡張であるWebApplicationContext wの一部です。
必要な構成
WebでURLマッピングを使用して、DispatcherServletで処理する要求をマッピングする必要があります。xmlファイル。 以下は、HelloWeb DispatcherServlet example−
Webの宣言とマッピングを示す例です。xmlファイルは、webアプリケーションのWebContent/WEB-INFディレクトリに保持されます。, HelloWeb DispatcherServletの初期化時に、フレームワークは-servletという名前のファイルからアプリケーションコンテキストのロードを試みます。アプリケーションのWebContent/WEB-Infディレクトリにあるxml。 この場合、ファイルはHelloWebservletになります。xmlです。
次に、<サーブレットマッピング>タグは、どのDispatcherServletによって処理されるUrlを示します。 ここでは、すべてのHTTP要求がで終わります。jspはHelloWeb DispatcherServletによって処理されます。
デフォルトのファイル名を-servletとして使用したくない場合。,xmlとデフォルトの場所WebContent/WEB-INFとして、webにサーブレットリスナー ContextLoaderListenerを追加することで、このファイル名と場所をカスタマイズできます。次のようなxmlファイル−
次に、HelloWeb-servletに必要な設定を確認しましょう。WebアプリケーションのWebContent/WEB-INFディレクトリに配置されたxmlファイル−
HelloWeb-servletに関する重要なポイントは次のとおりです。xmlファイル-
-
-サーブレット。xmlファイルは、定義されたbeanを作成するために使用され、グローバルスコープ内の同じ名前で定義されたbeanの定義をオーバーライドします。,
-
<コンテキスト:コンポーネントスキャン。..>タグは、@Controllerや@RequestMappingなどの注釈を使用できるSpring MVC注釈スキャン機能を有効にするために使用されます。
-
InternalResourceViewResolverには、ビュー名を解決するためのルールが定義されています。 こここんにちはこんにちは。上記の定義された規則に従って、helloという名前の論理ビューは/WEB-INF/jsp/helloにあるビューの実装に委譲されます。ジョンソン-
次のセクションでは、実際のコンポーネントを作成する方法を示します。,、コントローラ、モデル、およびビュー。
コントローラの定義
DispatcherServletは、コントローラに固有の機能を実行するために要求をコントローラに委譲します。 @Controllerannotationは、特定のクラスがコントローラの役割を果たすことを示します。 @RequestMappingアノテーションは、URLをクラス全体または特定のハンドラーメソッドにマップするために使用されます。
@Controllerアノテーションは、クラスをSpring MVCコントローラとして定義します。 ここでは、最初に利用@RequestMappingることを示して取り扱い方法にこのコントローラへの相対値で/こんにちはます。, 次のアノテーション@RequestMapping(method=RequestMethod.取得)を宣言するのに使用されるtheprintHello()メソッドとして、コントローラのデフォルトのサービス法への対応HTTP取得します。 同じURLで任意のPOST要求を処理する別のメソッドを定義できます。
上記のコントローラを別の形式で記述することができ、@RequestMappingに次のように属性を追加できます。
value属性はhandlerメソッドがマップされるURLを示し、method属性はHTTP GETリクエストを処理するサービスメソッドを定義します。, 上記で定義したコントローラについては、次の重要な点に注意してください。
-
必要なビジネスロジックをサービスメソッド内で定義します。 電話するのはもう一つの方法この方法として必要です。
-
定義されたビジネスロジックに基づいて、このメソッド内にモデルを作成します。 Setter異なるモデル属性を使用することができ、これらの属性はビューによってアクセスされ、最終結果が表示されます。 この例では、属性”message”を持つモデルを作成します。,
-
定義されたサービスメソッドは、モデルをレンダリングするために使用されるビューの名前を含む文字列を返すことができます。 この例を返します”こんにちは”としての論理ビューの名前です。
JSPビューの作成
Spring MVCは、さまざまなプレゼンテーションテクノロジ用の多くのタイプのビューをサポートしています。 これらには、Jsp、HTML、PDF、Excelワークシート、XML、Velocityテンプレート、XSLT、JSON、AtomおよびRSSフィード、JasperReportsなどが含まれます。 が最も一般的に使用していまJSPテンプレートの書きJSTL.こんにちはこんにちはこんにちは。
/WEB-INF/hello/helloに簡単なhelloビューを書いてみましょう。,jsp-
<html> <head> <title>Hello Spring MVC</title> </head> <body> <h2>${message}</h2> </body></html>
ここで、${message}はコントローラ内で設定した属性です。 ビュー内に表示する複数の属性を持つことができます。
Spring Web MVCフレームワークの例
上記の概念に基づいて、Spring Webアプリケーションの構築に役立ついくつかの重要な例を確認しましょう−
Sr.No—–,こんにちは、こんにちは。 | Example&Description | |
---|---|---|
1 | Spring MVC Hello World Example
この例では、単純なSpring Web Hello Worldアプリケーションを作成する方法について説明します。 |
この例では、簡単なSpring Web Hello Worldアプリケーションを作成する方法について説明します。この例では、簡単なSpring WEB Hello Worldアプリケー |
2 | Spring MVCフォーム処理例
この例では、HTMLフォームを使用してデータをコントローラに送信し、処理された結果を表示するSpring Webアプリケーションを作成する方法 |
|
3 | Springページリダイレクトの例
Spring MVCフレームワークでページリダイレクト機能を使用する方法について説明します。, |
|
4 | Spring Static Pages Example
Learn how to access static pages along with dynamic pages in Spring MVC Framework. |
|
5 | Spring Exception Handling Example
Learn how to handle exceptions in Spring MVC Framework. |