您的位置:首页 > 理论基础 > 计算机网络

Srping Mvc service(HttpServletRequest, HttpServletResponse)

2018-03-26 21:53 489 查看

Srping Mvc service(HttpServletRequest, HttpServletResponse)

doService

如果是 include jsp 先存储 request 的 attribute 为一个快照,即临时变量

把 wac、国际化解析器、样式解析器、样式 存储到 request 的attribute 中

把 flashMap flashMapManager 存储到 request 的attribute 中

调用 doDispatch

finally 如果 request 是 nio 异步响应,则 return,否则回填快照,即开始的临时变量

doDispatch

从 HttpServletRquest 中获取 WebAsyncManager

如果是文件上传则把 request 转换成 multipart request 并标记 multipart 解析器为可用

根据 request 从当前 servlet 里的 handMappings 里获取 handlerExecutionChain

如果没有找到 handlerExecutionChain 则根据配置选择是发送异常还是返回 404

根据返回的 handlerExecutionChain 从当前 servlet 的 handlerAdapters 中获取 handlerAdapter

如果是 GET 和 HEAD 请求根据 lastModified 进行判断进行判断是否缓存过期,没有过期直接返回 304 告知从浏览器缓存中找资源

使用 HandlerExecutionChain 执行预先的拦截器 handle,如果没通过直接返回

使用 handlerAdapter 执行给定的 HandlerExecutionChain 中的 handler 对象并返回 ModelAndView

如果 WebAsyncManager 是异步的直接返回

从当前 servlet 的 viewNameTranslator 根据 request 设置视图信息到 ModelAndView

HandlerExecutionChain 执行逆序执行拦截器 handler
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐