Spring公式文書第16章ノート(2):Disppatch Servlet

2942 ワード

Spring公式文書第16章ノート(2):Disppatch ServletDispatcherServlet : , Controller。 Displatch ServletとSpring IOC容器が一体化されているので、Spring IOC容器の機能が利用できます.
Displatch Servlet処理要求のプロセスは以下の通りである.図中のFront ControllerはDisplatch Servletである.
Displatch Servletの設定
Displatch ServletはJ 2 EE serveltです.web.xmで構成してください.
<web-app>

    <servlet>
        <servlet-name>example</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>example</servlet-name>
        <url-pattern>/example/*</url-pattern>
    </servlet-mapping>

</web-app>
すべての/exampleで始まる要求は、exampleという名前のDispactch Servletのインスタンスによって処理されます.
[Displatch Servlet-name]-servlet.xmlファイルを作成と設定します.
Spring MVCでは、要求を処理するためにビーンを容器に使用しており、これらのbeanは[Dispactch Servlet-name]−servlet.xmlファイルに定義されている.
Spring MVCでは、Displatch Servletごとに自分のWebApplect Controotを持っています. WebApplication Conteet.
継承図は以下の通りです
Spring MVCは、Dispactch Servletを初期化すると、[Dispactch Servlet-name]-servlet.xmlファイルを読み、中で定義されているbeanで上書きして継承した同名のbeanを使います.
定義されたDisplatServletの名前がexampleであるため、example-servlet.xmファイルが作成されます.
Displatch Servletは特定のbeanを使用してprocess requestsとrender the apprate viewに来ます.これらの特定のbeanはSpring MVCの一部です.
どのbeanを使用するかは[Dispactch Servlet-name]-servlet.xmlで指定できます.Spring MVCはデフォルトでいくつかのbeanを配置して、どれらのbeanを配置してorg.spring frame ewek.web.servletカバンの中のDispar Servlet.propertiesで指定します.
Displatch Servlet処理要求の流れ
1、WebApplication Contectはrequestを一つのatributeにカプセル化し、controllerと流れの中の他の要素に提供して使用します.パッケージ時のデフォルトkeyはDisplatServlet.WEB_APPLICATION_CONTEXT_ATTRIBUTE
2、The local e reolver is bound to the request to enable elemens in the process to reolve the locaree to use to when processing the request(rendeng the view、prepring data、and so on)が必要でないなら、使用しなくてもいいです.(どのように配置すれば、使わないことができますか?)
3、The theme reolver is bound to the request to let elemens such as view determine which theme to use.必要でなければ、使わなくてもいいです.(どのように配置すれば、使わないことができますか?)
4、multiiprt file reolverを配置したら、Spring MVCはrequestがmultiiprtsかどうかを検査します.もし、requestはMultiiprthttp Servrequestに包装されます.
5、該当するハンドルがあるかどうかを調べる.もしあるならば、handler関連のexecution chain(preprocessors、postprocessors、and controllers)を実行します.
6、Modelに戻ったら、render view.逆はrenderではない.
客制Displatch Servlet
servelet初期化パラメータをweb.xmlで使用することで、Dispactch Servletをゲスト化することができます.
<init-param>を使って構成します.構成可能なパラメータは以下の通りです.
context Class:WebApplication Comptextのクラスを実現し、Servlet関連のcontextを作成するために使用され、デフォルトはXml WebAppliation Contextです.
context ConfigLocation:プロファイルの保存経路を指定します.コンマ区切りを使用して、複数のcontextを指定します.異なるcontextで同じbeanを定義したら、最後に定義されたものを使用します.
namespace:WebAppliationContactのnamespaceを設定し、デフォルトは「Dispace Servlet-name」-servletです.