ServletHandler#handleRequest

-> 调用 servlet.getInstance().service(request, response)
-> 调用抽象类 HttpServlet#service

-> 调用抽象类的 HttpServlet#service中的service方法 ps:这里在通过HttpServlet#service中调用的service其实不是直接调用的而是通过FrameworkServlet#service调用的HttpServlet的方法protected void service
-> 根据请求的req来确定调用具体的请求方法(这里我是用的doPost测试)则调用FrameworkServlet#doPost方法

-> 调用抽象类FrameworkServlet#processRequest中的doService方法(其中doService方法是FrameworkServlet中的抽象方法,由类DispatcherServlet通过
继承FrameworkServlet然后重写了doService所以这里实际调用的是DispatcherServlet#doService)
-> 最后调用类 DispatcherServlet#doService中的doDispatch (就在这个方法里面处理所有到Controller的一些业务了,看如下调用时序图)

本文详细解析了ServletHandler处理请求的过程,从调用servlet.getInstance().service开始,经过HttpServlet#service,最终到达DispatcherServlet#doService进行业务处理。
1151

被折叠的 条评论
为什么被折叠?



