springmvc虽然有很多好处,但是目前发现有一点不好,springmvc在处理简单的静态数据获取时,会自动拒绝导致客户端获取不到数据
例如我的项目路径是:http://localhost/SSM/
当我想访问webroot下的index页面时会访问:http://localhost/SSM/index.html
这是很简单的请求,不需要服务器做什么处理只需要将页面返回客户端即可,但是springmvc找不到资源,因为springmvc的前端控制器会去寻找适配该url的controler,发现找不到,就返回请求资源找不到错误
所以我们要处理这个请求就必须将客户端所访问的静态资源向springmvc说明这是资源,当客户端访问时,直接给他就完了,不要再去查找controler了
这样就可以处理静态资源获取的问题了:
标识资源xml配置如下,支持动态匹配
<!-- 将css,js,img,html等静态资源标记为资源,注意location是相对于webroot目录的,如果放在/WEB-INF/* -->
<mvc:resources mapping="/css/**" location="/css/"/>
<mvc:resources mapping="/img/**" location="/img/" />
<mvc:resources mapping="/js/**" location="/js/" />
<mvc:resources mapping="/*.html" location="/"/>
或者配置默认servlet处理:
<mvc:default-servlet-handler/>