MVC1和MVC2有什么区别

时间:2011-01-03 23:59:08

标签: java model-view-controller jsp servlets

我在jsp-servlet web应用程序中使用MVC设计模式,想知道MVC1和MVC2之间的确切区别,有人可以帮忙吗?

EDIT 我刚刚听到有两个版本在servlet编程中使用MVC,我听说在MVC1中控制器和视图之间存在一种耦合,但是在MVC2中他们超越它,如果有人知道这是对还是错我会非常感激。

4 个答案:

答案 0 :(得分:12)

您可能会阅读与asp.net MVC相关的此版本,因为该框架的版本不同。 mvc模式没有2.0版本,只是asp.net MVC框架的2.0版本。

在jsp servlet的上下文中,请参阅:Model 1Model 2。简而言之:模型1没有控制器来发送请求,模型2可以。

答案 1 :(得分:4)

在MVC 1中,控制器和模型都是JSP。而在MVC2控制器中是servlet,而模型是java类。 在MVC1中,页面和模型之间存在紧密耦合,因为数据访问通常使用Custom标记或通过java bean调用完成 在MVC2架构中,只有一个控制器接收应用程序的所有请求,并负责采取适当的操作来响应每个请求。

答案 2 :(得分:1)

MVC1是第一代方法,它使用JSP页面和JavaBeans组件体系结构来实现Web的MVC体系结构。 HTTP请求被发送到实现Controller逻辑的JSP页面,并调用Model以获取更新View的数据。这种方法在JSP页面中结合了Controller和View功能,因此打破了MVC范例。 MVC1适用于简单的开发和原型设计。但是,建议不要进行认真的开发。

MVC2是Sun发明的一个术语,用于描述基于Web的应用程序的MVC体系结构,其中HTTP请求从客户端传递到Controller servlet,后者更新Model然后调用相应的View渲染器 - 例如,JSP技术,它反过来从更新的模型呈现视图。 MVC2方法的标志是控制器代码的分离 内容。 (Struts等表示框架的实现,遵循MVC2方法)。

这就是我在这里找到的:http://www.theserverside.com/discussions/thread.tss?thread_id=20685

答案 3 :(得分:-1)

MVC-1体系结构

1)在MVC-1体系结构中,单个Web组件(Servlet / JSP)用作Controller和View,但对于其他层,则采用单独的Web组件。 2)由于将单个组件作为控制器和视图,因此逻辑混合在一起。

MVC-2体系结构

1)在MVC-2体系结构中,应将单独的组件用于单独的层... 2)逻辑不混合,逻辑之间有明确的分隔。...