6.1 Mik azok a JavaBeans

A Java nyelvet már a 90-es évek végén elkezdték aktívan használni a nagy szerveralkalmazásokhoz, ahol az osztályok számát tíz- és százezerben mérik. Ekkor merült fel az ötlet, hogy szabványosítsuk a Java objektumok megjelenését.

Az egész Java nyelvhez nem nyúltak hozzá, nehogy megfosszák a rugalmasságától. Hát, visszafelé kompatibilitás, meg minden. Ezután számos kritériumot kidolgoztak az új generációs Java objektumokhoz, és ezeket az objektumokat Java Bean-nek nevezték el. A Java egy népszerű kávémárkáról kapta a nevét, így a Java Beans szó szerint "kávébab"-t jelent.

A legfontosabb kritériumok a következők voltak:

  • Az osztály belső mezőihez való hozzáférés a getProperty().
  • Az adatok osztálymezőkbe való írása a setProperty(value).
  • Az osztálynak nyilvános paraméter nélküli konstruktorral kell rendelkeznie .
  • Az osztálynak szerializálhatónak kell lennie.
  • Az osztálynak felül kell írnia a equals()és hashCode()metódusokat toString().

Ez a megközelítés kevésbé koherenssé tette az alkalmazásokat. Mindig tiszta:

  • hogyan hozzunk létre egy objektumot - van egy nyilvános alapértelmezett konstruktor;
  • hogyan lehet megszerezni/beállítani az ingatlan értékét;
  • objektum átvitele/mentése (szerializálást használunk);
  • az objektumok összehasonlítása (az equals() és a hashCode() használatával);
  • hogyan jelenítsünk meg információkat az objektumról a naplóban (a toString használata).

Jelenleg ez az iparági szabvány, de egykor új trend volt. Úgy tűnik, már mindenki így ír, bár ha eszébe jut a HttpClient és Builders, akkor láthatja, hogy valakinek nehéz az új szabvány.

Az ilyen objektumokat széles körben használják, ahol fő szemantikai terhelésük az adattárolás. Például grafikus felhasználói felületeken, adatbázisokban és JSP-oldalakon.

6.2 JSP és JavaBeans

A JSP egyik oka az volt, hogy kiszervezték a front-end fejlesztőknek. És akkor? Van egy ember, aki érti a HTML-t, hadd írjon JSP-t. A Java programozók írják a részüket, a front-end fejlesztők a sajátjukat – minden rendben.

És minden rendben volt, amíg a front-end fejlesztőknek meg kellett érteniük a JSP-be ágyazott írott Java kódot. Vagy ami még rosszabb, saját maga írjon ilyen kódot.

A Java programozók sem örültek ennek. Nos, mondd meg, melyik elrendezéstervezők a háttérfejlesztők? Igen, nem tudnak mást írni, csak forgatókönyveket. Igen, és az egész programozási paradigma azt mondja, hogy a különböző nyelvek egy fájlban való keverése rossz forma.

Aztán jött az ötlet, hogy azt mondják, hogy a front-end fejlesztőknek lehetőséget adnak arra, hogy Java objektumokkal dolgozzanak, akárcsak a HTML kóddal. Minden HTML tag egyben objektum saját mezőkkel, miért ne dolgozhatnánk hasonló módon a Java objektumokkal is?

Alig van szó, mint kész. Speciális címkéket adtunk hozzá, és már indulhatunk is.

Objektum létrehozása:

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

Ez a parancs egy objektumot hozott létre a típussal object, és elhelyezte sessiona név alatt Name.

Az objektumok a négy tároló egyikében tárolhatók: alkalmazás (globális), munkamenet, kérés és oldal. Az ilyen objektumok tulajdonságait is be lehetett állítani:

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

Az ilyen objektumok tulajdonságát így kaphatja meg:

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

Példa a címkék használatára:

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