个人认为,
javabean<=>public class

解决方案 »

  1.   

    其实就想楼上说的javabean<=>public class
    javabean叫这个名字主要用于jsp中的组件传输
    通常要实现Serializable
      

  2.   

    一般认为,JavaBean在public class的基础上,存在public的不带参数的构造器,如:
    public class A(){
      public A(){}
      .....
    }
    以使用于<jsp:useBean ...>中,要不然就这样用:
    (无论有没构造器及参数,均可当作普通CLASS如下用)
    <%
     A a=new A(...);
    %>
    个人理解,请指教.
    快点加分:)
      

  3.   

    I don't approve of answer!
      

  4.   

    javaBean应该实现Serializable接口,所以应该都不算Bean
      

  5.   

    同意 meeting(太阳雨)说的,
     1.一般认为,JavaBean在public class的基础上,存在public的不带参数的构  造器,如:
    public class A(){
      public A(){}
      .....
    }还有:
     2.对它的属性定义了get**和set**方法,
     3.没有公共的实例化变量。参照这三点,可看出只有Example 2:才算是真正的javabean.
      

  6.   

    唉,javaBean不一定要实现Serializable接口。
    只有一点是一定要的,javaBean必须提供不带参数的构造函数。
    一般因为jsp编译后的类和javaBean肯定不在同一个包中,所以javaBean也一定是public class,否则没有权限访问它。因此可以说满足以上条件的java类就可以算是一个javaBean.不信你可以去做个测试,很容易就能得到证明。不要只看到书中的部分内容。
    另外如果你要使用jsp:getProperty和jsp:setProperty动作的话,一般你的javaBean中就要提供对应的set***()和get****()方法,因为那些动作会被jsp服务器翻译为javaBean.get***()的方法,如果你没有这些方法就会编译报noSuchMethod的错误。
    如果你对jsp很熟,就会了解,那些和javaBean相关的jsp动作都可以翻译为一条条java语句。如:<jsp:useBean id="a" class="test.AjavaBean" scope="session">初始化时,就是执行以下语句:
    test.AjavaBean a = new test.AjavaBean();
    session.setAttribute("a",a);
    然后在同一个会话(session)中,就用session.getAttribute("a")把它取出。实际上就是通过它的默认构造方法,获得一个类实例,然后把这个实例对象存放到session中(httpSession的实例对象,jsp叶面生成的时候自动帮你生成的)。
    所以说,javaBean也就是很普通的java类,不过是多了些限制。不过既然jsp提供了一些便利的javaBean的动作,对java不是很熟的人,用它还是很方便的。否则大可不必去遵循javaBean的这些规范,完全用其他的java类也能实现了javaBean的所有功能。