SpringMVC的执行流程

1、常见类及其作用

HandlerExecutionChain:Handler执行链对象,包含了请求处理器对象(Handler)以及所有的拦截器对象

HandlerMapping:定义了所有的请求(url)与所有的请求处理器之间的映射

HandlerAdptor:请求处理器适配器对象,负责完成请求处理器对象(Hander)的调用、方法的执行等

 

2、执行流程

①、用户向服务器发出请求,请求被springmvc的前端控制器DispatcherServlet截获。

②、DispatcherServlet对请求的URL(统一资源定位符)进行解析,得到URI(请求资源标识符),然后根据URI,调用HandlerMapping获得该Handler配置的所有相关对象,包括Handler对象以及Handler对象对应的拦截器,这些对象都会被封装到一个HandlerExecutionChain对象当中返回。

③、DispatcherServlet根据获得的Handler、,选择一个合适的HandlerAdapter(处理器适配器),HandlerAdapter负责调用Hander实际处理请求的方法。

④、提取请求中的模型数据,开始执行Handler(Controller),在填充Handler的入参过程中,根据配置,Spring将会帮助做一些额外的事情

消息转换:将请求信息,如json、xml等数据转换成一个对象,将对象转换为指定的响应信息

数据转换:对请求信息进行数据转换,如String转换成Integer、Double等

数据格式化:对请求信息进行数据格式化,如将字符串转换成格式化数字或格式化日期等

数据验证:验证数据的有效性 如长度、格式等。

⑤、Handler执行完成以后,向DispatcherServlet返回一个ModelAndView对象,ModelAndView对象中应该包含视图名或视图模型

⑥、根据返回的ModelAndView对象,选择一个合适的ViewResolver(视图解析器)返回给DispatcherServlet

⑦、ViewResolver根据Model和View来渲染视图

⑧、将视图渲染结果返回给客户端

 

springmvc执行流程

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值