วันจันทร์ที่ 13 กันยายน พ.ศ. 2553

บีน

บีน คือโปรแกรมขนาดเล็กบนเวบเซิร์ฟเวอร์ ซึ่งคอยช่วยเหลือไฟล์ .jsp ด้วยการทำงานบาง
อย่างแทนให้ โดยที่ไฟล์ .jsp เพียงแต่ร้องขอความช่วยเหลือจากบีนโดยการส่งพารามิเตอร์
ที่จำเป็นไปให้ บีนก็จะส่งผลลัพธ์ที่ต้องการกลับไปให้ทันที
ประโยชน์สำคัญของบีนคือการลดความยุ่งเหยิงของไฟล์ .jsp งานที่เคยต้องใช้คำสั่งเจเอสพี
เป็นสิบๆ บรรทัด จะลดลงเหลือเพียงคำสั่งร้องขอความช่วยเหลือจากบีนเพียงหนึ่งหรือสอง
บรรทัดเท่านั้น ทำให้ไฟล์ .jsp มีขนาดเล็กลงและดูง่ายขึ้น การทำเช่นนี้มีประโยชน์มาก
เพราะปกติแล้วโปรแกรมเมอร์ภาษาจาวาที่พัฒนาคำสั่งเจเอสพี กับนักออกแบบเวบไซต์ที่ใช้
คำสั่ง HTML มักเป็นคนละคนกัน การลดคำสั่งเจเอสพีในเวบเพจลงด้วยการย้ายมาเขียน
โปรแกรมบนบีนแทน ทำให้การแบ่งงานระหว่างเวบโปรแกรมเมอร์ กับผู้ออกแบบเวบไซต์มี
ความคล่องตัวมากขึ้น
การสร้างบีนก็เหมือนกับการเขียนโปรแกรมภาษาจาวาปกติ คือ ต้องเขียนเป็นไฟล์นามสกุล
.java แล้วนำไปคอมไพล์ให้ได้ไฟล์นามสกุล .class พอจะใช้งานก็นำไฟล์ .class ที่ได้ไปวาง
ไว้บนโฟลเดอร์ WEB-INF ใต้โฟลเดอร์ย่อยที่ชื่อ classes

การเรียกใช้งานบีนโดยตรง

อันที่จริงแล้วเราสามารถสร้างบีนแล้วเรียกแมธธอสของบีนโดยตรงในสคริปเลตได้โดยไม่
ต้องผ่านแท็ก setProperty และ getProperty ตัวอย่างเช่น

<jsp:useBean id=”counter” class=”mybean.Counter” scope=”application” />
<html>
<title>My First JSP</title>
<body>
You are the visitor number <%=counter.getCount()%>.
</body>
</html>

หลังจากเรียกใช้บีนผ่านแท็ก useBean แล้ว เราสามารถเรียกแมธธอส getCount() ของบีน
ผ่านชื่อ counter ได้โดยตรงราวกับว่าเป็นวัตถุที่เราสร้างขึ้นกับมือ โปรแกรมข้างต้นให้ผล
เหมือนกับโปรแกรมที่ 7-2 ทุกประการ
อย่างไรก็ตาม ขอแนะนำให้พยายามใช้งานบีนผ่านแท็กเจเอสพีจะดีกว่า เพราะโปรแกรมจะ
ดูเป็นระบบมากกว่า ตอนนี้อาจจะยังมองไม่เห็นภาพอย่างชัดเจน เพราะโปรแกรมตัวอย่างที่
ผ่านมายังไม่ค่อยซับซ้อน แต่ต่อไปจะเห็นชัดขึ้นตอนที่นำไปประยุกต์ใช้งานจริง