《动态Web数据库技术——基于JSP和XML技术实现》-王红-电子教案 5JSP与JavaBean

上传人:E**** 文档编号:89437700 上传时间:2019-05-25 格式:PPT 页数:106 大小:659.50KB
返回 下载 相关 举报
《动态Web数据库技术——基于JSP和XML技术实现》-王红-电子教案 5JSP与JavaBean_第1页
第1页 / 共106页
《动态Web数据库技术——基于JSP和XML技术实现》-王红-电子教案 5JSP与JavaBean_第2页
第2页 / 共106页
《动态Web数据库技术——基于JSP和XML技术实现》-王红-电子教案 5JSP与JavaBean_第3页
第3页 / 共106页
《动态Web数据库技术——基于JSP和XML技术实现》-王红-电子教案 5JSP与JavaBean_第4页
第4页 / 共106页
《动态Web数据库技术——基于JSP和XML技术实现》-王红-电子教案 5JSP与JavaBean_第5页
第5页 / 共106页
点击查看更多>>
资源描述

《《动态Web数据库技术——基于JSP和XML技术实现》-王红-电子教案 5JSP与JavaBean》由会员分享,可在线阅读,更多相关《《动态Web数据库技术——基于JSP和XML技术实现》-王红-电子教案 5JSP与JavaBean(106页珍藏版)》请在金锄头文库上搜索。

1、王红,第5章JSP与JavaBean,2019/5/25,2,主要内容,第5章在JSP与JavaBean 5.1 JavaBean组件技术 5.2在JSP中使用JavaBean 5.3 Bean的存放目录 5.4 JSP与Bean结合举例,2019/5/25,3,5.1 JavaBean组件技术,软件组件是离散的、可重用的软件 作为跨体系结构和跨平台的 API 实现 ,JavaBean 技术是一项组件技术,2019/5/25,4,5.1 JavaBean组件技术,JavaBean是什么? JavaBeans是一种软件组件模型。它与其它软件对象相互作用,决定如何建立和重用软件组件 Bean是一个

2、基于Sun公司的JavaBean规范的、可在编程工具中被可视化处理的可复用的软件组件 为什么开发JavaBeans? 分布式的环境对组件的要求 JavaBeans是便携式的,能够在平台之间移植,2019/5/25,5,5.1 JavaBean组件技术,JavaBean 一组用于构建可重用组件的 Java 类库 既不是Applet,也不是应用程序 特点 开发者可以对组件进行修改 “编写一次,随处运行,随处重用” 分布式网络环境执行,2019/5/25,6,5.1 JavaBean组件技术,可视化软件组件 具有可视化表示的软件组件 接收并响应用户事件 非可视化软件组件 定时器控件是非可视化组件的一

3、个示例 拼写检查器是一个独立组件,可与任何应用程序集成 组件模型 定义组件的体系结构 软件组件模型定义了两个基本元素,即组件和容器 容器也称为表单、页面、窗体或框架,容器也可以是组件,2019/5/25,7,5.1.1 JavaBean实现机理,组件和容器是自包含的程序。容器是包含其它组件的组件。他们被用作组件的框架 JavaBeans组件模型的组件和容器类似于AWT(抽象窗口工具箱)中的组件和容器类别 组件和容器支持一种分层的软件开发方式。在这种方式中,简单的组件集合在容器内以便生产复杂的组件 JavaBeans 组件,可使用可视的应用程序开发工具,可视地将它们编写到 Java 程序中,20

4、19/5/25,8,5.1.1 JavaBean实现机理,组件模型提供的服务: 自检 事件处理 持久 应用程序生成器支持,2019/5/25,9,自检,自检允许可视化的编程工具分析一个组件的内部结构,将属性、方法和事件公开给其他类 自检使查明一种Bean支持的属性、事件和方法成为可能 建造工具能使用这些信息来控制Bean的外观和行为,2019/5/25,10,自检,JavaBean支持各种的层次的自检 : 所有Bean都支持自省的基本形式,称为“隐含的自检”。包含在所有的Bean中,不要求任何额外的实现。 自检的一种更复杂的形式被称之为“明确的自省” 。它提供关于设计模式的信息,它是Bean使

5、用的方法命名的规范 最高层次的自检通过使用类和接口。他们提供关于关于Bean的方法、属性和事件的信息,2019/5/25,11,事件处理,事件处理是交换对象状态变化的一种编程机制 事件告诉对象行为的发生,诸如,一次鼠标单击或者击键已发生,使对象因此能作出反应 JavaBean中的事件处理指的是Bean理解和处理事件的能力,2019/5/25,12,持续化,持续化是Bean保存并且恢复数据的能力 持续化的主要任务是保存对象实例变量的数值,如果变量是另一个对象的引用,则引用的对象也要串行化。因此可能是一个复杂树结构的串行化。这就是人们经常说的对象持续化可以实现“深度克隆” JavaBeans使用一

6、种内置serialization机制支持持续化,它是将Java对象写入流的过程,对象的当前状态因此保存下来 Serializable接口中没有任何方法,只表明该类参加串行化协议 串行化只能保存非静态数据成员的值,不能保存其任何修饰符,也不能保存任何方法,不能保存瞬间状态和静态成员。,2019/5/25,13,应用程序生成器,定制是JavaBeans的重要的特性之一 所有组件需要使用构造工具来可视地定制 诸如BeanBox之类的工具被称为应用程序生成器,用来定制组件的外观和行为,2019/5/25,14,Bean开发工具,JavaSoft公司的BDK (Bean开发工具) Sun MicroSy

7、stems公司的JavaPlan Sun MicroSystems公司的Java Studio Sun MicroSystems公司的Java Workshop 2.0 IBM的Visual Age for Java Symantec的Visual Caf for Java 2.5 微软公司的Visual J+ Boland公司的Jbuilder,2019/5/25,15,5.1.2 JavaBean的属性和方法,一般的,Bean的属性都具有private特性,方法可以具有public、private和protected特性。 Bean的属性确定其外观或者行为。 具有public特性的方法集合

8、是Bean对外的接口。 与一般Java类不同的是,JavaBean的接口方法必须符合JavaBean的语法规范(在明确自检中),只有这样Java编程工具才能实现自检机制,用户才能访问属性 .,2019/5/25,16,5.1.2 JavaBean的属性和方法,基本结构 由数据和方法组成 方法包括public、private 和 protected public 方法集合是接口 两种主要的开发方式: 使用应用程序生成器工具 以手写方式编码,2019/5/25,17,5.1.2 JavaBean的属性和方法,使用应用程序生成器工具的步骤: 使用 Bean 以可视化方式设计应用程序的布局 使用可视化

9、属性编辑器自定义 Bean 编写事件处理程序代码 将应用程序与 Bean 打包,2019/5/25,18,5.1.2 JavaBean的属性和方法,手写代码构建应用程序的步骤: 设计应用程序的布局并相应定位 Bean 自定义 Bean 注册事件监听器并处理事件 将应用程序与 Bean 打包,2019/5/25,19,5.1.2 JavaBean的属性和方法,Bean的属性确定组件的外观或者行为 能使用程序的可视化的设计模式来修改属性 能使用可视化的表单来放置属性 在JavaBean中,使用特殊的接口方法来访问属性,被称作“accessor方法”。Accessor方法更进一步有两种方法:“get

10、”和“set”方法分别获取和设置属性的值,2019/5/25,20,5.1.2 JavaBean的属性和方法,accessor 方法 为 public 方法 可以单独使用,也可以成对使用 在 Bean 的属性和外界形成一个接口 getter 方法和 setter 方法 getter 方法读取 Bean 的属性,以 get 开头 setter 方法写入 Bean 的属性,以 set 开头,2019/5/25,21,5.1.2 JavaBean的属性和方法,Bean典型举例: public class myBean implements Serializable protected String

11、myProperty=“Unavailable“; private int width=0; private int length=0; private boolean threeD=false; public String getMyProperty() return myProperty; public void setMyProperty(String my) myProperty=my; ,public double getArea() return (double)width*length; public String getInfo() return “a simple examp

12、le“; public boolean isThreeD() return this.threeD; / ,2019/5/25,22,5.1.2 JavaBean的属性和方法,Bean 的公有特性 四种类型: 简单 索引 绑定 限制,2019/5/25,23,5.1.2 JavaBean的属性和方法,Bean属性的类型如下: 简单(simple)属性: 对象内的 public 变量 表示一个单独的值 使用 getter和 setter方法定义和检索 关联(bound)属性:当该种属性的值发生变化时,要通知其它的对象 受限(Constrained)属性:当这个属性的值要发生变化时,与这个属性已建

13、立了某种连接的其它Java对象可否决属性值的改变 索引(indexed)属性 :描述多值的属性,用一个数组表示,2019/5/25,24,1.简单属性(simple),代表Bean的外观和行为,能在设计时被改变 能通过遵循设计模式的getter和setter方法访问的私有的值 开发工具利用基于设计模式的方法名称能够: 找出Bean的属性 确定属性的读与写特性 确定属性的类型 为每一属性类型定位一个适当的属性编辑器 显示属性(通常通过属性表单) 改变属性(设计时),2019/5/25,25,简单属性示例,一个构造工具,通过自省你的Bean,发现两种方法: public Color getColo

14、r() return color; public void setColor(Color c) color = newColor; repaint(); 构造工具推断名为“color”的属性存在,它能读能写,其数据类型是Color private Color color = Color.red; 构造工具能试图为该类型定位一个属性编辑器(在这个例子中是一个颜色编辑器,可供用户调整颜色),并显示属性,这样它能被编辑,2019/5/25,26,简单属性示例,Bean规范: 类要实现Serializable接口(这是个好主意) 要有一个默认构造 存放属性的变量为protected或private 无

15、需对每个变量用get,set方法(如area),有的变量只能读(即只有get方法),有的变量只能写(即只有set方法)。 get,set方法名的书写形式很重要。 Public get() Public void set ( 参数名),2019/5/25,27,简单属性示例,Get的返回类型必须与属性的数据类型一致,且不能带参数。 Set 方法返回类行为void,且只能带一个和属性类型相同的参数。 如:public void setArea(int width,int length)不能使area成为合法属性 对boolean型的get方法为isXXX(),尽管get时允许的。 public b

16、oolean is(),2019/5/25,28,简单属性示例,下面举一个JavaBean简单属性的完整例子,CustomBean.java是一块画布,它有一个java.awt.Color类型的简单属性color, CustomBean用该属性作为它的背景色,该属性对应一对get和set方法,它们将被容器BeanTest.java调用来获得和改变color属性 ,运行结果如图5-1所示,2019/5/25,29,图5-1 Bean的简单属性运行结果,2019/5/25,30,2. 索引属性(indexed ),索引属性 与数组类似 包含几个类型相同的元素,2019/5/25,31,索引属性(indexed ),索引属性代表按索引访问的值的集合,像一个数组一样 索引属性设计模式如下: 访问整个的索引属性数组的方法 public get (); public void set ( value); 访问单独的值的方法 public get (int index); public void set (int inde

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号