วันอังคารที่ 18 ธันวาคม พ.ศ. 2555

ขี่จิงโจ้ รอบที่ 3-- มาแก้ไขโค้ดเพื่อให้ได้เวปอย่างที่คุณต้องการกันเถอะ ตอนที่ 3 (ตอนจบ)

หลังจากจัดการกับหน้าเวปเสร็จแล้ว เรามาดูวิธีการจัดการกับ Controller กันบ้างค่ะ
ระบบจะทำการสร้างไฟล์ AspectJ ขึ้นมาเป็นโค้ดส่วน controller ให้อัตโนมัติ ซึ่งตรงนี้เราจะไปเปลี่ยนแปลงแก้ไขไม่ได้เลย แต่ก็จะมีพวกฟังก์ชันพื้นฐานครบตาม CRUD (Create,Read,Update,Delete) ดังรูป

5. แต่บางครั้งเราก็อาจจะต้องการฟังก์ชันนอกเหนือจากนี้ เช่น ค้นหาข้อมูลแบบแปลกๆ เราก็ต้องเขียน Controller เองค่ะ ซึ่งจะต้องเขียนในไฟล์ Controller.java เท่านั้น
ที่สำคัญ ถ้ามีการติดต่อฐานข้อมูลที่ไม่ตรงตามที่ AspectJ มีให้ เราก็จะต้องเขียนฟังก์ชันที่ดึงข้อมูลจากฐานข้อมูลต่างหากค่ะ  ดังตัวอย่าง
ไฟล์ RecordExpenseService จะเป็นโค้ดที่เขียนขึ้นมาเพื่อเก็บชุดคำสั่งสำหรับการติดต่อฐานข้อมูลในแบบที่ไม่มีให้ใน Spring Roo  เช่น ค้นหาข้อมูลที่มีความสัมพันธ์กันมากกว่าสองตาราง หรือใช้การเปรียบเทียบต่างๆ เราก็สามารถเขียนชุดคำสั่ง JPA หรือจะใช้ Native SQL ก็ได้

ส่วนไฟล์ RecordeExpensesController เราก็ไปเพิ่มอีก action นึงให้ทำการแสดงรายการซื้อสินค้าที่ราคาแพงๆ ทั้งหมดออกมาค่ะ

6. ส่วนของการล็อกอิน จะต้องกำหนดให้กับไฟล์ applicationContext.xml ว่าให้อ่านข้อมูล username, password จากที่ไหนและยังไง กำหนดได้ดังรูปเลยค่ะ ก็จะเห็นว่าเราระบุชุดคำสั่ง SQL ที่จะใช้ดึงข้อมูลผู้ใช้ออกมา นอกจากนี้ยังกำหนดการเข้ารหัสพาสเวิร์ดได้ด้วยนะคะ

ท้ายที่สุดเห็นมั้ยคะว่า การสร้างเวปให้เป็นของเราเองไม่ได้ยากอย่างที่คิด ถึงรายละเอียดของ Java อาจจะเยอะไปหน่อย แต่ถ้าศึกษาดีๆ จะพบว่าเราก็สามารถเขียนเวปด้วย Java ได้ในเวลารวดเร็วเช่นกันนค่ะ
สำหรับการใช้ Spring Roo เพื่อสร้างเวปง่ายๆ ซีรีย์นี้เป็นการอธิบายการปรับเปลี่ยนโค้ดเมื่อใช้ Spring Roo สร้างเวป โดยที่ไม่ได้มุ่งเน้นให้เข้าใจโค้ดนะคะ ก็อาจจะเห็นว่ามีหลายๆจุดที่ ผู้อ่านคงรู้สึกว่าแล้วจะไปปรับอย่างอื่นให้มากกว่านี้ได้อย่างไร

ถ้าหากมีเวลา จะเขียนอธิบายโครงสร้างของ Spring Roo อย่างละเอียด(กว่านี้) ครั้งหน้า แต่อาจจะไม่มีเวลาอธิบาย Spring Framework และการเขียนเวปด้วย JAVA อย่างครบถ้วนนะคะ ผู้อ่านคงต้องปรับพื้นฐานด้วยการอ่านจากหนังสืออีกทีน่ะค่ะ  อย่างไรก็ตาม ขอให้สนุกกับการเขียนเวปด้วยสปริงจิงโจ้นะคะ

ไม่มีความคิดเห็น:

แสดงความคิดเห็น