JavaEE アーキテクチャは、上からアプリケーション層、Web 層、ビジネス層、永続化層の 4 つの層で構成されます。 Struts と SpringMVC は Web 層のフレームワークであり、Spring はビジネス層のフレームワークであり、Hibernate と MyBatis は永続化層のフレームワークです。
SpringMVC を使用する理由
多くのアプリケーションの問題は、ビジネス データを処理するオブジェクトとビジネス データを表示するビューとの間に緊密な結合があることです。通常、ビジネス オブジェクトを更新するコマンドはビュー自体から開始されます。ビジネス オブジェクトの変更は非常に機密です。さらに、複数のビューが同じビジネス オブジェクトに依存する場合、柔軟性がありません。
SpringMVC は、Web MVC 設計パターンを実装し、リクエスト駆動型である Java ベースの軽量 Web フレームワークであり、MVC アーキテクチャ パターンのアイデアを使用して、Web 層の責任を分離します。リクエスト駆動とは、リクエスト/レスポンス モデルを使用することを意味します。フレームワークの目的は、開発を簡素化することです。SpringMVC は、日常の Web 開発を簡素化することも目的としています。
MVC デザイン パターン
MVC デザイン パターンのタスクは、ビジネス データを含むモジュールを、表示されるビューから分離することです。モジュール。どうしてそうなった?モデルとビューの間にリダイレクト層を導入すると、問題を解決できます。このリダイレクト層は、リクエストを受信し、モデルを更新するアクションを実行して、モデルの変更についてビューに通知するコントローラーです。
具体的な処理:
(1) まず、ユーザーはリクエストを送信します—>DispatcherServlet.フロントエンド コントローラーはリクエストを受信した後、処理しますが、他のパーサーに委任して、グローバル プロセス制御のための統合アクセス ポイントとして処理を実行します。
(2) DispatcherServlet——>HandlerMapping、プロセッサ マッパーは、リクエストを HandlerExecutionChain オブジェクト ( Handler Processor オブジェクト、複数の HandlerInterceptor インターセプター) オブジェクト;
(3) DispatcherServlet——>HandlerAdapter、プロセッサ アダプタは、複数の種類のプロセッサをサポートするアダプタとしてプロセッサをパッケージ化します。つまり、アダプタのアプリケーションです。設計パターンにより、多くのタイプのプロセッサをサポートしやすくなります;
(4) HandlerAdapter---> プロセッサの対応する関数処理メソッドを呼び出し、ModelAndView オブジェクト (モデル データ、論理ビュー名を含む) を返します。
(5) ModelAndView オブジェクト (Model 部分はビジネス オブジェクトによって返されるモデル データ、View 部分は論理ビュー名です) -> ViewResolver、ビュー リゾルバーは論理ビュー名を特定のビューに解析します。 View;
(6) View -> Rendering, View は受信した Model モデル データに従ってレンダリングします。ここでの Model は実際には Map データ構造です;
(7) DispatcherServlet に制御を返しますと、DispatcherServlet がユーザーに応答を返すと、プロセスは終了です。
以上がspringmvcとはどのようなフレームワークですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。