- 问题描述
当springmvc中的dispatchServlet的url-pattern设置为”/”时(如下面的配置),也会拦截css、js等静态资源。最近在springmvc中引入bootstrap时,jsp页面中就无法显示bootstrap的效果。可以通过在web.xml中配置servlet-mapping让tomcat处理静态资源
<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/springmvc.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</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的mapping前面
- 服务器默认的Servlet名字
Tomcat, Jetty, JBoss, and GlassFish: “default”
Google App Engine:”_ah_default”
Resin:”resin-file”
WebLogic:”FileServlet”
WebSphere:”SimpleFileServlet”