SlideShare a Scribd company logo
บทที่ 4 การเตรียมสภาพแวดล้อมในการพัฒนา
ในบทนี้จะขอกล่าวในรายละเอียดของการติดตั้ง
หรือปรับสภาพแวดล้อมของเครื่องคอมพิวเตอร์ให้พร้อมกับการพัฒนาระบบ
โดยเน้นไปที่การใช้งานบนระบบวินโดว์เป็นหลัก
สำหรับผู้อ่านที่ใช้งานเครื่องคอมพิวเตอร์ในระบบปฏิบัติการอื่นๆ
ก็สามารถใช้แนวทางเดียวกันในการเตรียมสภาพแวดล้อมของตนเอง
การเตรียมสภาพแวดล้อมในการพัฒนาระบบ
ประกอบด้วยการติดตั้งชุดพัฒนา JDK
ที่ใช้ทำหน้าที่ในการคอมไพล์ภาษาจาวาเพื่อใช้สร้างเป็นเซิร์ฟเล็ต
ส่วนโปรแกรมที่ทำหน้าที่เป็นเว็บเซิร์ฟเวอร์ เลือกใช้โปรแกรมที่ชื่อ Apache
Tomcat ที่สนับสนุนการประมวลผลด้วยเทคโนโลยีทั้งเซิร์ฟเล็ตและ JSP
และสุดท้ายโปแกรมที่ทำหน้าที่เป็นระบบฐานข้อมูลโดยเลือกใช้โปรแกรม
MySQL ในการจัดการระบบข้อมูลเชิงสัมพันธ์
โดยซอฟต์แวร์ที่กล่าวผ่านมาทั้งหมดถูกนำมาติดตั้งบนเครื่องเพื่อการเรียนรู้
และประกอบการปฏิบัติการในการฝึกหัดตามตัวอย่างที่อยู่ในหนังสือเล่มนี้
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)
ใดๆก็ได้ในการสร้างและบันทึกก่อนการคอมไพล์ โดยรุ่นที่เลือกใช้คือเวอร์ชัน 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 คือส่วนประกอบเพิ่มเติมเพื่อทำงานในระดับเอ็นเตอร์ไพร์
ในที่นี้เครื่องมือที่ใช้ในการคอมไพล์คือ 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
หากไม่เจอตัวแปร 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
การเปลี่ยนหมายเลขพอร์ตสื่อสาร
ในการทำงานของเว็บเซิร์ฟเวอร์จะใช้หมายเลขพอร์ตสื่อสารหมายเลข 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
ซึ่งไดเร็กทรอรี่ดังกล่าวใช้สำหรับเก็บเอกสาร 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" />
ส่วนที่ทำให้การโหลดเวิร์ฟเล็ตถูกตรวจสอบทุกครั้งก่อนการทำงานคือ 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
หากการพัฒนาทำงานบนระบบปฏิบัติการวินโดวส์
อาจจำเป็นต้องเปลี่ยนแปลงค่าหน่วยความจำในการใช้งานสำหรับการ เปิดและหยุดโปแกรม 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
รูปแสดงตัวอย่างหน้าแรกที่เกิดจากการทำงานของ Apache Tomcat
แนะนะ หากต้องการความสะดวกสามารถสร้างลิงก์ (Short Cut) อ้างไปยังไฟล์ทั้ง Startup.bat และ Shutdown.bat
ไว้ที่เดสท๊อปของวินโดวส์ ทำให้สามารถเริ่มทำงานและปิดการทำงานของ Tomcat ได้ง่ายดายยิ่งขึ้น
เมื่อมาถึงหน้าแรกสามารถตรวจสอบการทำงานว่าเซิร์ฟเล็ตและ JSP สามารถทำงานได้หรือไม่ จากลิงก์ที่หน้าแรกด้านซ้ายบน
คือ JSP Examples สำหรับการทดสอบเอกสาร JSP ส่วน Servlet Examples
สำหรับการทดสอบเซิร์ฟเล็ตที่ติดตั้งมาพร้อมกับเว็บเซิร์ฟเวอร์
รูปด้านล่างเป็นตัวอย่างการใช้งานตัวอย่างเอกสาร JSP ในเอกสารชื่อ snoop
ที่ทำงานโดยการแสดงข้อมูลของบราวเซอร์ที่ใช้งานว่ามีข้อมูลประกอบอะไรบ้าง
รูปแสดงตัวอย่างจากเอกสาร JSP ที่ติดตั้งมากับ Apache Tomcat ในชื่อ snoop.jsp
ต่อไปให้ทดสอบว่าเซิร์ฟเล็ตสามารถทำงานบนเว็บเซิร์ฟเวอร์ได้หรือไม่
โดยการเรียกใช้งานเซิร์ฟเล็ตตัวอย่างที่ติดตั้งมาพร้อมกับเว็บเซิร์ฟเวอร์ ซึ่งในที่นี้คือเซิร์ฟเล็ต Request Info
ที่เป็นการอ่านข้อมูลร้องขอจากบราวเซอร์มาแสดง ผลจากการทำงานของเซิร์ฟเล็ตแสดงให้เห็นดังภาพต่อไปนี้
รูปแสดงการทำงานของเซิร์ฟเล็ตซึ่งติดตั้งมาพร้อม Apache Tomcat ชื่อ Request Info
6 การติดตั้งและใช้งานฐานข้อมูล mySQL
สำหรับระบบฐานข้อมูล mySQL เมื่อได้รับชุดติดตั้งแล้วให้นำมาวางไว้ในเส้นทางที่ต้องการ
สำหรับการดำเนินงานในหนังสือนี้ ใช้เส้นทาง C:Program FilesmySQL ในการทำงาน โดยให้ติดตั้งตามขั้นตอนปกติ
ส่วนการใช้งานจะกล่าวถึงอีกครั้งหนึ่งในบทที่ 10 ที่เป็นการสร้างแอปพลิเคชั่น JSP ที่ทำงานติดต่อกับระบบฐานข้อมูลโดยเฉพาะ
เมื่อกล่าวมาถึงตอนนี้เครื่
องคอมพิวเตอร์ของผู้อ่านก็พร้อมแ
ล้วสำหรับการพัฒนาเซิร์ฟเล็ต
หรือ JSP
ในเนื้อหาต่อไปจะเริ่มกล่าวถึงการ
สร้างโปรแกรมด้วยภาษาจาวา
เพื่อให้สามารถทำงานเป็นเซิร์ฟเล็
ตแบบง่ายๆก่อนในขั้นแรก
โดยเซิร์ฟเล็ตดังกล่าวจะสามารถท
ำงานร่วมกับเว็บเซิร์ฟเวอร์ได้
และหวังว่าทุกท่านพร้อมแล้วสำห
รับการสร้างโปรแกรม
หากเป็นเช่นนั้นเปิดอ่านในบทต่อไ
ปได้เลยครับ

More Related Content

PDF
PDF
Eclipse
PDF
Ict300_4_edit
PPT
บทที่ 2 เตรียมตัวให้พร้อมก่อนเขียนโปรแกรม java
PDF
โครงงานโปรเจ็คเวิร์ค
PDF
เผยแพร่ความรู้ออนไลน์ ใหม่
PDF
Web dav android (1)
PDF
โครงงานคอมพิวเตอร์ เรื่อง ซอฟต์แวร์คอมพิวเตอร์คืออะไร
Eclipse
Ict300_4_edit
บทที่ 2 เตรียมตัวให้พร้อมก่อนเขียนโปรแกรม java
โครงงานโปรเจ็คเวิร์ค
เผยแพร่ความรู้ออนไลน์ ใหม่
Web dav android (1)
โครงงานคอมพิวเตอร์ เรื่อง ซอฟต์แวร์คอมพิวเตอร์คืออะไร

What's hot (8)

PDF
โครงงาน ระดับ ปวช. วิทยาลัยอาชีวศึกษาขอนแก่น
PPTX
บทเรียน ประกอบแผนที่ 5
DOCX
โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์
PPT
ระบบปฏิบัติการ
PPT
ระบบปฏิบัติการ
PPT
ระบบปฏิบัติการ
PDF
โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์ เรื่อง ระบบปฏิบัติการ
DOCX
เผยแพร่ความรู้ออนไลน์ ใหม่
โครงงาน ระดับ ปวช. วิทยาลัยอาชีวศึกษาขอนแก่น
บทเรียน ประกอบแผนที่ 5
โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์
ระบบปฏิบัติการ
ระบบปฏิบัติการ
ระบบปฏิบัติการ
โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์ เรื่อง ระบบปฏิบัติการ
เผยแพร่ความรู้ออนไลน์ ใหม่
Ad

Similar to Javacentrix com chap04-0 (20)

DOC
J2 ee คืออะไร
PDF
01 ความรู้เกี่ยวกับการ web programming
PDF
Projece
PDF
ความรู้เบื้องต้นภาษาจาวา
PDF
1. ความรู้เกี่ยวกับการ web programming
PPT
Java Programming [1/12] : Introduction
PDF
Hand-on Exercise Java Web Programming
PDF
01 บทที่ 1-บทนำ
PDF
joomla-2-5-install-appserv
PDF
Powerpoint templat3 1_
DOC
บทที่ 3. คอมพิวเตอร์ซอฟต์แวร์
PDF
Dream mx
PDF
โครงงานระดับ ปวช. วิทยาลัยอาชีวศึกษาขอนแก่น
DOCX
โครงงาน
DOCX
โครงงาน ระบบปฏิบัติการ266
PDF
Java Web Programming [Servlet/JSP] Using GlassFish and NetBeans
PDF
Java Web programming Using NetBeans
PDF
Java Web Programming Using NetBeans 6.5
PDF
Web Programming path1 23_feb17_Dr.Arnut
PDF
โปรแกรมประยุกต์บนเว็บ
J2 ee คืออะไร
01 ความรู้เกี่ยวกับการ web programming
Projece
ความรู้เบื้องต้นภาษาจาวา
1. ความรู้เกี่ยวกับการ web programming
Java Programming [1/12] : Introduction
Hand-on Exercise Java Web Programming
01 บทที่ 1-บทนำ
joomla-2-5-install-appserv
Powerpoint templat3 1_
บทที่ 3. คอมพิวเตอร์ซอฟต์แวร์
Dream mx
โครงงานระดับ ปวช. วิทยาลัยอาชีวศึกษาขอนแก่น
โครงงาน
โครงงาน ระบบปฏิบัติการ266
Java Web Programming [Servlet/JSP] Using GlassFish and NetBeans
Java Web programming Using NetBeans
Java Web Programming Using NetBeans 6.5
Web Programming path1 23_feb17_Dr.Arnut
โปรแกรมประยุกต์บนเว็บ
Ad

More from Theeravaj Tum (20)

PDF
Javacentrix com chap11-2
PDF
Javacentrix com chap11-1
PDF
Javacentrix com chap10-0
PDF
Javacentrix com chap09-0
PDF
Javacentrix com chap08-0
PDF
Javacentrix com chap07-0
PDF
Javacentrix com chap06-0
PDF
Javacentrix com chap03-0
PDF
Javacentrix com chap02-0
PDF
Javacentrix com chap01-0
PDF
Javacentrix com chap05-0
PDF
บทที่ 13 การดักจับเ
PDF
บทที่ 12 กราฟฟิก
PDF
บทที่ 11 การดักจับข
PDF
บทที่ 10 ตัวแปรสตริ
PDF
บทที่ 9 การพ้องรูป
PDF
บทที่ 8 คุณสมบัติก
PDF
บทที่ 7 แพ็คเกจ
PDF
บทที่ 6 อาร์เรย์
PDF
บทที่ 5 คลาส
Javacentrix com chap11-2
Javacentrix com chap11-1
Javacentrix com chap10-0
Javacentrix com chap09-0
Javacentrix com chap08-0
Javacentrix com chap07-0
Javacentrix com chap06-0
Javacentrix com chap03-0
Javacentrix com chap02-0
Javacentrix com chap01-0
Javacentrix com chap05-0
บทที่ 13 การดักจับเ
บทที่ 12 กราฟฟิก
บทที่ 11 การดักจับข
บทที่ 10 ตัวแปรสตริ
บทที่ 9 การพ้องรูป
บทที่ 8 คุณสมบัติก
บทที่ 7 แพ็คเกจ
บทที่ 6 อาร์เรย์
บทที่ 5 คลาส

Javacentrix com chap04-0

  • 1. บทที่ 4 การเตรียมสภาพแวดล้อมในการพัฒนา ในบทนี้จะขอกล่าวในรายละเอียดของการติดตั้ง หรือปรับสภาพแวดล้อมของเครื่องคอมพิวเตอร์ให้พร้อมกับการพัฒนาระบบ โดยเน้นไปที่การใช้งานบนระบบวินโดว์เป็นหลัก สำหรับผู้อ่านที่ใช้งานเครื่องคอมพิวเตอร์ในระบบปฏิบัติการอื่นๆ ก็สามารถใช้แนวทางเดียวกันในการเตรียมสภาพแวดล้อมของตนเอง การเตรียมสภาพแวดล้อมในการพัฒนาระบบ ประกอบด้วยการติดตั้งชุดพัฒนา JDK ที่ใช้ทำหน้าที่ในการคอมไพล์ภาษาจาวาเพื่อใช้สร้างเป็นเซิร์ฟเล็ต ส่วนโปรแกรมที่ทำหน้าที่เป็นเว็บเซิร์ฟเวอร์ เลือกใช้โปรแกรมที่ชื่อ Apache Tomcat ที่สนับสนุนการประมวลผลด้วยเทคโนโลยีทั้งเซิร์ฟเล็ตและ JSP และสุดท้ายโปแกรมที่ทำหน้าที่เป็นระบบฐานข้อมูลโดยเลือกใช้โปรแกรม MySQL ในการจัดการระบบข้อมูลเชิงสัมพันธ์ โดยซอฟต์แวร์ที่กล่าวผ่านมาทั้งหมดถูกนำมาติดตั้งบนเครื่องเพื่อการเรียนรู้ และประกอบการปฏิบัติการในการฝึกหัดตามตัวอย่างที่อยู่ในหนังสือเล่มนี้
  • 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 ในเนื้อหาต่อไปจะเริ่มกล่าวถึงการ สร้างโปรแกรมด้วยภาษาจาวา เพื่อให้สามารถทำงานเป็นเซิร์ฟเล็ ตแบบง่ายๆก่อนในขั้นแรก โดยเซิร์ฟเล็ตดังกล่าวจะสามารถท ำงานร่วมกับเว็บเซิร์ฟเวอร์ได้ และหวังว่าทุกท่านพร้อมแล้วสำห รับการสร้างโปรแกรม หากเป็นเช่นนั้นเปิดอ่านในบทต่อไ ปได้เลยครับ