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>