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>