JavaBean使用

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第6章JavaBean组件程序设计内容提要简要介绍组件的基本概念JavaBean的编写以及调用方法JavaBean的属性本章主要介绍组件开发技术组件技术概述现在软件开发都已经转向了基于组件的开发,目前具备代表性的组件技术:微软的COM、COM+Sun的JavaBean和EJB(EnterpriseJavaBean)CORBA(CommonObjectRequestBrokerArchitecture,公共对象请求代理结构)本节主要介绍:组件和容器Bean开发工具JavaBean简介组件和容器容器是包含其它组件的组件。它们被用作组件的框架。例如,可视化的开发工具使你能拖放组件到容器中,这些容器能调整大小和位置。软件组件模型描述了如何开发和使用组件。软件组件模型包括以下元素:创造和使用组件的规范;软件实现规范,为建造和使用组件提供一种具体的机制。JavaBean规范将“软件组件”的概念引入到Java编程的领域。组件是自包含的、可重用的软件单元;JavaBean规范为Java开发人员提供了一种“组件化”其Java类的方法。Bean开发工具JavaSoft,开发Java系列开发工具的公司,开发了BDK(Bean开发工具)。BDK可供开发者自由地使用,适用于Windows2000、XP、2003、以及Solaris2.4和2.5。其它用于Bean开发的各种工具,常用的有7个。SunMicroSystems公司的JavaPlan;SunMicroSystems公司的JavaStudio;SunMicroSystems公司的JavaWorkshop;IBM的VisualAgeforJava;Symantec的VisualCaféforJava;微软公司的VisualJ++;Boland公司的Jbuilder。JavaBean简介JavaBean是一种软件组件模型。它与其它软件对象相互作用,决定如何建立和重用软件组件。这些可重用软件组件被称之为Bean。在Sun公司的JavaBean规范的定义中,Bean的正式说法是:“Bean是一个基于Sun公司的JavaBean规范的、可在编程工具中被可视化处理的可复用的软件组件”。因此JavaBean具有4个基本特性:(1)独立性(2)可重用性(3)在可视化开发工具中使用(4)状态可以保存JavaBean简介JSP较其他同类语言最强有力的方面就是能够使用JavaBean组件,JavaBean组件就是利用Java语言编写的组件,它好比一个封装好的容器,使用者并不知道其内部是如何构造的,但它却具有适应用户要求的功能。每个JavaBean都实现了一个特定的功能,通过合理地组织不同功能的JavaBean,可以快速生成一个全新的应用程序。如果将一个应用程序比做一间空房间,那么这些JavaBean就好比房间中的家具。使用JavaBean的最大优点就在于它可以提高代码的重用性,例如正在开发一个商品信息显示界面,由于商品信息存放在数据库指定表中,此时需要执行连接数据库、查询数据库、显示数据操作,如果将这些数据库操作代码都放入JSP页面中,代码复杂度可以想象,非编程人员根本无法接收这样的代码,这将为开发带来极大的不便。编写一个成功的JavaBean,宗旨是“一次性编写,任何地方执行,任何地方重用”,这正迎合了当今软件开发的潮流,“简单复杂化”,将复杂需求分解成简单的功能模块,这些模块是相对独立的,可以继承、重用,这样为软件开发提供了一个简单、紧凑、优秀的解决方案。JavaBean编程JavaBean分成可视组件和非可视组件。在JSP中主要使用非可视组件,它又分为值JavaBean和工具JavaBean。对于非可视组件,不必去设计它的外观,主要关心它的属性和方法。无论哪一种JavaBean,当它们被编译成Class文件后,需要放在项目中的WEB-INF\classes目录下,才可以在JSP页面中被调用。本节内容JavaBean的特点JavaBean页面指令JavaBean编写及使用JavaBean的属性JavaBean编程JavaBean分成可视组件和非可视组件。在JSP中主要使用非可视组件,对于非可视组件,不必去设计它的外观,主要关心它的属性和方法。无论哪一种JavaBean,当它们被编译成Class文件后,需要放在项目中的WEB-INF\classes目录下,才可以在JSP页面中被调用。本节内容JavaBean的特点JavaBean页面指令JavaBean编写及使用JavaBean的属性JavaBean的特点JavaBean是符合特殊规范Java类,所以只要会写类就能编写Bean。一个完整JavaBean在类的命名上需要遵守4点:1、如果类的成员变量的名字是xxx,那么为了更改或获取成员变量的值,在类中使用两个方法:getXxx(),用来获取属性xxx。setXxx(),用来修改属性xxx。2、对于boolean类型的成员变量,允许使用is代替get。3、类中方法的访问属性必须是public的。4、类中如果有构造方法,那么这个构造方法也是public的,并且是无参数的。编写JavaBean案例名称:简单的JavaBean程序名称:j6_01.javapackageBean;importjava.io.*;publicclassj6_01{intradius;publicj6_01(){//构造方法radius=1;}publicintgetRadius(){//获取成员变量的值returnradius;}publicvoidsetRadius(intnewRadius){//更改成员变量的值radius=newRadius;}publicdoublecircleArea(){returnMath.PI*radius*radius;}publicdoublecirclLength(){return2.0*Math.PI*radius;}}JavaBean页面指令在JSP中专门提供三个页面指令来和JavaBean交互,分别是:jsp:useBean指令:指定JSP页面中包括的JavaBeanjsp:setProperty指令:设置JavaBean的属性jsp:getProperty指令:得到某个JavaBean的属性值JavaBean页面指令id是当前页面中引用JavaBean的名字,JSP页面中的Java代码将使用这个名字来访问JavaBean。scope:指定JavaBean的作用范围,可以取4个值。page:JavaBean只能在当前页面中使用。在JSP页面执行完毕后,该JavaBean将会被进行垃圾回收。request:JavaBean在相临的两个页面中有效。session:JavaBean在整个用户会话过程中都有效。application:JavaBean在当前整个Web应用的范围内有效。jsp:useBeanid=beanidscope=page|request|session|applicationclass=package.class/jsp:useBean指令指定JSP页面中包括的JavaBean,具体的语法格式为:JavaBean的作用域applicationsessionpagerequestpage作用域page作用域在这4种类型中范围是最小的,客户端每次请求访问时都会创建一个JavaBean对象。JavaBean对象的有效范围是客户请求访问的当前页面文件,当客户执行当前的页面文件完毕后JavaBean对象结束生命。在page范围内,每次访问页面文件时都会生成新的JavaBean对象,原有的JavaBean对象已经结束生命期。返回request作用域当scope为request时,JavaBean对象被创建后,它将存在于整个request的生命周期内,request对象是一个内建对象,使用它的getParameter方法可以获取表单中的数据信息。Request范围的JavaBean与request对象有着很大的关系,它的存取范围除了page外,还包括使用动作元素jsp:include和jsp:forward包含的网页,所有通过这两个操作指令连接在一起的JSP程序都可以共享同一个JavaBean对象。返回session作用域当scope为session时,JavaBean对象被创建后,它将存在于整个session的生命周期内,session对象是一个内建对象,当用户使用浏览器访问某个网页时,就创建了一个代表该链接的session对象,同一个session中的文件共享这个JavaBean对象。客户对应的session生命期结束时JavaBean对象的生命也结束了。在同一个浏览器内,JavaBean对象就存在于一个session中。当重新打开新的浏览器时,就会开始一个新的session。每个session中拥有各自的JavaBean对象。返回application作用域当scope为application时,JavaBean对象被创建后,它将存在于整个主机或虚拟主机的生命周期内,application范围是JavaBean的生命周期最长的。同一个主机或虚拟主机中的所有文件共享这个JavaBean对象。如果服务器不重新启动,scope为application的JavaBean对象会一直存放在内存中,随时处理客户的请求,直到服务器关闭,它在内存中占用的资源才会被释放。在此期间,服务器并不会创建新的JavaBean组件,而是创建源对象的一个同步拷贝,任何拷贝对象发生改变都会使源对象随之改变,不过这个改变不会影响其它已经存在的拷贝对象。返回JavaBean的作用域示例(1)通过下面的实例说明4个作用域:首先,创建一个JavaBean:“Scope.java”。packagescope;publicclassScope{publicScope(){}//无参的构造函数privateintnumber=0;//初始化变量number的值为0publicintgetNmuber(){//增加并返回变量number的值number++;returnnumber;}publicvoidsetNumber(intnewNumber){this.number=newNumber;//给变量number赋新值}}JavaBean的作用域示例(2)然后,创建名称为“scope.jsp”的页面文件,用来显示JavaBean存在的范围的具体区别。主要代码:bodyjsp:useBeanid=pageScopescope=pageclass=scope.Scope/%out.println(使用page获取的数据为:+pageScope.getNmuber());%jsp:useBeanid=requestScopescope=requestclass=scope.Scope/%out.println(使用request获取的数据为:+requestScope.getNmuber());%jsp:useBeanid=sessionScopescope=sessionclass=scope.Scope/%out.println(使用session获取的数据为:+sessionScope.getNmuber());%jsp:useBeanid=applicationScopescope=applicationclass=scope.Scope/%out.println(“使用application获取的数据为:”+applicationScope.getNmuber());%/bodyJavaBean的作用域示例(3)程序运行结果如图1所示:关闭该浏览器,重新打开新的浏览器后的结果如图2所示:图1图2返回调用JavaBean案例名称:调用J

1 / 32
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功