下面是详细的执行流程:
springmvc执行流程:
1.由中央调度器接收请求
2.中央调度器把请求交给了处理器映射器
处理器映射器:是一些类,他们需要实现HandlerMapping接口。
处理器映射器作用:根据请求的信息,找到处理此请求的处理器对象。
也就是根据some.do 找到MyController.把找到的
MyController对象保存到 “处理器执行链”的对象中。
3.中央调度器把“处理器执行链”的处理器对象(MyController),
交给处理器的适配器
处理器适配器:是一些类,需要实现HandlerAdapter接口。
处理器适配器作用:根据处理器对象找到对应的处理器适配器对象(根据你的电脑的型号找到适合电源)。
每个处理器接口(本例MyController处理器对象对应的接口为Controller)都有一个适配器对象
4.中央调度器,根据找到的处理器适配器。
通过这个处理器适配器执行处理器方法(调用MyController的handlerRequest()方法),
处理器调用完成后,会得到ModelAndView(数据和视图)
5.中央调度器把处理后的ModelAndView交给了视图解析器
视图解析器:是一些类,需要实现ViewResovler接口
视图解析器作用:根据他的前缀,后缀,组成视图的完整路径, 并创建视图文件的对应视图对象(view表示jsp文件的),中央调度器对象对视图做控制、处理,并把model数据填充到view视图中,再通过应答对象响应给用户,这样视图就可以看到最终的页面了。这样请求就处理完成了。
在框架中, 视图是用View接口表示的。
==========================================================================
配置式开发中的映射器和适配器
1.处理器映射器:
org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping
org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping
使用的是 BeanNameUrlHandlerMapping
2.处理器的适配器
org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter
org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter
使用的是 SimpleControllerHandlerAdapter , 处理Controller接口的