基于J2EE平台的Struts框架和JSF框架的比较和研究

基于J2EE平台的Struts框架和JSF框架的比较和研究

论文摘要

目前,国内外信息化建设已经进入以Web应用为基础核心的阶段,Java语言应该算得上是开发Web应用的最佳语言。因此,以Java语言为基础的J2EE企业级应用系统逐渐成为计算机Web应用系统的主流。起先,我们使用servlet和JSP编写Web应用,但它们处理很多常见的任务都需要大量的编程工作。J2EE下各种框架的出现就是为了简化这些任务。大部分的J2EE Web应用在职责上至少能被分为3层:表示层,业务层和持久层。每层在功能上都应该是十分明确的,而不应该与其他层混合。一个好的框架一般有针对性地处理某一层的问题,并能把它做好,而且它能把开发者从底层编码中解放出来,使他们能专心于应用程序的逻辑。Struts和JSF就是针对表示层推出的两个十分优秀的框架,Struts是Apache组织的开源J2EE应用框架,是一个拥有灵活控制层的高度扩展性的框架,JavaServer Faces是J2EE世界中首个具有RAD(快速开发)风格,可以开发定制用户界面的Web应用的服务器端技术。Struts和JSF都采用了模型-视图-控制器(MVC)模式,将面向对象的设计与可视化接口分开,视图负责与用户进行交互,模型是业务逻辑和数据,而控制器则是响应用户事件并集成模型与视图的应用代码。这种模式确保了应用是松散耦合的,因而减少了各层之间的依赖性。Struts使用JSP定制标记和MVC提高了代码的可重用性和控制层的灵活性,因出现较早,已经成为J2EE中事实上的标准。JSF是由Sun公司倡导的技术,已经成为JavaEE的规范之一,它的主要目的是为开发Web应用的用户界面提供一个标准框架。JSF提供了富有表现力的组件模型,并且用户界面组件是在服务器上运行的,对客户端生成的事件做出响应。同时,它们之间也存在很多的不同。首先,JSF的开发是基于组件的,一个组件就可以触发一个事件,而在Struts中实际是一个表单只能对应一个事件(一个动作Action),因此相对于Struts这种称为基于请求的事件而言,JSF的基于组件的事件是一种更细粒度的事件,这也是Struts和JSF最大的区别。其次,Struts的JavaBean ActionForm中只包含了与页面相对应的属性,与页面相对应的行为则放在Action类中,而JSF的backing bean中同时包含了属性和相应的行为。另外,两者在显示技术、实现、性能方面也有差别。本文在对两种框架进行介绍的基础上,从它们的基本概念和实现原理入手,在基础构造、体系结构及扩展、性能、实现等方面进行了详细比较,指出了两种框架的异同,并总结了它们各自的优点和缺点,从而谈到它们在J2EE Web应用中可以互为补充的可能性,进而提出在J2EE Web应用中集成使用Struts和JSF两种框架,这样可以充分发挥它们各自的优点,并屏蔽掉它们的缺点。本文在从理论充分论证集成使用两种框架的可行性基础上,通过一个Web实例展示了集成Struts和JSF的运行效果,并对在以后项目开发中如何使用这两种框架给出了自己的见解。

论文目录

  • 中文摘要
  • ABSTRACT
  • 0 绪论
  • 0.1 研究背景
  • 0.2 国内外研究现状
  • 0.2.1 Struts 框架概述
  • 0.2.2 JSF 框架概述
  • 0.3 本文主要研究内容和创新
  • 1 J2EE 和MVC 设计模式
  • 1.1 J2EE 平台介绍
  • 1.1.1 J2EE 简介
  • 1.1.2 J2EE 的优势
  • 1.1.3 J2EE 架构层次划分
  • 1.2 MVC 模式在J2EE 架构中的应用
  • 1.2.1 设计模式的概念
  • 1.2.2 MVC 模式结构
  • 1.2.3 MVC 模式实现流程
  • 1.2.4 MVC 模式在Web 系统中的应用
  • 1.2.5 MVC 模式的优点
  • 1.2.6 MVC 模式的缺点
  • 1.3 JSP MODEL1 和JSP MODEL2
  • 2 STRUTS 框架介绍
  • 2.1 STRUTS 实现MVC 的机制
  • 2.2 STRUTS 的配置
  • 2.3 STRUTS 控制器组件
  • 2.4 STRUTS 模型组件
  • 2.5 STRUTS 视图组件
  • 3 JSF 框架介绍
  • 3.1 用户界面组件模型
  • 3.2 JSF 页面生命周期
  • 3.2.1 请求处理的生命周期场景
  • 3.2.2 JSF 标准生命周期
  • 3.3 JSF 编程模型
  • 3.4 JSF 配置
  • 4 STRUTS 和JSF 的比较
  • 4.1 STRUTS 和JSF 的相同点
  • 4.1.1 面向对象的应用框架
  • 4.1.2 MVC 设计模式
  • 4.1.3 类型转换
  • 4.1.4 页面导航
  • 4.1.5 国际化和本地化
  • 4.1.6 基于XML 的配置文件
  • 4.1.7 标签库
  • 4.1.8 数据验证
  • 4.2 STRUTS 和JSF 的不同点
  • 4.2.1 JSF 产生的背景
  • 4.2.2 Struts 和JSF 的现状
  • 4.2.3 Struts 基于请求的开发和JSF 基于组件的开发
  • 4.2.4 ActionForm 对比managed-bean(backing bean)
  • 4.2.5 显示技术的对比
  • 4.2.6 JSF 比Struts 更简化开发
  • 4.2.7 Struts 和JSF 的性能比较
  • 4.2.8 JSF 比Struts 有更多的选择
  • 4.2.9 Struts 比JSF 增强的异常管理
  • 4.3 STRUTS 的优缺点
  • 4.4 JSF 的优缺点
  • 4.5 比较STRUTS 和JSF 的结论
  • 5 集成STRUTS 和JSF
  • 5.1 集成STRUTS 和JSF 的原因
  • 5.2 集成STRUTS 和JSF 的可行性分析
  • 5.3 集成STRUTS 和JSF
  • 5.3.1 设置正确的库
  • 5.3.2 迁移Struts JSP 标签
  • 5.4 集成STRUTS 和JSF 的实践
  • 5.4.1 网上购书系统需求分析
  • 5.4.2 网上书店系统分析和设计
  • 5.4.3 将JSF 加入到网上书店应用系统中
  • 5.5 小结
  • 6 总结与展望
  • 参考文献
  • 致谢
  • 在读期间科研成果目录
  • 相关论文文献

    标签:;  ;  ;  

    基于J2EE平台的Struts框架和JSF框架的比较和研究
    下载Doc文档

    猜你喜欢