Java学习总结--071 SpringMVC讲解

1.什么是MVC?

MVC : 模型、视图、控制器 , 是一种软件设计规范,说明不是设计模式。
本质:将业务逻辑 , 数据 , 显示 分离的方式来编写代码; 前后端分离。
**Model:**数据模型,提供要展示的数据,一般我们都会把这两个分离开来 , 数据Dao,服务层Service。
**View :**负责进行数据的渲染和展示;客户端想要看到的东西
**Controller:**接收用户请求,交给Model处理,从Model更新后的数据或者结果,返回给前端。调度员。

面向接口编程:
最典型的案例就是:JSP:View + Servlet:Controller + JavaBean:Model;

Model1

只有两层:视图层模型层
Java学习总结--071 SpringMVC讲解_第1张图片
优点:架构简单,适合小型项目开发;

缺点:JSP职责不单一 , 承受它不该承受的压力,不便于维护;

Model2

将项目分为三个模块:M:模型 V:视图 C :控制器
Java学习总结--071 SpringMVC讲解_第2张图片
职责分析:

controller:

  • 取得表单的数据
  • 调用业务的逻辑方法
  • 转向指定的页面

Model:

  • Dao:操作数据库
  • Service:业务逻辑
  • 保存数据的更新状态

View:

  • 显示页面

Model2优化了Model1时代的缺点,让所有层职责更加分明;降低了维护难度

2.SpringMVC

什么是SpringMVC

SpringMVC 是 Spring的一部分,是基于Java实现的MVC的轻量级Web框架
Java学习总结--071 SpringMVC讲解_第3张图片
官网上说Spring的web模块提供了大量独特的功能,包括:
清晰的角色划分:控制器(controller)、验证器(validator)、 命令对象(command object)、表单对象(form object)、模型对象(model object)、 Servlet分发器(DispatcherServlet)、 处理器映射(handler mapping)、视图解析器(view resolver)等等。 每一个角色都可以由一个专门的对象(类)来实现。< Bean>

强大而直接的配置方式:将框架类和应用程序类都能作为JavaBean配置,而且支持跨多个context 的引用。

可适配、非侵入:可以根据不同的应用场景,选择合适的控制器子类 (simple型、command型、form型、wizard型、multi-action型或者自定义),而不是从单一控制器 (比如Action/ActionForm)继承。

可重用的业务代码:可以使用现有的业务对象作为命令或表单对象,而不需要去扩展某个特定框架的基类。

可定制的绑定(binding) 和验证(validation):比如将类型不匹配作为应用级的验证错误, 这可以保存错误的值。再比如本地化的日期和数字绑定等等。在其他某些框架中,你只能使用字符串表单对象, 需要手动解析它并转换到业务对象。

可定制的handler mapping和view resolution:Spring提供从最简单的URL映射, 到复杂的、专用的定制策略。与某些web MVC框架强制开发人员使用单一特定技术相比,Spring显得更加灵活。

灵活的model转换:在Springweb框架中,使用基于Map的 键/值对来达到轻易地与各种视图技术的集成。

可定制的本地化和主题(theme)解析:支持在JSP中可选择地使用Spring标签库、支持JSTL、支持Velocity(不需要额外的中间层)等等。

简单而强大的JSP标签库(Spring Tag Library):支持包括诸如数据绑定和主题(theme) 之类的许多功能。它提供在标记方面的最大灵活性。

JSP表单标签库:在Spring2.0中引入的表单标签库,使得在JSP中编写 表单更加容易。

Spring Bean的生命周期可以被限制在当前的HTTP Request或者HTTP Session。 准确的说,这并非Spring MVC框架本身特性,而应归属于Sping MVC使用的WebApplicationContext容器。

正因为SpringMVC较Struct2好 , 简单 , 便捷 , 易学 , 天生和Spring无缝集成(使用SpringIoC和Aop) , 使用约定优于配置 . 能够进行简单的junit测试 . 支持Restful风格 .异常处理 , 本地化 , 国际化 , 数据验证 , 类型转换 , 拦截器 等等…

SpringMVC框架围绕着DispatcherServlet(Servlet请求分发器)设计;

The DispatcherServlet

Java学习总结--071 SpringMVC讲解_第4张图片
Java学习总结--071 SpringMVC讲解_第5张图片

你可能感兴趣的:(JAVA学习总结,Java,SpringMVC讲解)