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

มารู้จัก เจเอสพี

 เจเอสพี

จาวาเซิร์ฟเวอร์ เพจ™ หรือเรียกย่อๆ ว่า เจเอสพี คือ การใช้ภาษาจาวาในการสร้างเวบ
เพจแบบที่มีเนื้อหาไม่ตายตัว

เจเอสพี
เวบเพจที่เขียนด้วย เจเอสพี มีเนื้อหาที่ไม่ตายตัว โดยคำสั่งเจเอสพีจะอยู่ปะปนกับคำสั่ง
HTML เพื่อสร้างเนื้อหาเฉพาะส่วนที่มีเนื้อหาที่เปลี่ยนแปลงได้ ลองดูตัวอย่างการใช้คำสั่งเจ
เอสพีสร้างโฮมเพจที่สามารถแสดงวันเวลาปัจจุบันซึ่งเปลี่ยนไปเรื่อยๆ ทุกครั้งที่มีผู้เยี่ยมชม
ดังต่อไปนี้

คำสั่ง เจเอสพี ในไฟล์ helloworld.jsp คือ คำสั่ง <%= new java.util.Date() %> ซึ่งเป็น
คำสั่งที่บอกให้แสดงวันที่และเวลา เนื้อหาส่วนอื่นๆ จะเหมือนกันทุกครั้งที่มีผู้เยี่ยมชมเวบ
เพจ แต่ตรงตำแหน่งของคำสั่งเจเอสพี ข้อความจะเปลี่ยนไปเรื่อยๆ เมื่อมีผู้เยี่ยมชมเวบไซต์
เพราะมันจะแสดงวันที่และเวลาปัจจุบัน ณ ขณะที่เยี่ยมชมเวบเพจนั้น ดังภาพ


โฮมเพจนี้มีเนื้อหาต่างกันเมื่อถูกเข้าถึงต่างเวลา นั้นคือเราสามารถใช้ เจเอสพี ในการสร้าง
เนื้อหาส่วนที่ไม่ตายตัวในเวบไซต์ได้ โดยคำสั่งเจเอสพีสามารถอยู่ปะปนกับคำสั่ง HTML
โดยบริเวณที่เป็นคำสั่งเจเอสพีจะล้อมรอบด้วยเครื่องหมาย <% และ %> เสมอ
เวบเพจที่มีคำสั่งเจเอสพีอยู่ จะต้องมีนามสกุล .jsp แทนที่จะเป็น .html ธรรมดา ซึ่งเวบ
เซิร์ฟเวอร์จะดูจากนามสกุลเป็นตัวบอกว่าเวบเพจหน้าใดที่คำสั่งเจเอสพีปนอยู่บ้าง ถ้ามีคำ
สั่งเจเอสพี เวบเซิร์ฟเวอร์จะแทนคำสั่งเจเอสพีในเพจหน้านั้นด้วยข้อความที่เหมาะสมก่อนที่
จะส่งไปให้เบราเซอร์ที่เครื่องของผู้เยี่ยมชมแสดงผล ดังตัวอย่างข้างต้น ทุกครั้งที่มีคนเรียก
เพจ helloworld.jsp เวบเซิร์ฟเวอร์จะแทนคำสั่ง <%= new java.util.Date() %> ด้วยวันที่
และเวลาปัจจุบันก่อน แล้วจึงส่งไปให้เบราเซอร์แสดงผล แต่ถ้าเวบเพจหน้านั้นมีนามสกุล
เป็น .html มันจะส่งไปให้เบราเซอร์ทันที เพราะเนื้อหาของไฟล์ .html นั้นตายตัวอยู่แล้ว ไม่
ต้องเปลี่ยนแปลงอะไร
อนึ่ง การแสดงวันที่และเวลาเป็นเพียงตัวอย่างหนึ่งที่ทำให้เห็นภาพของประโยชน์ของการใช้
คำสั่งเจเอสพี คำสั่งเจเอสพียังทำอะไรต่อมิอะไรได้อีกมาก

ทำไมต้องใช้เจเอสพี

อันที่จริงมีเทคโนโลยีอื่นๆ อีกหลายตัวที่ใช้สร้างโฮมเพจที่มีเนื้อหาแบบไม่ตายตัวได้เหมือน
กับเจเอสพี เช่น CGI, ASP, ColdFusion หรือ PHP เราเรียกเทคโนโลยีเหล่านี้ว่า
เซิร์ฟเวอร์ไซด์สคริปต์ (Server-side scripts) เพราะมีลักษณะคล้ายๆ กับภาษา
คอมพิวเตอร์ ซึ่งสั่งให้เวบเซิร์ฟเวอร์สร้างเวบเพจแบบไม่ตายตัวให้ แต่เจเอสพีมีข้อดีที่เหนือ
กว่าเซิร์ฟเวอร์สคริปต์ตัวอื่นๆ อยู่หลายประการ

ประการแรก เจเอสพี ไม่ใช่ภาษาคอมพิวเตอร์ที่สร้างขึ้นมาใหม่ คำสั่งทุกคำสั่งของเจเอสพี
คือคำสั่งภาษาจาวา ดังนั้นผู้ที่รู้ภาษาจาวาอยู่แล้วจึงเรียนรู้เจเอสพีได้อย่างรวดเร็ว อีกทั้ง
ภาษาจาวายังเป็นภาษาเชิงวัตถุที่มีความสมบูรณ์แบบ มีโครงสร้างภาษาที่รัดกุม และมี
ความปลอดภัยสูง ไม่ยึดติดกับระบบปฏิบัติการ ดังนั้นเวบไซต์ที่เขียนด้วยเจเอสพีจึงได้รับ
อานิสงส์เหล่านั้นไปด้วย
ประการที่สอง เจเอสพี มีสถาปัตยกรรมที่เหมาะกับการใช้งานของผู้เยี่ยมชมจำนวนมากๆ
ในเวลาเดียวกัน เวบเพจที่เขียนด้วยเจเอสพีทำงานเป็นมัลติเทรดโดยอัตโนมัติ (เวบ
โปรแกรมเมอร์ไม่ต้องสร้างเทรดเอง) อีกทั้งเวลาเวบเซิร์ฟเวอร์โหลดคำสั่งเจเอสพีเข้าไปใน
หน่วยความจำเพื่อทำงาน คำสั่งเจเอสพีจะยังคงค้างอยู่ในหน่วยความจำ เมื่อผู้เยี่ยมชมราย
อื่นเรียกเวบเพจหน้านั้นซ้ำอีกจึงไม่เสียเวลาในการโหลดคำสั่งซ้ำอีก เวบเพจที่ใช้คำสั่ง
เจเอสพีจึงมีความเร็วในการทำงานเป็นอย่างมาก
ประการสุดท้าย เจเอสพี พัฒนาง่าย เพราะสามารถเขียนอยู่ปะปนกับคำสั่ง HTML ในไฟล์
เดียวกัน การพัฒนาเวบไซต์จึงมีความสะดวก รวดเร็ว เข้าใจง่าย