精华内容
下载资源
问答
  • 看完这个后再也不纠结javabean是什么东西了,感谢博主,由于是Javablog不能收藏故在此转发。  以下内容转自:http://www.blogjava.net/flysky19/articles/88180.html 一、javabean是什么? Javabean就是一个类...

      看完这个后再也不纠结javabean是什么东西了,感谢博主,由于是Javablog不能收藏故在此转发。 

         以下内容转自:http://www.blogjava.net/flysky19/articles/88180.html

    一、 javabean 是什么?

    Javabean 就是一个类,这个类就定义一系列 get<Name> 和 set<Name> 方法。 So simple !

    Javabean 就是为了和 jsp 页面传数据化简交互过程而产生的。

    自己的理解:

    使用 javabean 和不用 javabean 的区别:

    一个 javabean 就是为 jsp 页面上的元素一一开辟一个空间,然后根据需要赋值、读值。而如果不用 javabean ,就直接使用 HttpServlet 的 request 对象:

    只在 jsp 页面间传递获取数据:

    String name=req.getParameter(“name”);

    显示数据: out.println(name);

    存数据入 DB :在 jsp 中直接嵌入 java 代码,用 insert 语句存入。

     

    感觉就像当年自己毕设做的 asp 代码一样。 .asp 页面中一系列的 req.getParameter 代码和嵌入一大堆的 sql 语句,代码很乱,很难维护。

    而使用 javabean 之后,优势也就是 java 的优势:组件技术,代码重用,易于维护。(在 jsp 页面中数据的显示很清晰。)

     

    具体 javabean 是什么?有待查资料

    解决:

    1 ) http://www.itlearner.com/article/2004/551.shtml

    软件组件就是指可以进行独立分离、易于重复使用的软件部分。 JavaBean 就是一种基于 Java 平台的软件组件思想。

    2 ) http://www.chinaitpower.com/A200507/2005-07-27/170233.html

    JavaBean到底是个什么东西

    1.      JavaBean与EJB
    (1)JavaBean与EJB规范在以下方面有共同的目标:通过标准的设计模式推广Java程序代码,提升开发过程和开发工具之间的重复运用性可携性.但是这两种规格的原始问题却是为了解决不同的问题.
    定义于JavaBean组件模型中的标准规范,被设计来产生可重复运用的组件,而这些组件通常被用于IDE开发工具,而且通常是可视化组件,当然并不一定是可视化组件.
    (2)EJB规范所定义的组件模弄,刚是用来开发服务端的Java程序,由于EJB可能执行在不同的服务器平台上,包括无图形的大型主机上,所以EJB无法使用类似AWT或SWING之类的图形化程序库.

    2.      JavaBean与类库的区别:
    (1)并不是所有有用的模块都必须转化成Bean.Bean主要是能被用来可视化操作去完成一些效果.
    (2)类库是一个提供函数操作给编程者的一个有效操作,但是并不能从可视化操作中来获益.
    (3)举个例子来说:提供JDBC数据库访问的API作为一个类库比作为一个bean要好,因为JDBC的核心是用一个可编程的API,并不是能够直接展现于可视化操作.然而,写一个数库库访问Bean在JDBC的顶层还是有意义的.例如,你可以写一个能定制的"Select"bean以助于用户去组成一个查询语句,并且程序运行时用JDBC去运行这个查询语句,并显示结果集.

    3.      在可视化编程中,可以看出,组件是一段程序代码,通过被存为class内,关键在程序开发工具如何发现组件的属性和事件.VB和Delphi都是通过某种机制来实现这点的,而Java则通过JavaBeans将可视化组件开发带进了一个更高的境界,因为一个Bean就是一个Class.针对以上的内容,JavaBean有如下的规则:

    (1)针对一个名为xxx的属性,你通常要写两个函数,getXxx()和setXxx().
    (2)你可以用get/set方式来处理boolean,可以用is来代替get.
    (3)Bean的一般函数不需要遵守上述的命名规则,但是需要为public.
    (4)对于事件,你可以使用Swing的监听器作法来处理.

    4.      JavaBean的体系结构  
    JavaBean体系结构是第一个全面的基于组件的标准模型之一.在集成的IDE中使JavaBean在设计时可以操作.组件模型见如下图:

     

    结合所查资料得到自己的体会和总结:

    (以后有问题都google和baidu,唉这个问题去年上J2EE课的时候,问了很多同学,包括苏老师,他们都没有很好的回答出来。)

    1.     javabean是一种软件组件,所谓组件也就是一个java类而已。就像一个机械零件一样,可以重复的用它来组装形成产品。但是并不是每个java类都是javabean组件。软件组件是有一定的概念和体系结构的。自己的理解是,javabean组件是定义了需要get和set方法等规则的组件,通过定义这些规则,可以实现发现组件属性和事件的机制。

    2.      软件组件的作用:只需编写一回,各处都可执行。

    对于程序员来说,最好的一点就是 JavaBean 可以实现代码的重复利用,另外对于程序的易维护性等等也有很重大的意义。

    3.        javabean 的特点:

    1. 执行 java.io.Serializable 接口 
       2. 提供无参数的构造器 
       3. 提供 get 和 set 方法访问它的属性 .

     

    二、 javabean 的两种使用方式:(嵌入 java 代码方式和使用 jsp 标记符方式)【也就是当作普通的类来使用者在 jsp 中 页面处理时有特殊的标记符处理方式】

    以下是使用 javabean 的每个功能的两者不同方式比较:(用了 javabean 只是方便一点,并且可以实现组件重用而已。)

    a ) jsp 中使用 javabean 的类的两种方法:(这两行代码的作用是一样的)

    法一: jsp 中使用 <jsp:useBean> 标记符访问 javabean :

    <jsp:useBean id="test" class="test.TestBean" />

     

    法二: jsp 中嵌入 java 代码方式访问 javabean :

    首行导入 javabean :

    <%@ page import="com.javaBean.TestBean" %>

    下边就可以像在 java 语言中那样用了:

    <% TestBean testBean=new TestBean(); %>

     

    b)jsp 页面之间传递和获取数据的两种方法:

    l         获取数据:

    法一:使用属性标记符:

    <jsp:getProperty name="test" property="message" />

    法二:直接嵌入 java 代码:(更简单)

    <%=testBean.getName()%>

    l         存数据:

    法一:使用属性标记符:

    设置单个元素值:

    <jsp:setProperty name="test" property="name" value="jcm"  />

    设置 jsp 页面中所有元素的值:

    <jsp:setProperty name="test" property="*" />

    注:这个方法特别方便,只需要在接收数据并负责显示的 jsp 页面使用 <jsp:useBean> 之后加上这一行代码,所有数据就自动赋值了。然后在接下来的 jsp 代码中就可以使用 get 方法显示出数据了。

    法二:直接嵌入 java 代码:

    <%

    String name=req.getParameter(“name”);

    testBean.setName(name)

    String pwd=req.getParameter(“password”);

    testBean.setName(pwd)

     

    %>

    注:

    通常 javabean 函数中除了 get 和 set 方法外,还有一个把数据存入 DB 中的方法(也就是和 DB 连接并实现 insert 语句)。

     

     

    问题:

    1.       一个 javabean 当作一个普通的类来使用,( import 类,通过 new 方法构造一个对象,然后通过对象调用方法),和通过 jsp 标记符 <jsp:useBean> 来使用有区别吗?它和普通的类有什么区别呢? javabean 也可以通过普通类的使用方式来访问呀。上面总结的内容就是这样的呀。

    2.       是不是只有通过标记符 <jsp:useBean> 来使用才能真正体检 javabean 组件的优势:自动赋值?如果不使用标记符 <jsp:useBean> 可以实现自动赋值吗?

    有待实验解决。

    解决:(终于明白过来了!)

    参考资料:

    http://www.faq-it.org/archives/jsp/52ae59e6bc6d13af9ee621213347274a.php

    关于 javaBean 原理性的两个问题

    作者 :bdsc


    初次接触 javaBean ,遇到了两个原理性的问题,没有找到确定的资料得到答案,希望在这儿能得到大家的帮助。 
     1 、 javaBean 的 class 与普通 java 的 class 有什么区别? javaBean 的类代码有没有明确的规定,比如一定要继承什么类?如没有那怎么说一个 java 的 class 是 javaBean ,或不是呢? 
    2 、 javaBean 是在客户端执行还是在服务器执行呢? 
    2.1 如果在客户端执行,那是不是在客户端一定要有 jvm ,并且要下载对应的 
    javaBean 的 class 文件?但我怎么没有在自己的系统盘中找不到相应 javaBean 的 
    class 文件呢?那 applet 也是在客户端运行,为什么要出现 javaBean 呢? 
    2.2 如果在服务器执行,那 javaBean 是在客户端生成用户界面而产生的,那服 
    务器端执行的代码怎么在客户端生成用户界面呢? 
    --------------------------------------------------------------- 

    1 、对于 javaBean 于普通 java 的 class 类的分别并非很明确 ,主要是 javabean 通常在 jsp 页面上有特殊的引用方法。 
    2 、 javabean 是在服务器端执行的。 javabean 并不直接生成用户界面(那是 applet 做的事情),而通常只做数据的组织、处理工作。然后通过 jsp 页面来生成用户的界面。 

    以上只是我个人的理解。我也希望与大家一起讨论。 
    --------------------------------------------------------------- 

    javaBean 是一种(符合要求的) java 类 

    *.jsp 在服务器端编译运行,通过封装的 socket (你看到的是 outputStream/ 名字也许不正确 一类的对象)向客户( webbrowser __ie/navigator) 发送普通字符流(按 http 协议 ), 这个字符流由浏览器接受,解释然后按一定的格式显示 
    --------------------------------------------------------------- 

    1 、 javaBean 的 class 与普通 java 的 class 有什么区别? javaBean 的类代码有没有明确的规定,比如一定要继承什么类?如没有那怎么说一个 java 的 class 是 javaBean ,或不是呢? 
    javaBean 其实就是一个 JAVA 程序。可以在 JSP 里面调用。 
    ENterprise JavaBean 是用于构建企业应用的 EJB 。必须在应用服务器上面部署。 

    2 、 javaBean 是在客户端执行还是在服务器执行呢? 
    javaBean 是在服务器执行,返回给客户端的只是 HTML 代码。 
    如果要在客户端执行,可以用 APPLET 
    --------------------------------------------------------------- 

    sun 很早提出的 javabean 的概念是解决可视的 application 的模块化提出来的,但由于 java 在客户端开发实在不怎么样,所以 sun 没有在这方面再进行,作为界面模块化开发的 javabean 实际上已经死了。(以上纯粹个人观点,欢迎批评) 

    但是随着 web 应用的兴起 jsp 的出现, jsp 需要这样的概念,功能 / 表现分开,将功能封装在一个模块中,以便实现最大化的代码复用,就又拾起这个 javabean 将它用在web/jsp 开发上。 

    你提到的那篇文章所说的是可视化的 javabean 用在 applet 里的情况 ,以后你可以在心理分清楚(因为也许没人这样看)别人说的是那种 javabean 。 

    至于具体符合什么要求,说实话我不知道(因为我个人不赞成用 javabean 的)

     

    自己的总结:

    1. javaBean 是一种(符合要求的) java 类。 javaBean 与普通 java 的 class 类的分别并非很明确,主要是 javabean 通常在 jsp 页面上有特殊的引用方法。

    2. 所以 javabean 既可以当作普通的类来使用,也可以在 jsp 页面上有特殊的引用方法。

    3.       对于第三个问题:是不是只有通过标记符 <jsp:useBean> 来使用才能真正体检 javabean 组件的优势:自动赋值?如果不使用标记符 <jsp:useBean> 可以实现自动赋值吗?

    答:不是的。 Jsp 的自动赋值是指:通过 <jsp:setProperty name=”myBean” property=”*” /> 这个属性访问标记符就可以轻松实现对 jsp 页面上所有参数的赋值,方便一点,而如果用普通类的访问方式,需要一一获取各项值,一一调用 set 方法而已。比如:

    <%

    StuInfoBean stuInfoBean=new StuInfoBean();

    String stuNo=request.getParameter("stuNo");

    String stuName=request.getParameter("stuName");

    stuInfoBean.setStuNo(stuNo);

    stuInfoBean.setStuName(stuName);

    %>

    4.       所以 javabean 只是一个符合必须有 set 和 get 方法,并且可以在 jsp 上有特殊引用方式的 java 类。

    二、 一个例子,分别使用 jsp 特殊引用方式和普通类的使用方式来实现对 javabean 的调用:

    主要的区别在于两个地方:

    1 ) 对类的使用:

    l         jsp 标记符方式:使用 <jsp:useBean />

    l         普通类方式: <%@ page import="com.javaBean.StuInfoBean" %>

    2 ) 对属性的赋值:

    l         jsp 标记符方式: <jsp:setProperty name="stuInfoBean" property="*" />

    l         普通类方式:

    <%

    StuInfoBean stuInfoBean=new StuInfoBean();

    String stuNo=request.getParameter("stuNo");

    String stuName=request.getParameter("stuName");

    stuInfoBean.setStuNo(stuNo);

    stuInfoBean.setStuName(stuName);

    %>

     

    --------------------------------------------------------------------------以下内容原创-------------------------------------------------------------------------------------------------
    个人总结:
      javabean其实就是一个很普通的类,自己定义set、get属性等,说是一种组件是因为可重复利用,是一种组件思想,不像jmail等组件一样是封装的代码。

    转载于:https://www.cnblogs.com/luoh/p/4271219.html

    展开全文
  • 要想更好地理解javabean,可以从面向对象开始。一个对象的基本要素有:签名:(signature)对象的核心语意概括属性:(property)对象的内部特征和状态的描述方法:(method)对象行为特征的描述属性构成的一个对象的...

    要想更好地理解javabean,可以从面向对象开始。一个对象的基本要素有:

    签名:(signature)对象的核心语意概括

    属性:(property)对象的内部特征和状态的描述

    方法:(method)对象行为特征的描述

    属性构成的是一个对象的构成特性和内部状态特性;

    方法则表达了一个对象的动态行为特性;

    将事物抽象成对象,并赋予这个对象的属性和方法,是一个很自然地编程逻辑,这也很符合面向对象编程语言的基本思路。不过我们同时也发现在实际的编程过程中,对象表现为三种不同的形态和运作模式。

    属性—行为模式

    这种模式是指一个对象同时拥有属性定义和方法定义,这是对象最为普遍的一种运行模式,绝大多数运作在这种模式之上。

    属性模式

    这种模式是指一个对象只拥有属性定义,辅之以相应的setter和getter方法。Java规范为运行在这种模式下的对象取了一个统一的名称,javaBean。javaBean从其表现出来的特性看,可以作为数据的存储模式和数据的传说载体。

    行为模式

    这种模式是指构成一个对象的主体是一系列的方法的定义,而并不含有具体的属性定义,或者说含有一些属性定义,也是一些无状态的协作对象。运行在这种模式之下的对象,我们往往称为“无状态对象”,其中最为常见的是我们熟悉的servlet对象。

    运行在javaBean模式下的对象在众多的编程层次中都会被用到,并根据作用不同被冠以各种不同的名称,如:

    Po(persistent object)----持久化对象

    Bo(business object) ------业务对象

    Vo(value object)---值对象

    DTo(Data Transfer object) ----数据传输对象

    FromBean ----页面对象

    举一个javaBean范例:

    package gacl.javabean.study;

    /*** @author gacl* Person类就是一个最简单的JavaBean*/

    public class Person {

    //------------------Person类封装的私有属性------------------------- // 姓名 String类型 private String name;

    // 性别 String类型 private String sex;

    // 年龄 int类型 private int age;

    //是否已婚 boolean类型 private boolean married;

    //-----

    //------------------Person类的无参数构造方法--------------------- /*** 无参数构造方法*/

    public Person() {

    }

    //------ //-----Person类对外提供的用于访问私有属性的public方法-----public String getName() {

    return name;

    }

    public void setName(String name) {

    this.name = name;

    }

    public String getSex() {

    return sex;

    }

    public void setSex(String sex) {

    this.sex = sex;

    }

    public int getAge() {

    return age;

    }

    public void setAge(int age) {

    this.age = age;

    }

    public boolean isMarried() {

    return married;

    }

    public void setMarried(boolean married) {

    this.married = married;

    }

    //-----

    }

    展开全文
  • 1.JavaBean与EJB(1)JavaBean与EJB...定义于JavaBean组件模型中的标准规范,被设计来产生可重复运用的组件,而这些组件通常被用于IDE开发工具,而且通常可视化组件,当然并不一定可视化组件.(2)EJB规范所定义...
    1.JavaBean与EJB
    (1)JavaBean与EJB规范在以下方面有共同的目标:通过标准的设计模式推广Java程序代码,提升开发过程和开发工具之间的重复运用性可携性.但是这两种规格的原始问题却是为了解决不同的问题.
    定义于JavaBean组件模型中的标准规范,被设计来产生可重复运用的组件,而这些组件通常被用于IDE开发工具,而且通常是可视化组件,当然并不一定是可视化组件.
    (2)EJB规范所定义的组件模弄,刚是用来开发服务端的Java程序,由于EJB可能执行在不同的服务器平台上,包括无图形的大型主机上,所以EJB无法使用类似AWT或SWING之类的图形化程序库.
    2.JavaBean与类库的区别:
    (1)并不是所有有用的模块都必须转化成Bean.Bean主要是能被用来可视化操作去完成一些效果.
    (2)类库是一个提供函数操作给编程者的一个有效操作,但是并不能从可视化操作中来获益.
    (3)举个例子来说:提供JDBC数据库访问的API作为一个类库比作为一个bean要好,因为JDBC的核心是用一个可编程的API,并不是能够直接展现于可视化操作.然而,写一个数库库访问Bean在JDBC的顶层还是有意义的.例如,你可以写一个能定制的"Select"bean以助于用户去组成一个查询语句,并且程序运行时用JDBC去运行这个查询语句,并显示结果集.
    3.JavaBean与可视化编程
    3.1可视化编程
    (1)通过可视化编程的工具如VB,Delphi等,将组件从组件板上拖拉至表单上,当你进行拖拉时,程序开发工具开始为你写代码,这些代码让这个组件在程序执行时得以产生出来.
    (2)只是将组件拖拉到表单上,通常还不足以完成程序,通常你得改变组件的性质如颜色,文本,连接的数据库等.设计期间可被修改的性质叫"属性",佻可以在程序开发工具中修改组件的属性,被建造出来,其配置会被存储起来,每当程序执行时,这些设定便能够回复.
    (3)在设计期间,可视化组件的一总分由事件来表示,意味着这个组件上可以发生这些事情.
    (4)程序开发工具会使用反射机制("reflection")机制动态的查询组件的内容,并找到该组件所支持的属性(properties),和事件(Event),知道这些信息后,它便能够显示其属性并允许你加以改变,同时显示可用事件.
    3.2JavaBean
    在以上的可视化编程中,可以看出,组件是一段程序代码,通过被存为class内,关键在程序开发工具如何发现组件的属性和事件.VB和Delphi都是通过某种机制来实现这点的,而Java则通过JavaBeans将可视化组件开发带进了一个更高的境界,因为一个Bean就是一个Class.针对以上的内容,JavaBean有如下的规则
    (1)针对一个名为xxx的属性,你通常要写两个函数,getXxx()和setXxx().
    (2)你可以用get/set方式来处理boolean,可以用is来代替get.
    (3)Bean的一般函数不需要遵守上述的命名规则,但是需要为public.
    (4)对于事件,你可以使用Swing的监听器作法来处理.
    3.3JavaBean的关键技术
    (1)Bean构架最关键的一部分是发生在将bean从组件盘palette拖至表单(form)之际,程序开发工具能够产生Bean(如果有default构造函数,就办得到),然后在缺乏Bean源代码的情况下,提取出"产生属性工作表(property sheet)"和事件处理程序的所有必要的信息.
    (2)Java的reflection可以让我们找到任何一个未知类的所有函数,reflection机制用来解决Bean的问题,十分完美,不需要和其它可视化语言一样动用额外的语言关键字.**其实上reflection机制会被加到Java中的主要原因之一便是为了支持Beans(当然reflection也为对象的序列化(Serialization)和远端方法调用(remote method invocation)提供了必要的技持).所以,你可能会预期,程序开发工具的设计者应该会在每个Bean身上使用reflection机制,查找其函数,找出bean的属性与事件.
    (3)Java的设计者希望提供一个标准工具,不但让Bean更易使用,也为产生更复杂的Bean提供标准途径.这个工具是Introspector Class其中最重要的就是static getBeanInfo().可以将一个Class reference传入这个函数,它便会对class进行彻底查询,并回传BeanInfo对象.然后你就可以解剖它,取得其属性(properties),函数(methods),事件(event).
    3.4 Bean的包装
    将Bean放到支持Bean的可视化开发工具里之前,必须先将其放到标准的Bean容器里.所谓标准的Bean容器中,是一个JAR文件,内含所有的Bean Classes和一份清单文件(manifest file)
    5.JavaBean的体系结构
    JavaBean体系结构是第一个全面的基于组件的标准模型之一.在集成的IDE中使JavaBean在设计时可以操作.
    (组件模型见如下图:)


    JavaBean的组件模型为开发人员提供了一个标准的方式,定义Java类以便其组件在JavaBean容器环境操作,JavaBean组件根据各种属性定义模型对外提供其属性,事件及内视信息,它允许设计工具的定制,达到在设计时Bean自身定制的目的.
    6.JavaBean编程的基本要求:
    如果您要创建产品级 Bean,请记住以下几件事情:
    (1)使 bean 越小越好,但要注意当前的浏览器是否支持小 bean
    bean 或许导致工具滞后,继而导致浏览器滞后,最终导致 JDK 自身滞后。如果您必须使用切边的类,或者 bean 的性质要求 bean 较大,则您应该考虑将您的 bean 作为一个插件, 并在一个自包含 jar 中发送它,或者如有可能,使它具有自己的小安装过程。您将失去某些小 bean 的优势:
    Web 管理员必须多执行一个步骤:提醒用户在浏览 Web 页面之前必须先下载和安装您的 jar 或安装程序
    网上冲浪者也必须多执行一个步骤:在浏览 Web 页面之前先下载和安装您的 jar 或安装程序。
    (2)使您的 bean 可翻译
    将所有的翻译文本,包括名称和 bean 的简短描述及其特征,分隔成 .properties 文件。JAR 向导会为您做这些。 您需要记住并自己完成的两件事是:特性编辑器和定制器。定制器、对话框特性编辑器或选择特性编辑器中的所有术语,例如高、中、低,也必须为翻译而分隔。 理想情况下,您也可以实际翻译 bean 并在 Bean 的 jar 中提供各种语言的 .properties 文件。 然而,如果您至少提供了本地语言 .properties 文件,则第三方可为您翻译 bean。
    (3)在文件清单中为 bean 指定 Depends-On: 标记
    将 Bean 的 jar 中的所有文件标识为“运行时需要 vs. 只在编辑时需要”。在运行时需要的所有文件将列示在 jar 清单文件的依赖于:标签后。JAR 向导的发布标签使这个操作很简单,并使您获得清单文件权。
    如果您不指定依赖于:标签,工具将假设所有文件都是在运行时需要。这对于下载性能(例如不必要地下载特性编辑器和其它只在编辑时需要的文件)是很不好的。
    (4)赋予您的 bean 一个明确的首选大小
    bean 将实现 getPreferredSize 方法,以便当首次用可能未定义的关键字特性构造时,它的表现良好。 如果在第一次放入时,bean 是 0 x 0 象素,那么用户可能会混淆。 当更改关键字特性时,首选大小也应正常工作。例如,如果 bean 有一个在垂直和水平方位间转换的特性,则首选大小应被写入以相应地调整自身。
    (5)为 bean 指定缺省特性
    利用 JavaBean 规范中的缺省特性部分,它将使您的 bean 在某些工具中易于使用。 JAR 向导使这个操作变得简单并为您获得 BeanInfo 权。
    (6)为 bean 及其特性指定简要的非技术名称和简短描述
    寻找简要的非技术名来代替冗长的技术术语。例如,用 sum interval 代替 accumulatorInterval。还请注意,特性名的首选项以小写表示并在字与字间留有空格,这对于用户将更友好。
    (7)缩小用户可见的特性范围
    为 bean 提供一个明确的 BeanInfo 以便不将每个实例变量都显示为 bean 的特性,而且不将每个方法显示为 Bean 的操作。 JAR 向导使这个操作变得简单并为您获得 BeanInfo 权。
    (8)为 bean 指定大图标和小图标
    最后,为 Bean 提供大的(32x32)和小的(16x16)彩色图标。而且,确保图标有一个不同于灰色的透明背景。尽管很少使用,您也应养成提供黑色和白色图标的习惯。JAR 向导的调色板 标签使这个操作变得简单,并使您获得 BeanInfo 权

    转载于:https://www.cnblogs.com/MaxWoods/archive/2007/05/11/742467.html

    展开全文
  • 1.JavaBean与EJB(1)JavaBean与EJB...定义于JavaBean组件模型中的标准规范,被设计来产生可重复运用的组件,而这些组件通常被用于IDE开发工具,而且通常可视化组件,当然并不一定可视化组件.(2)EJB规范所定义...

    1.JavaBean与EJB

    (1)JavaBean与EJB规范在以下方面有共同的目标:通过标准的设计模式推广Java程序代码,提升开发过程和开发工具之间的重复运用性可携性.但是这两种规格的原始问题却是为了解决不同的问题.

    定义于JavaBean组件模型中的标准规范,被设计来产生可重复运用的组件,而这些组件通常被用于IDE开发工具,而且通常是可视化组件,当然并不一定是可视化组件.

    (2)EJB规范所定义的组件模弄,刚是用来开发服务端的Java程序,由于EJB可能执行在不同的服务器平台上,包括无图形的大型主机上,所以EJB无法使用类似AWT或SWING之类的图形化程序库.

    2.JavaBean与类库的区别:

    (1)并不是所有有用的模块都必须转化成Bean.Bean主要是能被用来可视化操作去完成一些效果.

    (2)类库是一个提供函数操作给编程者的一个有效操作,但是并不能从可视化操作中来获益.

    (3)举个例子来说:提供JDBC数据库访问的API作为一个类库比作为一个bean要好,因为JDBC的核心是用一个可编程的API,并不是能够直接展现于可视化操作.然而,写一个数库库访问Bean在JDBC的顶层还是有意义的.例如,你可以写一个能定制的"Select"bean以助于用户去组成一个查询语句,并且程序运行时用JDBC去运行这个查询语句,并显示结果集.

    3.JavaBean与可视化编程

    3.1可视化编程

    (1)通过可视化编程的工具如VB,Delphi等,将组件从组件板上拖拉至表单上,当你进行拖拉时,程序开发工具开始为你写代码,这些代码让这个组件在程序执行时得以产生出来.

    (2)只是将组件拖拉到表单上,通常还不足以完成程序,通常你得改变组件的性质如颜色,文本,连接的数据库等.设计期间可被修改的性质叫"属性",佻可以在程序开发工具中修改组件的属性,被建造出来,其配置会被存储起来,每当程序执行时,这些设定便能够回复.

    (3)在设计期间,可视化组件的一总分由事件来表示,意味着这个组件上可以发生这些事情.

    (4)程序开发工具会使用反射机制("reflection")机制动态的查询组件的内容,并找到该组件所支持的属性(properties),和事件(Event),知道这些信息后,它便能够显示其属性并允许你加以改变,同时显示可用事件.

    3.2JavaBean

    在以上的可视化编程中,可以看出,组件是一段程序代码,通过被存为class内,关键在程序开发工具如何发现组件的属性和事件.VB和Delphi都是通过某种机制来实现这点的,而Java则通过JavaBeans将可视化组件开发带进了一个更高的境界,因为一个Bean就是一个Class.针对以上的内容,JavaBean有如下的规则

    (1)针对一个名为xxx的属性,你通常要写两个函数,getXxx()和setXxx().

    (2)你可以用get/set方式来处理boolean,可以用is来代替get.

    (3)Bean的一般函数不需要遵守上述的命名规则,但是需要为public.

    (4)对于事件,你可以使用Swing的监听器作法来处理.

    3.3JavaBean的关键技术

    (1)Bean构架最关键的一部分是发生在将bean从组件盘palette拖至表单(form)之际,程序开发工具能够产生Bean(如果有default构造函数,就办得到),然后在缺乏Bean源代码的情况下,提取出"产生属性工作表(property sheet)"和事件处理程序的所有必要的信息.

    (2)Java的reflection可以让我们找到任何一个未知类的所有函数,reflection机制用来解决Bean的问题,十分完美,不需要和其它可视化语言一样动用额外的语言关键字.**其实上reflection机制会被加到Java中的主要原因之一便是为了支持Beans(当然reflection也为对象的序列化(Serialization)和远端方法调用(remote method invocation)提供了必要的技持).所以,你可能会预期,程序开发工具的设计者应该会在每个Bean身上使用reflection机制,查找其函数,找出bean的属性与事件.

    (3)Java的设计者希望提供一个标准工具,不但让Bean更易使用,也为产生更复杂的Bean提供标准途径.这个工具是Introspector Class其中最重要的就是static getBeanInfo().可以将一个Class reference传入这个函数,它便会对class进行彻底查询,并回传BeanInfo对象.然后你就可以解剖它,取得其属性(properties),函数(methods),事件(event).

    3.4 Bean的包装

    将Bean放到支持Bean的可视化开发工具里之前,必须先将其放到标准的Bean容器里.所谓标准的Bean容器中,是一个JAR文件,内含所有的Bean Classes和一份清单文件(manifest file)

    5.JavaBean的体系结构

    JavaBean体系结构是第一个全面的基于组件的标准模型之一.在集成的IDE中使JavaBean在设计时可以操作.

    (组件模型见如下图:)

    JavaBean的组件模型为开发人员提供了一个标准的方式,定义Java类以便其组件在JavaBean容器环境操作,JavaBean组件根据各种属性定义模型对外提供其属性,事件及内视信息,它允许设计工具的定制,达到在设计时Bean自身定制的目的.

    6.JavaBean编程的基本要求:

    如果您要创建产品级 Bean,请记住以下几件事情:

    (1)使 bean 越小越好,但要注意当前的浏览器是否支持小 bean

    bean 或许导致工具滞后,继而导致浏览器滞后,最终导致 JDK 自身滞后。如果您必须使用切边的类,或者 bean 的性质要求 bean 较大,则您应该考虑将您的 bean 作为一个插件, 并在一个自包含 jar 中发送它,或者如有可能,使它具有自己的小安装过程。您将失去某些小 bean 的优势:

    Web 管理员必须多执行一个步骤:提醒用户在浏览 Web 页面之前必须先下载和安装您的 jar 或安装程序

    网上冲浪者也必须多执行一个步骤:在浏览 Web 页面之前先下载和安装您的 jar 或安装程序。

    (2)使您的 bean 可翻译

    将所有的翻译文本,包括名称和 bean 的简短描述及其特征,分隔成 .properties 文件。JAR 向导会为您做这些。 您需要记住并自己完成的两件事是:特性编辑器和定制器。定制器、对话框特性编辑器或选择特性编辑器中的所有术语,例如高、中、低,也必须为翻译而分隔。 理想情况下,您也可以实际翻译 bean 并在 Bean 的 jar 中提供各种语言的 .properties 文件。 然而,如果您至少提供了本地语言 .properties 文件,则第三方可为您翻译 bean。

    (3)在文件清单中为 bean 指定 Depends-On: 标记

    将 Bean 的 jar 中的所有文件标识为“运行时需要 vs. 只在编辑时需要”。在运行时需要的所有文件将列示在 jar 清单文件的依赖于:标签后。JAR 向导的发布标签使这个操作很简单,并使您获得清单文件权。

    如果您不指定依赖于:标签,工具将假设所有文件都是在运行时需要。这对于下载性能(例如不必要地下载特性编辑器和其它只在编辑时需要的文件)是很不好的。

    (4)赋予您的 bean 一个明确的首选大小

    bean 将实现 getPreferredSize 方法,以便当首次用可能未定义的关键字特性构造时,它的表现良好。 如果在第一次放入时,bean 是 0 x 0 象素,那么用户可能会混淆。 当更改关键字特性时,首选大小也应正常工作。例如,如果 bean 有一个在垂直和水平方位间转换的特性,则首选大小应被写入以相应地调整自身。

    (5)为 bean 指定缺省特性

    利用 JavaBean 规范中的缺省特性部分,它将使您的 bean 在某些工具中易于使用。 JAR 向导使这个操作变得简单并为您获得 BeanInfo 权。

    (6)为 bean 及其特性指定简要的非技术名称和简短描述

    寻找简要的非技术名来代替冗长的技术术语。例如,用 sum interval 代替 accumulatorInterval。还请注意,特性名的首选项以小写表示并在字与字间留有空格,这对于用户将更友好。

    (7)缩小用户可见的特性范围

    为 bean 提供一个明确的 BeanInfo 以便不将每个实例变量都显示为 bean 的特性,而且不将每个方法显示为 Bean 的操作。 JAR 向导使这个操作变得简单并为您获得 BeanInfo 权。

    (8)为 bean 指定大图标和小图标

    最后,为 Bean 提供大的(32x32)和小的(16x16)彩色图标。而且,确保图标有一个不同于灰色的透明背景。尽管很少使用,您也应养成提供黑色和白色图标的习惯。JAR 向导的调色板 标签使这个操作变得简单,并使您获得 BeanInfo 权

    展开全文
  • 1.JavaBean与EJB(1)JavaBean与EJB规范在...定义于JavaBean组件模型中的标准规范,被设计来产生可重复运用的组件,而这些组件通常被用于IDE开发工具,而且通常可视化组件,当然并不一定可视化组件.(2)EJB规范所定义
  • JavaBean到底什么东西

    千次阅读 2004-07-15 10:23:00
    1.JavaBean与EJB(1)JavaBean与EJB规范在...定义于JavaBean组件模型中的标准规范,被设计来产生可重复运用的组件,而这些组件通常被用于IDE开发工具,而且通常可视化组件,当然 并不一定可视化组件.(2)EJB规范所
  • JavaBean和EJB到底什么东西

    千次阅读 2005-02-03 14:26:00
    JavaBean到底什么东西? 1.JavaBean与EJB(1)JavaBean与EJB规范在以下方面有共同的目标:通过标准的设计模式推广Java程序代码,提升开发过程和开发工具之间的重复运用性可携性.但是这两种规格的原始问题却为了...
  • 本文向大家介绍JSP和JavaBean模型,可能好多人还不知道JSP和JavaBean模型,没有关系,看完本文你肯定有不少收获,希望本文能教会你更多东西。运用JSP/Servlet实现的web动态交互,主要采用JSP和JavaBean模型还有JSP和...
  • 什么是JavaBean

    千次阅读 2005-01-18 10:06:00
    JavaBean到底什么东西1.JavaBean与EJB(1)JavaBean与EJB规范在以下方面有共同的目标:通过标准的设计模式推广Java程序代码,提升开发过程和开发工具之间的重复运用性可携性.但是这两种规格的原始问题却为了...
  • JavaBean

    2019-10-11 17:31:00
    JavaBean 并不是什么神奇的东西。它只是一种命名规则,在该种类中能够通过getter和setter来定义属性。 class JbStudent{ private String name; public void setName( String name ){ this.name = name; } ...
  • javabean

    2011-11-25 18:18:42
    JavaBean到底什么东西 1.JavaBean与EJB (1)JavaBean与EJB规范在以下方面有共同的目标:通过标准的设计模式推广Java程序代码,提升开发过程和开发工具之间的重复运用性可携性.但是这两种规格的原始问题却...
  • JavaBean什么实现Serializable(序列化)接口 今天在面试中遇到了这个问题,关于为什么要继承序列化这个东西,在网上搜了一下大概了解到 一篇从BlogJava中看到的,大概内容如下: 为什么要使用序列化?最...
  • 在很多我们学习过程中或者开发过程中很多地方都听到Javabean这个词,我起初也不知道这什么东西,以为就是一个java类,其实他不是一个java类这么简单。百度上说它一种组件技术,懵逼这个还是不懂。 在我们学...
  • JBOSS 是什么东西

    万次阅读 2018-05-15 08:54:32
    什么是JBoss以下内容出自互联网解释1: Jboss web服务器的一种,主要做ejb容器,和tomcat集成就可以jsp,servlet,ejb通吃了 Jboss有两种版本,一种独立的,一种和tomcat集成的,当然都免费的啦 EJB(enterprise...
  • javaBean本质

    千次阅读 2016-08-12 15:10:23
    bean译过来即为“豆子”的意思,大家对豆子的印象是什么,大概就是只能看到豆子硬硬的外皮,而看不到内部的东西。那么在java中,bean可以看成是一个黑盒子,即只需要知道其功能而不必知道其内部构造和设计。现在对...
  • POJO和JavaBean的区别

    2021-03-26 11:51:47
    很多小伙伴学完ssm之后一脸懵,什么是POJO啊,为什么总是有这个东西出现啊,和JavaBean的区别是什么,闲来无事总结了一下网上的资料和自己的看法,希望对学习spring的小伙伴有所帮助 什么是POJO POJO(Plain ...
  • 什么是spring? 1、spring在百度百科是这样介绍的:Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。 工作需要,需要用到Java语言,自学没多久,看到...JavaBean是用ja...
  • 组件、容器、javabean

    千次阅读 2018-05-04 15:37:53
    容器(Container)到底是个什么东西我想多数人还是不清楚 在说这个之前,先介绍一下组件 什么是组件,组件是什么?组件其实就是一个应用程序块 但是它们不是完整的应用程序,不能单独运行 就有如一辆汽车,车门是...
  • javaBean事件监听

    2018-01-06 23:11:09
    我使用JAVA开发项目 也刚刚只有半年多的时间吧 根本提不上什么经验 总是从网上找别人的代码和例子看 但自己却从未上传过什么东西给别人看 而且最近发现找到的精华都别人的BLOG里写的内容 一时感觉不错 我也把自己...
  • javabean的初步理解

    2012-05-01 15:58:40
    什么javabean,在做编程之前老师给我说网站中数据进行和数据库中的数据进行交换,使用的就是javabean   其实到现在我都不是很了解,今天看视频偶然听到一点。所以赶快把现在理解的东西用博文记录记录。我们的 ...

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 153
精华内容 61
关键字:

javabean是什么东西

java 订阅