(4) Action组件
所有Action类都是org.apache.struts.action.Action扩展类,是用户请求和业务逻辑之间的桥梁,每个Action可以充当一项业务代理。它是Struts应用程序开发的核心, 控制着应用程序的流程,它接收ActionForm类的用户请求数据,根据请求数据调用相应的模型来处理业务逻辑,并根据处理结果指明应用的流向,Action类应该是控制应用程序的流程,而不是控制应用程序的业务逻辑,所以通常将业务逻辑放在JavaBean 或EJB中处理,这样就可以为WEB应用提供更大的灵活性和重用性。
(5) ActionForm组件
ActionForm类是org.apache.struts.action.ActionForm扩展类,程序开发人员为每个JSP页面的表单都创建的一个ActionForm Bean, 以维护Web 应用程序的会话状态,但一个ActionForm可以对应多个表单, 具有很好的重用性。它要求为表单中出现的每个字段定义一个属性,是视图与模型进行数据交换的桥梁。使用它的目的是为了存储用户在相关表单中输入的数据,在数据校验通过后,由控制器传送给相应的模型进行业务逻辑操作,同时在数据校验失败后,将同一网页进行再生,并提供一组错误信息,这样就可以让用户只修改错误的输入数据。
3.1.2 Hibernate框架
在当今的企业级应用开发中,面向对象的开发方法已经成为主流,但是在数据库的应用方面关系数据库仍然是主流,它是非面向对象的,并且关系数据库技术已经发展得相当成熟,占据了数据库市场90%以上的份额,对象数据库的普及尚需时日,所以本文有必要对关系数据库进行封装,使之成为可以操纵的对象[8]。而且在Struts框架下的三层结构:表示层、业务逻辑层、数据层,这样的划分虽然是非常经典的,但是在实际项目中,往往会对三层体系结构做一些扩展来满足目的需要[9]。
一个最常用的扩展就是将三层体系扩展为四层体系,即表示层、控制层、业务逻辑层、数据持久层。这就是将数据持久单独作为一个体系层提出来,使之成为Java应用和关系数据库之间的桥梁[10]。数据持久层就是在对象-关系数据库之间提供一个成功的企业级别的映射解决方案,尽最大可能弥补这两种范例之间的差异[11]。
目前在数据持久层已经有很多现成的持久化中间件可供选用。如:Top Link、JDO、Hibernate等。而Hibernate是一个基于Java的开源的中间件,它对JDBC做了轻量级的封装,不仅提供了对象-关系映射服务,还提供了数据查询和数据缓存的功能,并且其有丰富的API来帮助开发人员操纵数据库,所以选择Hibernate作为本项目的持久化中间件[12]。
3.2 MVC设计模式
MVC 英文全称是 Model-View-Controller。MVC设计模式是一种将数据处理和数据表现的分离方法,其已被推荐为J2EE(Java 2 Enterprise Edition) 平台的设计模式。在J2EE中引入MVC设计模式,有助于把WEB应用的各个部分划分到MVC模式中合理的组件上,从而可以方便的进行系统的开发、维护和扩充。随着J2EE各种组件技术的广泛应用和MVC设计模式的发展与完善,J2EE与MVC设计模式在WEB应用系统开发领域达到了完美的结合。目前,这种结合己经被广泛的应用于许多企业级WEB应用系统的开发过程中。其中,JSP用于创建与用户交互的视图,Java Bean, EJB等组件用于创建实现业务逻辑的模型,Servlet用于创建实现业务逻辑与用户交互的控制器。
3.2.1 MVC设计模式的基本思想
MVC设计模式即把一个应用的输入、处理、存储、输出流程按照 Model、View、Controller 的方式进行彻底的分离,这样一个应用被分成三个层——模型层、视图层、控制层。
3.2.2 MVC设计模式的应用
尽管MVC设计模式很早就提出,但在Web项目的开发中引入MVC却是步履维艰。直到基于J2EE的JSP Model 2 问世时才得以改观。它用JSP技术实现视图的功能,用Servlet技术实现控制器的功能,用EJB(Enterprise JavaBean) 或Java Bean实现模型的功能。
3.3 MyEclipse介绍
MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率[13]。它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。
在结构上,MyEclipse的特征可以被分为7类:
(1)J2EE模型
(2)WEB开发工具
(3) EJB开发工具
(4)应用程序服务器的连接器
(5)J2EE项目部署服务
(6)数据库服务
(7)MyEclipse整合帮助
对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。
简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错。
3.4 MySQL介绍
MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库[14]。
3.4.1 MySQL应用
与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQL Cluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。
目前Internet上流行的网站构架方式是LAMP(Linux+Apache+MySQL+PHP),即使用Linux作为操作系统,Apache作为Web服务器,MySQL作为数据库,PHP作为服务器端脚本解释器。由于这四个软件都是遵循GPL的开放源码软件,因此使用这种方式不用花一分钱就可以建立起一个稳定、免费的网站系统。
3.4.2 MySQL管理
可以使用命令行工具管理MySQL数据库(命令mysql 和 mysqladmin),也可以从MySQL的网站下载图形管理工具MySQL Administrator和MySQL Query Browser。
phpMyAdmin是由php写成的MySQL资料库系统管理程式,让管理者可用Web介面管理MySQL资料库。
phpMyBackupPro也是由PHP写成的,可以透过Web介面创建和管理数据库。它可以创建伪cronjobs,可以用来自动在某个时间或周期备份MySQL 数据库。
转贴于 酷文网-论文下载中心 http://www.coolwen.net
共13页: 上一页 [1] [2] 3 [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] 下一页
网摘收藏: