spring mvc 中如何訪問到靜態的文件,如jpg js css

 

如何你的DispatcherServlet攔截"*.do"這樣的有後綴的URL,就不存在訪問不到靜態資源的問題。
若是你的DispatcherServlet攔截"/",爲了實現REST風格,攔截了全部的請求,那麼同時對*.js,*.jpg等靜態文件的訪問也就被攔截了。
咱們要解決這個問題。 css

目的:能夠正常訪問靜態文件,不能夠找不到靜態文件報404。app

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

Xml代碼 url

<servlet-mapping>spa

<servlet-name>default</servlet-name>資源

<url-pattern>*.jpg</url-pattern>servlet

</servlet-mapping>配置

<servlet-mapping>file

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

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

</servlet-mapping>

<servlet-mapping>

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

<url-pattern>*.css</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> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.css</url-pattern> </servlet-mapping> 要配置多個,每種文件配置一個 

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

Tomcat, Jetty, JBoss, and GlassFish 自帶的默認Servlet的名字 -- "default" Google App Engine 自帶的默認Servlet的名字 -- "_ah_default" Resin 自帶的默認Servlet的名字 -- "resin-file" WebLogic自帶的默認Servlet的名字  -- "FileServlet" WebSphere  自帶的默認Servlet的名字 -- "SimpleFileServlet" 

相關文章
相關標籤/搜索