接上一篇:springMVC跳转和传值
1. 静态资源
- 静态资源:就是html文件,js文件,css文件,图片文件
- 静态文件没有url-pattern,所以默认是访问不到的,如果没有springMVC的配置文件web.xml中的DispatcherServlet中的url-pattern,我们是可以访问,
- 如上图可以看到url-pattern为“/”
- 如果没有这个servlet配置,tomcat中有一个全局的servlet:<servlet-class>org.apache.catalina.servlets.defaultServlet</servlet-class>
- 它的url-pattern也是/,所以如果每个项目有不能匹配的静态资源,有这个Servlet来处理就可以
- 但是现在我们SpringMVC中DispatcherServlet中,也就是上面图片里的配置也采用了“/”作为url-parttern,它把这个“/”给占下了,会导致Tomcat全局的那个servlet不能再处理静态资源
- 这个DispatcherServlet的servlet只会去找controller的路径,不会找静态资源
所以我们在这种配置下的springMVC项目中,访问静态资源,例如hello.html文件,会报404,运行结果如下
1.1 解决方案1
既然是由于DispatcherServlet的url-pattern的“/”导致的,我们可以直接把“/”改为其他的路径,如后缀的形式:*.xmq,这种写法的意思是,以后url以.xmq结尾的controller,都可以被我们的DiapatcherServlet处理
改DispatcherServlet的url-pattern
后再次访问静态资源hello.html,发现可以访问到了
以后我们Tomcat运行,访问路径要这样写:访问http://localhost:8080/data/test.xmq,即以.xmq结尾