基于代码的Servlet容器配置
大部分情况下,使用Spring是采用基于配置的方式,通常情况下是通过web.xml文件对容器的行为进行配置. 从servlet3.0开始,spring提供了基于代码的配置,以下是个例子:
|
|
WebApplicationInitializer的实现会自动被检测到并且被用于初始化容器的配置. 除此之外, spring还提供了一种AbstractDispatcherServletInitializer抽象类来提供更简洁的方式对容器进行初始化, 这也是spring推荐的使用方式.
使用AbstractDispatcherServletInitializer进行初始化还可以分为使用代码和使用XML配置文件的方式:
注意:这里说的是初始化DispatcherServlet的配置,而上面说的是利用代码方式初始化Servlet容器,两者不要混淆.
|
|
另外,AbstractDispatcherServletInitializer抽象类还提供了关于filter,isAsyncSupport等配置的支持,具体可以参阅其文档,这里就不做过多阐述.
查阅AbstractDispatcherServletInitializer的源码可以发现,它是典型的模板模式的实现,将对WebApplicationInitializer的实现进行抽象,但是整个方法的实现过程没有太多变化.
|
|
参考文献
官方文档: 基于代码配置Servlet容器