MVC
描述了当使用Observer
模式时,模型通知视图更改的情况。
这不是Spring MVC的工作方式。
Spring MVC是一个Model2框架,因为它不会从模型中通知视图 - 控制器只是将模型数据传递给视图并执行HTML生成。
那么为什么称其为“Spring MVC”?
MVC
描述了当使用Observer
模式时,模型通知视图更改的情况。
这不是Spring MVC的工作方式。
Spring MVC是一个Model2框架,因为它不会从模型中通知视图 - 控制器只是将模型数据传递给视图并执行HTML生成。
那么为什么称其为“Spring MVC”?
MVC是一种设计模式,其中包括视图、模型和控制器。关于视图如何在模型更改时更新自身,没有特定的声明说应该从视图到模型使用观察者模式。视图主动重新查询模型以更新自身符合MVC规范。
Model2是MVC设计的一种实现方式。这是Java EE团队发布的东西(还有不符合MVC标准的Model1)。简而言之,虽然Model1表示您只在一侧(bean)上有模型分离,而在另一侧(由JSP页面表示的视图和控制器)上有视图加控制器,但在Model2范例中,您将JSP作为视图,bean作为模型,servlet作为控制器。
Spring-MVC被称为Spring-Model2,因为Model2与特定的Java EE组件(如servlet、JSP和bean)相关,而Spring-MVC涵盖的不仅仅是这些:控制器不是servlet,视图可以是除JSP之外的其他内容等等。