6.1 Hva er JavaBeans

Allerede på slutten av 90-tallet begynte Java-språket å bli aktivt brukt for store serverapplikasjoner, hvor antall klasser måles i titalls og hundretusener. Det var da ideen om å standardisere utseendet til Java-objekter dukket opp.

Hele Java-språket ble ikke berørt, for ikke å frata det fleksibiliteten. Vel, bakoverkompatibilitet og alt det der. Deretter utviklet de en rekke kriterier for ny generasjon Java-objekter og kalte slike objekter Java Beans. Java er oppkalt etter et populært kaffemerke, så Java Beans oversettes bokstavelig talt til "kaffebønner".

De viktigste kriteriene var:

  • Tilgang til de interne feltene i klassen går gjennom getProperty().
  • Å skrive data til klassefelt går gjennom setProperty(value).
  • Klassen må ha en offentlig parameterløs konstruktør .
  • Klassen må kunne serialiseres.
  • Klassen må ha equals(), hashCode()og -metodene overstyrt toString().

Denne tilnærmingen gjorde søknadene mindre sammenhengende. Alltid tydelig:

  • hvordan lage et objekt - det er en offentlig standardkonstruktør;
  • hvordan få/sette eiendomsverdien;
  • hvordan overføre/lagre et objekt (vi bruker serialisering);
  • hvordan sammenligne objekter (ved å bruke equals() og hashCode());
  • hvordan du viser informasjon om objektet i loggen (bruk toString).

Nå er det faktisk bransjestandarden, men det var en gang en ny trend. Det ser ut til at alle allerede skriver slik, men hvis du husker HttpClient og dets Builders, kan du se at den nye standarden er vanskelig for noen.

Slike objekter er mye brukt der deres viktigste semantiske belastning er datalagring. For eksempel i GUIer, databaser og JSP-sider.

6.2 JSP-er og JavaBeans

En av grunnene til JSP var at den kunne outsources til front-end utviklere. Og hva? Du har en person som forstår HTML, la ham skrive JSP. Java-programmerere skriver sin del, front-end-utviklere skriver sin - alt er bra.

Og alt var bra helt til front-end-utviklerne måtte forstå den skrevne Java-koden innebygd i JSP. Eller, enda verre, skriv en slik kode selv.

Java-programmerere var heller ikke fornøyd med dette. Vel, be fortell, hvilke layoutdesignere er backend-utviklere? Ja, de kan ikke skrive noe annet enn manus. Ja, og hele programmeringsparadigmet sier at å blande forskjellige språk i én fil er en dårlig form.

Så kom ideen opp som de sier for å gi front-end utviklere muligheten til å jobbe med Java-objekter, som med HTML-kode. Hver HTML-tag er også et objekt med sine egne felt, hvorfor ikke jobbe med Java-objekter på en lignende måte?

Ikke før sagt enn gjort. Lagt til spesielle tagger og så er vi i gang.

Objektoppretting:

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

Denne kommandoen opprettet et objekt med typen objectog la det inn sessionunder navnet Name.

Objekter kan lagres i en av fire butikker: applikasjon (global), økt, forespørsel og side. Det var også mulig å sette en egenskap for slike objekter:

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

Du kan få egenskapen til slike objekter som dette:

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

Et eksempel på bruk av tagger:

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