<mvc:default-servlet-handler/>让controller失效

问题如题:在配置了<mvc:default-servlet-handler/>后springmvc的controller注解失效.

原因:default-servlet-handler将在SpringMVC上下文中定义一个DefaultServletHttpRequestHandler,当DispatcherServlet url-pattern为 '/'时,该handler的 url会用'/*'去配路径,/* 比 / 优先级高,所以DefaultServletHttpRequestHandler 的路径会覆盖掉DispatcherServlet 访问路径,导致controller失效.

解决:<mvc:annotation-driven /> 会让DefaultServletHttpRequestHandler 的优先级调后,优先处理 DispatcherServlet  请求.  

posted @ 2018-08-21 11:28  随意的马蒂洛克  阅读(347)  评论(0)    收藏  举报