1、JavaBean技术,JavaBeans概述兰州石化职业技术学院软件教研室 任泰明2010.6,引言:,使用JSP页面,可以非常方便地实现Web应用中用户界面的表示,但要进行一些逻辑事务处理,如果使用JSP的脚本来实现,则页面会显得比较复杂。 如果能将JSP页面中的事务处理部分提取出来,组成独立地模块,并可以在JSP页面中方便地使用这些模块,这样不但可以提高了整个系统的设计效率,增强了系统的可靠性,而且使设计好的模块可以被重复使用,即实现了软件的复用。,引言:,JavaBeans是可以实现软件复用的一种组件技术。本章将介绍JavaBeans的特点,如何设计JavaBeans,在JSP中如何使用
2、JavaBeans组件等技术。 JavaBeans是SUN提出的一种基于Java的软件组件技术。 什么是组件技术?JavaBeans组件的特点是什么?如何设计一个简单的JavaBeans组件?,本讲内容:,组件技术的概念 JavaBeans组件概述 JavaBeans组件的组成,一、组件技术的概念,组件是指软件中的内在单元,可以提供相关的功能和服务。 它可以较好的解决软件的重用问题,组件可以单独开发与发布。 现在越来越多的软件系统在设计时使用了组件技术。,1、组件技术的定义,组件本身是软件模块化的产物,每一个组件都有明确的接口,以让该组件与其他的组件进行交互。 遵照同一个组件模型的组件,由于提
3、供的接口是一样的,因此可以相互替代,事实上,组件的接口提供了组件和应用程序间的约定。 人们对组件的一般定义是:组件是具有一定功能的、可以通过接口与其他组件装配起来协同工作的程序模块;组件可以进行单独开发、编译、调试和测试;一个组件可以装配到不同的软件系统中,以实现复用。,1、组件技术的定义,根据以上定义,可以总结出组件具有如下共同特点: 可预制性(prefabricate):指组件在软件系统构建之前可能已经存在; 可重用性(reusability):指一个组件可以在不同的软件系统多次使用; 封装性(encapsulation):指各组件的实现对外界不可见,是一个具有一定功能的“墨盒子”; 独立
4、性(independence):指各组件的功能、运行以及开发是可以相互分离的; 互操作性(mutual manipulation):指各组件通过接口发送消息,以实现协同工作; 可扩充性(extensible):指组件的功能和接口是可以扩充的。 为了保证组件之间可以协同工作和并行开发,要求每个组件要由实现部分和接口部分组成。,2、常用的组件技术规范,组件技术标准也叫组件技术规范,它规定了组件接口的定义,组件间通信的机制,组件组装的规范,如命名机制,消息传递机制等。 目前,软件行业主要流行的组件技术规范有三种,它们是OMG(Object Management Group)提出的CORBA(Comm
5、on Object Request Breaker Architecture),微软公司提出的COM(Component Object Model)/DCOM(Distributed COM),Sun公司提出的JavaBeans/EJB( Enterprise Java Beans)。 表10-1对这三种技术进行了简单的比较。,2、常用的组件技术规范,二、 JavaBeans组件概述,JavaBeans组件可以用来执行复杂的计算任务,或负责与数据库的交互以及数据提取等操作。 JSP对于在Web应用中集成JavaBeans组件提供了完善的支持。这种支持不仅能缩短开发时间,也为JSP应用带来了更好
6、的可伸缩性。 如果我们已经有一个JavaBeans(可能是自己设计,也可能是购买的,还有可能是从Internet网络上下载的免费组件),它可以完成数据库的有关操作,则要创建包含对数据库操作功能的JSP页面时,只需要在每个要操作数据库的页面中实例化这个Bean,就可以在该页面中使用数据库的有关操作功能了。,二、 JavaBeans组件概述,JavaBeans其实也是一个Java类,只是对类的定义进行了一定的限制,限制的目的是使一个JavaBeans具有通用性,并且能被JavaBeans的容器所识别,这样用户只要遵守JavaBeans的使用要求,不用编写代码就可以在任何一个程序中使用JavaBea
7、ns。 JavaBeans有两种类型: 可视化的JavaBeans; 非可视化的JavaBeans。 由于在Web应用中,JavaBeans只进行事务处理,不涉及用户界面,所以一般使用的是非可视化的JavaBeans,因此本章仅讨论非可视化的JavaBeans。,三、JavaBeans组件的组成,一个JavaBeans组件由属性、方法和事件3部分组成。 1 JavaBeans的属性 JavaBeans的属性用来描述组件的内部状态。一般对组件的操作都会涉及到属性,或者说对组件所有操作的最终目的就是控制它们的属性,通过属性的改变来改变内部状态。 属性的声明与一个Java类中一般属性的声明类似。一个属性包括属性名和属性的类型。 JavaBeans的属性类型可以是Java语言中的基本数据类型,也可以是复合数据类型(如类)。,三、 JavaBeans组件的组成,2 JavaBeans的方法 要对JavaBeans的属性进行操作或要进行其他的运算和处理功能,就必须要在JavaBeans中定义方法。 JavaBeans的方法表示了一个JavaBeans对外提供的功能和服务。 3 JavaBeans的事件 JavaBeans的事件与Java图形用户界面中的事件模型类似,用于响应用户的操作。,上机实践题:,编写网上书店。,