6.1 Was sind JavaBeans?

Bereits Ende der 90er Jahre wurde die Java-Sprache aktiv für große Serveranwendungen eingesetzt, bei denen die Anzahl der Klassen Zehntausende und Hunderttausende beträgt. Damals entstand die Idee, das Aussehen von Java-Objekten zu standardisieren.

Die gesamte Java-Sprache wurde nicht angetastet, um ihr nicht die Flexibilität zu nehmen. Nun ja, Abwärtskompatibilität und so weiter. Anschließend entwickelten sie eine Reihe von Kriterien für Java-Objekte der neuen Generation und nannten solche Objekte Java Beans. Java ist nach einer beliebten Kaffeemarke benannt, daher bedeutet Java Beans wörtlich übersetzt „Kaffeebohnen“.

Die wichtigsten Kriterien waren:

  • Der Zugriff auf die internen Felder der Klasse erfolgt über getProperty().
  • Das Schreiben von Daten in Klassenfelder erfolgt über die setProperty(value).
  • Die Klasse muss über einen öffentlichen, parameterlosen Konstruktor verfügen .
  • Die Klasse muss serialisierbar sein.
  • Für die Klasse müssen die Methoden equals(), hashCode()und überschrieben sein toString().

Durch diesen Ansatz wurden die Anträge weniger kohärent. Immer klar:

  • So erstellen Sie ein Objekt: Es gibt einen öffentlichen Standardkonstruktor.
  • wie man den Eigenschaftswert erhält/einstellt;
  • wie man ein Objekt überträgt/speichert (wir verwenden Serialisierung);
  • wie man Objekte vergleicht (mithilfe von equal() und hashCode());
  • So zeigen Sie Informationen über das Objekt im Protokoll an (verwenden Sie toString).

Mittlerweile ist es eigentlich der Industriestandard, aber früher war es ein neuer Trend. Es scheint, dass jeder bereits so schreibt. Wenn Sie sich jedoch an HttpClient und seine Builder erinnern, können Sie erkennen, dass der neue Standard für manche schwierig ist.

Solche Objekte werden häufig verwendet, wenn ihre semantische Hauptlast die Datenspeicherung ist. Zum Beispiel in GUIs, Datenbanken und JSP-Seiten.

6.2 JSPs und JavaBeans

Einer der Gründe für die JSP war, dass sie an Front-End-Entwickler ausgelagert werden konnte. Und was? Sie haben eine Person, die HTML versteht, lassen Sie ihn JSP schreiben. Java-Programmierer schreiben ihren Teil, Frontend-Entwickler ihren Teil – alles ist in Ordnung.

Und alles war in Ordnung, bis die Front-End-Entwickler den in der JSP eingebetteten geschriebenen Java-Code verstehen mussten. Oder, noch schlimmer, schreiben Sie solchen Code selbst.

Auch Java-Programmierer waren damit nicht zufrieden. Nun, bitte sagen Sie uns, welche Layout-Designer sind Backend-Entwickler? Ja, sie können nichts außer Skripten schreiben. Ja, und das gesamte Programmierparadigma besagt, dass das Mischen verschiedener Sprachen in einer Datei eine schlechte Form ist.

Dann kam die Idee auf, Frontend-Entwicklern die Möglichkeit zu geben, mit Java-Objekten wie mit HTML-Code zu arbeiten. Jedes HTML-Tag ist auch ein Objekt mit eigenen Feldern. Warum nicht auf ähnliche Weise mit Java-Objekten arbeiten?

Gesagt, getan. Spezielle Tags hinzugefügt und los geht's.

Objekterstellung:

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

Dieser Befehl erstellt ein Objekt mit dem Typ und fügt es unter dem Namen objectein .sessionName

Objekte können in einem von vier Speichern gespeichert werden: Anwendung (global), Sitzung, Anfrage und Seite. Es war auch möglich, eine Eigenschaft solcher Objekte festzulegen:

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

Sie könnten die Eigenschaft solcher Objekte wie folgt erhalten:

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

Ein Beispiel für die Verwendung von Tags:

<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>