DispatcherServlet
4326 ワード
1.DispathCerServiceletとは
HttopRequestの要件に応じて、コントローラおよびコントローラは、他のコントローラおよびHandlerにデータを送信することができる.
(データ移動許可)
2.[構造]
(1) Servlet WebApplicationContext
Controllers:Viewリクエストによる処理
ViewResolver:String Handlerが返す論理ベースのビュー名を、応答に表示する実際のパスに変更します.
HandlerMapping:Webリクエストのパスマッピング(パスコントローラに委任)
(2) RootWebApplicationContext
RootWebApplicationContextには、通常、複数のサーブレットインスタンスで共有する必要があるデータストレージやビジネス・サービスなどのインフラストラクチャが含まれます.
3.フローチャート
詳細限定:SpringDocs3.2
4.[コードを開く]
--DispatcherServlet--
public class DispatcherServlet extends FrameworkServlet {
@Nullable
private MultipartResolver multipartResolver;
@Nullable
private LocaleResolver localeResolver;
@Nullable
private ThemeResolver themeResolver;
@Nullable
private List<HandlerMapping> handlerMappings;
@Nullable
private List<HandlerAdapter> handlerAdapters;
@Nullable
private List<HandlerExceptionResolver> handlerExceptionResolvers;
@Nullable
private RequestToViewNameTranslator viewNameTranslator;
@Nullable
private FlashMapManager flashMapManager;
@Nullable
private List<ViewResolver> viewResolvers;
public DispatcherServlet() {
this.setDispatchOptionsRequest(true);
}
public DispatcherServlet(WebApplicationContext webApplicationContext) {
super(webApplicationContext);
this.setDispatchOptionsRequest(true);
}
.
.
.
1.DispatcherServiceletはFrameworkServiceletを継承します.HttpServeretBeanを継承し、Webアプリケーションのサーブレット、ビジネスロジック、構成を管理および管理します.
1.実際には、メンバー変数としてResolverおよびHandleMapping関連インタフェースが多数見られます.
--WebApplicationContext--
public interface WebApplicationContext extends ApplicationContext {
String ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE = WebApplicationContext.class.getName() + ".ROOT";
String SCOPE_REQUEST = "request";
String SCOPE_SESSION = "session";
String SCOPE_APPLICATION = "application";
String SERVLET_CONTEXT_BEAN_NAME = "servletContext";
String CONTEXT_PARAMETERS_BEAN_NAME = "contextParameters";
String CONTEXT_ATTRIBUTES_BEAN_NAME = "contextAttributes";
@Nullable
ServletContext getServletContext();
}1.WebApplicationContexts=ApplicationContext+Web+ServletContext
5.[実際のログ]
1.Viewはこのパスを介してDispatcherServiceletにデータを要求します.
2.「要求完了マッピング」から「所有者コントローラ」のinitFindFormにマッピングします.
3.コンテンツを処理してコンテンツを返し、ViewResolverによってパスを渡す.
6.[概要]
DispatcherServiceletは、入力されたHttpRequestを処理し、要求を委任し、Springアプリケーション内で実施される構成HandlerAdapterインタフェースに従って要求を処理する.(Handler、Controller、EndPoint関連ツールで)
コメントソース:
baeldung , Spring5 , Spring3
Reference
この問題について(DispatcherServlet), 我々は、より多くの情報をここで見つけました https://velog.io/@geunwoobaek/DispatcherServletテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol