More Related Content
Similar to Javacentrix com chap04-0
Similar to Javacentrix com chap04-0 (20)
More from Theeravaj Tum (20)
Javacentrix com chap04-0
- 2. 1. เทคโนโลยีการประมวลผลบนเว็บเซิร์ฟเวอร์
ก่อนที่จะเริ่มต้นปรับสภาพวะของเครื่องในการพัฒนาโปรแกรม
ขอแนะนำข้อมูลเพิ่มเติมในส่วนของเทคโนโลยีอื่นๆที่คล้ายคลึงกับเซิร์ฟเล็ตก่อน
เพื่อให้ผู้อ่านได้เปรียบเทียบเทคโนโลยีที่สามารถนำมาทดแทนกันได้
การเลือกใช้เทคโนโลยีต่างๆขึ้นอยู่กับสภาพแวดล้อมที่มีอยู่ในปัจจุบันหรือการวางแผนในการทำงานที่จะเกิดขึ้นในอนาคต
CGI (Common Gateway Interface)
CGI เป็นเทคโนโลยีที่มีรูปแบบและเป้าหมายการทำงานเฉกเช่นเดียวกับเซิร์ฟเล็ต โดย CGI ถูกแนะนำเริ่มต้นกับระบบยูนิกส์
(Unix) ต่อมาเริ่มมีการใช้งานกับระบบวินโดว์ (Windows) แต่ความแตกต่างของเซิร์ฟเล็ตกับ CGI คือรูปแบบการประมวลผล เช่น เมื่อ
CGI ถูกเรียกใช้งานจากเว็บไคลเอนต์ หากผู้ใช้เรียกใช้งานจำนวน 10 ครั้ง CGI ก็จะถูกโหลดเพื่อทำการประมวลผล 10
ครั้งตามจำนวนเรียกใช้งาน และหาก 100 ครั้งการโหลดก็มีทั้งสิ้น 100 ครั้งตามไปด้วย จากลักษณะการโหลดทำให้ CGI
ต้องให้หน่วยความจำเท่ากับจำนวนครั้งของการใช้งานด้วยผู้ใช้
ซึ่งต่างกับเซิร์ฟเล็ตที่โปรแกรมเซิร์ฟเล็ตจะเริ่มต้นการทำงานด้วยโหลดตัวเองเข้าสู่ระบบประมวลผลภายใต้การทำงานของเว็บเซิร์ฟเวอร์
ก่อน จากนั้นหากมีการเรียกร้องจากเว็บไคลเอนต์ เซิร์ฟเล็ตก็จะสร้างส่วนส่วนการประมวลผลย่อยที่เรียกกันว่าเธรด (Thread)
รองรับการใช้งานซึ่งกินขนาดหน่วยความจำน้อยกว่าการโหลดทั้งโปรแกรม จากข้อแตกต่างนี้เห็นได้ว่า CGI
ใช้ทรัพยากรในการทำงานมากกว่าเซิร์ฟเล็ตในจำนวนครั้งของการเรียกใช้งาน
อีกประการหนึ่งคือเรื่องของประสิทธิภาพในการประมวลผล ซึ่งหากผู้พัฒนา CGI ไม่รัดกุมในการเขียนโปรแกรมเพียงพอ
ซึ่งในบางครั้งโปรแกรมอาจเกิดความล้มเหลวในการประมวลผล ซึ่งมีผลทำให้โปรแกรม CGI
ยังคงค้างการทำงานอยู่ภายในพื้นที่ทำงานของเว็บเซิร์ฟเวอร์
ซึ่งแตกต่างกับเซิร์ฟเล็ตหากเธรอดที่สร้างขึ้นในการรอบรับการร้องขอจากเว็บไคลเอนต์เกิดผิดพลาดหรือล้มเหลวในการประมวลผลแล้ว
ด้วยรูปแบบและเทคโนโลยีของจาวาเธรดที่ล้มเหลวดังกล่าวจะถูกขจัดออกจากพื้นที่การทำงานของเว็บเซิร์ฟเวอร์โดยอัตโนมัติตามกลไก
การทำงานภายใน
PHP
PHP จัดเป็นรูปแบบสำหรับเทคโนโลยีการประมวลผลที่มีลักษณะเป็น Open Source
ซึ่งผู้ที่สนใจสามารถนำไปปรับปรุงและพัฒนาให้เหมาะสมตามข้อกำหนดของ Open Source และ PHP
นี้เองที่สามารถใช้งานและทำงานเพื่อให้เกิดการประมวลผลที่เว็บเซิร์ฟเวอร์ เพื่อสร้างเอกสารที่มีความเป็นไดนามิกเกิดขึ้น PHP
ปัจจุบันได้รับความนิยมเพิ่มขึ้นอย่างสูงและเว็บเซิร์ฟเวอร์ที่ทำงานบนยูนิกส์ ส่วนใหญ่ก็สนับสนุนรูปแบบการทำงานของ PHP แล้ว
ASP (Active Server Page)
เป็นรูปแบบการทำงานเพื่อประมวลผลบนเซิร์ฟเวอร์อีกแบบหนึ่ง ที่ออกแบบโดยทางบริษัทไมโครซอฟต์ โดยอาศัย
สำหรับในการพัฒนาโปรแกรมทั้งเซิร์ฟเล็ตและ JSP ที่จะใช้ในการเรียนรู้จากหนังสือเล่มนี้
ผู้เขียนได้เลือกเครื่องมือที่สามารถดาวน์โหลดมาใช้งานได้ฟรี หรือหาได้โดยง่าย โดยยึดเอาระบบปฏิบัติการคอมพิวเตอร์วินโดวส์
(ผู้ใช้ทดสอบการทำงานจากวินโดวส์เอ็กซ์พีโฮมอิดิชัน [Windows XP Home Edition]) เครื่องมือที่ใช้ทดสอบประกอบด้วย
2 ซอฟต์แวร์เพื่อการประมวลผลเซิร์ฟเล็ตและ JSP
ก่อนที่จะเริ่มใช้งานเซิร์สเล็ตและ JSP นั้นเครื่องที่จะใช้งานควรติดตั้งซอฟต์แวร์ที่จำเป็นก่อน
เพื่อปรับสภาวะแวดล้อมในการทำงานให้สามารถทำงานในรูปแบบการประมวลผลบนเซิร์ฟเวอร์ได้
สำหรับการใช้งานที่ผู้เขียนใช้ทดสอบการทำงานมีรายชื่อดังต่อไปนี้
ชุดพัฒนาภาษาจาวา (J2SE: Java 2 Standard Edition) เพื่อใช้ในการคอมไพล์ซอร์สโค้ด (Source Code) ให้ได้ไบต์โค้ด
ก่อนนำไปติดตั้งเพื่อทำงานบนเว็บเซิร์ฟเวอร์ โดยซอร์สโค้ดสามารถใช้โปรแกรมเท็กซ์อิดิเตอร์ (Text Editor)
- 3. ใดๆก็ได้ในการสร้างและบันทึกก่อนการคอมไพล์ โดยรุ่นที่เลือกใช้คือเวอร์ชัน 1.4.0 ซึ่งดาวน์โหลดได้จาก
http://java.sun.com/j2se/1.4/download.html
เว็บเซิร์ฟเวอร์ (Apache Tomcat) เลือกใช้งานโปรแกรม Apache Tomcat เวอร์ชัน4.0.1
ซึ่งสนับสนุนการใช้งานเซิร์ฟเล็ตเวอร์ชัน 2.3 และ JSP เวอร์ชัน 1.2 โดยสามารถดาวน์โหลดมาใช้งานได้ฟรีตามข้อกำหนดที่
http://jakarta.apache.org/tomcat/index.html
นอกจาก Apache Tomcat แล้วยังมีเว็บเซิร์ฟเวอร์อีกหลายตัวในท้องตลาดที่สามารถทำงานกับเซิร์ฟเล็ตและ JSP ได้
ดังตัวอย่างต่อไปนี้
Java Server Web Development Kit (JSWDK) เป็นโปรแกรมอย่างเป็นทางการที่ถูกสร้างขึ้นมา
เพื่อใช้ในการทดสอบการทำงานของเซิร์ฟเล็ตและ JSP
โปรแกรมมีขนาดเล็กและครอบคลุมการทำงานของเว็บเซิร์ฟเวอร์ทั้งหมด สามารถดาวน์โหลดมาใช้งานได้ฟรี ซึ่งหาได้ที่
http://java.sun.com/products/servlet/download.html
Java Web Server จาวาเว็บเซิร์ฟเวอร์เป็นโปรแกรมที่มีความพิเศษกว่าตัวอื่น คือถูกสร้างขึ้นมาด้วยภาษาจาวา
ให้สามารถทำงานตามหน้าที่ของเว็บ เซิร์ฟเวอร์และสนับสนุนการใช้งานทั้งเซิร์ฟเล็ตรวมถึง JSP
สามารถดาวน์โหลดเพื่อทดลองใช้งาน ที่ http://www.sun.com/software/jwebserver/try
Allaire เป็นโปรแกรมเว็บเซิร์ฟเวอร์ที่สามารถทำงานได้กับเซิร์ฟเล็ตและ JSP
แต่มีความสามารถที่จะทำงานร่วมกับเว็บเซิร์ฟเวอร์ผลิตภัณฑ์อื่นๆในระบบเดียวกันไว้อีกด้วย เช่น IIS, PWS หรือ
O’Reilly Web Server เป็นต้น สามารถดาวน์โหลดเพื่อทดสอบการใช้งานได้ที่ http://www.alllaire.com
Lita Web Server เป็นโปรแกรมเว็บเซิร์ฟเวอร์ ฟรีขนาดเล็กที่มีลักษณะเดียวกับ Jomcat
สนับสนุนการทำงานของเซิร์ฟเล็ตและ JSP เช่นเดียวกัน ดังกล่าวดูรายละเอียดเพิ่มเติมได้ที่
http://www.gefionsoftware.com
นอกจากที่กล่าวมาแล้วสามารถตรวจสอบรายชื่อเว็บเซิร์ฟเวอร์ที่สนับสนุนการทำงานของเซิร์ฟเล็ตและ JSP ได้ที่
http://java.sun.com/products/servlet/industry.html
- ระบบฐานข้อมูล เนื่องจากในการพัฒนาระบบส่วนใหญ่แล้วมักจะมีเรื่องเกี่ยวกับการจัดเก็บข้อมูล
การจัดเก็บข้อมูลในวิธีเบื้องต้นคือการจัดเก็บลงไพล์ข้อมูล
แต่ในการจัดเก็บข้อมูลมีความสลับซับซ้อนเราสามารถนำเอาความสามารถของระบบจัดการฐานข้อมูลมาช่วยได้
ในที่นี้ตัวอย่างบางตัวอย่างมีการอ้างถึงการใช้งานฐานข้อมูล โดยอ้างอิงไปที่โปรแกรม mySQL
ซึ่งเป็นฟรีซอฟต์แวร์อีกตัวหนึ่งที่แนะนำให้ท่านได้รู้จัก
ระบบฐานข้อมูล (mySQL) ในตัวอย่างบางตัวอย่างมีการทำงานเพื่อเก็บข้อมูล
ดังนั้นการเก็บข้อมูลสามารถใช้งานซอฟต์แวร์ใดๆที่มีความสามารถในการจัดเก็บข้อมูลแบบเชิงสัมพันธ์ และสนับสนุนภาษา
SQL ที่ใช้ในการจัดการและสืบค้นข้อมูล โดยเซิร์ฟเล็ตและ JSP สามารถติดต่อกับระบบฐานข้อมูลได้ผ่าน JDBC
ซึ่งเป็นมิดเดิลแวร์ระหว่างโปรแกรมและระบบฐานข้อมูล โดยสามารถดาวน์โหลด mySQL เพื่อนำมาใช้งานได้ฟรี เนื่องจาก
mySQL เป็นฟรีแวร์ได้ที่ http://www.mySQL.com/downloads/ นอกจากดาวน์โหลดซอฟต์แวร์แล้ว
ให้ดาวน์โหลดไดร์เวอร์สำหรับการทำงานผ่าน JDBC ด้วย
ข้อแนะนำ สำหรับผู้อ่านที่ไม่อยากเสียเวลาในการดาวน์โหลด สามารถติดตั้งได้จากแผ่นซีดีรอมที่แถมมาให้พร้อมหนังสือเล่มนี้
ได้ทั้งหมด
3 การเตรียมความพร้อมของชุดพัฒนา J2SE
ชุดพัฒนาโปรแกรมในภาษาจาวา ที่ทางบริษัท Sun กำหนดไว้มีอยู่ 3 เอดิชั่น คือ Micro Edition (J2ME), Standard
Edition (J2SE), และ Enterprise Edition (J2EE) เมื่อ Micro คือการพัฒนาโปรแกรมทำงานบนอุปกรณ์อิเล็กทรอนิกส์,
Standard คือโปรแกรมใช้งานทั่วไป และ Enterprise คือส่วนประกอบเพิ่มเติมเพื่อทำงานในระดับเอ็นเตอร์ไพร์
- 4. ในที่นี้เครื่องมือที่ใช้ในการคอมไพล์คือ J2SE ตามที่กล่าวมาแล้วข้างต้น
ซึ่งในชุดพัฒนาโปรแกรมประกอบไปด้วยโปรแกรมสนับสนุนต่างๆ เช่น คอมไพล์เลอร์ ไลบราลี่ เอกสาร API,
ชุดปรับสภาพการทำงาน (JRE) เป็นต้น ในที่ J2SE ที่ใช้คือ JDK เวอร์ชัน 1.4.0
เริ่มติดตั้งชุดพัฒนา
เมื่อได้ชุดติดตั้งมาแล้วให้ติดตั้งลงบนเครื่องที่ใช้พัฒนาโปรแกรม สำหรับในการทดสอบได้ติดตั้งลงในเส้นทาง
C:Program Filesj2sdk1.4.0โดยหลังจากติดตั้งแล้วโครงสร้างไดเร็กทรอรี่ควรเป็นดังนี้
C:Program Filesjdk1.4.0
bin ซึ่งใช้บรรจุโปรแกรมที่ใช้ในการพัฒนาโปรแกรม
demo ตัวอย่างซอร์สโค้ดภาษาจาวา
include รายชื่อไฟล์เอกสารเฮดเดอร์
jre ไดเร็กทรอรี่เพื่อเก็บข้อมูลในการทำงาน (Runtime Libraries)
bin โปรแกรมที่ใช้ร่วมในการทำงาน
lib ไลบรารี่ APIสนับสนุนการทำงาน
lib ไลบรารี่ API สนับสนุนในการพัฒนา
(วาดรูปใหม่เหมือน File Explorer)
รูปแสดงโครงสร้างไดเร็กทรอรี่หลังจากติดตั้ง J2SDK
แก้ไขตัวแปรสภาพแวดล้อม PATH
ในขั้นตอนนี้อาจไม่จำเป็นต้องทำเนื่องจากระบบการติดตั้ง J2SDK นั้นได้จัดการให้เรียบร้อยแล้ว
เนื่องจากการใช้งาน JDK ผู้ใช้จำเป็นต้องใช้งานผ่านดอสโหมด (Command Prompt) ซึ่งการกำหนดตัวแปร PATH
ของระบบปฏิบัติการให้รู้จักไดเร็กทรอรี่ที่ติดตั้ง JDK จะช่วยให้นักพัฒนาทำงานได้ง่ายยิ่งขึ้น เช่น
หากไม่ได้ทำการกำหนดตัวแปล PATH แล้วเมื่อต้องการคอมไพล์ไฟล์ซอร์สโค้ดชื่อ myJava.java
จำเป็นต้องอ้างถึงโปรแกรมคอมไพลเลอร์ (javac.exe) แบบเต็มคำสั่ง ดังนี้
C:>C:Program Filesj2sdk1.4.0binjavac myJava.java
แต่หากมีการกำหนดให้ตัวแปร PATH รู้จักไดเร็กทรอรี่ติดตั้งแล้ว การใช้งานไม่ว่าผู้พัฒนาจดเก็บซอร์สโค้ดไว้ที่ใดๆ
การคอมไพล์จะเป็นรูปแบบ ต่อไปนี้คือ
C:>javac myJava.java
สังเกตว่าระบุเพียงแค่ชื่อคอมไพลเลอร์เท่านั้น ไม่จำเป็นต้องระบุไดเร็กทรอรี่ติดตั้ง การกำหนดข้อมูลตัวแปร PATH
คือการเพิ่มข้อความ “c:Program Filesj2sdk1.4.0bin” เพื่ออ้างไปยังไดเร็กทรอรี่ติดตั้งที่มีโปรแกรมคอมไพลเลอร์อยู่
การเพิ่มเติมจำเป็นต้องใช้สัญลักษณ์ ; กั่นระหว่างข้อมูลเดิมของตัวแปร PATH กับข้อมูลใหม่ที่ป้อนเข้าไป
สำหรับ Windows 95, 98, 98SE
ให้แก้ไขไฟล์ c:autoexec.bat ด้วยอิดิเตอร์ใดๆ โดยหาตัวแปรชื่อ PATH จากนั้นต่อท้ายด้วยข้อความ ;c:Program
Filesj2sdk1.4.0bin เช่น
PATH=C:WINDOWS;C:WINDOWSCOMMAND;c:Program Filesj2sdk1.4.0bin
- 5. หากไม่เจอตัวแปร PATH สามารถเพิ่มข้อมูลลงไปได้โดยตรงในไฟล์ autoexec.bat แล้วทำการบันทึก
หลังจากนั้นอาจจำเป็นต้องมีการรีสตาร์จเครื่องใหม่อีกครั้งหนึ่ง
สำหรับ Windows ME
เลือกเมนู Start->Programs->Accessories->System Tools->System Information
ซึ่งจะปรากฏหน้าต่างที่มีแถบไตเติลบาร์คือ "Microsoft Help and Support" จากนั้นเลือกเมนู Tools และตามด้วย System
Configuration คลิกที่แท็ป Environment หาตัวแปร PATH และเลือกที่ตัวแปรดังกล่าวจากนั้นกดปุ่ม และเพิ่มข้อมูล
;c:Program Filesj2sdk1.4.0bin ต่อท้ายจากนั้นทำการบันทึกด้วยปุ่ม Save และให้ทำการรีสตารจ์เครื่องใหม่อีกครั้ง
สำหรับ Windows NT, 2000, XP
เลือกเมนู Start->Settings->Control Panel และเลือกใช้งาน System คลิกที่แท็บ Environment (สำหรับ Windows
NT) หรือแท็บ Advanced (สำหรับ Windows 2000) มองหาตัวแปร PATH ในส่วน System Variables ให้เพิ่มข้อมูล
;c:Program Filesj2sdk1.4.0bin จากนั้นกดปุ่ม Set (สำหรับระบบอื่นอาจเป็น OK หรือ Apply)
ตรวจสอบตัวแปร CLASSPATH
ตัวแปร CLASSPATH
ถือเป็นตัวแปรที่สำคัญอีกตัวหนึ่งที่จะบอกให้โปรแกรมที่สร้างขึ้นมาจากภาษาจาวาสามารถเรียกใช้งานกลุ่มคลาสในไลบรารี่
หรือกลุ่มคลาสที่สร้างขึ้นมาประกอบการทำงานได้ โดยปกติ CLASSPATH สำหรับ JDK 1.2
ขึ้นไปควรกำหนดข้อมูลให้เป็นไดเร็กทรอรี่ปัจจุบันคือ
CLASSPATH=.
หากมีการติดตั้งไลบราลี่อื่นๆและตามคู่มือการใช้งานจำเป็นต้องกำหนดไดเร็กทรอรี่ให้กับตัวแปร CLASSPATH
สามารถเพิ่มเติมได้ภายหลังตามความจำเป็น สามารถใช้ขั้นตอนการกำหนดตัวแปร PATH ใช้กับการกำหนดตัวแปร
CLASSPATH ได้
4 การเตรียมความพร้อมของเว็บเซิร์ฟเวอร์
สำหรับซอฟต์แวรที่ทำหน้าที่เป็นเว็บเซิร์ฟเวอร์ที่ใช้งานคือ Apache Tomcat ซึ่งเป็นฟรีแวร์
หลังจากที่ดาวน์โหลดเรียบร้อยแล้ว ให้นำโปรแกรมมาติดตั้งลงในเครื่องคอมพิวเตอร์ ในเส้นทางที่ต้องการ
สำหรับเส้นทางที่อ้างตามหนังสือคือ C:Program FilesApache Tomcat 4.0
ดังนั้นโครงสร้างไดเร็กทรอรี่ที่ติดตั้งเรียบร้อยแล้วเป็นดังนี้
C:Program FilesApache Tomcat 4.0
bin บรรจุโปรแกรมที่ใช้ในการเปิดการทำงาน (startup.bat) และปิดการทำงาน (shutdown.bat) และอื่นๆ
conf บรรจุไฟล์ข้อมูลที่ใช้ประกาบการทำงานของเว็บเซิร์ฟเวอร์ในรูปแบบ XML
logs บันทึกสภาวะการทำงานของเว็บเซิร์ฟเวอร์ เกี่ยวกับกิจกรรมทั้งหมดที่ร้องขอของบราวเซอร์
webapps เก็บบันทึกโปรแกรมที่ทำงานในรูปแบบเซิร์ฟเล็ต และ JSP
(วาดรูปใหม่เหมือน File Explorer)
รูปแสดงโครงสร้างหลังจากติดตั้ง Apache Tomcat
การเปลี่ยนหมายเลขพอร์ตสื่อสาร
- 6. ในการทำงานของเว็บเซิร์ฟเวอร์จะใช้หมายเลขพอร์ตสื่อสารหมายเลข 80
ซึ่งถือเป็นหมายเลขมาตรฐานในการทำงาน ทำให้เวลาใช้งานเว็บจากบราวเซอร์ไม่จำเป็นต้องระบุหมายเลขพอร์ตไว้
แต่สำหรับ Apache Tomcat เมื่อติดตั้งจะทำงานที่พอร์ต 8080
เนื่องจากถูกออกแบบสำหรับทำงานกับเว็บเซิร์ฟเวอร์ตัวอื่นๆได้
ในการทดลองตัวอย่างต่างๆของหนังสืออ้างที่พอร์ตหมายเลข 8080
หากผู้อ่านอยากเปลี่ยนเส้นทางการทำงานไปยังพอร์ตมาตรฐานหมายเลข 80 ก็สามารถทำได้
แนะนำ หากมีการใช้พอร์ตอื่นนอกจาก 80 ทำงานในระบบเว็บเซิร์ฟเวอร์ วิธีการใช้งานเพื่อเรียกดูข้อมูลเป็น
http://localhost:8080/index.htm (จากตัวอย่างใช้งานพอร์ต 8080) แต่เมื่อใช้งานพอร์ต 80 วิธีการเรียกดูข้อมูลเป็น
http://localhost/index.htm (localhost คือชื่อที่นิยามไว้สำหรับอ้างถึงตัวเอง)
แนะนำ การเปลี่ยนพอร์ตการสื่อสารให้มาเป็น 80
ต้องแน่ใจก่อนว่าเครื่องที่ใช้งานไม่มีโปรแกรมใดๆที่ทำหน้าที่เป็นเว็บเซิร์ฟเวอร์ใช้พอร์ตหมายเลข 80 ทำงานอยู่
ซึ่งอาจทำให้เกิดการขัดแย้งการทำงานขึ้น
การเปลี่ยนแปลงหมายเลขพอร์ตดังกล่าว สามารถทำได้โดยการแก้ไขไฟล์ที่ C:Program FilesApache Tomcat
4.0confserver.xml (เป็นไฟล์รูปแบบ xml) สามารถเปิดได้จากโปรแกรมอิดิเตอร์ทั่วไป เช่น NotePad โดยค้นหาแท็กที่ชื่อ
Connector มองหาแอตทริบิวต์ port และให้เปลี่ยนหมายเลขไปในพอร์ตที่ต้องการ ด้านล่างเป็นส่วนหนึ่งของไฟล์
server.xml ในแท็ก Connector
<Connector className="org.apache.catalina.connector.http.HttpConnector"
port="8080" minProcessors="5" maxProcessors="75"
enableLookups="true" redirectPort="8443"
acceptCount="10" debug="0" connectionTimeout="60000"/>
แนะนำ การเปลี่ยนแปลงไฟล์ใดๆที่ใช้งานสำหรับระบบควรสำเนาต้นฉบับเก็บไว้ก่อนเสมอ
เพื่อป้องกันความผิดพลาดจากการแก้ไขหากเกิดขึ้นจะได้นำเอาไฟล์ที่สำรองไว้กลับมาใช้งาน
เพื่อให้เว็บเซิร์ฟเวอร์ทำงานได้ดังเดิม
สร้างเว็บแอปพลิเคชั่นในการทำงาน
ในการทดลองเซิร์ฟเล็ตที่อยู่ภายในหนังสือ ผู้เขียนได้สร้างเว็บแอปพลิเคชั่นขึ้นมาชื่อ ejp
ดังนั้นเพื่อให้เซิร์ฟเล็ตรวบรวมไว้ในที่เดียวกัน จึงต้องสร้างเว็บแอปพลิเคชั่นขึ้นมาใช้งานใน Apache Tomcat
ซึ่งมีการสร้างได้ง่ายๆ ด้วยการสร้างไดเร็กทรอรี่โดยใช้ชื่อตามชื่อแอปพลิเคชั่นที่ต้องการ
เป็นไดเร็กทรอรี่ย่อยภายในไดเร็กทรอรี่ webapps ดังนี้
C:Program FilesApache Tomcat 4.0webappsejp
- 7. ซึ่งไดเร็กทรอรี่ดังกล่าวใช้สำหรับเก็บเอกสาร HTML เอกสาร JSP และเอกสารประกอบอื่นๆเช่น CSS เป็นต้น
จากนั้นให้สร้างไดเร็กทรอรี่ย่อยเพื่อใช้ติดตั้งเซิร์ฟเล็ต คือ WEB-INFclasses ไดเร็กทรอรี่เพื่อจัดเก็บไลบรารี่เพื่อใช้งานคือ
WEB-INFlib และสำหรับสนับสนุนการทำงานของ JSP คือWEB-INFjsp ดังนี้
C:Program FilesApache Tomcat 4.0webappsejp (สำหรับเก็บเอกสาร HTML, JSP และอื่นๆ)
WEB-INF
classes (สำหรับเก็บเซิร์ฟเล็ต)
lib (สำหรับเก็บไลบรารี่ประกอบการใช้งาน)
jsp (สำหรับเก็บข้อมูลสนับสนุนการทำงานของ jsp)
(วาดรูปใหม่เหมือน File Explorer)
รูปแสดงโครงสร้างไดเร็กทรอรี่การทำงาน ejp ภายใน Apache Tomcat
การเปลี่ยนพฤติกรรมการทำงานของเซิร์ฟเล็ต
เนื่องจากการทดลองตัวอย่างในหนังสือมีการเปลี่ยนแปลงซอร์สโค้ดอยู่ตลอดเวลา
ดังนั้นหากโปรแกรมเซิร์ฟเล็ตทำงานบนเว็บเซิร์ฟเวอร์ตามปกติ
เว็บเซิร์ฟเวอร์จะโหลดเซิร์ฟเล็ตลงในพื้นที่ทำงานเป็นอินสแตนซ์ (Instance)
และจะใช้งานเซิร์ฟเล็ตดังกล่าวทำงานในรูปแบบเธรด (Thread)
ในการร้องขอข้อมูลของบราวเซอร์ในแต่ละครั้งจนกว่าเว็บเซิร์ฟเวอร์จะปิดการทำงานลง
ดังนั้นการเปลี่ยนแปลงจากการทดลองซอร์สโค้ดที่จำเป็นต้องคอมไพล์ตัวเซิร์ฟเล็ตบ่อยๆถึงแม้จะติดตั้งเซิร์ฟเล็ตตัวใหม่ลงไ
ปทับตัวเก่าแล้วก็ตาม ก็จะไม่มีผลทำให้เซิร์ฟเล็ตตัวใหม่ถูกโหลดเข้าสู่เว็บเซิร์ฟเวอร์เพื่อทำงาน
ดังนั้นจึงจำเป็นต้องเปลี่ยนพฤติกรรมของเว็บเซิร์ฟเวอร์ก่อน
คือให้เว็บเซิร์ฟเวอร์ตรวจสอบวันที่และเวลาเซิร์ฟเล็ตทุกครั้งเมื่อมีการเรียกใช้งาน
หากวันที่และเวลาของเซิร์ฟเล็ตในไฟล์ใหม่กว่าตัวที่อยู่ในพื้นที่ทำงาน
ก็ให้สร้างอินสแตนซ์จากเซิร์ฟแล็ตตัวใหม่ไปใช้งานแทน
แน่นอนว่าการเปลี่ยนแปลงพฤติกรรมของเว็บเซิร์ฟเวอร์จะมีผลกับประสิทธิภาพการทำงานโดยรวม
แต่การทำเช่นนี้จะทำสำหรับการพัฒนาเซิร์ฟเล็ตเท่านั้น
หากแต่การใช้งานจริงความนำพฤติกรรมนี้ออกเพื่อให้เว็บเซิร์ฟเวอร์ทำงานอย่างมีประสิทธิภาพ
การเปลี่ยนแปลงพฤติกรรมการทำงานของเซิร์ฟเล็ตนี้ เปลี่ยนได้จากไฟล์ C:Program FilesApache Tomcat
4.0confserver.xml โดยการเพิ่มแท็กสำหรับเว็บแอปพลิเคชั่นที่ต้องการใช้งาน ในที่นี้คือ ejp
และกำหนดโครงสร้างของแท็ก Context ลงไปดังนี้
<Context path="/ejp" docBase="ejp" debug="0" reloadable="true" />
- 8. ส่วนที่ทำให้การโหลดเวิร์ฟเล็ตถูกตรวจสอบทุกครั้งก่อนการทำงานคือ reloadable โดยให้มีค่าเป็น true
แต่หากมีค่าเป็น false นั้นหมายถึงไม่จำเป็นต้องตรวจสอบเซิร์ฟเล็ตก่อนการทำงาน
ให้ใช้เซิร์ฟเล็ตที่อยู่ในพื้นที่ทำงานประมวลผลได้เลย
สำหรับในแอตทริบิวต์ docBase คือเส้นทางการทำงานที่อยู่ต่อจากไดเร็กทรอรี่ webapps ซึ่งก็คือ ejb
ส่วนแอตทริบิวต์ path คือชื่อที่เรียกผ่านบราวเซอร์จะใช้ชื่อ /ejb เพื่ออ้างถึงเว็บแอปพลิเคชั่นตัวนี้ เช่น หากเครื่องที่ใช้ชื่อ
localhost ใช้พอร์ตหมายเลข 8080 ในการทำงานการเรียกใช้เว็บแอปพลิเคชั่นนี้คือ
http://localhost:8080/ejb
กำหนดค่าให้กับตัวแปร JAVA_HOME
ต่อไปให้กำหนดตัวแปรระบบ JAVA_HOME เพื่อให้โปรแกรม Apache Tomcat ใช้ในการหาตำแหน่งชุดโปรแกรม
J2SE เพื่อใช้ในการคอมไพล์ JSP เป็นเซิร์ฟเล็ตในการทำงานเมื่อมีการสร้างเอกสารแบบ JSP
สำหรับ Windows 95, 98, Me
ให้กำหนดชื่อตัวแปรนี้ไว้ในไฟล์ autoexec.bat
set JAVA_HOME= C:Program Filesj2sdk1.4.0
สำหรับ Windows NT/2000/XP
กำหนดได้จากเมนู Start->Settings->Control Panel จากนั้นดับเบิลคลิกที่ System ให้ใส่ข้อมูล JAVA_HOME
ในส่วน Environment
นอกจากการกำหนดตัวแปร JAVA_HOME ด้วยวิธีข้างต้นแล้ว
สามารถทำได้ด้วยการแก้ไขไฟล์สำหรับการทำงานของ Apache Tomcat ได้โดยตรงคือไฟล์ C:Program FilesApache
Tomcat 4.0bincatalina.bat และเปลี่ยนแปลงจากคำสั่งสคริปต์จาก
if not "%JAVA_HOME%" == "" goto gotJavaHome
echo You must set JAVA_HOME to point at ...
goto cleanup
:gotJavaHome
ไปเป็นคำสั่งสคริปต์ดังนี้
if not "%JAVA_HOME%" == "" goto gotJavaHome
set JAVA_HOME= C:Program Filesj2sdk1.4.0
:gotJavaHome
เปลี่ยนแปลงการใช้งานหน่วยความจำของ DOS
- 9. หากการพัฒนาทำงานบนระบบปฏิบัติการวินโดวส์
อาจจำเป็นต้องเปลี่ยนแปลงค่าหน่วยความจำในการใช้งานสำหรับการ เปิดและหยุดโปแกรม Apache Tomcat
เพื่อป้องกันปัญหาจากหน่วยความจำไม่เพียงพอในการทำงาน ซึ่งอาจจะทำให้เกิดข้อความเช่น "Out of Environment
Space" เมื่อเริ่มใช้งาน ให้คลิกเมาส์ที่ปุ่มขวาที่ไฟล์ C:Program FilesApache Tomcat 4.0binbinstartup.bat
(ไฟล์เปิดใช้งาน) เลือก Properties ตามด้วย Memory จากนั้นเปลี่ยนแปลงค่าตัวเลขของ Initial Environment จาก Auto
ไปเป็น at least 2816 และทำเช่นเดียวกันนี้กับไฟล์ C:Program FilesApache Tomcat 4.0binshutdown.bat
(ไฟล์ปิดการทำงาน) ด้วยเช่นกัน
กำหนดค่าตัวแปร CATALINA_HOME
สำหรับการกำหนดค่าให้กับตัวแปร CATALINA_HOME ไม่จำเป็นต้องกระทำหากเป็นการใช้งานปกติ
เนื่องจากการติดตั้งปกติโปรแกรมจะจดจำได้ว่าไดเร็กทรอรี่ที่ติดตั้ง Apache Tomcat ว่าอยู่ที่ตำแหน่งไหน
(CATALINA_HOME คือตัวแปรบอกที่อยู่ของ Apache Tomcat)
การกำหนดค่าให้กับตัวแปรนี้ถูกใช้เมื่อบางส่วนของโปรแกรมมีการเคลื่อนย้ายตำแหน่งการทำงานไปยังส่วนอื่นๆของไดเร็กท
รอรี่ เช่น การสำเนาไฟล์ startup.bat หรือ shutdown.bat จากตำแหน่งไดเร็กทรอรี่ที่ติดตั้งไปยังไดเร็กทรอรี่ใดๆ เป็นต้น
การกำหนดค่าให้กับตัวแปร CATALINA_HOME ทำได้ด้วยวิธีเดียวกับการกำหนดค่าตัวแปร JAVA_HOME แต่สำหรับ
CATALINA_HOME ตามตัวอย่างการติดตั้งคือ c:tomcat นั่นเอง
การตรวจสอบว่าเซิร์ฟเวอร์มีการทำงานหรือไม่
ก่อนที่มีการใช้งานโปรแกรมเซิร์ฟเล็ตหรือ JSP ใดๆ แน่นอนว่า Apache Tomcat
จะต้องถูกสั่งให้เริ่มการทำงานเป็นเว็บเซิร์ฟเวอร์ก่อน คือเกิดโปรเซสที่พร้อมรองรับการติดต่อจากโปรแกรมบราวเซอร์
ซึ่งการเริ่มต้นการทำงานสามารถทำได้โดยการสั่งรัน (ดับเบิลคลิก) ที่ไฟล์ C:Program FilesApache Tomcat
4.0binstartup.bat จากนั้นทดสอบว่าเซิร์ฟเวอร์พร้อมในการรองรับการร้องขอหรือไม่
ให้เปิดโปรแกรมบราวเซอร์แล้วพิมพ์ที่อยู่ URL คือ http://localhost:8080/ หาก Apache Tomcat
ทำงานเป็นปกติจะปรากฏหน้าเว็บที่แสดงหน้าแรกของการต้อนรับการใช้งานโปรแกรม Tomcat คือ “Welcome Page”
หากการดำเนินการไม่ถูกต้องแน่นอนว่าแทนที่จะเห็นหน้าจอต้อนรับ
สิ่งที่เห็นคือข้อผิดพลาดแสดงว่าไม่พบไฟล์ที่ต้องการเรียกดู ซึ่งอาจจะเกิดจากที่ไม่ได้เปลี่ยนหมายเลขสื่อสารจาก 8080
ไปเป็นหมายเลข 80
- 10. รูปแสดงตัวอย่างหน้าแรกที่เกิดจากการทำงานของ Apache Tomcat
แนะนะ หากต้องการความสะดวกสามารถสร้างลิงก์ (Short Cut) อ้างไปยังไฟล์ทั้ง Startup.bat และ Shutdown.bat
ไว้ที่เดสท๊อปของวินโดวส์ ทำให้สามารถเริ่มทำงานและปิดการทำงานของ Tomcat ได้ง่ายดายยิ่งขึ้น
เมื่อมาถึงหน้าแรกสามารถตรวจสอบการทำงานว่าเซิร์ฟเล็ตและ JSP สามารถทำงานได้หรือไม่ จากลิงก์ที่หน้าแรกด้านซ้ายบน
คือ JSP Examples สำหรับการทดสอบเอกสาร JSP ส่วน Servlet Examples
สำหรับการทดสอบเซิร์ฟเล็ตที่ติดตั้งมาพร้อมกับเว็บเซิร์ฟเวอร์
รูปด้านล่างเป็นตัวอย่างการใช้งานตัวอย่างเอกสาร JSP ในเอกสารชื่อ snoop
ที่ทำงานโดยการแสดงข้อมูลของบราวเซอร์ที่ใช้งานว่ามีข้อมูลประกอบอะไรบ้าง
- 11. รูปแสดงตัวอย่างจากเอกสาร JSP ที่ติดตั้งมากับ Apache Tomcat ในชื่อ snoop.jsp
ต่อไปให้ทดสอบว่าเซิร์ฟเล็ตสามารถทำงานบนเว็บเซิร์ฟเวอร์ได้หรือไม่
โดยการเรียกใช้งานเซิร์ฟเล็ตตัวอย่างที่ติดตั้งมาพร้อมกับเว็บเซิร์ฟเวอร์ ซึ่งในที่นี้คือเซิร์ฟเล็ต Request Info
ที่เป็นการอ่านข้อมูลร้องขอจากบราวเซอร์มาแสดง ผลจากการทำงานของเซิร์ฟเล็ตแสดงให้เห็นดังภาพต่อไปนี้
- 12. รูปแสดงการทำงานของเซิร์ฟเล็ตซึ่งติดตั้งมาพร้อม Apache Tomcat ชื่อ Request Info
6 การติดตั้งและใช้งานฐานข้อมูล mySQL
สำหรับระบบฐานข้อมูล mySQL เมื่อได้รับชุดติดตั้งแล้วให้นำมาวางไว้ในเส้นทางที่ต้องการ
สำหรับการดำเนินงานในหนังสือนี้ ใช้เส้นทาง C:Program FilesmySQL ในการทำงาน โดยให้ติดตั้งตามขั้นตอนปกติ
ส่วนการใช้งานจะกล่าวถึงอีกครั้งหนึ่งในบทที่ 10 ที่เป็นการสร้างแอปพลิเคชั่น JSP ที่ทำงานติดต่อกับระบบฐานข้อมูลโดยเฉพาะ
เมื่อกล่าวมาถึงตอนนี้เครื่
องคอมพิวเตอร์ของผู้อ่านก็พร้อมแ
ล้วสำหรับการพัฒนาเซิร์ฟเล็ต
หรือ JSP
ในเนื้อหาต่อไปจะเริ่มกล่าวถึงการ
สร้างโปรแกรมด้วยภาษาจาวา
เพื่อให้สามารถทำงานเป็นเซิร์ฟเล็
ตแบบง่ายๆก่อนในขั้นแรก
โดยเซิร์ฟเล็ตดังกล่าวจะสามารถท
ำงานร่วมกับเว็บเซิร์ฟเวอร์ได้
และหวังว่าทุกท่านพร้อมแล้วสำห
รับการสร้างโปรแกรม
หากเป็นเช่นนั้นเปิดอ่านในบทต่อไ
ปได้เลยครับ