6.1 什么是 JavaBean

早在 90 年代后期,Java 语言就开始积极用于大型服务器应用程序,其中类的数量以数万和数十万计。标准化 Java 对象外观的想法就是在那时出现的。

整个 Java 语言都没有被触及,以免剥夺它的灵活性。好吧,向后兼容等等。然后他们为新一代Java对象开发了一些标准,并将这些对象称为Java Beans。Java 以流行的咖啡品牌命名,因此 Java Beans 直译为“咖啡豆”。

最重要的标准是:

  • 访问类的内部字段通过getProperty().
  • 将数据写入类字段会通过setProperty(value).
  • 该类必须有一个公共的无参数构造函数
  • 该类必须是可序列化的。
  • 该类必须覆盖equals(),hashCode()和方法toString()

这种方法使应用程序不那么连贯。始终清晰:

  • 如何创建一个对象——有一个公共的默认构造函数;
  • 如何获取/设置属性值;
  • 如何传输/保存对象(我们使用序列化);
  • 如何比较对象(使用 equals() 和 hashCode());
  • 如何在日志中显示有关对象的信息(使用 toString)。

现在它实际上是行业标准,但它曾经是一种新趋势。似乎每个人都已经这样写了,尽管如果您还记得 HttpClient 及其 Builders,就会发现新标准对某些人来说很难。

此类对象在其主要语义负载是数据存储的情况下被广泛使用。例如,在 GUI、数据库和 JSP 页面中。

6.2 JSP 和 JavaBeans

使用 JSP 的原因之一是它可以外包给前端开发人员。什么?你有一个懂HTML的人,让他写JSP。Java 程序员编写他们的部分,前端开发人员编写他们的部分 - 一切都很好。

一切都很好,直到前端开发人员必须理解嵌入在 JSP 中的编写的 Java 代码。或者,更糟糕的是,您自己编写这样的代码。

Java 程序员对此也不满意。好吧,请告诉我,哪些布局设计师是后端开发人员?是的,除了脚本,他们什么也写不了。是的,整个编程范式都说在一个文件中混合不同的语言 是一种不好的形式。

然后他们提出了一个想法,让前端开发人员有机会使用 Java 对象,就像使用 HTML 代码一样。每个 HTML 标记也是一个具有自己字段的对象,为什么不以类似的方式使用 Java 对象呢?

说到做到。添加了特殊标签,我们走了。

对象创建:

<jsp:useBean id="Name" class="Object type" scope="session"/>

此命令创建了一个类型为 的对象object,并将其放在session名称下Name

对象可以存储在四种存储之一中:应用程序(全局)、会话、请求和页面。也可以设置此类对象的属性:

<jsp:setProperty name="Name" property="propName" value="string constant"/>

您可以像这样获得此类对象的属性:

<jsp:getProperty name="Name" property="propName"/>

使用标签的示例:

<body>
    <center>
        <h2>Using JavaBeans in JSP</h2>
        <jsp:useBean id = "test" class = "com.example.TestBean" />
        <jsp:setProperty name = "test" property = "message" value = "Hello JSP..." />
        <p> What-to do important</p>
        <jsp:getProperty name = "test" property = "message" />
    </center>
   </body>