Model1 的特性是表单提交的结果是由产生该表单的Servlet或者JSP页面来处理。这种设计风格使得我们将表现层逻辑和业务层逻辑混合在一起。当项目里面的程序员仅仅具有一方面的技能的时候,经常使用这种方法。同时,当项目的时间很紧的时候,使用该方式也很有用。但这样设计会导致以后的系统维护和增强时都很困难。
Model2的设计方法是将表单的数据交给一个控制器模块。控制器模块将数据转发给合适的业务逻辑模块来处理。业务逻辑模块和数据库打交道,同时还获取要进一步和用户打交道使用的数据。然后控制器模块将创建响应页面的工作交给表现层模块来处理。表现层的唯一功能就是创建响应页面。
实际上基于Model2创建的应用程序并不比基于Model1创建的应用程序需要更多的时间。但是使用Model2创建应用程序的好处会很快显现出来。如果我们基于一个恰当的体系结构创建应用程序,则对于一个层次进行的主要修改并不会对于其他层次有影响。