springmvc-思维导图

springmvc-思维导图_第1张图片
其实springmvc拦截器最主要的方法就是doService(),该方法执行了doDispatch()

doService中
1.首先将request的Attribute遍历一遍放入一个attributesSnapshot快照HashMap中,
2.然后再request中设置了一部分springmvc的Attribute属性,
3.然后执行doDispatch()
4.将第一步中的attributesSnapshot重新赋值回request的Attribute
doDispatch
1.检查request
2.根据request获取mappedHandler(包含拦截器和handler),mappedHandler判空,为空抛异常
3.根据mappedHandler获取HandlerAdapter
4.预执行mappedHandler的拦截器,遍历执行
5.执行handle,并返回mv
6.设置viewname,执行mappedHandler的拦截器applyPostHandle
7.processDispatchResult解析渲染结果

你可能感兴趣的:(JAVA)