Spring MVCの - > springboot

Spring MVCの - > springboot

  1. コンフィギュレーション

1.設定

MVC:

  1. ばねコンテナ設定:のapplication.xml、web.xmlが他のビーンコントローラのスキャンに加え、のContextLoaderListenerに対応
  2. ServletContextの構成:servlet.xml、DispatcherServletのweb.xmlに対応
  3. ばね負荷コンテナ:同等の構成のweb.xml(servlet3.0)、WebApplicationInitializerを達成するためのインタフェース限りスプリングので、AbstractAnnotationConfigDispatcherServletInitializer継承された、ばねがロードされたすべての

戦闘春ブーツ2.0シリーズ(5) - リスナー、サーブレット、フィルタとインターセプタ - デンバー

  1. リスナー
  2. サーブレット
  3. フィルタ
  4. コントローラ
  5. 迎撃機

1.リスナー

ServletContextリスナを設定するには、@WebListenerマークを使用することができます。サーブレットコンテナの初期化処理では、contextInitialized()メソッドは、容器がcontextDestroyed(破壊された場合、)呼び出されると呼ぶことにします。

ここでのServletContextのコンテキストパラメータ名INITIAL_CONTENTに設定初期化中の容器は、直接のアクセスは、グローバルすることができます。

2.サーブレット

IndexHttpServlet構成、書き換えのdoGetのHttpServlet()メソッド、直接出力IndexHttpServletのServletContext初期化定義されたパラメータとIndexServletContextListenerコンテキストパラメータのセット。

注釈は、サーブレット、対応する各パラメータの注釈@ WebServlet web.xmlの設定を登録するように構成@WebServlet

3.フィルター

サーブレットは、クライアントのサーブレット応答によってフィルターを通して濾過した複数の、および最終処理を要求することができます。ここで構成された2つの例示的なフィルタ

設定FirstIndexFilterは、使用@WebFilterノートがマークしました。場合FirstIndexFilter初期化を行うinit()メソッド。各タイムリクエスト経路マッチングパスurlPatterns構成は、特定の要求に応じてのdoFilter()メソッドを入力し、濾過します。
HTTPリクエストは、フィルタ1つのパラメータを有する場合、要求が解除され、そうでない場合は、直接濾過割り込み、停止要求処理

設定SecondIndexFilterは、使用@WebFilterノートがマークしました。場合SecondIndexFilter初期化を行うinit()メソッド。各タイムリクエスト経路マッチングパスurlPatterns構成は、特定の要求に応じてのdoFilter()メソッドを入力し、濾過します。
HTTPリクエストは、フィルタ2つのパラメータを有する場合、要求が解除され、そうでない場合は、直接濾過割り込み、停止要求処理。
doFilter()三つのパラメータの中核を見てみましょう:

  • ServletRequest:HTTPサーブレットリクエストが到着しません。
  • たServletResponse:サーブレットと生成されたHTTPレスポンスによって処理;
  • フィルターチェーン:フィルタ・チェーン・オブジェクトを順次複数のフィルタを登録することができます。

FilterChain.doFilter(request, response);

4.コントローラ

これは、およそ...ビジネスの入り口の話に何もありません。

5.インターセプタ

インターセプタインターセプタは、唯一のハンドラで動作します。スプリングMVCコントローラハンドラオブジェクトに各インスタンスのメソッドを要求し、オブジェクト要求は、特定HandlerMappingハンドラにルーティングされ、その後、反射によってHandlerAdapterの処理要求に応じて、この中間傍受プロセスが点在します。

原理分析

私たちは、インタフェースHandlerInterceptor 3の重要な方法を見てみましょう、インターセプタを開発するHandlerInterceptorインターフェースを実現します:

  • preHandle():postHandle次に、前処理要求を実行する、要求制御を受けて行われ、戻り値はブール値であり、戻り値がtrue()およびafterCompletion()メソッドは、戻りの偽割り込みが実行された場合。
  • postHandle():処理実行のModelAndView前に要求を処理するコントローラ後、その結果に応じて変更することができます。
  • afterCompletion():DispatchServletこの要求の処理が完了した後に行われる、すなわちのModelAndViewが発生しました。

この方法のdoDispatch()実行順序原理のSpring MVCの中央ディスパッチャのDispatcherServletで簡単に見ているの後に、上記の3つの方法が迎撃に焦点を当てます。

Spring MVCの中央ディスパッチャで簡単に見ている、次のDispatcherServlet方法のdoDispatch()実行順序原理の、上記の3つの方法が迎撃に焦点を当てます。

公開された161元の記事 ウォンの賞賛140 ビュー470 000 +

おすすめ

転載: blog.csdn.net/qq_37933685/article/details/103755751
おすすめ