SpringMVC

SpringMVC-请求过程

请求过程
  • 请求离开浏览器。它会带有用户请求内容的信息,至少包含请求的URL(还可能有其他信息,例如用户提交的表单信息)
  • 到达前端控制器 - DispatcherServlet。与大多数Java Web框架一样,SpringMVC 所有的请求都会通过一个前端控制器Servlet(前端控制器是常用的Web应用程序模式)。这个单例的Servlet将请求委托给应用程序的其他组件来执行实际的处理。很显然,在SpringMVC中 DispatcherServlet就是前端控制器
  • 查询处理映射器。DispatcherServlet的任务是将请求发送给SpringMVC控制器,但是DispatcherServlet需要知道应该将请求发给哪个控制器,所以它会去查询一个或者多个处理映射器(处理映射器会根据请求所携带的URL信息来进行决策)来确认请求的下一站在哪里
  • 到达控制器。选择了控制器之后,DispatcherServlet会将请求发送给选中的控制器,控制器会解析请求并进行业务处理(通畅控制器会将处理的业务逻辑委托给多个服务对象来进行处理)
  • 模型及逻辑视图。控制器处理完逻辑后,通常会产生一些信息,这些信息需要返回给用户,这些信息就是模型(Model)。不过我们通常会对原始信息进行格式化处理,例如HTML,所以信息需要发送给一个视图(View)例如JSP。控制器所做的最后一件事就是将模型打包,并标示出用于渲染输出的视图名称,然后将请求连同模型和视图想耦合发送回DispatcherServlet
  • 视图解析。控制器不会与特定的视图耦合,其传递给DispatcherServlet的视图名称并不直接表示某个特定的JSP,而只是一个逻辑名称(这个逻辑名称将用来查找真正的视图),这里DispatcherServlet就是使用的视图解析器来将逻辑视图名匹配为一个特定视图实现的
  • 视图实现。现在DispatcherServlet已经知道了由哪个视图渲染结果,最后只需要交付数据模型
  • 响应用户。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容