转自:http://blog.csdn.net/koches/article/details/7654629
http://blog.csdn.net/wpb92/article/details/51763404
对于Java阵营的动态Web编程技术而言,则经历了所谓的Model 1和Model 2时代。
一.Jsp Model 1
1.传统的Jsp Model 1模型
Jsp是独立的,自主完成所有的任务.
2.改进的Jsp Model 1模型
Jsp页面与JavaBeans共同协作完成任务
时序图:
Model 1模式的实现比较简单,适用于快速开发小规模项目。但从工程化的角度看,它的局限性非常明显:JSP页面身兼View和Controller两种角色,将控制逻辑和表现逻辑混杂在一起,从而导致代码的重用性非常低,增加了应用的扩展性和维护的难度。
早期有大量ASP和JSP技术开发出来的Web应用,这些Web应用都采用了Model 1架构。
二.Jsp Model2
1.Jsp Model2中使用了三种技术JSP、Servlet和JavaBeans
Jsp负责生成动态网页,只用做显示页面。
Servl et负责流程控制,用来处理各种请求的分派。
JavaBeans负责业务逻辑,对数据库的操作。
2.使用Jsp Model2的交互过程:
用户通过浏览器向Web应用中的Servlet发送请求,Servlet接受到请求后实例化JavaBeans对象,调用JavaBeans对象的方法,JavaBeans对象返回从数据库中读取的数据。Servlet选择合适JSP,并且把从数据库中读取的数据通过这个JSP进行显示,最后JSP页面把最终的结果返回给浏览器。
时序图:
Model 2已经是MVC设计思想下的架构,由于引入了MVC模式,使Model 2具有组件化的特点,更适用于大规模应用的开发,但也增加了应用开发的复杂程度。
Jsp Model2优点
I.消除了Jsp Model1的缺点:
II.该模式适合多人合作开发大型的Web项目
III.各司其职,互不干涉
IV.有利于开发中的分工
V.有利于组件的重用
Jsp Model2缺点
Web项目的开发难度加大,同时对开发人员的技术要求也提高了