springmvc 运行流程

一、流程图解

 

二、流程描述

页面请求 --》判断是不是由dispachServlet处理-》判断springmvc中是否存在对应的映射--》如果不存在--》看是否配置了默认处理器--》如果配置了--》去寻找对应的资源

如果没有配置默认的处理器--》返回no mapping found 

如果springmvc存在对应的映射--》由HandlerMapping获取HandlerExcutionChain对象(HandlerExcutionChain中包含了拦截器和映射的处理器即映射对应的方法)--》

获取HandlerAdapter(用来进行提交数据的校验、数据转换、数据绑定初始化) --》 执行拦截器的preHandler方法  --》执行目标方法返回ModelAndView --》执行拦截器的postHandler方法--》看看是否存在异常--》如果有异常--》由HandlerExceptionResolver组建处理异常--》得到新的ModelAndView

如果没有异常--》有ViewResolver组建得到相应的view--》渲染视图--》调用拦截器的aferCompletion方法

 

三、解释

HandlerMapping:由请求到处理器的映射

HandlerExecutionChain:包含了所有处理器方法和拦截器

HandlerAdapter:表单数据校验、数据格式化、数据类型转换

posted on 2017-01-28 23:20  _故乡的原风景  阅读(155)  评论(0编辑  收藏  举报