目录
一、MVC和SpringMVC简介
MVC(Model View Controller),就是一种设计创建web应用程序的表现层模式、是一种架构模式。
- Model (模型):数据模型,用于封装数据,比如一个学生类Student,封装里面学生的各种信息。(一般分为 dao 层或者叫entity 层和 service服务层)
- View(视图):用于在页面上展示的数据,可以在网页看到的。(JavaScript,HTML)
- Controller(控制器):用于处理用户交互数据的调节器,会根据用户的需求(请求)来处理程序逻辑。(servlet、SpringMVC)
SpringMVC: Spring MVC是Spring Framework的一部分,是基于Java实现MVC的轻量级Web框架。(属于表现层技术)
SpringMVC的一些特点:
- 是轻量级的,简单容易学
- 是高效 , 基于请求响应的MVC框架
- 与Spring兼容性好,无缝结合
- 约定优于配置
- 功能强大:RESTful、数据验证、格式化、本地化、主题等
- 简洁灵活
二、SpringMVC的简单执行流程
图为:springMVC的项目架构图
- DispatcherServlet(调度员服务):是一个前置控制器,是整个SpringMVC的控制中心。用户发出请求,DispatcherServlet接收请求并拦截请求。
- HandlerMapping(处理器映射器):是处理器映射。DispatcherServlet调用HandlerMapping,这时HandlerMapping就会根据请求网址 url 查找到处理者 Handler。
- HandlerExecutionChain:表示具体的Handler,其主要作用是根据网址url查找控制器,如上url被查找控制器为:“1”。
- HandlerAdapter(处理适配器):表示处理器适配器,其按照特定的规则去执行Handler。
- Handler让具体的Controller执行。
- Controller:将具体的执行信息返回给处理适配器:HandlerAdapter,如:返回6的ModelAndView。
- HandlerAdapter:将视图逻辑名或模型传递给控制器:DispatcherServlet。
- DispatcherServlet:调用视图解析器(ViewResolver)来解析HandlerAdapter传递的逻辑视图名。
- 视图解析器将解析的逻辑视图名传给DispatcherServlet。
- DispatcherServlet根据视图解析器解析的视图结果,调用具体的视图。
- 最后将视图呈现出来。