Spring MVC中响应请求的大致流程

来源:互联网 发布:网络炮仗什么意思 编辑:程序博客网 时间:2024/06/01 08:42

最近在学习Spring MVC,记录一下自己对处理请求的流程的理解:

  1. 浏览器发出请求,携带着描述用户请求内容的信息。

  2. 请求的第一站是Spring的DispatcherServlet(Spring MVC的请求都会通过一个前端控制器Servlet,前端控制器是常用的Web应用程序模式,而DispatcherServlet就是这个前端控制器),它的作用是把请求发送给视图控制器。

  3. 在应用程序中通常都有多个控制器,DispatcherServlet需要知道将请求发往哪个控制器,具体的方法就是查询处理器映射(handler mapping),这个处理器映射是通过@RequestMapping方法来建立的:在控制器中通过@RequestMapping(value=”访问路径”,method=GET,POST)规定相应的URL由什么方法来响应,然后DispatcherServlet就将请求发给选中的控制器。
  4. 控制器在完成处理以后,会返回一个字符串,这个字符串就是需要响应的页面。处理的过程可能会产生一些信息(model),将这些model添加到request的属性里面,然后发往用户浏览器。
  5. 控制器返回的视图名并不能定位视图文件,还需要设置视图解析器(ViewResolver),才能完成定位。在视图解析器中设置视图的路径、前缀、后缀等参数,组合起来就是类似“/WEB-INF/views/*.jsp”的字符串,再结合视图控制器传过来的视图名,就明确了视图文件的物理路径,此时才得到真正的视图。
  6. 视图文件jsp页面解析request传回的信息,例如其中的model,再格式化为html显示,这样,整个MVC流程就完成了。
原创粉丝点击