springmvc的执行流程\
时间: 2023-11-09 20:08:19 浏览: 42
SpringMVC的执行流程大致可以分为以下几个步骤:
1. 客户端发送请求到DispatcherServlet,DispatcherServlet是前置控制器,它是整个SpringMVC的核心,负责接收请求并将请求分发给后续的处理器。
2. DispatcherServlet根据请求信息调用HandlerMapping,HandlerMapping会根据请求信息查找对应的Handler,即处理器,HandlerMapping可以有多个实现类,比如RequestMappingHandlerMapping,它会根据@RequestMapping注解中的信息来查找对应的Handler。
3. HandlerMapping将查找到的Handler返回给DispatcherServlet。
4. DispatcherServlet根据Handler返回的信息调用HandlerAdapter,HandlerAdapter也可以有多个实现类,比如RequestMappingHandlerAdapter,它会根据Handler的类型来选择对应的适配器。
5. HandlerAdapter将Handler包装成一个HandlerExecutionChain对象,该对象包含了Handler以及一些拦截器,DispatcherServlet会根据这些拦截器来执行一些预处理和后处理的操作。
6. DispatcherServlet调用HandlerExecutionChain的Handler对象的处理方法,即Controller中的方法。
7. Controller中的方法处理完请求后会返回一个ModelAndView对象,该对象包含了视图名称以及模型数据。
8. HandlerAdapter将ModelAndView对象返回给DispatcherServlet。
9. DispatcherServlet根据视图名称调用ViewResolver来解析视图,ViewResolver可以有多个实现类,比如InternalResourceViewResolver,它会根据视图名称来查找对应的视图。
10. ViewResolver将解析到的视图返回给DispatcherServlet。
11. DispatcherServlet将模型数据传递给视图,视图将模型数据渲染成HTML等格式返回给客户端。