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