网站建设中与模型1结构一样,模型2也将业务对象与JSP页面分开,对于多数web开发项目来说,由于其业务对象不断变化,所以,这一点是很重要的。除此之外,模型2还将内容的产生与内容的显示分离开来。模型2结构向servlet提交请求,此请求通过访问业务对象来产生内容。产生的内容存储在bean中,然后JSP页面访问bean,最终通过HTML显示内容。
将内容的产生与显示分离开来很有益处,因为大部分JAVA代码都用来产生内容。把JAVA代码封装起来,使得软件开发人员可以致力于servlet和业务对象的开发,而网页制作者致力于相应的JSP页面的生成。
模型2是MVC结构,在这种结构中,业务对象代表模型(数据),servlet充当控制器(处理请求),JSP页面是模型的视图。MVC结构起源于计算机早期的Smalltalk。MVC结构把业务和显示分离开来,这已经经受了时间的考验。正是这种分离,使得可插入部件的应用称为可能,进而可以开发出灵活的、可重用的和适应性强的软件。需要注意的是,模型2结构实际上是修改后的MVC实现,因为它的模型不启动其视图事件。改进的原因是,web应用程序通常每次只能显示其模型的一个视图。