mvc:default-servlet-handler,mvc:annotation-driven与context:component-scan

1.
是对包进行扫描,解决@Controller标识的类的bean的注入和使用.
2
添加注解驱动,使注解标注的类生效。用来匹配请求的Controller
3.
开通访问静态资源 ,会在Spring MVC上下文中定义一个org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler,对进入DispatcherServlet(web.xml转发器)的URL进行筛查,如果发现是静态资源的请求,就将该请求转由Web应用服务器默认的Servlet处理,如果不是静态资源的请求,才由dispatcherServlet继续处理.mvc:default-servlet-handler,mvc:annotation-driven与context:component-scan_第1张图片
详细讲解:
1.当不需要对静态资源实现restful风格访问时,web.xml配置为:
mvc:default-servlet-handler,mvc:annotation-driven与context:component-scan_第2张图片
springmvc.xml配置为1 的时候,就可以处理来自.do的url请求。
2. 当需要对静态资源实现restful风格访问时,(2.1)那么web.xml就要解析所有的请求,而不是之前1那样只对.do解析,web.xml配置为:
mvc:default-servlet-handler,mvc:annotation-driven与context:component-scan_第3张图片
( 2.2)要对静态资源访问,就需要配置 ,但配置了 没有,那所有的请求.do或者静态资源的请求都会被 的默认default servlet解析.此时,静态资源没有问题,但.do没办法转发到的那么注解扫描得到controller上,当然就报错404.当再加上的时候,所有请求经处理一遍,相应的do请求被Controller处理,而静态资源因为没有相应的Controller就会被default servlet处理.

你可能感兴趣的:(mvc:default-servlet-handler,mvc:annotation-driven与context:component-scan)