Apache Tomcat เป็นเว็บเซิร์ฟเวอร์ (web server) และคอนเทนเนอร์เซิร์ฟเล็ต (servlet container) ที่ใช้กันอย่างแพร่หลายซึ่งมีแพลตฟอร์มสำหรับการทำแอพ Java เพื่อเรียกใช้ เป็นโอเพ่นซอร์สและพัฒนาโดย Apache Software Foundation ไม่ว่าคุณจะเป็นมือใหม่หรือนักพัฒนาที่มีประสบการณ์ในการทำแอพ การทำความเข้าใจวิธีติดตั้งและกำหนดค่า Apache Tomcat เป็นสิ่งสำคัญ บทความนี้จะแนะนำคุณตลอดขั้นตอนการติดตั้ง การกำหนดค่า และแม้กระทั่งการทำแอพอย่างง่ายแรกของคุณ
1. การติดตั้งทอมแคท (Tomcat)
ขั้นตอนการติดตั้ง Apache Tomcat จะแตกต่างกันไปเล็กน้อยขึ้นอยู่กับระบบปฏิบัติการของคุณ เราจะพิจารณาระบบหลักสามระบบ: Windows, Linux และ macOS
Windows
ก่อนเริ่มต้น ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้ง Java Development Kit (JDK) ไว้ในเครื่องของคุณแล้ว
- เยี่ยมชมเว็บไซต์อย่างเป็นทางการของ Apache Tomcat ( http://tomcat.apache.org/ ) และดาวน์โหลด Tomcat เวอร์ชันล่าสุด คุณควรดาวน์โหลดแพ็คเกจ ‘zip’ ภายใต้ส่วนหลัก
- แตกไฟล์ zip ที่ดาวน์โหลดมาไปยังตำแหน่งที่คุณต้องการ เช่น C:\Tomcat
- ในการตรวจสอบการติดตั้ง ให้เปิดพรอมต์คำสั่ง ไปที่ไดเร็กทอรี ‘bin’ ภายใต้พาธการติดตั้งของคุณ (C:\Tomcat\bin) และเรียกใช้ไฟล์ startup.bat หาก Tomcat เริ่มทำงานสำเร็จ แสดงว่าการติดตั้งของคุณถูกต้อง
Linux
เช่นเดียวกับ Windows ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้ง JDK ก่อนเริ่มกระบวนการติดตั้ง
- ใช้ wget เพื่อดาวน์โหลดไฟล์ Tomcat tar.gz จากเว็บไซต์อย่างเป็นทางการ แตกไฟล์ไปยังตำแหน่งที่คุณต้องการ เช่น /opt/Tomcat
- ในการเริ่มเซิร์ฟเวอร์ ให้ไปที่ไดเร็กทอรี /opt/Tomcat/bin และรันสคริปต์ startup.sh หาก Tomcat เริ่มทำงานโดยไม่มีข้อผิดพลาด แสดงว่าการติดตั้งของคุณสำเร็จ
macOS
กระบวนการนี้คล้ายกับ Linux:
- ดาวน์โหลดไฟล์ tar.gz จากเว็บไซต์อย่างเป็นทางการของ Tomcat และแตกไฟล์ไปยังตำแหน่งที่คุณต้องการ เช่น /Library/Tomcat
- ไปที่ /Library/Tomcat/bin และรันสคริปต์ startup.sh การเริ่มต้นที่สำเร็จหมายถึงการติดตั้งที่ถูกต้อง
2. การกำหนดค่า (Configuration) Tomcat
เพื่อให้เข้าใจการกำหนดค่าของ Tomcat สิ่งสำคัญคือต้องเข้าใจโครงสร้างไดเร็กทอรี ไดเร็กทอรีที่สำคัญคือ:
- bin: มีสคริปต์สำหรับเริ่มและหยุดเซิร์ฟเวอร์ Tomcat
- conf: ประกอบด้วยไฟล์การกำหนดค่า เช่น server.xml, context.xml และ tomcat-users.xml
- lib: มีไฟล์ JAR ที่เซิร์ฟเวอร์ต้องการ
- logs: มีไฟล์บันทึก
- webapps: นี่คือที่อยู่ของเว็บแอปพลิเคชันของคุณ
- work: Tomcat ใช้ไดเร็กทอรีนี้เพื่อจัดเก็บไฟล์ทำงานชั่วคราว
มาสำรวจไฟล์คอนฟิกูเรชันในไดเร็กทอรี conf:
- server.xml: นี่คือไฟล์การกำหนดค่าหลักสำหรับ Tomcat ประกอบด้วยคำจำกัดความสำหรับคอมโพเนนต์เซิร์ฟเวอร์ Tomcat เช่น Connectors, Engines, Realms และ Hosts
- Context.xml: ไฟล์นี้มีการตั้งค่าบริบทที่ใช้กับเว็บแอปพลิเคชันทั้งหมด
- tomcat-users.xml: ไฟล์นี้กำหนดผู้ใช้ บทบาท และสิทธิ์การเข้าถึง
ในการเริ่มต้น เรามาปรับการตั้งค่าพื้นฐานบางอย่างใน server.xml ภายในไฟล์นี้ คุณจะพบแท็กตัวเชื่อมต่อสำหรับ HTTP ซึ่งมีลักษณะดังนี้:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
คุณสามารถเปลี่ยนหมายเลขพอร์ต โปรโตคอล ไทม์เอาต์การเชื่อมต่อ และพอร์ตเปลี่ยนเส้นทางได้ที่นี่
3. การทำแอพอย่างง่าย
เมื่อติดตั้งและกำหนดค่า Tomcat แล้ว เรามาสร้างเว็บแอปพลิเคชันอย่างง่ายกัน โดยทั่วไปเว็บแอปพลิเคชันพื้นฐานจะมี Servlet หรือ JavaServer Page (JSP) อย่างน้อยหนึ่งรายการ
- เริ่มต้นด้วยการสร้างไดเร็กทอรีสำหรับเว็บแอปพลิเคชันของคุณในไดเร็กทอรี webapps เช่น /webapps/MyApp
- ภายใน MyApp ให้สร้างไดเร็กทอรีอื่นชื่อ WEB-INF ภายใน WEB-INF ให้สร้างไฟล์ชื่อ web.xml นี่คือตัวอธิบายการปรับใช้สำหรับแอปพลิเคชันของคุณและใช้เพื่อแม็พ URL กับคลาสเซิร์ฟเล็ต
- ในไดเร็กทอรี WEB-INF ให้สร้างไดเร็กทอรีอื่นชื่อคลาส สิ่งนี้จะมีเซิร์ฟเล็ตที่คอมไพล์แล้วของคุณ
โครงสร้างไดเร็กทอรีของคุณควรมีลักษณะดังนี้:
- MyApp
- WEB-INF
- web.xml
- classes
- WEB-INF
ตอนนี้ เรามาสร้างเซิร์ฟเล็ต “Hello World” อย่างง่ายกัน ในไดเร็กทอรีคลาส ให้สร้างไฟล์ HelloWorld.java:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HelloWorld extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter out = response.getWriter();
out.println("<h1>Hello World!</h1>");
}
}
คอมไพล์เซิร์ฟเล็ตนี้โดยใช้คอมไพเลอร์ Java ตรวจสอบให้แน่ใจว่าคุณตั้งค่า classpath ให้รวม servlet-api.jar จากไดเร็กทอรี lib ของการติดตั้ง Tomcat ของคุณ
ต่อไป มากำหนดค่าไฟล์ web.xml ของเรา:
<web-app>
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
</web-app>
ไฟล์ XML นี้แมป URL /hello กับเซิร์ฟเล็ต HelloWorld ของเรา ตอนนี้ หากคุณเริ่ม Tomcat และไปที่ http://localhost:8080/MyApp/hello คุณควรเห็น “Hello World!” แสดงในเบราว์เซอร์ของคุณ
นี่เป็นข้อมูลเบื้องต้นเบื้องต้นเกี่ยวกับการทำแอพด้วย Apache Tomcat ในขณะที่คุณดำเนินการ คุณอาจต้องการเจาะลึกหัวข้อที่ซับซ้อนมากขึ้น เช่น การจัดการเซสชัน ความปลอดภัย JSPs EL (Expression Language) JSTL (JSP Standard Tag Library) และการเชื่อมต่อ JDBC
ด้วยความชำนาญในการติดตั้ง การกำหนดค่า และกระบวนการทำแอพอย่างง่ายใน Apache Tomcat คุณจะวางรากฐานที่มั่นคงสำหรับการทำแอพ Java EE ขั้นสูง อย่าลืมหมั่นสำรวจและเรียนรู้เพิ่มเติมเกี่ยวกับสภาพแวดล้อมเซิร์ฟเวอร์ที่มีประสิทธิภาพและคุณสมบัติมากมาย