6.1 Ce sunt JavaBeans

Deja la sfârșitul anilor 90, limbajul Java a început să fie utilizat în mod activ pentru aplicații de server mari, unde numărul de clase este măsurat în zeci și sute de mii. Atunci a apărut ideea de a standardiza aspectul obiectelor Java.

Întregul limbaj Java nu a fost atins, pentru a nu-l lipsi de flexibilitate. Ei bine, compatibilitate inversă și toate astea. Apoi au dezvoltat o serie de criterii pentru obiectele Java de nouă generație și au numit astfel de obiecte Java Beans. Java poartă numele unei mărci populare de cafea, așa că Java Beans se traduce literalmente prin „boabe de cafea”.

Cele mai importante criterii au fost:

  • Accesul la câmpurile interne ale clasei se face prin getProperty().
  • Scrierea datelor în câmpurile de clasă trece prin setProperty(value).
  • Clasa trebuie să aibă un constructor public fără parametri .
  • Clasa trebuie să fie serializabilă.
  • Clasa trebuie să aibă metodele equals(), hashCode()și suprascrise toString().

Această abordare a făcut aplicațiile mai puțin coerente. Întotdeauna clar:

  • cum se creează un obiect - există un constructor public implicit;
  • cum să obțineți/setare valoarea proprietății;
  • cum se transferă/salva un obiect (folosim serializarea);
  • cum se compară obiecte (folosind equals() și hashCode());
  • cum să afișați informații despre obiect în jurnal (utilizați toString).

Acum este de fapt standardul industriei, dar a fost cândva o nouă tendință. Se pare că toată lumea scrie deja așa, deși dacă vă amintiți de HttpClient și de constructorii săi, puteți vedea că noul standard este greu pentru cineva.

Astfel de obiecte sunt utilizate pe scară largă acolo unde sarcina lor semantică principală este stocarea datelor. De exemplu, în GUI, baze de date și pagini JSP.

6.2 JSP-uri și JavaBeans

Unul dintre motivele pentru JSP a fost că ar putea fi externalizat către dezvoltatori front-end. Si ce? Ai o persoană care înțelege HTML, lasă-l să scrie JSP. Programatorii Java își scriu partea lor, dezvoltatorii front-end o scriu pe a lor - totul este în regulă.

Și totul a fost bine până când dezvoltatorii front-end au trebuit să înțeleagă codul Java scris încorporat în JSP. Sau, și mai rău, scrieți singur un astfel de cod.

Nici programatorii Java nu au fost mulțumiți de asta. Ei bine, vă rog să spuneți, ce designeri de layout sunt dezvoltatori backend? Da, ei nu pot scrie nimic în afară de scripturi. Da, și întreaga paradigmă de programare spune că amestecarea diferitelor limbi într-un singur fișier este o formă proastă.

Apoi a venit ideea că se spune că le oferă dezvoltatorilor front-end oportunitatea de a lucra cu obiecte Java, ca și cu codul HTML. Fiecare etichetă HTML este, de asemenea, un obiect cu propriile câmpuri, de ce să nu lucrezi cu obiecte Java într-un mod similar?

Făcut repede şi foarte bine. Am adăugat etichete speciale și plecăm.

Crearea obiectelor:

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

Această comandă a creat un obiect cu tipul objectși l-a pus sessionsub numele Name.

Obiectele pot fi stocate într-unul din cele patru magazine: aplicație (globală), sesiune, cerere și pagină. De asemenea, a fost posibil să setați o proprietate a unor astfel de obiecte:

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

Puteți obține proprietatea unor astfel de obiecte ca aceasta:

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

Un exemplu de utilizare a etichetelor:

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