那就是為什么我配置好web.xml中的dispatchservlet后,js,css,甚至gif都不能正常顯示了
我們來看看我配置的web.xml
其中url-pattern:
url-pattern有5種配置模式:
(1)/xxx:完全匹配/xxx的路徑
(2)/xxx/*:匹配以/xxx開頭的路徑,請求中必須包含xxx。
(3)/*:匹配/下的所有路徑,請求可以進入到action或controller,但是轉發jsp時再次被攔截,不能訪問jsp界面。
(4).xx:匹配以xx結尾的路徑,所有請求必須以.xx結尾,但不會影響訪問靜態文件。
(5)/:默認模式,未被匹配的路徑都將映射到刺servlet,對jpg,js,css等靜態文件也將被攔截,不能訪問。
如果我們一開始就采用了/的方式,那么就需要補上如下的web.xml配置來讓靜態文件可訪問了。因為spring mvc默認攔截所有請求,所以你需要單獨把靜態資源配起來,springmvc就會放過這些請求了。
方法一:在web.xml文件中添加xml配置,
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.css</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.js</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.jpg</url-pattern>
</servlet-mapping>
...
...
等等。。。。
方法二:在我的netmk_web.xml中配置中添加
先需要開啟mvc的配置
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="...
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd"
方法三: 在我的netmk_web.xml配置中添加(我用的就是這個方法)
我的樣式是放在項目里面的這個位置的:
<mvc:resources />允許靜態資源放在任何地方,如WEB-INF目錄下、類路徑下等,你甚至可以將JavaScript等靜態文件打到JAR包中。通過location屬性指定靜態資源的位置
我這里只配置一個就可以了,/resource/** 兩個*是表示這個文件及里面的子文件夾,如果一個*就不包含這個目錄里面的子文件夾。
你也可以用這種方法: