spring-mvc里的 mvc:resources 及静态资源访问
在進(jìn)行Spring MVC的配置時(shí),通常我們會(huì)配置一個(gè)dispatcher servlet用于處理對(duì)應(yīng)的URL。配置如下:
<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-mvc.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>?
只攔截.do請(qǐng)求配置如下:
<servlet-mapping> <servlet-name>springMVC</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping>?
?
這表示名字為 SpringMVC?的servlet會(huì)處理一切的url對(duì)應(yīng)的請(qǐng)求,那么我們?cè)趺醋宻ervlet來(lái)處理項(xiàng)目中的靜態(tài)資源呢?這里有兩種方法。
1. 另外使用一個(gè)servlet來(lái)處理靜態(tài)資源。若我們的資源放置在webapps文件夾下的resources文件夾中,那么我們可以用名字為default的servlet來(lái)處理靜態(tài)資源。因此我們還需要在上述配置的基礎(chǔ)上加上以下配置:
<servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>resources/*</url-pattern> </servlet-mapping>這表示default的servlet會(huì)處理url中為resources/*的對(duì)應(yīng)的請(qǐng)求。這樣,當(dāng)你把你的image,css已經(jīng)其他文件放在resources文件中時(shí),spring就可以找到它啦。
?
2. 采用spring自帶<mvc:resources>方法。首先找到你定義的那個(gè)servlet的xml文件,如本例子中,servlet的名字叫mvc-dispatcher,因此需要找到mvc-dispatcher-servlet.xml文件,并在該文件中插入以下配置:
<mvc:annotation-driven/> <mvc:resources mapping="/resources/**/" location="/resources/"/>如此就不必另外添加一個(gè)mvc來(lái)處理靜態(tài)資源。而mvc知道靜態(tài)資源所處的位置為resources文件夾。
兩種方法都可以將spring mvc配置處理靜態(tài)資源。
?
在SpringMVC3.0之后推薦使用一:?
<mvc:annotation-driven /><mvc:resources location="/img/" mapping="/img/**"/> <mvc:resources location="/js/" mapping="/js/**"/> <mvc:resources location="/css/" mapping="/css/**"/>說(shuō)明:
location元素表示webapp目錄下的static包下的所有文件;
mapping元素表示以/static開(kāi)頭的所有請(qǐng)求路徑,如/static/a 或者/static/a/b;
該配置的作用是:DispatcherServlet不會(huì)攔截以/static開(kāi)頭的所有請(qǐng)求路徑,并當(dāng)作靜態(tài)資源
交由Servlet處理。
?
?
也可以使用二:
web.xml里添加如下的配置
<servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.css</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.gif</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.jpg</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.js</url-pattern> </servlet-mapping>?
轉(zhuǎn)載于:https://www.cnblogs.com/linnuo/p/7699401.html
總結(jié)
以上是生活随笔為你收集整理的spring-mvc里的 mvc:resources 及静态资源访问的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 新建/克隆虚拟机(配置)
- 下一篇: webpack常用命令总结