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