走进Java(四)JSP的Model1和Model2

  Model在计算机程序中有2个概念:一个是三层架构中的实体类,另一个是MVC架构中的模型。然而我今天的主题Model1Model2其实都是从MVC模型来讲的。Model1其实也算是一种简单MVC思想,因为它仍然存在显示与内容的分离,所有的数据存取都是由bean来完成。详细对比二者:

Model1:

  如下图,Model1只有JSPbean。它的中心是JSP页面,JSP页面中既有html页面脚本,又有<%java代码 %>,这样就在JSP页面中同时实现了业务逻辑和流程控制,一方面可以快速开发,另一方面,jsp职责过重,逻辑混乱,不好维护。

Model1的优缺点:

  优点:简单,快速开发,适用小规模开发;

  缺点:业务逻辑和表示逻辑混合在JSP页面中没有进行抽象和分离,JSP负载太大。所以非常不利于应用系统业务的重用和改动,不便于维护。


Model2:

  Model2表示的是基于MVC模式的框架。

  MVC“Model”代表的是应用的业务逻辑(通过JavaBean,EJB组件实现);

  MVC“View”是应用的表示层(由JSP页面产生);

  MVC“Controller”是提供应用的处理过程控制(一般是一个Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用。从而弥补了Model1的不足。Model2其实是在Model1基础上又抽了一层控制层。

Model2优缺点:

  优点:具有组件化的优点从而更易于实现对大规模系统的开发和管理。职责划分清晰。

  缺点:不适合小项目开发。


  Model1在一定程序上实现了MVC:即JSP是控制层与表示层合二为一了,bean则为模式层.这样的效果显然不如将控制层单独划分出来的好。而Model2则是将控制层(Servlet)单独的划分出来了,专门负责业务流程的控制,接受页面的请求,创建所需的javabean实例,并将处理后的数据再返回给JSP,这样的效果显然要好的多。

  两种模式的选择,其实就是耦合度松紧的问题。除非项目非常简单,否则还是建议用Model2

你可能感兴趣的:(走进Java(四)JSP的Model1和Model2)