关于Springmvc 处理静态资源的问题

最近使用springmvc+bootstrap搭建框架,过程真的是苦不堪言啊,先说遇到的问题吧:

使用myeclipse6.5 的话,在处理静态资源访问的时候基本没遇到什么问题,所以也就以为没问题呢,后来换了myeclipse8.5或者以上的IDE时才发现静态资源的访问出现了问题。好了,前提说完了,那下面列举问题情况吧。

在web.xml中配置springmvc如下:

<servlet>

<description>springMVCservlet</description>

<servlet-name>springMvc</servlet-name>

<servlet-class>

org.springframework.web.servlet.DispatcherServlet

</servlet-class>

<init-param>

<description>springMVC 配置文件</description>

<param-name>contextConfigLocation</param-name>

<param-value>classpath:configs/spring-mvc.xml</param-value>

</init-param>

<load-on-startup>1</load-on-startup>

</servlet>

<!-- 配置spring mvc mapping    1处 -->

<servlet-mapping>

<servlet-name>springMvc</servlet-name>

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

</servlet-mapping>

<!--tomcat 默认的servlet   2处-->

<servlet-mapping>

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

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

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

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

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

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

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

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

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

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

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

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

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

</servlet-mapping>

关键的配置就在上面了。对应的标了1处和2处,下面就直接说问题吧(正常的情况就不说了),

1、使用myeclipse6.5:2处有没有根本没影响。

    使用myeclipse8.6或者以上版本,2处对应的url没有的话就访问不到,比如访问css文件,你就要配置对应的url。

2、经过我的实验,对于myeclipse6.5,只要在1处配置了url拦截为".XXX"而不是"/",2处的配置存不存在就可以访问静态资源,而对于myeclipse8.6或者以上版本的话,即使1处url配置了拦截为".XXX",如果2处配置了的话,想要访问某静态资源就要在2处配置对应的url 如<url-pattern>*.txt</url-pattern>,但是,如果2处没有配置的话,就可以访问所有的静态资源。也就是说,如果2处没配置就没什么问题,如果配置了,就需要配置对应静态资源的url

相关推荐