什么是SpringMVC?

⽤在基于MVC的表现层开发,类似于struts2框架

为什么要使⽤SpringMVC

下⾯我们来看⼀下Struts2不⾜之处:

  • 有漏洞【详细可以去搜索】

  • 运⾏速度较慢【⽐SpringMVC要慢】

  • 配置的内容较多【需要使⽤Struts.xml⽂件】

SpringMVC⼯作流程

img

  • 用户向服务端发送一次请求,这个请求会先到前端控制器**DispatcherServlet(也叫中央控制器)**。
  • DispatcherServlet接收到请求后会调用HandlerMapping处理器映射器。由此得知,该请求该由哪Controller来处理(并未调用Controller,只是得知)
  • DispatcherServlet调用HandlerAdapter处理器适配器,告诉处理器适配器应该要去执行哪个Controller
  • HandlerAdapter处理器适配器去执行Controller并得到ModelAndView(数据和视图),并层层返回给DispatcherServlet
  • DispatcherServlet将ModelAndView交给ViewReslover视图解析器解析,然后返回真正的视图。
  • DispatcherServlet将模型数据填充到视图中
  • DispatcherServlet将结果响应给用户