6.1 Apakah itu JavaBeans

Sudah pada akhir 90-an, bahasa Java mula digunakan secara aktif untuk aplikasi pelayan yang besar, di mana bilangan kelas diukur dalam puluhan dan ratusan ribu. Ketika itulah idea untuk menyeragamkan rupa objek Java muncul.

Keseluruhan bahasa Jawa tidak disentuh, supaya tidak menghilangkan fleksibilitinya. Nah, keserasian ke belakang dan semua itu. Kemudian mereka membangunkan beberapa kriteria untuk objek Java generasi baru dan memanggil objek tersebut Java Beans. Java dinamakan sempena jenama kopi yang popular, jadi Java Beans secara literal diterjemahkan kepada "biji kopi".

Kriteria yang paling penting ialah:

  • Akses kepada medan dalaman kelas melalui getProperty().
  • Menulis data ke medan kelas melalui setProperty(value).
  • Kelas mesti mempunyai pembina tanpa parameter awam .
  • Kelas mestilah boleh bersiri.
  • Kelas mesti mempunyai equals(), hashCode()dan kaedah yang ditindih toString().

Pendekatan ini menjadikan aplikasi kurang koheren. Sentiasa jelas:

  • bagaimana untuk mencipta objek - terdapat pembina lalai awam;
  • bagaimana untuk mendapatkan/menetapkan nilai hartanah;
  • bagaimana untuk memindahkan/menyimpan objek (kami menggunakan serialisasi);
  • bagaimana untuk membandingkan objek (menggunakan equals() dan hashCode());
  • bagaimana untuk memaparkan maklumat tentang objek dalam log (gunakan toString).

Kini ia sebenarnya standard industri, tetapi ia pernah menjadi trend baharu. Nampaknya semua orang sudah menulis seperti ini, walaupun jika anda mengingati HttpClient dan Pembinanya, anda dapat melihat bahawa standard baharu itu sukar untuk seseorang.

Objek sedemikian digunakan secara meluas di mana beban semantik utamanya ialah penyimpanan data. Contohnya, dalam GUI, pangkalan data dan halaman JSP.

6.2 JSP dan JavaBeans

Salah satu sebab JSP adalah kerana ia boleh disumber luar kepada pembangun hadapan. Dan apa? Anda mempunyai seseorang yang memahami HTML, biarkan dia menulis JSP. Pengaturcara Java menulis bahagian mereka, pembangun bahagian hadapan menulis bahagian mereka - semuanya baik-baik saja.

Dan semuanya baik-baik saja sehingga pembangun bahagian hadapan perlu memahami kod Java bertulis yang dibenamkan dalam JSP. Atau, lebih teruk lagi, tulis sendiri kod sedemikian.

Pengaturcara Java juga tidak berpuas hati dengan ini. Baiklah, harap maklum, pereka reka letak yang manakah merupakan pembangun bahagian belakang? Ya, mereka tidak boleh menulis apa-apa kecuali skrip. Ya, dan keseluruhan paradigma pengaturcaraan mengatakan bahawa mencampurkan bahasa yang berbeza dalam satu fail adalah bentuk yang tidak baik.

Kemudian idea muncul bahawa mereka mengatakan untuk memberi pembangun bahagian hadapan peluang untuk bekerja dengan objek Java, seperti dengan kod HTML. Setiap teg HTML juga merupakan objek dengan medannya sendiri, mengapa tidak berfungsi dengan objek Java dengan cara yang sama?

Tidak lebih awal berkata daripada selesai. Menambah tag khas dan kami pergi.

Penciptaan objek:

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

Perintah ini mencipta objek dengan jenis objectdan meletakkannya di sessionbawah nama Name.

Objek boleh disimpan dalam salah satu daripada empat kedai: aplikasi (global), sesi, permintaan dan halaman. Ia juga mungkin untuk menetapkan sifat objek sedemikian:

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

Anda boleh mendapatkan harta objek seperti ini:

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

Contoh penggunaan tag:

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