spring採坑記之無xml靜態資源攔截

在傳統的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後面的** 是必需要加的。若是不加就不會生效

相關文章
相關標籤/搜索