转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 站长学院 >> Web开发 >> 正文
JSP与JavaBean         ★★★★

JSP与JavaBean

作者:闵涛 文章来源:闵涛的学习笔记 点击数:851 更新时间:2009/4/23 10:55:03
  综述:JavaBean体系结构是第一个全面的基于组件的标准模型之一,为Java类提供了定义方法、事件、属性的方法,以便在设计时允许外部的操作和定制。JavaBean组件是Java类,这些类遵循一个统一的接口格式,以便该类的方法命名,底层行为以及具体实现能够符合标准的JavaBean组件构造方式。这些组件的容器能以标准方式与JavaBean进行交互,使得JavaBean可以部署在多种设计工具和运行环境中。

  如何定制JavaBean属性?

  一个标准的JavaBean组件应该满足以下几点特性:

  (1)持续性
  持续性允许一个构件保存它的状态,因此它还能被重新创建。利用持续性机制,表单构件可存为一个文件,并在其它时间被打开,使以前的数据、公式和设置完好无损。JavaBeans持续性使用Java1.1环境对象序列化机制产生I/O流并在以后恢复。构件创建者只需实现可序列化的接口以使构件保持持续。持续的流可能为一个Java文件、一网络连接或更有趣一些,一个由其它构件模型提供的流。若JavaBean构件嵌入一个ActiveX或OpenDoc构件中,Bean通过相关的"桥"提供持续的流。
  (2)制定性
  制定是JavaBean构件的新特性之一。简而言之,Bean的创建者不仅创建运行状态的构件,而且还通过扩展Java.awt.Component类创建了UI工具箱的类。这个UI工具箱可被用来制定Bean的一个实例。利用其它的构件模型,开发环境、可视化开发工具或任何其它的都必须提供所有对该构件的制定逻辑。JavaBean构件可随同自己的UI工具箱类发布,智能的制定该构件。开发环境可制定任何在别人创建的构件。开发工具只是寻找相关的制定器类并在其窗口中创建一个它的实例,而不必需要其它的。
  (3)自查性
  对于能在开发环境中复用的Java构件,需要有查询一个Bean能做些什么和产生和监听事件的类型。在JavaBeans规范中,这被称为规范并且是Java1.1提供的基本的反映机制的扩展。反映机制允许运行状态进行查询以得到对象的类并由此得到其公开的方法和变量。Bean的自查机制进行了扩展,查找指定的设计方式的使用。通过BeanInfo类,Bean作者可以暴露要暴露的公共方法和变量。当作为构件复用现存Java代码时,BeanInfo类也是很有用的。编程人员可用创建一个BeanInfo类,具体指定要用到的得到和设置属性的方法名,由此覆盖缺省的自查。
  (4)封装性
  JavaBean构件常被打包为JAR文件。JAR的格式允许构件作为一个单独的实体,随同其支持类(如制定编辑器、BeanInfo和其它资源文件)被打包。开发环境必须了解JAR的格式并使用其manifest文件一个JAR中所包括的Bean。包含一个JavaBean构件的JAR还可能包括该构件的序列化版本。若这个持续的实例存在,便使用它。这样,提供商就可以发布该构件的可用的或制定好的版本。
  JavaBean的属性与一般Java程序中所指的属性,或者说与所有面向对象的程序设计语言中对象的属性是一个概念,在程序中的具体体现就是类中的变量。在JavaBean设计中,按照属性的不同作用又细分为四类:Simple,Index,Bound与Constrained属性。

  1. Simple属性
  一个简单属性表示一个伴随有一对get/set方法(C语言的过程或函数在Java程序中称为"方法")的变量。属性名与和该属性相关的get/set方法名对应。例如:如果有setX和getX方法,则暗指有一个名为"X"的属性。如果有一个方法名为isX,则通常暗指"X"是一个布尔属性(即X的值为true或false)。例如在下面这个程序中:


  2. Indexed属性
  一个Indexed属性表示一个数组值。使用与该属性对应的set/get方法可取得数组中的数值。该属性也可一次设置或取得整个数组的值。例:

public class alden2 extends Canvas {
int[] dataSet={1,2,3,4,5,6}; // dataSet是一个indexed属性
public alden2() {
setBackground(Color.red);
setForeground(Color.blue);
}
/*
  设置整个数组

 */
public void setDataSet(int[] x){
dataSet=x;
}
/*
  设置数组中的单个元素值

*/
public void setDataSet(int index, int x){
dataSet[index]=x;
}
/*
  取得整个数组值

*/
public int[] getDataSet(){
return dataSet;
}
/*
  取得数组中的指定元素值

*/
public int getDataSet(int x){
return dataSet[x];
}
}


没有相关教程
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Web开发  · 网页制作
    · 平面设计  · 网站运营
    · 网站推广  · 搜索优化
    · 建站心得  · 站长故事
    · 互联动态
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台