为什么要配置mvc:annotation-driven
程序员文章站
2022-03-16 14:19:03
...
再一次的xml配置文件过程中,出现了一个问题,问题和一个配置相关:mvc:annotation-driven。于是我查看了一些资料,所以写下了这篇文章。
<mvc:annotation-driven/>
解释:相当于注册了DefaultAnnotationHandlerMapping(处理器映射器)和AnnotationMethodHandlerAdapter((处理器适配器)两个bean,配置一些messageconverter,即解决了@Controller注解的使用前提配置。
那么如果不加这个配置会造成什么问题呢?
如果没有<mvc:annotation-driven/>,那么所有的Controller可能就没有解析。所有当有请求时候都没有匹配的处理请求类,就都去<mvc:default-servlet-handler/>即default servlet(httpServlet)处理了。添加上<mvc:annotation-driven/>后,相应的do请求被Controller处理,而静态资源因为没有相应的Controller就会被default servlet处理。总之没有相应的Controller就会被default servlet处理就ok了。
总结:
使用<mvc:annotation-driven/>就是去识别匹配controller层配置的路径,这样才能将对应的请求分发到对应的方法上,从而去执行一系列的业务逻辑。如果不配置,那么就无法去识别匹配请求路径对应的处理方法,达不到预期的效果。