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" 

相关文章
相关标签/搜索