Apache Tomcat Web Server
SNU OOPSLA Lab.October 2005
2
Contents
Overview
Tomcat History
Tomcat Requirements and Quality Goals
Tomcat Installation & Setup
Some Features of Tomcat
Summary
Online Resources
3
Overview (1/5)
Web server which have Servlet/JSP
container is needed to use the Java
Servlet and JavaServer Pages(JSP)
technologies
Tomcat is a Servlet/JSP container Also can plays a role as simple web server
Released under the Apache Software License
4
Overview (2/5)
Servlet/JSP container
JSP Request
CompileJSP Servlet
Run Servlet
Servlet Request
Run Servlet
Container
5
Overview (3/5)
JSP(JavaServer Pages) Server-side script
Allow us to use Java Servlet without
compilation
Servlet/JSP container is needed for analysis
and compilation of JSP source code
6
Overview (4/5)
The Jakarta Project Offers a diverse set of open source Java
solutions
Tomcat is a part of Jakarta Project
Developer group of Apache participates in the
development of Tomcat
Tomcat is working better with Apache web
server than other Servlet/JSP containers
7
Overview (5/5)
User Request
(Apache) Web Server Tomcat Container
Database
Text HTML
JSP
Servlet
Apache Tomcat Structure
8
Tomcat History (1/3)
Tomcat originated as a result of culmination of two groups of
developers Open source developers who were working on Apache JServ, an
implementation of the Servlet specification
At the same time, Sun was busy building its own servlet engine
The focus of the two groups was different JServ – performance
Sun – adherence to specification
These projects needed to be merged to fully satisfy the needs of the
users
Sun realized this need, and donated the code to Apache Software
Foundation
The Jakarta group was formed, and Tomcat was born
9
Tomcat History (2/3)
JServOpen source developers
Sun Microsystemsdevelopers
Performance
Adherence to spec.
Apache Software FoundationThe Jakarta Group
Tomcat
Donation
10
Tomcat History (3/3)
Initial Apache Tomcat release – Apache Tomcat 3.0.x
Latest stable release – Apache Tomcat 5.5.9 Upgrade to Apache Tomcat 5.x whenever possible
(improved performance and stability) More details about each release can be found in the
Jakarta web site: http://jakarta.apache.org/tomcat/
Servlet/JSP Spec.
Tomcat version
2.4/2.0 5.5.9
2.3/1.2 4.1.31
2.2/1.1 3.3.2(2005/9/30)
11
Tomcat Requirements and Quality Goals
Strict adherence to Sun’s JSP/Servlet specification : as accurate as possible
Interoperability : to interoperate with many popular web servers
Modifiability : to be adaptable to new changes
Performance Scalability High-availability Security
12
Tomcat Installation & Setup (1/5)
Java 2 SDK is required Set JAVA_HOME, PATH, CLASSPATH
environment variables properly
Tomcat Install Windows – easy, using the Windows installer
Tomcat will be installed as a Windows NT/2k/XP service
If you sets the service as "auto" startup, Tomcat is automatically started when Windows starts
Unix
13
Tomcat Installation & Setup (2/5)
Tomcat Install on Unix1. Download the binary file of latest stable release
E.g., jakarta-tomcat-5.5.9.tar.gz(Tomcat 5.5.9, tarball)2. Extract it to your Tomcat directory
E.g., shell> cp jakarta-tomcat-5.5.9.tar.gz /usr/local/share shell> cd /usr/local/share shell> tar xvfz jakarta-tomcat-5.5.9.tar.gz
3. Set environment variables Edit /etc/profile OR ~/.bash_profile OR etc.
E.g., shell> vi /etc/profile JAVA_HOME=/usr/java/j2sdk1.4.2_05 CATALINA_HOME=/usr/local/share/jakarta-tomcat-5.0.16 PATH=$PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin export JAVA_HOME CATALINA_HOME PATH
Apply the changes E.g., shell> source /etc/profile
14
Tomcat Installation & Setup (3/5)
Startup the Tomcat E.g., shell> cd /usr/local/share/Jakarta-tomcat-5.5.9/bin
shell> ./startup.sh OR ./catalina.sh start Try to connect http://localhost:8080 or
http://host_IP_addr:8080
Shutdown the Tomcat E.g., shell> cd /usr/local/share/Jakarta-tomcat-5.5.9/bin
shell> ./shutdown.sh OR ./catalina.sh stop
The Access Log Your Tomcat server logs all HTTP requests made by clients
to files of the following form: $CATALINA_HOME/logs/localhost_access_log.yyyy-mm-
dd.txt
15
Tomcat Installation & Setup (4/5)
Directories and Files $CATALINA_HOME - the root of your Tomcat
installation /bin - startup, shutdown, and other scripts.
*.sh files (for Unix) / the *.bat files (for Windows)
/conf - configuration files and related DTDs server.xml : the main configuration file for the
container
/logs - log files /webapps - where your webapps go
16
Tomcat Installation & Setup (5/5)
Configuration Changing the Port Numbers
Edit the conf/server.xml file Pick a free port number
Install Your Own Pages The web pages served by Tomcat are stored in the
following directory:$CATALINA_HOME/webapps/ROOT/
Also can change the served directory by Tomcat Edit the conf/server.xml file
17
Some Features of Tomcat (1/2)
Tomcat does not reload the Servlet and application code to provide high performance Developers have to restart the Tomcat process for
testing updated class files
Auto-reload for easy of use By enabling the auto reloading feature in the
configuration file, you can deploy updated class files and test it without having to restart the Tomcat process
Since auto-reload feature impacts performance, it should not be used in production environment
18
Some Features of Tomcat (2/2)
A Servlet Engine receives a lot of requests Each request is handled by the connector
component in a separate thread Creating a thread for each request and
destroying it after the request has been served creates unnecessary burden on the OS and the JVM
Thread pool for performance The max and min threads can be configured
19
Summary
Tomcat is a Servlet/JSP container
Tomcat is developed in an open
environment and released under the
Apache Software License
Tomcat try to fully satisfy the needs of the
users
20
Online Resources
The Apache Jakarta Project - Tomcat web pagehttp://jakarta.apache.org/tomcat/
The Tomcat Web Serverhttps://www.cs.tcd.ie/courses/baict/bass/4ict12/tomcat.html
Tomcat Web Serverhttp://www.cs.ucl.ac.uk/teaching/java/tomcat.html
Tomcat Architecturehttp://wiki.cs.uiuc.edu/cs427/Tomcat+Architecture
Apache + Tomcat Connectionhttp://ejavaschool.com.ne.kr/servlet/tomcat3.2.ppt
Top Related