SpringMVC設定靜態資源不攔截三種方式
阿新 • • 發佈:2018-12-18
1、前端控制器的配置
在web.xml中配置
<!-- springmvc的前端控制器 -->
<servlet>
<servlet-name>springMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation< /param-name>
<param-value>classpath:spring/springmvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springMVC</servlet-name>
<!-- 攔截所有請求 -->
<url-pattern>/</url-pattern>
</servlet-mapping>
/ 表示攔截所有的請求,包括靜態資源
<url-pattern>/</url-pattern> --表示攔截所有的請求,包括靜態資源
2、去靜態資源攔截有三種方式
1、在web.xml中配置對映 2、在springMVC.xml中配置對映 3、在springMVC.xml中新增靜態資源預設Servlet處理
3、方式一
在web.xml中配置對映
<!-- 對靜態資源的配置 --> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.js</url-pattern> <url-pattern>*.css</url-pattern> <url-pattern>*.ico</url-pattern> <url-pattern>/img/*</url-pattern> <url-pattern>/fonts/*</url-pattern> <url-pattern>/font/*</url-pattern> </servlet-mapping>
可以根據自身情況,來配置對映
注意: 請將它放在所有Servlet的最前面(為了讓它最先匹配),這樣的話效能上應該比較好
4、方式二
在springMVC.xml中新增靜態資源的對映
<!--
通過mvc:resources設定靜態資源,這樣servlet就會處理這些靜態資源,而不通過控制器
設定不過濾內容,比如:css,js,img 等資原始檔
location指的是本地的真實的物理路徑 ,mapping指的是對映到的虛擬路徑(比如前端請求的url地址)。-->
<mvc:resources mapping="/css/**" location="/css/**"/>
<mvc:resources mapping="/js/**" location="/js/**"/>
<mvc:resources mapping="/images/**" location="/images/**"/>
根據實際情況自行配置
5、方式三
在springMVC.xml中新增靜態資源預設Servlet處理
<mvc:default-servlet-handler/>
注意: 這種方式對spring版本必須要求3.0.5及以上