SpringMVC复习(MVC三层架构,SpringMVC的执行原理)

(1)什么是MVC架构

  • Model 模型层 dao/service层 业务逻辑和保存数据
  • View 视图层 显示页面
  • Controller 控制层 获得表单数据,调用业务逻辑,转向指定页面

(2) 初识SpringMVC

* 概念:

SpringMVC是Spring框架的一部分,是基于java实现MVC的轻量级框架

* 优点:

轻量级,简单易学,高效,与Spring无缝结合,可以把SpringMVC中的bean注册到Spring中,约定大于配置,支持Restful风格,数据验证等等

* SpringMVC要做的事情
  • 将url映射到java类或java类的方法
  • 封装用户提交的数据
  • 处理请求,调用相关业务处理,封装响应数据
  • 将响应的数据渲染到页面 JSP/html
* 见图

SpringMVC复习(MVC三层架构,SpringMVC的执行原理)

如上图所示,在之前我们学习Servlet开发web时,我们要写很多个servlet,用户发起请求,servlet,一直到数据库查询数据,再由servlet进行页面的转发或者重定向(调度),那么用户要请求不同的servlet,SpringMVC的出现就是我们一直所说的,没有什么是加一层解决不了的,我们在用户访问每一个servlet前加一个调度器(DispatcherServlet),由它来处理请求,适配url等

(3)SpringMVC的执行原理

SpringMVC复习(MVC三层架构,SpringMVC的执行原理) (1) DispatcherServlet就是前端控制器,用户发出的请求都会被它接收/拦截
(2) url会被拆分为三部分
http://localhost:8080/admin/hello
http://localhost:8080 服务器域名
admin 部署在服务器上的web站点
hello 表示控制器
(3) HandlerMapping为处理器映射,DispatcherServlet调用 HandlerMapping,HandlerMapping根据url查找Handler
(4) 具体的Handler(HandlerExecution)根据url查找控制器,如上例的控制器为hello
(5) HandlerExecution将解析后的信息传给DispatcherServlet
(6) HandlerAdapter表示处理器适配器,执行Handler(/hello),Handler让具体的Controller(找到类)去执行
(7) Controller将具体的信息(ModelAndView)返回给HandlerAdapter
(8) HandlerAdapter将信息传给 DispatcherServlet
(9) DispatcherServlet调用视图解析器进行解析,然后得到解析结果,然后根据结果调用具体的视图