文章目录


# 结论

在 springmvc 中添加

<!-- controller 映射不到,用defaultServletHttpRequestHandler尝试 -->
<mvc:default-servlet-handler/><!-- 缺少的话:找不到js、css等资源 -->

<!-- 让 mvc 注解生效 -->
<mvc:annotation-driven></mvc:annotation-driven><!-- 缺少的话:有上面handler情况下,注解不生效(比如:@Controller) -->


# 分析


拦截了所有请求
因此,jq 等静态资源被拦截了




  • default-servlet-handler 将在 SpringMVC 上下文中定义一个 DefaultServletHttpRequestHandler ,
    <mark>它会对进入 DispatcherServlet 的请求进行筛查,如果发现是没有经过映射的请求</mark>,就将请求交由 WEB 应用服务默认的一般 WEB 应用服务器默认的 Servlet 处理。
    如果不是静态资源的请求,才由 DispatcherServlet 继续处理

    一般 WEB 应用服务器默认的 Servlet 的名称都是 default。
    若所使用的 WEB 服务器默认 Servlet 名称不是 default , 则需要通过 default-servlet-name 显示 指https://www.cnblogs.com/youcong/p/10544262.html定