SpringMVC工作流程
1. SpingMVC的常用组件
1)DispatcherServlet
- 是一种前端控制器,由框架提供。
- 作用:统一处理请求和响应。除此之外还是整个流程控制的中心,由 DispatcherServlet 来调用其他组件,处理用户的请求
2)HandlerMapping
- 处理器映射器,由框架提供。
- 作用:根据请求的 url、method 等信息来查找具体的 Handler(一般来讲是Controller)
3)HandlerAdapter
- 处理器适配器 ,由框架提供。因为SpringMVC中的Handler可以是任意形式,只要能处理请求就可以,但是Servlet需要的处理方法的结构却是固定的,都是以request和response为参数的方法。如何让固定的Servlet处理方法调用灵活的Handler来进行处理呢?这就是HandlerAdapter要做的事情。
- 作用:根据映射器找到的处理器 Handler 信息,按照特定的规则去执行相关的处理器 Handler。
4)Handler
- 处理器,注意,这个需由工程师自己开发。一般来讲是Controller,在Controller层中的@RequestMapping标注的所有方法都可以看成是一个Handler,只要可以实际处理请求就可以是Handler
- 作用:在 DispatcherServlet 的控制下,Handler对具体的用户请求进行处理
5)ViewResolver
- 视图解析器,由框架提供。
- 作用: ViewResolver 负责将处理结果生成 View 视图:ViewResolver 首先根据逻辑视图名解析成物理视图名,即具体的页面地址,再生成 View 视图对象,最后对 View 进行渲染将处理结果通过页面展示给用户。
6)View
- 视图,工程师自己开发
- 作用:View接口的职责就是接收model对象、Request对象、Response对象,并渲染输出结果给Response对象。
2. SpringMVC的工作流程