SpringMVC请求处理流程

SpringMVC请求处理流程

  • 流程图
  • 核心组件
    • 1.DispatcherServlet 前端控制器
    • 2.HandlerMapping 处理器映射器
    • 3.HandlerExecutionChain 处理器执行链
    • 4.HandlerAdapter 处理器适配器
    • 5.Handler 处理器 = Controller
    • 6.HandlerInterceptor 处理器拦截器
    • 7. ModelAndView
    • 8.ViewResolver 视图解析器

流程图

SpringMVC请求处理流程_第1张图片

核心组件

1.DispatcherServlet 前端控制器

org.springframework.web.servlet.DispatcherServlet ,继承了HttpServlet
SpringMVC请求处理流程_第2张图片

springMvc中的前端控制器 (Front controller)
用来接收请求,转发请求,响应结果
减少了其他组件之间的耦合度

处理请求时,会调用doService方法

protected void doService(HttpServletRequest request, HttpServletResponse response) throws Exception {
	
}

2.HandlerMapping 处理器映射器

根据用户请求的URL,返回给DispatcherServlet一个处理器执行链(里面封装了拦截器和处理器),这样前端控制器就可以知道将讲求发送到哪

3.HandlerExecutionChain 处理器执行链

在这里插入图片描述

4.HandlerAdapter 处理器适配器

将处理器包装成了适配器,可以支持多种类型的处理器(是适配器模式的应用)
经过HandlerMapping处理找到了Handler处理器,由适配器来调用指定的处理器去执行

5.Handler 处理器 = Controller

就是代码中编写的Controller类,对请求进行逻辑处理,将响应的数据封装到ModelAndView中,返回ModelAndView

6.HandlerInterceptor 处理器拦截器

进入前端控制器之后,进入控制器(Handler)之前,执行拦截器
使用拦截器可以实现:

  • 日志管理
  • 权限控制

7. ModelAndView

封装了model和view两个对象

  • 设置定向地址
  • 存储响应的结果数据
  • 将数据传递给View
    SpringMVC请求处理流程_第3张图片
    其中的model是LinkedHashMap对象
    在这里插入图片描述

8.ViewResolver 视图解析器

通过ModelAndView中的View数据,将逻辑视图解析为真正的视图

你可能感兴趣的:(前端,java,开发语言)