SpringMVC
2021-01-27 22:17
1.Spring家族体系
Spring AOP:为Spring容器管理的对象提供了对面向切面编程的支持;
Spring DAO:该层封装了对数据库的访问,并且处理了其抛出的错误消息,同时还基于AOP模块提供了事务管理;
Spring ORM:Spring支持多种ORM框架,简化了数据库操作。
Spring Web :Web 上下文模块建立在应用程序上下文模块之上,为基于 Web 的应用程序提供了上下文。
Spring MVC :MVC 框架是一个全功能的构建 Web 应用程序的 MVC 实现。通过策略接口,MVC 框架变成为高度可配置的,MVC 容纳了大量视图技术,其中包括 JSP、Velocity、Tiles、iText 和 POI。
2.SpringMVC框架定义
Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还是 Struts 这样的 Web 框架。通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages(JSP)技术、Velocity、Tiles、iText 和 POI。Spring MVC 框架并不知道使用的视图,所以不会强迫您只使用 JSP 技术。
Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。
Spring的MVC框架主要由DispatcherServlet、处理器映射、处理器(控制器)、视图解析器、视图组成。
3.SpringMVC执行流程
首先用户发送请求到前端控制器,前端控制器根据请求信息(如 URL)来决定选择哪一个页面控制器进行处理并把请求委托给它,即以前的控制器的控制逻辑部分;
页面控制器接收到请求后,进行功能处理,首先需要收集和绑定请求参数到一个对象,这个对象在 Spring Web MVC 中叫命令对象,并进行验证,然后将命令对象委托给业务对象进行处理;处理完毕后返回一个 ModelAndView(模型数据和逻辑视图名);
前端控制器收回控制权,然后根据返回的逻辑视图名,选择相应的视图进行渲染,并把模型数据传入以便视图渲染;
前端控制器再次收回控制权,将响应返回给用户
4.视图解析器
在开发中,视图通常就是JSP、Velocity 等。Spring 默认提供了多种视图解析
器,比如,我们可以使用最常用解析器InternalResourceViewResolver 来查找
JSP视图(与之相对应的视图类为InternalResourceView)。 通常,一- 个视图解
析器只能查找- - -个或多个特定类型的视图,在遇到Spring 不支持的视图或者我
们要自定义视图查找规则的情况下,我们就可以通过扩展Spring 来自定义自己
所需的视图解析器。目前,视图解析器都需要实现接口
org. springframework.web.servlet.ViewResolver,它包含方法
resolveViewName,该方法会通过视图名查找并返回Spring 视图对象。