SpringMvc研究ノート1-SpringMVCとは(原則)

クレイジーゴッドノートから引用された記事

SpringMVCとは

SpringMVCはSpringFrameworkの一部であり、Javaに基づくMVCを実装する軽量のWebフレームワークです。
公式文書を見る

なぜSpringMVCを学ぶ必要があるのですか?

Spring MVCの機能:

  • 軽量で習得が容易

  • 効率的な要求応答ベースのMVCフレームワーク

  • Springとの良好な互換性、シームレスな統合

  • コンベンションは構成よりも優れています

  • 強力な機能:RESTful、データ検証、フォーマット、ローカリゼーション、テーマなど。

  • シンプルで柔軟な
    SpringのWebフレームワークは、DispatcherServlet [ディスパッチサーブレット]を中心に設計されています。

DispatcherServletの役割は、リクエストをさまざまなプロセッサに分散することです。Spring 2.5以降、Java 5以降を使用するユーザーは、注釈の形式で開発できるようになりました。これは非常に簡潔です。

これは、SpringMVCが優れていて、シンプルで、便利で、習得が容易で、Springとシームレスに統合されているため(SpringIoCとAopを使用)、設定よりも規則を使用する方が優れています。単純なjunitテストを実行できます。Restfulスタイルをサポートします。例外処理、ローカリゼーション、国際化、データ検証、型変換、インターセプターなど...だから私たちは学ぶ必要があります

中央制御装置

Spring MVCフレームワークは、他の多くのMVCフレームワークと同様に、リクエスト駆動型であり、リクエストをディスパッチし、中央サーブレットの周りに他の関数を提供します。DispatcherServletは実際のサーブレットです(HttpServlet基本クラスから継承します)。
ここに画像の説明を挿入
SpringMVCの原理を次の図に示します。

当发起请求时被前置的控制器拦截到请求,根据请求参数生成代理请求,
找到请求对应的实际控制器,控制器处理请求,创建数据模型,访问数据库,
将模型响应给中心控制器,控制器使用模型与视图渲染视图结果
,将结果返回给中心控制器,再将结果返回给请求者。

ここに画像の説明を挿入

SpringMVC実行原理

ここに画像の説明を挿入

用户发起请求,请求会经过一个前端控制 DispatcherServlet,DispatcherServlet根据请求到找到处理映射
器 HandleMapper,HandleMapper根据url会找到具体的HandleExecution,HandleExecution会从url中查找出
适配器,并将其返回给DispatcherSevlet,DispatcherSerlet将设配器交给HandlerAdapter适配对应的
Controller,在Controller中调用业务层,在ModleAndView中添加数据,并将其返回给
HandlerAdapter,HandlerAdapter就将其返回给DispatcherServlet,DispatcherServlet将ModelAndView交给
视图解析器ViewResolver处理,将数据渲染到前端页面上,视图解析器ViewResolver 再将解析的视图返回给DispatcherSerlet,将其绘制在前端。

写真はSpringMVCの比較的完全なフローチャートを示しています。実線はSpringMVCフレームワークによって提供されるテクノロジーを表しており、開発者が実装する必要はありません。点線は開発者が実装する必要があることを表しています。

実行プロセスを簡単に分析する

DispatcherServletはフロントコントローラーを表し、SpringMVC全体のコントロールセンターです。ユーザーがリクエストを送信すると、DispatcherServletがリクエストを受信し、リクエストをインターセプトします。

要求されたURLは次のとおりであると想定しています:http:// localhost:8080 / SpringMVC / hello

上記のURLは3つの部分に分かれています。

http:// localhost:8080サーバードメイン名

SpringMVCはサーバー上のWebサイトに展開されます

テストはコントローラーを意味します

分析により、上記のURLは次のように表されます。サーバーlocalhost:8080上のSpringMVCサイトのhelloコントローラーを要求します。

HandlerMappingは、プロセッサマッピングです。DispatcherServletはHandlerMappingを呼び出し、HandlerMappingはリクエストURLに従ってハンドラーを見つけます。

HandlerExecutionは特定のハンドラーを表します。その主な機能は、URLに従ってコントローラーを見つけることです。上記のURLでコントローラーが検索されます:hello。

HandlerExecutionは、コントローラーマッピングの解析など、解析された情報をDispatcherServletに渡します。

HandlerAdapterは、特定のルールに従ってハンドラーを実行するプロセッサーアダプターを表します。

ハンドラーは、特定のコントローラーを実行させます。

Controllerは、ModelAndViewなどの特定の実行情報をHandlerAdapterに返します。

HandlerAdapterは、ビューの論理名またはモデルをDispatcherServletに渡します。

DispatcherServletは、ビューリゾルバー(ViewResolver)を呼び出して、HandlerAdapterによって渡された論理ビュー名を解決します。

ビューリゾルバーは、解決された論理ビュー名をDispatcherServletに渡します。

DispatcherServletは、ビューパーサーによって解析されたビューの結果に従って特定のビューを呼び出します。

最終的なビューがユーザーに表示されます。

おすすめ

転載: blog.csdn.net/qq_44788518/article/details/112411587