问题和原因
如果我们的中央调度器DispatcherServlet的
注意:做这个实验一定要把浏览器缓存清一下,不然你还是能够看到图片。
首先说明一下原因:
在 Tomcat 中,有一个专门用于处理静态资源访问的 Servlet 名叫 DefaultServlet。其为 default。可以处理各种静态资源访问请求。该 Servlet 注册在 Tomcat 服务器的 web.xml 中。在 Tomcat 安装目录/conf/web.xml。
里面435行有这样一段代码:
default
/
所以如果我们把自己的中央调度器写成了/就会跟它冲突,而我们的DispatcherServlet没有处理静态资源的能力所以就会出错。
解决方案:
第一种方案:
使用mvc:default-servlet-handler/
声 明 了
第二种方案:
在 Spring3.0 版本后,Spring 定义了专门用于处理静态资源访问请求的处理器ResourceHttpRequestHandler。并且添加了mvc:resources/标签,专门用于解决静态资源无法访问问题。需要在 springmvc 配置文件中添加如下形式的配置:
解决动态资源和静态资源冲突的问题,在 springmvc 配置文件加入:



