Spring MVC通过一个前端Servlet接收所有的请求,并将具体工作委托给其它组件进行处理,DispatcherServlet就是Spring MVC的前端Servlet。
处理过程:
- Web应用服务器接受到客户端发来的一个请求。如果请求匹配DispatcherServlet的请求映射路径,则Web容器将该请求转交给DispatcherServlet处理。
- DispatcherServlet接收到这个请求后,将根据请求信息(URL、HTTP方法、请求报文头、请求参数、Cookie等)以及HandlerMapping的配置找到处理请求的处理器(Handler)。(任何一个Object都可以称为请求处理器)
- 通过HandlerAdapter对Handler进行封装,再以统一的适配器接口调用Handler。HandlerAdapter是一个适配器,它以统一的接口完成对各种Handler方法的调用。
- Handler处理完之后将返回一个ModelAndView给DispatcherServlet,ModelAndView中包含了视图逻辑名和模型数据信息。
- DispatcherServlet借由ViewResolver完成逻辑视图名到真正视图对象的解析工作
- 当得到真实的视图对象View后,DispatcherServlet就使用这个View对象对ModelAndView中的模型数据进行视图渲染。
- 之后将响应信息返回给客户端。可能是HTML、JSON、文档等格式
网友评论