Spring源码分析【5】-Spring MVC处理流程

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/unix21/article/details/52171647

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 GenericFilterBean
SecurityContextPersistenceFilter继承关系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


猜你喜欢

转载自blog.csdn.net/unix21/article/details/52171647