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()
éshashCode()
metódusokattoString()
.
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 тип-an object
, és elhelyezte сессию
a 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-то do important</p>
<jsp:getProperty name = "test" property = "message" />
</center>
</body>
GO TO FULL VERSION