标签 <mvc:annotation-driven/> 注解驱动作用

在某个提问下看见的回复:

无须让 Controller 继承任何接口,无需在 XML 配置文件中定义请求和 Controller 的映射关系。仅仅使用 @Controller 注解就可以让一个 POJO 具有 Controller 的绝大部分功能 —— Spring MVC 框架的易用性得到了进一步的增强框架灵活性、易用性和扩展性。

不使用这个注解驱动,springmvc 将服务找到合适的 handler 来处理请求。使用了这个注解,将拦截所有请求去 handler 映射器进行查找对应的 handler。

问题来了,我们访问静态资源是不需要 handler 处理的。所以有两种方式进行处理。

1、配置标签 <mvc:default-servlet-handler/>

框架将创建一个 Defaultservlethttprequesthandler 处理器,这个处理器将会把没有 handler 处理的请求转发给 tomcat 的 defaultServlet。(甩锅处理)

2、配置标签<mvc:resources mapping=“static/**” location="/static/"/>

框架将创建一个 Resourcehttprequesthandler 处理器,这个处理器将直接处理静态资源请求,不依赖于 tomcat 服务器。

mapping: 访问静态资源的uri地址,使用通配符 **
location:静态资源在项目中的位置

Guess you like

Origin blog.csdn.net/never_late/article/details/120283520