欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  Java

Spring+SpringMVC+MyBatis深入学习及搭建——SpringMVC架构

程序员文章站 2022-03-20 10:09:00
...
转载请注明出处:

前面讲到:Spring+SpringMVC+MyBatis深入学习及搭建(十)——MyBatis逆向工程

1.什么SpringMVC

Spring web mvc和Struts2都属于表现层的框架,它是Spring框架的一个模块。SpringMVC和Spring无需通过中间整合层进行整合。

SpringMVC是一个基于mvc的web框架。

Spring+SpringMVC+MyBatis深入学习及搭建——SpringMVC架构

2.mvc在b/s系统下的应用

Spring+SpringMVC+MyBatis深入学习及搭建——SpringMVC架构

(1)用户发起request请求至控制器(Controller)

   控制接收用户请求的数据,委托给模型进行处理。

(2)控制器通过模型(Model)处理数据并得到处理结果

   模型通常是指业务逻辑

(3)模型处理结果返回给控制器

(4)控制器将模型数据在视图(View)中展示

  web中模型无法将数据直接在视图上显示,需要通过控制器完成。如果在C/S应用中模型是可以将数据在视图中展示的。

(5)控制器将视图response响应给用户

   通过视图展示给用户要的数据或处理结果。

3.SpringMVC框架

Spring+SpringMVC+MyBatis深入学习及搭建——SpringMVC架构

3.1架构流程

(1)用户发请求至前端控制器(DispatcherServlet)

(2)DispatcherServlet接收到请求调用HandlerMapping处理器映射器

(3)处理器映射器根据请求url找到具体的处理器(Handler,可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。

(4)DispatcherServlet通过HandlerAdapter处理器适配器调用处理器

(5)执行处理器(Controller,也叫后端控制器)

(6)Controller执行完后返回ModelAndView

(7)HandlerAdapter将Controller执行结果ModelAndView返回给DispatcherServlet

(8)DispatcherServlet将ModelAndView传给ViewResolver视图解析器

(9)ViewResolver解析后返回具体View

(10)DispatcherServlet对View进行渲染视图(即将模型数据填充至视图中)

(11)DispatcherServlet响应用户

3.2组件说明

(1)前端控制器DispatcherServlet(不需要程序员开发)

   作用:接收请求、响应结果,相当于转发器,*处理器。

   有了DispatcherServlet可以减少其它组件之间的耦合度。

(2)处理器映射器HandlerMapping(不需要程序员开发)

   作用:根据请求的url查找Handler

(3)处理器适配器HandlerAdapter

   作用:按照特定规则(HandlerAdapter要求的规则)去执行Handler

(4)处理器Handler(需要程序员开发)

   注意:编写Handler时按照HandlerAdapter的要求去做,注意适配器才可以去正确执行Handler。

(5)视图解析器Viewresolver(不需要程序员开发)

    作用:进行谁解析,根据逻辑视图名解析成真正的视图(View)

(6)视图View(需要程序员开发jsp)

   View是一个接口,实现类支持不同的View类型(jsp、freemarker、pdf....)

以上就是Spring+SpringMVC+MyBatis深入学习及搭建——SpringMVC架构的详细内容,更多请关注其它相关文章!