Spring源码分析【5】-Spring MVC处理流程
org.apache.catalina.core.ApplicationFilterChain.doFilter
獲取Filter
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
org.springframework.web.filter.DelegatingFilterProxy.doFilter
invokeDelegate
org.springframework.security.web.FilterChainProxy.doFilter
doFilterInternal
doFilter
nextFilter
org.springframework.web.filter.OncePerRequestFilter.doFilter
package org.springframework.security.web.context;
public class SecurityContextPersistenceFilter extends GenericFilterBeanSecurityContextPersistenceFilter繼承關系GenericFilterBean
下面經過幾步之后...
org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter
HttpRequestResponseHolder holder
loadContext
chain.doFilter(holder.getRequest(), holder.getResponse());
經歷一系列的過濾器到
javax.servlet.http.HttpServlet.service
org.springframework.web.servlet.FrameworkServlet.service
super.service(request, response);之后回到
javax.servlet.http.HttpServlet.service
doGet
processRequest
org.springframework.web.servlet.DispatcherServlet.doService
doDispatch(request, response);
doDispatch
mv = ha.handle(processedRequest, response, mappedHandler.getHandler());
org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal
invokeHandlerMethod
到invocableMethod.invokeAndHandle(webRequest, mavContainer);
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle
org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest
org.springframework.web.method.support.InvocableHandlerMethod.doInvoke
從這里可以看出是利用反射去執行這個類的方法。
返回invokeForRequest
org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest
返回invokeAndHandle
返回invokeHandlerMethod
進入getModelAndView
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.getModelAndView
返回mav
一直返回mav退到doDispatch
org.springframework.web.servlet.DispatcherServlet.doDispatch
applyDefaultViewName
總結
以上是生活随笔為你收集整理的Spring源码分析【5】-Spring MVC处理流程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring源码分析【1】-Tomcat
- 下一篇: Spring源码分析【6】-Thread