使用SpringMVC正確加載靜態資源文件

初學Springmvc的人都會碰到一個使人頭痛的問題

那就是爲何我配置好web.xml中的dispatchservlet後,js,css,甚至gif都不能正常顯示了css

咱們來看看我配置的web.xmlweb

其中url-pattern:spring

url-pattern有5種配置模式:  spring-mvc

(1)/xxx:徹底匹配/xxx的路徑  mvc

(2)/xxx/*:匹配以/xxx開頭的路徑,請求中必須包含xxx。  app

(3)/*:匹配/下的全部路徑,請求能夠進入到action或controller,可是轉發jsp時再次被攔截,不能訪問jsp界面。jsp

(4).xx:匹配以xx結尾的路徑,全部請求必須以.xx結尾,但不會影響訪問靜態文件。  url

(5)/:默認模式,未被匹配的路徑都將映射到刺servlet,對jpg,js,css等靜態文件也將被攔截,不能訪問。 spa

若是咱們一開始就採用了/的方式,那麼就須要補上以下的web.xml配置來讓靜態文件可訪問了。由於spring mvc默認攔截全部請求,因此你須要單獨把靜態資源配起來,springmvc就會放過這些請求了。3d

方法一:在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/**    兩個*是表示這個文件及裏面的子文件夾,若是一個*就不包含這個目錄裏面的子文件夾。

你也能夠用這種方法:

相關文章
相關標籤/搜索