เราจะมาสาธิตวิธีการใช้ session bean ในการแปลงอุณหภูมิฟาเรนไฮต์เป็นเซลเซียลน่านะ
1. สร้าง Project Java EE ขึ้นมาใหม่โดยเลือก Java EE ตามด้วย Enterprise Application
2. ติ๊กถูกหน้า Create EJB Module ให้ netbean สร้าง bean ให้เรา และหน้า Create Web Application Module เพื่อให้ netbean สร้าง web client
3. ที่ ConvertTemp-ejb สร้าง session bean ขึ้นมาตามภาพเราตั้งชื่อว่า ConvertSessionBean เลือก interface แบบ local นะ
4. ที่ไฟล์ ConvertSessionBean.java เข้าไปเพิ่ม method ที่รับอุณหภูมิฟาเรนไฮต์มาแปลงเป็นเซลเซียลแล้วคืนค่ากลับไป โดยเพิ่ม business method ก่อนนะจ๊ะ
แล้วแก้ code ใน method convertFarenToCels ตามภาพเลยค่ะ
5. ส่วนที่ไฟล์ ConvertSessionBeanLocal.java ต้องเพิ่ม interface ที่มี method signature เหมือนกับในไฟล์ ConvertSessionBean.java
สร้าง session bean เรียบร้อยแล้วค่ะ
6. ต่อมาเราจะสร้างส่วนของ client ที่จะมาติดต่อกับ bean โดย client จะอยู่ในรูปของ JSP ที่จะติดต่อกับ servlet แล้ว servlet จะติดต่อกับ bean ของเราอีกต่อหนึ่ง
7. ใน form เราจะใส่กล่องเพื่อรับค่า ตั้งชื่อกล่องว่า text และใส่ปุ่มชื่อว่า submit
ที่ไฟล์ index.jsp ที่อยู่ในส่วนของ web client ที่ชื่อ ConvertTemp-war เราจะสร้าง form เพื่อใช้รับค่าอุณหภูมิฟาเรนไฮต์มาจากผู้ใช้ โดยส่วนที่เติมใน Action: คือไฟล์ที่จะส่งต่อค่าอุณหภูมิฟาเรนไฮต์ไปให้และถูกเรียกมาทำงานเมื่อปุ่มถูกกด เราจะส่งค่าไปให้ servlet ที่ชื่อ myServlet เมื่อกดปุ่ม และตั้งชื่อ form ว่า myForm
สร้างกล่องสำหรับใส่ข้อความใน form
สร้างปุ่ม
เราจะได้ form ที่สมบูรณ์แล้วค่ะ ตาม code ดังนี้
8. สุดท้าย เราจะสร้าง servlet ที่ควมคุมการติดต่อระหว่าง client(index.jsp) กับ bean(ConvertSessionBean.java )
สร้าง servlet ขึ้นมาใหม่
ตั้งชื่อว่า myServlet ให้ตรงกับที่ใส่ไว้ใน action: ของ form
9. ในไฟล์ myServlet.java ใส่ code เรียก bean โดยคลิ๊กขวาแล้วเลือก Insert Code… -> Call Enterprise Bean.. แล้วเลือก bean ที่จะใช้งาน
จะได้ code ดังนี้
10. ต่อไปเราจะรับค่าอุณหภูมิฟาเรนไฮต์ที่ client ป้อนมาในกล่อง โดยรับจากกล่องชื่อ text ที่เราตั้ง ตามคำสั่ง (1) และใส่คำสั่ง (2) เพื่อแปลงค่าอุณหภูมิเซลเซียลที่รับมาจาก string เป็น double
แล้วจึงนำค่าอุณหภูมิเซลเซียลที่เป็น double แล้วมาใช้เป็น parameter ที่จะส่งไปเรียก method ของ ConvertSessionBean ผ่าน interface
ConvertSessionBeanLocal
เท่านี้โปรแกรมก็ทำงานได้แล้วค่า…….