Spring MVC配置静态资源控制器不起作用


Spring MVC前台使用html页面作为视图,配置静态资源后Controller控制器不起作用的解决办法

1.Spring MVC搭建项目的时候,想使用html页面作为前端的视图,你会发现html页面不能访问,原因是由于Spring拦截器将其拦截寻找控制器的缘故,解决办法就是配置静态资源:

复制代码

<mvc:resources mapping="/js/*.js" location="/js/" />  
<mvc:resources mapping="/**/*.html" location="/html/" />  
<!--     <mvc:resources location="/" mapping="/**/*.html"/>
<mvc:resources location="/" mapping="/**/*.js"/>
<mvc:resources location="/" mapping="/**/*.css"/>
<mvc:resources location="/" mapping="/**/*.png"/>
<mvc:resources location="/" mapping="/**/*.gif"/> -->

注释和未注释的是两种配置建议。

2.配置之后发现html可以访问了,但是,控制器又失效了,原因是没有加入注解驱动,所以加起来最终的配置是加入:

<mvc:annotation-driven/> 

<!-- 静态资源 -->
<mvc:resources mapping="/js/*.js" location="/js/" />  
<mvc:resources mapping="/**/*.html" location="/html/" />  
<!--     <mvc:resources location="/" mapping="/**/*.html"/>
<mvc:resources location="/" mapping="/**/*.js"/>
<mvc:resources location="/" mapping="/**/*.css"/>
<mvc:resources location="/" mapping="/**/*.png"/>
<mvc:resources location="/" mapping="/**/*.gif"/> -->
<!--  -->

这样就可以访问静态资源,且控制器不受影响。