频道栏目
首页 > 程序开发 > 软件开发 > Java > 正文
Struts2--- 一步步的产生史
2015-03-31 10:31:08         来源:张颖杰 廊坊师范学院信息技术提高班 第九期  
收藏   我要投稿

struts2一步步的产生史

1 JSP:

在早期的web应用中使用的都是html的静态页面,jsp通过在HTML文件中嵌入java脚本,实现了页面动态。HTML标签负责布局和显示外观。java代码负责提取动态数据,实现业务逻辑。对于简单的应用,这种方式能够简化开发难度,加快开发速度,但是同时也带来了问题,对于较大的项目,大量的html与java代码混杂在一起,导致页面显示逻辑和业务逻辑混乱,是代码的可读性差,维护比较困难。

为了分离显示和业务逻辑,sun公司制定了两种jsp开发模式model1和model2。

2 model1 :

使用jsp和javabean技术将页面显示和业务逻辑分开。jsp负责页面显示,想javabeans提交请求,javabeans用来实现业务逻辑和处理数据。

\

从图中不难看出,jsp负责处理请求,并将处理结果返回。所有的数据通过javabeans处理,jsp负责显示。但是它也存在着弊端,对于大型的应用系统,在页面中大量的java语句将页面逻辑和业务逻辑混杂,不易理解和维护。

3 model2

在model1中,jsp页面嵌入了流程控制代码和部分的逻辑处理代码,将这部分代码提取出来,放到一个单独的角色中,这个角色就是控制器角色,而这样的web架构就是model2。model2符合mvc架构模式<喎"/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+PGltZyBzcmM9"https://img.blog.csdn.net/20150330205700234" alt="\">

Servlet充当控制器的角色,它接受请求,并且根据请求信息将他们分发给形影的jsp页面来产生响应。Servlet控制器还根据jsp视图的需求生成javabeans的实例并输出给jsp。采用model2的高价购,可以将页面的显示、业务逻辑的处理和流程的控制和清晰的区分开,jsp负责数据的显示,javabeans负责承载数据以及业务逻辑的处理,servlet负责流程的控制。前端页面设计人员和后端java开发人员同步开发,互不干扰。

4 web框架--struts

基于mvc架构模式开发的web应用程序,容易出现多个控制器,在编写控制器时,页面导航的处理也比较复杂。通过对基于mvc框架web应用程序进行分析。 相同: (1)所有的请求直接访问controller,由控制器对请求进行分发。 (2) 控制器实例化javabean对象,有javabean对象处理业务逻辑,和处理数据。 (3)控制器根据请求处理的结果,向用户呈现相应的视图。 不同: (1)用户请求URL的不同应用了不同处理单元 (2)不同表单提交的数据需要不同的javabean对象来保存数据 (3)请求处理结果的不同导致控制器向用户呈现视图的不同。 根据这些相同不同之处, 可以开发一款web软件,它按照mvc架构实现整个调用流程,对于需要变化的地方采用外部配置文件的方式来解决。有了这种灵活配置的方式,就可以把web软件开发成一个平台,提供给其他开发者使用,web框架诞生。使用web框架减轻了我们开发web应用的负担,提高开发效率,降低维护成本。 web框架有很多,比如Struts、WebWork、Spring MVC、Tapestry、JSF、WebPage3.0。后面的内容中讲继续介绍struts框架。

4.1 struts1

4.1.1 struts1的结构图:

n块棣薻痕5i薭^mηW陬锻Zr亘潷-妷趩窡组件,调用业务组件方法完成业务逻辑,有开发人员编写,struts1框架提供了action基类,我们编写action类的时候需要继承Action基类。

(2)模型

模型分为2部分,一部分是struts1框架规定的form bean对象,负责保存提交的表单数据。另一部分由开发人员为本系统的业务逻辑而编写的业务组件类。

(3)视图

struts1 框架支持JSTL、JSF、XSLT等

4.1.2 缺点

1 actionform麻烦 2 单元测试困难

4.2 struts2

总结:

根据struts2的产生来看,一种框架的产生和技术的产生和发展都是在需求的推动下,以及现有技术存在的问题而产生的。



点击复制链接 与好友分享!回本站首页
相关TAG标签
上一篇:记一次随机字符串生成算法的随机概率与性能的提升
下一篇:Spring学习(2)Spring 常用注解
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站