springmvc使用<mvc:default-servlet-handler/>导致的handler失效

使用springmvc时,会在web.xml中配置对所有请求进行拦截

<!-- 配置springmvc拦截的请求-->
<servlet-mapping>
  <servlet-name>springmvc</servlet-name>
  <url-pattern>/</url-pattern>
</servlet-mapping>

但是当前端请求静态文件(如css,js)时,就会报错,因为springmvc会根据静态文件的请求路径去匹配handler,找不到对应的handler时,就会报错。
可以在springmvc.xml中添加如下配置

<mvc:default-servlet-handler/>

这样框架就会自动帮我们判断请求类型,请求静态文件时就不会去寻找handler,而是直接找文件。
但是当我们同时使用注解开发时,就会把所有的请求都转到default-servlet-handler进行处理,此时访问就会报错404
解决方法就是在springmvc.xml中添加如下配置

<mvc:annotation-driven/>
posted @ 2020-04-20 20:47  GuDongYu  阅读(1481)  评论(0编辑  收藏  举报