给个简单的sequence diagram,原图见github.
首先要说明下,我们发送到服务器端的get、post等请求,都转到doDispatch方法,进行处理。
注意上面的分析为了描述整体流程,跳过了很多细节,建议读者去看看源码,每个人的收获是不一样的。大体就是如此,之后就是细节上的问题,比如Spring-webmvc怎么将HttpServletRequest中的数据转为Controller方法上的实体对象;页面渲染具体怎么实现。代码很多,封装的较深,调用关系复杂,如果要细细分析,还是要点时间的。
将HttpServletRequest中的请求数据转换为Controller方法上的实体对象这点,就分好多种情况。不仅支持它已定义的方式,我们自己还可以自己定义转换方式,从这些中可以看出Spring中的抽象思想层次很深,Spring作者站的角度很高。
(adsbygoogle = window.adsbygoogle || []).push({});