TomCat สำหรับติดตั้ง แก้ไข คอนฟิก ใช้งาน JSP

Apache Tomcat เป็น  HTTP Server ที่มีความสามารถนำภาษาจาวามาใช้งานได้  สามารถใช้เทคโนโลยีของภาษาจาวาที่เรียกว่า Java Servlet  และ Java Server Page (JSP)  Tomcat เป็นโปรแกรม Open-Source  อยู่ภายใต้การดูแลของ Apache Software Foundation  (ซึ่งเป็นผู้สร้าง Apache HTTP Server ที่เป็นที่นิยมใช้กันอย่างแพร่หลาย)  สามารถอ่านรายละเอียดของ Tomcat ได้ที่  http://tomcat.apache.org  โดยเลือกหัวข้อ “ Documentation”  และเลือก “Tomcat 7.0” ขั้นตอนการติดตั้ง Tomcat เรียงลำดับดังนี้

ติดตั้ง Tomcat

สร้างโฟลเดอร์ ชื่อ WebSite  ไว้ที่ไดรว์ใดก็ได้ ( ในที่นี้คือ \WebProject) แตกไฟล์ apache-tomcat-7.0.xx.zip ในโฟลเดอร์นี้  ไฟล์ต่าง ๆ ของ Tomcat จะอยู่ภายใต้  “c:\WebProject\apache-tomcat-7.0.23”  เพื่อความง่ายในการพิมพ์และอ้างถึง จึงเปลี่ยนขื่อโฟลเดอร์ให้สั้นลงดังนี้ “c:\WebProject\tomcat7” ใส่เลข 7 หลัง tomcat เพื่อให้รู้ว่าเวอร์ชันที่ใช้อยู่นี้คือรุ่นที่ 7 ในอนาคตเพื่อจะติดตั้งเวอร์ชัน 8 หรือ 9  จนมาถึงเวอร์ชั่น 10,11 หรือจะติดตั้งเวอร์ชันย้อนหลังก็สามารถที่จะใส่ไว้ในโฟลเดอร์เดียวกันนี้ได้

การกำหนดค่าให้ server.xml

 ใช้ text editor อาจจะเป็น notepad หรือ editplus หรือ notepad++  หรือ textPad  เปิดไฟล์ server.xml
กรณีที่ต้องการแก้ไข TCP port : เราสามารถเปลี่ยนตัวเลขพอร์ต ที่ใข้ในการเชื่อมต่อกับ server เป็นเลขอื่น โดยปกติโปรแกรมจะเซตค่าไว้ที่พอร์ต 8080  เราอาจเปลี่ยนเป็น พอร์ต 80 ถ้า web server ของเรามีแค่ tomcat เพียง server เดียว ปกติพอร์ต 80 นี้ใช้กับ Apache web server  หรือ IIS ของไมโครซอฟต์ ซึ่งจะเป็น  web server หลัก
ตัวเลขพอร์ต จะต้องไม่ไปชนกับพอร์ตของอุปกรณ์อื่น ๆ ยึดครองใช้อยู่ เพื่อความปลอดภัย เรามักจะใช้เลขพอร์ตที่มีค่าระหว่าง 1024 ถึง 65535 ซึ่งรับประกันได้ว่าไม่ไปชนกับพอร์ตของอุปกรณ์ใด (ในการติดตั้งครั้งนี้ เราจะยังคงใช้พอร์ต 8080 ตามที่ค่าที่กำหนดไว้ เพราะจะติดตั้ง Apache web server ซึ่งใช้พอร์ต 80 ด้วย จึงไม่ต้องแก้ไขสิ่งใดในไฟล์ server.xml นี้)


กำหนดค่าให้ web.xml 

กรณีต้องการให้ แสดง รายการของ directory เป็นแบบ list  ถ้าโฟลเดอร์นั้นไม่มี welcome fie (index.html, index.jsp) server จะแสดงชื่อไฟล์ต่าง ๆ ที่มีอยู่ในไดเรกทอรีนั้น  แต่มีคำเตือนเขียนไว้ใน web.xml ว่าการเปิดใช้งานกรณีนี้จะทำให้ server ทำงานช้าลงและสิ้นเปลืองทรัพยากรของระบบ

กำหนดค่า context.xml

ในระหว่างการศึกษาหรือทดลอง เราอาจต้องเปลี่ยนแปลงค่าใน  Web.xml   เช่น เพิ่มโปรแกรม  class file หรือเพิ่ม servlet เข้าไปในระบบ การทำเช่นนี้แต่ละครั้งจะต้องให้ Tomcat server รับทราบการเปลี่ยนแปลง ทำได้โดย restart server ใหม่ทุกครั้งที่มีการเปลี่ยนแปลง ทำให้ไม่สะดวกในการทำงาน  เราจึงกำหนดให้ Tomcat รับรู้การเปลี่ยนแปลงโดยอัตโนมัติและให้ทำการ reload ตัวมันเอง โดยที่เราไม่ต้องไป restart ใหม่  โดยการแก้ไขคุณสมบัติ reloadable จาก false เป็น true

ข้อพึงระวัง

  • Tomcat server นั้นมีคุณสมบัติเป็นcase sensitive  หมายถึงอักษรตัวใหญ่และตัวเล็กจะมองเห็นแตกต่างกัน เช่น "http://localhost:8080/testServle" กับ "http://localhost:8080/TestServlet"  จะมองเห็นแตกต่างกัน เพราะ test กับ Test ถึงแม้จะต่างกันเพียงเป็นตัวอักษรตัวใหญ่และตัวเล็ก server จะมองเห็นไม่เหมือนกัน
  • การกดปุ่ม F5 เป็นการ refresh หน้าจอ บางครั้ง browser นำผลลัพธ์ที่ได้จาก cache มาแสดง ถ้าต้องการให้ browser ดาวน์โหลดข้อมูลจากเว็บไซต์ใหม่จริง ๆ  ให้กดปุ่ม Ctrl + F5
  • ถึงแม้เราจะแก้ไข reloadable=true ใน context.xml แล้วก็ตาม บางครั้งเราควร restart server และควรปิด browser แล้วเปิดใหม่ เพื่อล้าง cache ของบราวเซอร์ด้วย

สำหรับการเรียนรู้ Tomcat เพิ่มเติม Link

เวอร์ชั่น 11 มีอะไรใหม่บ้าง 

  • เพิ่มความปลอดภัยด้วย stricSni attriibute สำหรับการเชื่อมต่อด้ว SSLHostConfig สร้างความปลอดภัยของเว็บเพิ่มขึ้น 
  • Add strictSni attribute on the Connector to allow matching the SSLHostConfig configuration associated with the SNI host name to the SSLHostConfig configuration matched from the HTTP protocol host name. Non-matching configurations will cause the request to be rejected. The attribute default value is true, enabling the matching.
  • Correct a regression introduced in 11.0.11 that broke some clustering configurations.
  • Update Commons Daemon to 1.5.0.

ความคิดเห็น