1. 程式人生 > >Spring MVC前臺使用html頁面作為檢視,配置靜態資源後Controller控制器不起作用的解決辦法

Spring MVC前臺使用html頁面作為檢視,配置靜態資源後Controller控制器不起作用的解決辦法

1.Spring MVC搭建專案的時候,想使用html頁面作為前端的檢視,你會發現html頁面不能訪問,原因是由於Spring攔截器將其攔截尋找控制器的緣故,解決辦法就是配置靜態資源:

複製程式碼
1 <mvc:resources mapping="/js/*.js" location="/js/" />  
2 <mvc:resources mapping="/**/*.html" location="/html/" />  
3 <!--     <mvc:resources location="/" mapping="/**/*.html"/>
4 <mvc:resources location="/" mapping="/**/*.js"/>
5
<mvc:resources location="/" mapping="/**/*.css"/> 6 <mvc:resources location="/" mapping="/**/*.png"/> 7 <mvc:resources location="/" mapping="/**/*.gif"/> -->
複製程式碼

註釋和未註釋的是兩種配置建議。

2.配置之後發現html可以訪問了,但是,控制器又失效了,原因是沒有加入註解驅動,所以加起來最終的配置是加入:

複製程式碼
 1 <mvc:annotation-driven/> 
 2     
 3 <!-- 靜態資源 -->
 4
<mvc:resources mapping="/js/*.js" location="/js/" /> 5 <mvc:resources mapping="/**/*.html" location="/html/" /> 6 <!-- <mvc:resources location="/" mapping="/**/*.html"/> 7 <mvc:resources location="/" mapping="/**/*.js"/> 8 <mvc:resources location="/" mapping="/**/*.css"/> 9 <mvc:resources location="/" mapping="/**/*.png"/> 10
<mvc:resources location="/" mapping="/**/*.gif"/> --> 11 <!-- -->
複製程式碼

這樣就可以訪問靜態資源,且控制器不受影響。