この記事の内容は Spring MVC プロジェクト開始後の実行手順です (回路図付き)。必要な方は参考にしていただければ幸いです。
Spring MVC プロジェクト開始後の実行プロセス:
1. 実行プロセス:
01. Web プロジェクトが開始されたら、以下を含む web.xml ファイルを読み込みます。コア構成ファイル
mvc のコア コントローラーは web.xml ファイルで設定されているため、このコントローラーは初期化されます。たとえば、ユーザーのリクエスト パスは localhost:8080/ です。 hello
このとき、/hello はリクエスト パスとみなされます ====》コア設定ファイルの Bean の ID
03./hello は、コア コントローラーにアクセスし、プロセッサ マッパー (HandlerMapping)
04 に移動します。最下層は最初に適切な HandlerMapping を見つけて、プロセッサ実行チェーン (HandlerExecutionChain)
05 を返します。実行されようとしているコントローラーと (1-N Interceptor)
06. プロセッサー実行チェーンのハンドラーに従って HandlerAdapter を検索します。
07.HandlerAdapter は、指定されたメソッドを実行します。コントローラーのタイプ
08.メソッドの実行後、ModleAndView
Modle ==》Map
View ==》String
09を返す必要があります。ビュー パーサーが設定されている場合、ビューは実際にはロジック ビュー名です。
#ビュー パーサーが設定されていない場合、ビューには値がありません。物理ビュー名である必要があります回路図:2 基礎となるコードを表示します
01. web.xml ファイルのコア コントローラーをクリックします。#02. Ctrl o 対応するメソッド doDispatch
03 コードの分析を開始します。 #04. 次のコードを見つけます
protected void doDispatch(HttpServletRequest request, HttpServletResponse response) HttpServletRequest processedRequest = request; //请求对象 HandlerExecutionChain mappedHandler = null; //处理器执行链=我们即将执行的Controller+(1+拦截器) boolean multipartRequestParsed = false; //解析一个请求是否是文件上传请求
要求に従って実行する必要があるハンドラー (コントローラー) を見つけます
Ctrl マウスの左ボタンをクリックして getHandler() を実行します。このメソッドの値はプロセッサ実行チェーンです。 05. getHandler を入力した後、次のコード// Determine handler for the current request. mappedHandler = getHandler(processedRequest);
を入力すると、このメソッドがインターフェイス (HandlerMapping にはメソッドを実装するメソッドがありません)。引き続き、実装クラス AbstractHandlerMapping
HandlerExecutionChain handler = hm.getHandler(request);
Object handler = getHandlerInternal(request);
// Determine handler adapter for the current request. HandlerAdapter ha = getHandlerAdapter(mappedHandler.getHandler());
if (ha.supports(handler)) { return ha; }
// Actually invoke the handler. mv = ha.handle(processedRequest, response, mappedHandler.getHandler());
と入力します。 15. クリックして handleRequest
を入力し、HelloController がこのクラスを継承します。
この親クラスは handleRequestInternal(request, response);
16 を実行します。handleRequestInternal
をクリックすると、実装クラス
@Override public ModelAndView handle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { return ((Controller) handler).handleRequest(request, response); }
以上がSpring MVCプロジェクト開始後の実行手順(模式図付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。