在SpringMVC中,是通过前端分发器也就是DispatchServlet来进行我们的请求拦截的,所以如果我们的请求拦截的地址如果是类似于*.do,*.action的话,那么我们的js、png、css就可以逃过,因此是可以访问到的,可是如果我们配置的拦截地址是/,那么将会拦截我们所有的请求信息。那么如何来解决这个问题呢?
第一种方式
在一些常见的服务器中都有一些处理静态资源的Servlet,如下所示
Tomcat, Jetty, JBoss, and GlassFish 默认 Servlet的名字 -- "default"
Google App Engine 默认 Servlet的名字 -- "_ah_default"
Resin 默认 Servlet的名字 -- "resin-file"
WebLogic 默认 Servlet的名字 -- "FileServlet"
WebSphere 默认 Servlet的名字 -- "SimpleFileServlet"
因此我们可以在SpringMVC的dispatchServlet之前就通过服务器默认的拦截器来拦截这些URL,配置的时候,需要把这些URL-PATTERN放置到dispatchServlet之前,下面的操作需要配置到web.xml中
<span style="font-family:Comic Sans MS;font-size:18px;"><!-- 激活Tomcat的defaultServlet来处理静态文件 --> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.jpg</url-pattern> </servlet-mapping> <