配置DispatcherServlet Spring实战笔记

目的:使用java将DispatcherServlet配置在Servlet容器(Tomcat)中,而不会再使用web.xml文件

知识点:

1.拓展AbstractAnnotationConfigDispatcherServletInitializer的任意类都会自动配置DispatcherServlet和Spring应用上下文,Spring的应用上下文会位于应用程序的Servlet上下文之中。

2.在Servlet3.0环境中,容器(遵循Servlet3.0规范的容器,不止包含Tomcat)会在类路径中查找实现了javax.servlet.ServletContainerInitializer接口的类,若发现,就用它配置Servlet容器。SpringServletContainerInitializer这个类实现了ServletContainerInitializer,WebApplicationInitializer的实现类作为参数来完成配置任务。 AbstractAnnotationConfigDispatcherServletInitializer 这个类是WebApplicationInitializer接口的实现类

3.因为在我们的测试程序中SpitterWenAppInitializer类继承于AbstractAnnotationConfigDispatcherServletInitializer(同时也就实现了WebApplicationInitializer),所以当部署到Servlet3.0容器中时,容器会自动发现它,并用它类配置servlet上下文。


程序清单1.1——配置DispatcherServlet 

文件名:SpitterWenAppInitializer.java

package com.web.spitter.config;

import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;

/**

* @DATE 2019/2/1

* @AUTHOR Guo.th

*/

public class SpitterWenAppInitializerextends AbstractAnnotationConfigDispatcherServletInitializer {

/**

* 将路径映射到DispatcherServlet上,"/"表示他会是应用的默认Servlet,他会处理应用的所有请求。

    * @return

    */

    @Override

    protected String[] getServletMappings() {

return new String[]{"/"};

}

@Override

    protected Class[] getRootConfigClasses() {

return new Class[]{RootConfig.class};

}

@Override

/**

* 要求在使用dispatcherServlet时,使用定义在WebConfig中的bean

*/

    protected Class[] getServletConfigClasses() {

return new Class[]{WebConfig.class};

}

}


你可能感兴趣的:(配置DispatcherServlet Spring实战笔记)