基于代码的Servlet容器初始化1

        在Servlet3.0以上的环境中,你可以以代码的方式或者用web.xml来配置一个Servlet容器。Spring MVC提供了一个WebApplicationInitializer接口来初始化任何的Servlet3容器。

        AbstractDispatcherServletInitializer是WebApplicationInitializer的抽象类实现。它通过重写的方法来指定servlet mapping和DispatcherServlet配置文件的位置,从而让注册一个DispatcherServlet更加容易。

        如果使用基于XML的Spring配置,则直接继承AbstractDispatcherServletInitializer。AbstractDispatcherServletInitializer还提供了便利的方式来添加Filter实例,并让它们自动映射到DispatcherServlet上(给每个Filter实例添加一个基于它们具体类型的名字)。


        配置Spring MVC的两种方式——MVC Java Config和MVC XML namespace,它们提供相似的默认配置,目的是避免大多数应用都不得不做的相同的配置,同时也为配置Spring MVC提供了一个高水平架构,让人不需要对底层配置了解太多就能简单的开始。使用MVC Java Config或者MVC XML namespace取决于个人喜好,但是MVC Java Config能更容易看到底层配置,同时为那些被创建的Spring MVC beans提供高粒度的定制化。

        MVC Java Config的方式是在@Configuration类上加上@EnableWebMvc注解,MVC XML namespace的方式是在XML配置文件中加上 <mvc:annotation-driven/>元素。这会注册包括一个RequestMappingHandlerMapping,一个RequestMappingHandlerAdapter和一个ExceptionHandlerExceptionResolver来支持注解的Controller方法使用诸如@RequestMapping,@ExceptionHandler等注解来处理请求。

你可能感兴趣的:(基于代码的Servlet容器初始化1)