springmvc的简介与原理
1.springmvc是什么
springmvc全称是spring web mvc,是spring框架一部分,是一个mvc的框架,和struts2一样是一个表现层框架。
- 1
2.springmvc架构原理
2.1.mvc在b/s系统中应用
-
mvc:是一种设计模式。设计模式理解为最佳实践。
-
b/s:早期大部分系统是c/s结构,是一种客户/服务器架构,和b/s(客户/服务器架构),b/s结构中客户端指的是浏览器。
web系统是一种b/s系统架构。
2.2.springmvc框架原理
- 1、用户发送请求至前端控制器DispatcherServlet
- 2、DispatcherServlet收到请求调用HandlerMapping处理器映射器查找Handler。
- 3、处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。
- 4、DispatcherServlet通过HandlerAdapter处理器适配器调用处理器
- 5、HandlerAdapter调用处理器Handler
- 6、Handler执行完成返回ModelAndView
- 7、HandlerAdapter将Handler执行结果ModelAndView返回给DispatcherServlet
- 8、DispatcherServlet将ModelAndView传给ViewReslover视图解析器,ViewReslover根据逻辑视图名解析View
- 9、ViewReslover返回View
- 10、DispatcherServlet对View进行渲染视图(即将模型数据填充至request域)。
- 11、DispatcherServlet响应用户
DispatcherServlet前端控制器(springmvc框架提供)
作用:接收请求,响应结果
有了前端控制器减少各各组件之间的耦合性,前端控制器相关于中央调度器。
HandlerMapping 处理器映射器(springmvc框架提供)
作用:根据url查找Handler,比如:根据xml配置、注解方式查找Handler
**HandlerAdapter处理器适配器(springmvc框架提供)
作用:执行Handler
不同类型的Handler有不同的HandlerAdapter,好处可以通过扩展HandlerAdapter支持更多类型的Handler
Handler处理器(由程序员开发)
作用:业务处理
实现开发中又称为controller即后端控制器
Handler的开发按照HandlerAdapter的接口规则去开发。
Handler处理后的结果是ModelAndView,是springmvc的底层对象,包括 Model和view两个部分。
view中只包括一个逻辑视图名(为了方便开发起一个简单的视图名称)。
ViewReslover视图解析(springmvc框架提供)
作用:根据逻辑视图名创建一个View对象(包括真实视图物理地址)
针对不同类型的view有不同类型的ViewReslover,常用的有jsp视图解析器即jstlView
View视图(由程序员开发jsp页面)
作用:将模型数据填充进来(将model数据填充到request域)显示给用户
view是一个接口,实现类包括:jstlView、freemarkerView,pdfView