SpringMVC的请求响应流程
的流程
SpringMVC的请求响应步骤如下:
具体步骤:
第⼀步:(发起)发起请求到前端控制器(DispatcherServlet)
jsp用什么前端框架第⼆步:(查)前端控制器请求处理器映射器HandlerMapping查Handler(可以根据xml配置,注解进⾏查)
第三步:(返回)处理器映射器HandlerMapping向前端控制器返回Handler,HandlerMapping会把请求映射为
HandlerExecutionChain对象(包含⼀个Handler处理器(页⾯控制器)对象,多个HandlerInterceptor对象),通过这种策略模式,很容易添加新的映射策略
第四步:(调⽤)前端控制器调⽤处理器适配器HandlerAdapter去执⾏Handler
第五步:(执⾏)处理器适配器HandlerAdapter将会根据适配的结果去执⾏Handler
第六步:(返回)Handler执⾏完成给适配器返回ModelAndView
第七步:(接收)处理器适配器向前端控制器返回ModelAndView(ModelAndView是SpringMVC框架的⼀个底层对象,包括Model 和View)
第⼋步:(解析)前端控制器请求视图解析器去进⾏视图解析(根据逻辑视图名解析成真正的视图(jsp),通过这种策略很容易更换其他视图技术,只需要更换视图解析器即可)
第九步:(返回)视图解析器向前端控制器返回View
第⼗步:(渲染)前端控制器进⾏视图渲染(视图渲染将模型数据(在ModelAndView对象中)填充到request域)
第⼗⼀步:(响应)前端控制器向⽤户响应结果
以下是对出现的⼀些组件的介绍:
1. 前端控制器DispatcherServlet(不需要程序员开发)
作⽤:接收请求,响应结果,相当于转发器,中央处理器。有了DispatcherServlet减少了其它组件之间的耦合度。
2. 处理器映射器HandlerMapping(不需要程序员开发)
作⽤:根据请求的url查Handler
3. 处理器适配器HandlerAdapter(不需要程序员)
作⽤:按照特定规则(HandlerAdapter要求的规则)去执⾏Handler
4. 处理器Handler(需要程序员开发)
注意:编写Handler时,按照HandlerAdapter的要求去做,这样适配器才可以去正确执⾏Handler
5. 视图解析器ViewResolver(不需要程序员开发)
作⽤:进⾏视图解析,根据逻辑视图名解析成真正的的视图(view)
6. 视图View(需要程序员开发jsp)
注意:View是⼀个接⼝,实现类⽀持不同的View类型(jsp,freemarker,pdf…)
ps:不需要程序员开发的,需要程序员⾃⼰做⼀下配置即可。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论