springMVC简介
- springMVC和struts2都属于表示层框架,它是spring框架的一部分
springMVC配置文件约束
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang.xsd
http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd
http://www.springframework.org/schema/jms http://www.springframework.org/schema/jms/spring-jms.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc.xsd
http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd">
原理
1. 客户端发送请求到前端控制器
2. 前端控制器通过处理器映射器查找处理器,可以根据xml配置,注解进行查找
3. 处理器适配器返回一个执行链
4. 前端控制器通过执行链调用处理器适配器处理
5. 处理器适配器调用处理器处理
6. 处理器处理后返回一个ModelAndView(是springMVC框架的一个底层对象,包括model和view)
7. 处理器适配器返回给前端控制器
8. 前端控制调用视图解析器处理ModelAndView
9. 视图处理器将处理结果的视图返回个前端控制器
10. 前端控制器进行视图渲染,视图渲染就是将模型数据填充到request域中
11. 前端控制器将视图返回给客户端
组件
- 前端控制器DispatcherServlet,不需要工程师开发,由框架提供
- ==作用==:接受请求,响应结果,相当于转发器,中央处理器,有了前端控制器,减少了其他组件之家的耦合度
- 当用户的请求到达了前端控制器,它就相当于MVC中的控制器C,前端控制器是整个流程控制的中心,由它调度其他的组件,降低了其他 组件之间的耦合度
- 处理器映射器HandleMapping,不需要工程师开发,由框架提供
- ==作用==:根据请求的url,xml配置文件,注解等查询处理器
- HandlerMapping负责根据用户请求找到Handler即处理器,springMVC提供了不同的映射器实现不同的映射方式,例如:配置文件方式,实现接口的方式,注解方式等
- 处理器适配器HandlerAdapter
- ==作用==:按照特定的规则去执行Handler
- 通过处理器适配器对处理器进行执行,这是适配器模式的应用,通过扩展适配器可以对更多类型的处理器进行执行
- 处理器Handler,==需要开发==
- ==注意==:编写的处理器需要符合处理器适配器要求,只有这样,处理器适配器才可以正确执行处理器
- 处理器也成为后端控制器,对具体的用户请求进行处理,一般根据业务需要开发处理器
- 视图解析器View Resolver,不需要工程师开发,由框架提供
- ==作用==:进行视图解析,根据逻辑视图名解析成真正的视图(view)
- View Reslover负责将处理的结果生成view视图,view Resolver首先根据逻辑视图名解析成物理视图名即具体的页面地址,在生成view视图对象,最后根据view进行渲染,将处理结果通过页面显示给用户。
- springMVC框架提供了很多的view视图类型,包括jstlView,freemarkerView,pdfVeiw
- 一般情况页面标签或者页面模板技术将模型数据通过页面展示给客户,需要工程师开发具体的页面
- 视图View,==需要开发==
- View是一个接口,实现类支持不同的view类型(jsp,freemarker,pdf)
来源:CSDN
作者:青春需要异想天开
链接:https://blog.csdn.net/diaosinixiheixiu/article/details/78936187