SpringMVCは(ターン)の作品

SpringMVC動作原理:

        

SpringMVCプロセス

  図1に示すように、ユーザは、フロントエンドコントローラのDispatcherServletに要求を送信します。

  2、のDispatcherServlet HandlerMapping呼プロセッサは、要求マッパを受信します。

  (が生成される場合)3は、プロセッサマッパーは、特定のプロセッサを見つける(構成XMLに応じて、検索するためのノート)、オブジェクトはプロセッサおよびプロセッサインターセプタを生成さ一緒のDispatcherServletに戻ります。

  4、DispatcherServletのコールHandlerAdapterプロセッサアダプタ。

  図5に示すように、特定の適応コールプロセッサを介しHandlerAdapter(また、バックエンドとして知られるコントローラ)。

  6、コントローラは、完全なリターンのModelAndViewを実行します。

  7、のModelAndViewバックのDispatcherServletに結果HandlerAdapterコントローラ。

  8、のDispatcherServletのModelAndViewはViewResloverビューリゾルバを通過します。

  図9は、ViewReslover戻っは、特定のビューを解析されました。

  10、DispatcherServletのは、ビュー(モデルデータが満たされたビューを予定)ビューをレンダリングします。

  11、のDispatcherServletユーザ応答。

コンポーネントの説明:

  次のコンポーネントは、典型的には、提供されるフレームワークを使用して実装されています。

  DispatcherServlet:フロントエンドコントローラ、プロセス全体の制御センターは、コントロールの他の構成要素は、構成要素間の結合を低減する、統一、各コンポーネントのスケーラビリティを向上させます。

  HandlerMapping:インタフェースモードを達成するためのプロファイル、注釈の方法:例えばマッピング拡張処理することによって、異なるマッピングを達成するための方法、。 

  HandlAdapter:プロセッサのより多くの種類をサポートするために、プロセッサアダプタを拡張することもできます。

  ViewResolver:パーサーによって拡張ビューは、例えば、ビューの解像度より多くの種類をサポート:JSP、FreeMarkerの、PDFのような優れ。

  成分:
  1、フレームによって提供されるのDispatcherServletフロントエンドコントローラ(開発する技術者を必要としない)、
  効果:リピータに対応する、要求、応答結果を受信し、中央処理装置。DispatcherServletの他の成分との間の結合を減少させます。
  ユーザ要求は、コントローラの前端に到達するには、MVCモードCと等価であり、全体のプロセスのDispatcherServletの中心がユーザの要求を呼び出す処理の他のコンポーネントによって制御され、プレゼンスのDispatcherServletは、コンポーネント間の結合を減少させます。

  図2に示すように、フレームによって提供されるプロセッサHandlerMappingマッパー(開発する技術者を必要としない)、
  効果:ハンドラルックアップリクエストURL
  、ユーザ要求に応じてプロセッサを発見する責任HandlerMapping即ちハンドラは、例えば、異なるマッピングを達成するためSpringMVCマッパーさまざまな方法を提供します:プロファイルは、インターフェイスモード、注釈方法を実現しています。

  3、HandlerAdapterアダプタプロセッサ
  効果:ハンドラを実行するための特定のルール(ルールHandlerAdapterが必要)に従って
  アダプタモードのアプリケーションであるプロセッサHandlerAdapter、による実行のため、プロセッサは、アダプタによって実行拡張の複数のタイプであってもよいです。

  図4に示すように、プロセッサハンドラ(必要なエンジニアが開発する)
  注:アダプターが正しい実行ハンドラに行くことができるように、準備ハンドラの要件HandlerAdapterに応じを行う
  ハンドラのDispatcherServletハンドラの制御の下に、フロントコントローラのDispatcherServlet第2のバックエンドです特定のユーザーの要求が処理されます。
  ハンドラは、特定のユーザーのサービス要求に関連しているので、それは一般的にビジネスニーズに応じてハンドラを開発するエンジニアを必要とします。

  5フレームによって提供されるビューリゾルバ(開発する技術者を必要としない)、viewresolver
  効果:論理ビュー名に応じて、ビューを解析すると、実際のビューに解決(ビュー)
  表示結果を生成するようにリゾルバビューを処理する責任があり、最初のロジックに従ってリゾルバを見ます特定の名前の物理的なビューにビュー名は、ページのアドレスである、ビューオブジェクトがビューを生成し、ビュー最後に表示ページを介してユーザに処理結果をレンダリングします。springmvcビューフレームワークがあって、ビューの多くの種類を提供しています。jstlView、freemarkerView、pdfViewが好きです。
  あなたはエンジニアがビジネスニーズに基づいて特定のページを開発する必要があり、ユーザーにページテンプレート技術によってページやタグページで、一般的に示したデータをモデル化する必要があります。

  6、表示するには、View(開発に必要な技術... JSP)
  ビュー(... JSP、FreeMarkerの、PDF)インターフェース、ビューの実装クラスのサポート、異なるタイプであります

  次のようにコアアーキテクチャ具体的な処理手順は:
  1を最初のユーザーが要求を送信し、 - >はDispatcherServletの後、フロントコントローラは、グローバルに、統一されたアクセスポイントとして、それらが処理されていない要求が、他のパーサに手数料処理を受けプロセス制御;
  2、のDispatcherServlet - > HandlerMapping、要求がHandlerMapping HandlerExecutionChainオブジェクト(プロセッサを含むハンドラ(ページコントローラ)オブジェクト、インターセプタのHandlerInterceptor複数の)オブジェクト、そのような戦略モードにマッピングされ、追加することが容易です新しいマッピング戦略;
  3、のDispatcherServlet - > HandlerAdapterは、HandlerAdapterは、アダプタのプロセッサのパッケージは、プロセッサの複数の種類、デザインパターンアダプタの、すなわちアプリケーション、それが簡単にプロセッサの多くの種類をサポートすることをサポートするでしょう。
  4 - 、HandlerAdapter、HandlerAdapterと呼ばれるプロセッサの>関数呼び出し処理方法は、プロセッサの処理方法、処理完了の実際の機能の結果に応じて適応される;のModelAndViewオブジェクトと(モデルデータを含む、ロジックを返します ビュー名)
  。5、論理ビューのModelAndView名- > ViewResolver、ViewResolver名はこの戦略モードでは、特定の論理ビュー表示に解決されます、他のビュー技術を交換することは簡単です。
  。6、表示- >、レンダービューモデルをレンダリングするためにモデルデータに基づいて渡されます、こちらのモデルマップは実際に、他のビューテクノロジをサポートするために、簡単なデータ構造である;
  、7ユーザーによって返さのDispatcherServlet、DispatcherServletの応答に制御を返し、このフローは終了。

  私たちは、通常の状況下では、次の2つのコンポーネントを開発する必要があります。

  ハンドラ:バックエンド・コントローラによって表されるプロセッサ。

  ビュー:ビュー、すなわち、言語モデルデータを示す通常ラベルビュー、ユーザーインターフェイスに表示。

 

  前SpringMVCでのは、MVCパターンが何であるかを見てみましょう

  MVC:MVCはデザインパターンであります

  MVCの回路図:

         

  分析:

  モデルM-モデル(完全なビジネス・ロジック:YESのJavaBean設定、サービス+ DAO +エンティティ)

  V-ビュービュー(DOインタフェース表示JSP、HTML ......)

  C-コントローラコントローラ(受信要求 - >コールモデル - >結果ページに従って分布)

  springMVCは何ですか。 

  springMVCは、オープンソースのMVCフレームワーク、springMVC = Struts2の+春、springMVCプラスStruts2の統合sringの同等ですが、springMVCと春はそれをどうするかである、という疑問はありますか?これは、Baiduの百科事典に良い説明があります。平均値は、springMVCスプリングが、実際には、元に基づく春フォローアップの製品ですが、また、MVCのWebアプリケーションモジュールを提供するだけspringMVCバネとして理解することができます(AOPに似て、このモジュールIOC)1つのモジュールが、ネットワークは、多くの場合、springMVCシームレスに統合し、春には、春にはサブモジュールの事実springMVCであると言うので、春と統合する必要はありません。

  SpringMVCの回路図:

        

 

  あなたは疑問がたくさんあるかもしれマップを参照してください、そして今、私たちは、このマップを見て:(ステップは、比較MVCの模式的に理解することができます)

  最初のステップ:ユーザーは、フロントエンドコントローラ(のDispatcherServlet)に要求を開始

  ステップ2:フロントエンドコントローラプロセッサ要求マッパ(HandlerMappering)プロセッサ(ハンドル)を見つけるために:参照して、XMLコンフィギュレーションまたは注釈

  第三段階:フロントコントローラとしてプロセッサマッパ(HandlerMappering)を見つけた後は、戻り実行鎖(HandlerExecutionChain)

  第四步:前端控制器(DispatcherServlet)调用处理器适配器(HandlerAdapter)去执行处理器(Handler)

  第五步:处理器适配器去执行Handler

  第六步:Handler执行完给处理器适配器返回ModelAndView

  第七步:处理器适配器向前端控制器返回ModelAndView

  第八步:前端控制器请求视图解析器(ViewResolver)去进行视图解析

  第九步:视图解析器像前端控制器返回View

  第十步:前端控制器对视图进行渲染

  第十一步:前端控制器向用户响应结果

  看到这些步骤我相信大家很感觉非常的乱,这是正常的,但是这里主要是要大家理解springMVC中的几个组件:

  前端控制器(DispatcherServlet):接收请求,响应结果,相当于电脑的CPU。

  处理器映射器(HandlerMapping):根据URL去查找处理器。

  处理器(Handler):(需要程序员去写代码处理逻辑的)。

  处理器适配器(HandlerAdapter):会把处理器包装成适配器,这样就可以支持多种类型的处理器,类比笔记本的适配器(适配器模式的应用)。

  视图解析器(ViewResovler):进行视图解析,多返回的字符串,进行处理,可以解析成对应的页面。

おすすめ

転載: www.cnblogs.com/jing99/p/11462980.html