6.1 JavaBeans คืออะไร

ในช่วงปลายทศวรรษที่ 90 ภาษา Java เริ่มใช้งานอย่างแข็งขันสำหรับแอปพลิเคชันเซิร์ฟเวอร์ขนาดใหญ่ โดยวัดจำนวนคลาสเป็นหมื่นและแสน นั่นเป็นจุดเริ่มต้นของแนวคิดในการสร้างมาตรฐานรูปลักษณ์ของออบเจกต์ Java

ไม่ได้แตะต้องภาษา Java ทั้งหมดเพื่อไม่ให้ขาดความยืดหยุ่น ความเข้ากันได้ย้อนหลังและทั้งหมดนั้น จากนั้นจึงพัฒนาเกณฑ์จำนวนหนึ่งสำหรับออบเจกต์ Java รุ่นใหม่ และเรียกออบเจ็กต์ดังกล่าวว่า Java Beans Java ตั้งชื่อตามแบรนด์กาแฟยอดนิยม ดังนั้น Java Beans จึงแปลว่า "เมล็ดกาแฟ" ตามตัวอักษร

เกณฑ์ที่สำคัญที่สุดคือ:

  • การเข้าถึงฟิลด์ภายในของคลาสต้องผ่านgetProperty().
  • การเขียนข้อมูลลงในฟิลด์คลาสต้องผ่านsetProperty(value).
  • คลาสต้องมีตัวสร้างแบบไม่มีพารามิเตอร์สาธารณะ
  • คลาสจะต้องทำให้เป็นอนุกรมได้
  • คลาสจะต้องมีการ แทนที่ equals(), hashCode()และtoString()เมธอด

วิธีการนี้ทำให้แอปพลิเคชันมีความสอดคล้องกันน้อยลง ชัดเจนเสมอ:

  • วิธีสร้างวัตถุ - มีตัวสร้างเริ่มต้นสาธารณะ
  • วิธีรับ/ตั้งค่าคุณสมบัติ
  • วิธีถ่ายโอน/บันทึกวัตถุ (เราใช้การทำให้เป็นอันดับ)
  • วิธีเปรียบเทียบวัตถุ (โดยใช้เท่ากับ () และ hashCode ());
  • วิธีแสดงข้อมูลเกี่ยวกับวัตถุในบันทึก (ใช้ toString)

ตอนนี้เป็นมาตรฐานอุตสาหกรรมจริง ๆ แต่ครั้งหนึ่งเคยเป็นเทรนด์ใหม่ ดูเหมือนว่าทุกคนจะเขียนแบบนี้อยู่แล้ว แม้ว่าคุณจะจำ HttpClient และ Builders ได้ คุณจะเห็นว่ามาตรฐานใหม่นั้นยากสำหรับบางคน

ออบเจ็กต์ดังกล่าวใช้กันอย่างแพร่หลายโดยที่โหลดความหมายหลักคือการจัดเก็บข้อมูล ตัวอย่างเช่น ใน GUI ฐานข้อมูล และหน้า JSP

6.2 JSP และ JavaBeans

หนึ่งในเหตุผลสำหรับ JSP คือสามารถจ้างนักพัฒนาส่วนหน้าจากภายนอกได้ และอะไร? คุณมีคนที่เข้าใจ HTML ให้เขาเขียน JSP โปรแกรมเมอร์ Java เขียนส่วนของพวกเขา นักพัฒนาส่วนหน้าเขียนส่วนของพวกเขา - ทุกอย่างเรียบร้อยดี

และทุกอย่างเรียบร้อยดีจนกระทั่งนักพัฒนาส่วนหน้าต้องเข้าใจโค้ด Java ที่เขียนขึ้นซึ่งฝังอยู่ใน JSP หรือแย่กว่านั้นคือเขียนโค้ดดังกล่าวด้วยตัวคุณเอง

โปรแกรมเมอร์ Java ไม่พอใจกับสิ่งนี้เช่นกัน ช่วยบอกที นักออกแบบเลย์เอาต์คนไหนเป็นผู้พัฒนาแบ็กเอนด์ ใช่ พวกเขาไม่สามารถเขียนอะไรได้เลยนอกจากสคริปต์ ใช่ และกระบวนทัศน์การเขียนโปรแกรมทั้งหมดบอกว่าการผสมภาษาต่างๆ ในไฟล์เดียวเป็นรูปแบบที่ไม่ดี

จากนั้นแนวคิดก็เกิดขึ้นโดยพวกเขากล่าวว่าเพื่อให้นักพัฒนาส่วนหน้ามีโอกาสทำงานกับออบเจกต์ Java เช่นเดียวกับโค้ด HTML แท็ก HTML แต่ละรายการยังเป็นวัตถุที่มีฟิลด์ของตัวเอง เหตุใดจึงไม่ทำงานกับวัตถุ Java ในทำนองเดียวกัน

ไม่พูดเร็วกว่าทำ เพิ่มแท็กพิเศษแล้วไปกันเลย

การสร้างวัตถุ:

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

คำสั่งนี้สร้างวัตถุที่มีประเภทobjectและวางไว้ภายใต้sessionชื่อName

อ็อบเจกต์สามารถจัดเก็บในหนึ่งในสี่ร้านค้า: แอปพลิเคชัน (ส่วนกลาง), เซสชัน, คำขอ และเพจ นอกจากนี้ยังสามารถตั้งค่าคุณสมบัติของวัตถุดังกล่าว:

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

คุณสามารถรับคุณสมบัติของวัตถุดังกล่าวได้ดังนี้:

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

ตัวอย่างการใช้แท็ก:

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