在传统的xml项目中,使用spring静态资源拦截很是简单,须要在dispatchor的xml中加入mvc命名空间spring
而后使用 网络
<mvc:default-servlet-handler/>
以及mvc
<mvc:resources location="/xxx/**" mapping="/xxx/"/>
便可映射到。路径能够是磁盘的位置,也能够是网络位置。这样作的好处就是咱们能够最简单的实现静态资源与项目分离。实现对静态资源的统一管理app
固然,本文不是针对有xml配置。那么,在没有配置文件的工程中如何启用静态资源拦截呢?spa
第一步须要注册spring的根上下文和servlet上下文xml
我这里使用的是实现WebApplicationInitializer 的方式,你们也能够使用继承继承
以下三个类以达到一样的效果,废话很少说,进入正题:资源
重写onStartup方法来初始化spring容器和springmvc子容器。servlet
而后在mvc配置类继承WebMvcConfigurerAdapter适配器,重写 addResourceHandlers(ResourceHandlerRegistry registry) 方法,定义路径,等同于it
<mvc:resources location="/xxx/**" mapping="/xxx/"/>
再重写
configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) 使其生效,等同于
<mvc:default-servlet-handler/>
以后启动工程便可使用咱们配置的路径访问到对应静态资源。
在这里要注意: location后面的** 是必需要加的。若是不加就不会生效