SpringMVC入门

date: 2019/8/9 2:07:13


MVC 是一种著名的设计模式,特别是在 Web 应用程序领域。



为什么要学习 SpringMVC?

SpringMVC 是一个轻量级的 Java 开发框架,为了解决企业应用开发的复杂性而创建。框架的主要优 势之一就是其分层架构,
分层架构允许使用者选择使用哪一个组件,同时为 J2EE 应用程序开发提供集 成的框架。SpringMVC 以 Spring 框架为核心,
为应用程序中的 Web 层(表现层)提出的一套优秀的解 决方案。    
目前很多公司都使用 Spring MVC,60%以上的招聘单位要求熟悉使用 Spring MVC。

Spring Web MVC 能帮我们做什么

√让我们能非常简单的设计出干净的 Web 层和薄薄的 Web 层; 
√进行更简洁的 Web 层的开发; 
√天生与 Spring 框架集成(如 IoC 容器、AOP 等); 
√提供强大的约定大于配置的契约式编程支持; 
√能简单的进行 Web 层的单元测试; 
√支持灵活的 URL 到页面控制器的映射; 
√非常容易与其他视图技术集成,如 Velocity、FreeMarker 等等,因为模型数据不放在特定的 API 里,
而是放在一个 Model 里(Map 数据结构实现,因此很容易被其他框架使用); 
√非常灵活的数据验证、格式化和数据绑定机制,能使用任何对象进行数据绑定,不必实现特定框架的
API; 
√提供一套强大的 JSP 标签库,简化 JSP 开发; 
√支持灵活的本地化、主题等解析; 
√更加简单的异常处理; 
√对静态资源的支持; 
√支持 Restful 风格。 


SpringMvc的执行流程


1.程序读取 web.xml 文件 
2.系统启动的时候根据配置文件创建 spring 的容器, 
3.首先是发送 http 请求到核心控制器 disPatherServlet, 
4.spring 容器通过处理器映射器去寻找业务控制器(@Controller),
使用适配器找到相应 的业务类(找到对应的方法),
执行完业务类后使用 ModelAndView 进行视图转发,
数据 放在 model 中,用 map 传递数据进行页面显示。 

SpringMVC原理图




1、用户发送请求至前端控制器 DispatcherServlet  
2、DispatcherServlet 收到请求调用 HandlerMapping 处理器映射器。  
3、处理器映射器找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并 返回给 DispatcherServlet。  
4、DispatcherServlet 调用 HandlerAdapter 处理器适配器  
5、HandlerAdapter 经过适配调用具体的处理器(Controller,也叫后端控制器)。  
6、Controller 执行完成返回 ModelAndView  
7、HandlerAdapter 将 controller 执行结果 ModelAndView 返回给 DispatcherServlet  
8、DispatcherServlet 将 ModelAndView 传给 ViewReslover 视图解析器  
9、ViewReslover 解析后返回具体 View  
10、DispatcherServlet 根据 View 进行渲染视图(即将模型数据填充至视图中)。  
11、DispatcherServlet 响应用户

文章目录
  1. 1. date: 2019/8/9 2:07:13
  • 为什么要学习 SpringMVC?
    1. 1. Spring Web MVC 能帮我们做什么
  • SpringMvc的执行流程
  • SpringMVC原理图