Tomcat: Web Container

Web Container มีำไว้สำหรับรับ request เพื่อส่งต่อให้กับ servlet แต่ละตัว และยังช่วยการทำงานด้านอื่นๆ เพื่อให้การเขียน servlet ทำได้ง่ายขึ้น และผู้พัฒนาสามารถมุ่งไปที่ business ที่ต้องการจัดการมากกว่าจะต้องมาจัดการกับสิ่งรอบข้าง

ส่วนที่ Web container จัดการให้มีดังนี้
- Communication support ช่วยจัดการเรื่อง socket และ network ต่างๆ
- Lifecycle management จัดการ life cycle ของ servlet
- Multithreading support จัดการการทำงานของ thread เนื่องจากแต่ละ request หมายถึงการสร้าง thread 1 ตัวขึ้นมาเพื่อรับ request
- Declarative security จัดการเรื่อง security ซึ่งสามารถกำหนดได้จาก deployment descriptor (web.xml)
- JSP support


Tomcat คือเป็น web container ตัวหนึ่ง ซึ่งมีความสามารถทำงานพื้นฐานของ HTTP web server แต่ Tomcat จะทำหน้าที่นี้ไม่ได้ดีเท่า Apache (Apache ถือเป็น web server แต่ว่าไม่ได้เป็น web container)
ส่วนพวก WebLogic, Websphere, JBoss เป็น J2EE application server หรือเรียกย่อๆ ว่า application server ซึ่งสามารถทำหน้าที่ web container และ EJB container ได้ด้วย

แต่อย่างไรก็ตามสำหรับการทำงานของ Servlet สามารถใช้แค่ web container ได้ ไม่จำเป็นต้องใช้ application server

รูปด้านข้างจะแสดงโครงสร้างเวปใน Tomcat

ข้อควรรู้เสริมนิดหน่อยสำหรับการ implement JSP และ JSTL ใน Tomcat

Tomcat VersionServletJSP VersionJSTL Version
62.52.11.2
52.42.01.1

สำหรับการ config อีกเรื่องหนึ่งของ Tomcat ก็คือ Authentication ซึ่ง Tomcat ใช้ tomcat-users.xml ที่อยู่ใน conf/ directory ในการกำหนดผู้ใช้ ตัวอย่างเช่น Tomcat manager ที่เป็น web application ที่มากับ tomcat ก็จะใช้ตัวนี้ในการ Authenticate ผู้ใช้ ซึ่งผู้ที่จะใช้ web application นี้ได้จะต้องมี role เป็น manager ดังนี้

<tomcat-users>
<role rolename="manager"/>
<user username="admin" password="xxxx" roles="manager"/>
</tomcat-users>

นอกจากนี้เรายังสามารถกำหนด role และ user เพิ่มเติมได้

reference:
Jstl Tag Lib Definitions
Apache Tomcat - Which Version Do I Want?

No comments:

Post a Comment