DispatcherServlet
场景
当我们在浏览器发起一个http请求,到页面响应,这中间都经历了哪些过程,这些过程中都负责哪功能,让我们来探索一下吧
请求流程图
我们来拆解一下这里面的步骤:
- 发起请求到DispatcherServlet(前端控制器)
- DispatcherServlet会查询一个或者多个处理映射器(handler mapping)来确定请求下一步走到哪里,处理器映射会根据请求的URL进行决定
- 选择合适的映射器后,DispatcherServlet会将请求发送到控制器中,请求会卸下其负载(用户提交的信息)并等待控制器处理这些信息
- 控制器在完成逻逻辑处理后,将处理后的信息(model)和视图(view),然后将模型数据打包,并且标示出用于渲染的视图名,它接下来会将请求连同模型和视图名发送回DispatcherServlet
- 下面DispatcherServlet将会使用视图解析器(viewresolver)来将逻辑视图名匹配为一个特定的视图实现
- 接着DispatcherServlet使用视图来使用具体的模型数据进行渲染输出,这个输出会通过响应对象传递给客户端