标签:
在早期的web应用中使用的都是html的静态页面,jsp通过在HTML文件中嵌入java脚本,实现了页面动态。HTML标签负责布局和显示外观。java代码负责提取动态数据,实现业务逻辑。对于简单的应用,这种方式能够简化开发难度,加快开发速度,但是同时也带来了问题,对于较大的项目,大量的html与java代码混杂在一起,导致页面显示逻辑和业务逻辑混乱,是代码的可读性差,维护比较困难。
为了分离显示和业务逻辑,sun公司制定了两种jsp开发模式model1和model2。
使用jsp和javabean技术将页面显示和业务逻辑分开。jsp负责页面显示,想javabeans提交请求,javabeans用来实现业务逻辑和处理数据。
从图中不难看出,jsp负责处理请求,并将处理结果返回。所有的数据通过javabeans处理,jsp负责显示。但是它也存在着弊端,对于大型的应用系统,在页面中大量的java语句将页面逻辑和业务逻辑混杂,不易理解和维护。
在model1中,jsp页面嵌入了流程控制代码和部分的逻辑处理代码,将这部分代码提取出来,放到一个单独的角色中,这个角色就是控制器角色,而这样的web架构就是model2。model2符合mvc架构模式
Servlet充当控制器的角色,它接受请求,并且根据请求信息将他们分发给形影的jsp页面来产生响应。Servlet控制器还根据jsp视图的需求生成javabeans的实例并输出给jsp。采用model2的高价购,可以将页面的显示、业务逻辑的处理和流程的控制和清晰的区分开,jsp负责数据的显示,javabeans负责承载数据以及业务逻辑的处理,servlet负责流程的控制。前端页面设计人员和后端java开发人员同步开发,互不干扰。
4.1 struts1
(1)控制器
struts1的控制器有两部分组成,一部分是actionservlet,这个类继承自httpservlet,有struts1提供,作为中央控制器,它根据用户请求选择相应的action类对请求进行处理。另一部分是action类,负责创建业务组件,调用业务组件方法完成业务逻辑,有开发人员编写,struts1框架提供了action基类,我们编写action类的时候需要继承Action基类。
(2)模型
模型分为2部分,一部分是struts1框架规定的form bean对象,负责保存提交的表单数据。另一部分由开发人员为本系统的业务逻辑而编写的业务组件类。
(3)视图
struts1 框架支持JSTL、JSF、XSLT等
4.2 struts2
总结:
根据struts2的产生来看,一种框架的产生和技术的产生和发展都是在需求的推动下,以及现有技术存在的问题而产生的。
标签:
原文地址:http://blog.csdn.net/zhangyingjie09/article/details/44756513