當前位置:
首頁 > 知識 > springmvc訪問靜態資源的方式

springmvc訪問靜態資源的方式

方案一:激活Tomcat的defaultServlet來處理靜態文件

<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>

<servlet-mapping>

<servlet-name>default</servlet-name>

<url-pattern>*.css</url-pattern>

</servlet-mapping>

要配置多個,每種文件配置一個

要寫在DispatcherServlet的前面, 讓defaultServlet先攔截請求,這樣請求就不會進入Spring了,我想性能是最好的吧。

方案二: 在spring3.0.4以後版本提供了mvc:resources,用以明確靜態資源,使用方法:

<!-- 對靜態資源文件的訪問 -->

<mvc:resources mapping="/images/**" location="/images/"/>

使用這種方式訪問靜態資源一定要啟動註解驅動:<mvc:annotation-driven />

方案三:使用<mvc:default-servlet-handler/>

這種方式與第一種方案有點類似,讓靜態資源的訪問避開DispatcherServlet,而使用DispatcherServlet攔截請求;

在springMVC-servlet.xml中配置<mvc:default-servlet-handler />後,會在Spring MVC上下文中定義一個org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler,它會像一個檢查員,對進入DispatcherServlet的URL進行篩查,如果發現是靜態資源的請求,就將該請求轉由Web應用伺服器默認的Servlet處理,如果不是靜態資源的請求,才由DispatcherServlet繼續處理。

一般Web應用伺服器默認的Servlet名稱是"default",因此DefaultServletHttpRequestHandler可以找到它。如果你所有的Web應用伺服器的默認Servlet名稱不是"default",則需要通過default-servlet-name屬性顯示指定:

<mvc:default-servlet-handler default-servlet-name="所使用的Web伺服器默認使用的Servlet名稱" />

springmvc訪問靜態資源的方式

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 程序員小新人學習 的精彩文章:

11月份GitHub上最熱門的Python項目

TAG:程序員小新人學習 |