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>
GO TO FULL VERSION