一,DispatcherServlet承继内部结构

自动草稿

二、SpringMvc允诺处置的大体业务流程

2.1 Handler方式继续执行的最佳时机

吓倒点:

自动草稿

检视初始化栈:

自动草稿

doDispathch⽅法中的1064⾏标识符顺利完成handler⽅法的调⽤

2.2 网页图形最佳时机(吓倒点并检视初始化栈)

自动草稿

3.3 doDispatch()方式核心理念关键步骤 (Springmvc处置允诺的大体业务流程):

初始化getHandler()以获取到能处置现阶段允诺的继续执行链HandlerExecutionChain(Handler 圣夫龙)初始化getHandlerAdapter()以获取能继续执行Handler的转接器转接器初始化Handler继续执行ha.handle(),协进会回到两个ModelAndView第一类初始化processDispatchResult()方式顺利完成快照重定向//org.springframework.web.servlet.DispatcherServletprotectedvoiddoDispatch(HttpServletRequest request, HttpServletResponse response)throwsException{
HttpServletRequest processedRequest = request;//继续执行器链,包含了handler和一些圣夫龙HandlerExecutionChain mappedHandler =null;booleanmultipartRequestParsed =false;//异步管理器WebAsyncManager asyncManager = WebAsyncUtils.getAsyncManager(request);try{
ModelAndView mv =null;
Exception dispatchException =null;try{//1. 检查是否是文件上传的允诺processedRequest = checkMultipart(request);
multipartRequestParsed = (processedRequest != request);// Determine handler for the current request./*
2. 取得处置现阶段允诺的Controller,这里也称为Handler,即处置器。这里并不是直接回到controller,
而是回到HandlerExecutionChain 允诺处置链第一类 该第一类封装了Handler和Inteceptor
*/
mappedHandler = getHandler(processedRequest);if(mappedHandler ==null) {// 如果handler为空, 则回到404noHandlerFound(processedRequest, response);return;
}// Determine handler adapter for the current request.// 3. 以获取处置允诺的处置器转接器 HandlerAdapterHandlerAdapter ha = getHandlerAdapter(mappedHandler.getHandler());// Process last-modified header, if supported by the handler.// 处置last-modeified 允诺头String method = request.getMethod();booleanisGet =“GET”.equals(method);if(isGet ||“HEAD”.equals(method)) {longlastModified = ha.getLastModified(request, mappedHandler.getHandler());if(newServletWebRequest(request, response).checkNotModified(lastModified)

1.本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2.分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3.不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4.本站提供的源码、模板、插件等其他资源,都不包含技术服务请大家谅解!
5.如有链接无法下载或失效,请联系管理员处理!
6.本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!