SlideShare a Scribd company logo
Apache TomcatApache Tomcat
Representation and Management of
Data on the Web
What is Tomcat?What is Tomcat?
• Tomcat is a Servlet container (Web server that interacts
with Servlets) developed under the Jakarta Project of
Apache Software Foundation
• Tomcat implements the Servlet and the Java Server
Pages (JSP) specifications of Sun Microsystems
• Tomcat is an open-source, non commercial project
- Licensed under the Apache Software License
• Tomcat is written in Java (OS independent)
A Servlet ExampleA Servlet Example
public class HelloWorld extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
PrintWriter out = response.getWriter();
out.println("<html><head><title>Hello</title></head>");
out.println("<body>");
out.println("<h2>" + new java.util.Date() + "</h2>");
out.println("<h1>Hello World</h1></body></html>");
}
} HelloWorld.java
http://localhost/dbi/hello
A JSP ExampleA JSP Example
<html>
<head>
<title>Hello World</title>
</head>
<body>
<h2><%= new java.util.Date() %></h2>
<h1>Hello World</h1>
</body>
</html> hello.jsp
http://localhost/dbi/hello.jsp
Another JSP ExampleAnother JSP Example
<html>
<head><title>Numbers</title></head>
<body>
<h1>The numbers 1 to 10:</h1>
<ul>
<% int i;
for (i=1; i<=10; ++i) { %>
<li>Number <%=i%> </li>
<%}%>
</ul>
</body>
</html> numbers.jsp
http://localhost/dbi/numbers.jsp
Running TomcatRunning Tomcat
Tomcat Directory StructureTomcat Directory Structure
Base and Home DirectoriesBase and Home Directories
• The directory TOMCAT-HOME contains
executables and libraries required for the server
launching, running and stopping
- This directory is placed under /usr/local/…
• The directory TOMCAT-BASE contains the
Web-site content, Web applications and
configuration data
- This directory is placed under your home directory
Installing TomcatInstalling Tomcat
• Create a directory for tomcat base
- For example: mkdir ~/tomcat-base
• Set the environment variable CATALINA_BASE to
your tomcat-base directory
- For example: setenv CATALINA_BASE ~/tomcat-base
- Insert this line into your .cshrc file
• Run ~dbi/tomcat/bin/setup
• $CATALINA_BASE is now a regular Tomcat base
directory, and Tomcat is ready to run
Running TomcatRunning Tomcat
• To start tomcat use ~dbi/tomcat/bin/catalina run
• Or, in background, ~dbi/tomcat/bin/catalina start
• To stop tomcat use ~dbi/tomcat/bin/catalina stop
• To see the default page of Tomcat from your browser
use the URL http://<machine-name>:<port>/
- machine-name is the name of the machine on which Tomcat
runs and port is the port you chose for Tomcat
• You can also use http://localhost:<port>/ if your
browser runs on the same machine as Tomcat
From Scratch to ServerFrom Scratch to Server
Lect06 tomcat1
Choosing a port for TomcatChoosing a port for Tomcat
• In the file $CATALINA_HOME/conf/server.xml you
will find the element Connector of Service “Catalina”
• Choose a port (greater than 1024) and change the value
of the port attribute to your chosen one:
<Server>
…
<Service name="Catalina”>
<Connector port="8090"/>
…
</Service>
…
</Server>
Creating Web ApplicationsCreating Web Applications
Creating Web ApplicationsCreating Web Applications
• A Web application is a self-contained subtree of
the Web site
• A Web application usually contains several Web
resources like HTML files, Servlets, JSP files,
and other resources like Database tables
• Each Web application has its own subdirectory
under the directory
$CATALINA_BASE/webapps/
The Directory Structure of a WebThe Directory Structure of a Web
ApplicationApplication
• Tomcat automatically identifies a directory
$CATALINA_BASE/webapps/myApp/ with
the relative URL /myApp/
• For example, a file named index.html in myApp
is mapped to by the following URLs:
http://machine:port/myApp/index.html
http://machine:port/myApp/
The Directory Structure of a WebThe Directory Structure of a Web
ApplicationApplication
• You can also use subdirectories under myApp
• For example: the file myApp/myImages/im.gif
is mapped to by the URL
http://machine:port/myApp/myImages/im.gif
• By default, Tomcat maps the root directory
(http://localhost:8090/) to the directory
webapps/ROOT/
- You can change this default
The Directory Structure of a WebThe Directory Structure of a Web
ApplicationApplication
• An application's directory must contain the
following:
- The directory WEB-INF/
- A legal web.xml file under WEB-INF/
<web-app>
</web-app>
From Scratch to ApplicationsFrom Scratch to Applications
Lect06 tomcat1
Configuring a Web ApplicationConfiguring a Web Application
• Application-specific configuration and declarations are
written in the file myApp/WEB-INF/web.xml
• This file contains:
- Servlet declarations, mappings and parameters
- Default files for directory requests
- Error pages (sent in cases of HTTP errors)
- Security constraints
- Session time-out specification
- Context (application) parameters
- And more…
Error PagesError Pages
• Use the error-page element to define the page
sent in case of an HTTP error that occurs within
the application context
• An error page element has two sub elements:
- error-code - the HTTP error status code
- location - the page that should be sent
Welcome Page ExampleWelcome Page Example
<html>
<head><title>Not Found</title></head>
<body>
<h1 style="text-align:center; color:green">
Sorry, no such file...
</h1>
</body>
</html>
my404.html
<web-app>
<error-page>
<error-code>404</error-code>
<location>/my404.html</location>
</error-page>
</web-app>
web.xml
Lect06 tomcat1
Lect06 tomcat1
Welcome PagesWelcome Pages
• The (optional) welcome-file-list element contains a list
of file names
• When the URL request is a directory name, Tomcat
automatically brings the first file on the list
• If that file is not found, the server then tries the next file
in the list, and so on
• This file can be of any type, e.g., HTML, JSP, image,
etc.
• The default welcome list for all applications is set in
$CATALINA_BASE/conf/web.xml
Welcome Page ExampleWelcome Page Example
<html>
<head><title>Welcome</title></head>
<body>
<h1 style="text-align:center; color:red">
Welcome Dear Visitor!
</h1>
</body>
</html>
welcome.html
<web-app>
<welcome-file-list>
<welcome-file>welcome.html</welcome-file>
<welcome-file>index.html</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
web.xml
Lect06 tomcat1
Tomcat and Java ClassesTomcat and Java Classes
• Tomcat uses Java classes you provide in order to
run Servlets and JSP files
- For example, the Servlets themselves!
• Tomcat 5.x initialization scripts ignore your
environment CLASSPATH variable
• Classes are expected to be placed (or linked) at
some predefined places in its directories
Java Class LocationsJava Class Locations
• Tomcat expects to find Java classes in class files (in a
directory named classes) and JAR files (in a directory
named lib) in the following places:
• TOMCAT-HOME/common/
- Basic runtime classes. No need to touch this directory
• $CATALINA_BASE/shared/
- Classes that are used by all the Web applications
• $CATALINA_BASE/webapps/myApp/WEB-INF/
- Application-specific classes (Servlets are typically here)
Java Class LocationsJava Class Locations
Classes Provided by DBIClasses Provided by DBI
In order to provide the classes you need, like
ORACLE, SAX and DOM-related packages, the
Tomcat-setup script links the directory
$CATALINA_BASE/shared/lib/ to
~dbi/tomcat/shared/lib/, thus the latter
packages are automatically known by your
Tomcat server
Tomcat 5.0 ManagerTomcat 5.0 Manager
• Tomcat 5.0 comes with a Web application called
“manager”, which supports functions for
managing Web applications
• You can either use the HTML interface at
http://<machine>:<port>/manager/html/ or send
direct HTTP requests to it
• You will need to authenticate as a privileged user
- Use the username “admin” with no password
Tomcat 5.0 ManagerTomcat 5.0 Manager
• Using the manager, you can
- Deploy a Web application by posting a WAR file
- Undeploy a deployed Web application
- Start/stop a Web application (make it available/unavailable)
- Reload an existing Web application (unpack new WARs)
• Warning: while “stop” makes an application unavailable,
“undeploy” deletes the application directory and WAR file
from webapps/
Tomcat and EclipseTomcat and Eclipse
• You can use an Eclipse plugin for Tomcat Web-
application development
• The “Sysdeo Eclipse Tomcat Launcher” plugin
is installed in CS
• Using this plugin, you can start/stop the server,
reload an application, etc.
• Detailed explanations in the course home-page
Lect06 tomcat1

More Related Content

PPT
Tomcat server
PPTX
Apache tomcat
PPTX
SFDC UI - Advanced Visualforce
DOC
Unit5 servlets
PPT
Hacking Tomcat
PPTX
ATG - Installing WebLogic Server
PPT
Red5 - PHUG Workshops
PDF
Tomcat Optimisation & Performance Tuning
Tomcat server
Apache tomcat
SFDC UI - Advanced Visualforce
Unit5 servlets
Hacking Tomcat
ATG - Installing WebLogic Server
Red5 - PHUG Workshops
Tomcat Optimisation & Performance Tuning

What's hot (20)

PDF
Tomcat next
PDF
Servlets
PDF
Apache Tomcat + Java EE = Apache TomEE
PPTX
Html5 cache mechanism & local storage
PDF
RESTful web service with JBoss Fuse
PPT
Rails
 
PPTX
SharePoint Object Model, Web Services and Events
PPS
Web Application Development using MVC Framework Kohana
PDF
Weblogic Console Customization labs
DOC
Tutorial asp.net
PPT
Mule connector for ibm® as400
PDF
Weblogic Console Customization
PDF
MuleSoft ESB Message Enricher
PPTX
MuleSoft ESB scatter-gather and base64
PPT
DSpace UI Prototype Challenge: Spring Boot + Thymeleaf
PDF
Spring Web Service, Spring Integration and Spring Batch
PPT
The complete ASP.NET (IIS) Tutorial with code example in power point slide show
PPT
Spring introduction
PPTX
Introduction to apex code
Tomcat next
Servlets
Apache Tomcat + Java EE = Apache TomEE
Html5 cache mechanism & local storage
RESTful web service with JBoss Fuse
Rails
 
SharePoint Object Model, Web Services and Events
Web Application Development using MVC Framework Kohana
Weblogic Console Customization labs
Tutorial asp.net
Mule connector for ibm® as400
Weblogic Console Customization
MuleSoft ESB Message Enricher
MuleSoft ESB scatter-gather and base64
DSpace UI Prototype Challenge: Spring Boot + Thymeleaf
Spring Web Service, Spring Integration and Spring Batch
The complete ASP.NET (IIS) Tutorial with code example in power point slide show
Spring introduction
Introduction to apex code
Ad

Similar to Lect06 tomcat1 (20)

PPT
Web Applications and Deployment
PPT
Tomcat Configuration (1)
PPT
Tomcat configuration
PPTX
Web container and Apache Tomcat
PPT
TOMCAT WEB SERVER TECHNICAL BY SAIKIRAN PANJALA
PPT
Introduction to Java Servlets and JSP (1).ppt
PPTX
SCWCD : Servlet web applications : CHAP 3
PPTX
SCWCD : Servlet web applications : CHAP : 3
PPT
Java Servlets
PPTX
Cis 274 intro
PDF
Apache Tomcat 8 Application Server
PPT
Ta Javaserverside Eran Toch
DOC
Java Servlets & JSP
PPT
Jira Rev002
PPT
Tumbleweed intro
PPT
Tomcat Server
PPT
Updated-Servlet Introduction Lifecycle of Servlet
PPT
Lecture 19 - Dynamic Web - JAVA - Part 1.ppt
PDF
Tomcat tutorail
Web Applications and Deployment
Tomcat Configuration (1)
Tomcat configuration
Web container and Apache Tomcat
TOMCAT WEB SERVER TECHNICAL BY SAIKIRAN PANJALA
Introduction to Java Servlets and JSP (1).ppt
SCWCD : Servlet web applications : CHAP 3
SCWCD : Servlet web applications : CHAP : 3
Java Servlets
Cis 274 intro
Apache Tomcat 8 Application Server
Ta Javaserverside Eran Toch
Java Servlets & JSP
Jira Rev002
Tumbleweed intro
Tomcat Server
Updated-Servlet Introduction Lifecycle of Servlet
Lecture 19 - Dynamic Web - JAVA - Part 1.ppt
Tomcat tutorail
Ad

Recently uploaded (20)

PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
Big Data Technologies - Introduction.pptx
PDF
Empathic Computing: Creating Shared Understanding
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
Programs and apps: productivity, graphics, security and other tools
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Spectral efficient network and resource selection model in 5G networks
PPT
Teaching material agriculture food technology
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
cuic standard and advanced reporting.pdf
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Electronic commerce courselecture one. Pdf
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Big Data Technologies - Introduction.pptx
Empathic Computing: Creating Shared Understanding
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Programs and apps: productivity, graphics, security and other tools
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Review of recent advances in non-invasive hemoglobin estimation
Spectral efficient network and resource selection model in 5G networks
Teaching material agriculture food technology
sap open course for s4hana steps from ECC to s4
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
cuic standard and advanced reporting.pdf
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
The AUB Centre for AI in Media Proposal.docx
Unlocking AI with Model Context Protocol (MCP)
Agricultural_Statistics_at_a_Glance_2022_0.pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Electronic commerce courselecture one. Pdf
Per capita expenditure prediction using model stacking based on satellite ima...
Diabetes mellitus diagnosis method based random forest with bat algorithm

Lect06 tomcat1

  • 1. Apache TomcatApache Tomcat Representation and Management of Data on the Web
  • 2. What is Tomcat?What is Tomcat? • Tomcat is a Servlet container (Web server that interacts with Servlets) developed under the Jakarta Project of Apache Software Foundation • Tomcat implements the Servlet and the Java Server Pages (JSP) specifications of Sun Microsystems • Tomcat is an open-source, non commercial project - Licensed under the Apache Software License • Tomcat is written in Java (OS independent)
  • 3. A Servlet ExampleA Servlet Example public class HelloWorld extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out = response.getWriter(); out.println("<html><head><title>Hello</title></head>"); out.println("<body>"); out.println("<h2>" + new java.util.Date() + "</h2>"); out.println("<h1>Hello World</h1></body></html>"); } } HelloWorld.java http://localhost/dbi/hello
  • 4. A JSP ExampleA JSP Example <html> <head> <title>Hello World</title> </head> <body> <h2><%= new java.util.Date() %></h2> <h1>Hello World</h1> </body> </html> hello.jsp http://localhost/dbi/hello.jsp
  • 5. Another JSP ExampleAnother JSP Example <html> <head><title>Numbers</title></head> <body> <h1>The numbers 1 to 10:</h1> <ul> <% int i; for (i=1; i<=10; ++i) { %> <li>Number <%=i%> </li> <%}%> </ul> </body> </html> numbers.jsp http://localhost/dbi/numbers.jsp
  • 7. Tomcat Directory StructureTomcat Directory Structure
  • 8. Base and Home DirectoriesBase and Home Directories • The directory TOMCAT-HOME contains executables and libraries required for the server launching, running and stopping - This directory is placed under /usr/local/… • The directory TOMCAT-BASE contains the Web-site content, Web applications and configuration data - This directory is placed under your home directory
  • 9. Installing TomcatInstalling Tomcat • Create a directory for tomcat base - For example: mkdir ~/tomcat-base • Set the environment variable CATALINA_BASE to your tomcat-base directory - For example: setenv CATALINA_BASE ~/tomcat-base - Insert this line into your .cshrc file • Run ~dbi/tomcat/bin/setup • $CATALINA_BASE is now a regular Tomcat base directory, and Tomcat is ready to run
  • 10. Running TomcatRunning Tomcat • To start tomcat use ~dbi/tomcat/bin/catalina run • Or, in background, ~dbi/tomcat/bin/catalina start • To stop tomcat use ~dbi/tomcat/bin/catalina stop • To see the default page of Tomcat from your browser use the URL http://<machine-name>:<port>/ - machine-name is the name of the machine on which Tomcat runs and port is the port you chose for Tomcat • You can also use http://localhost:<port>/ if your browser runs on the same machine as Tomcat
  • 11. From Scratch to ServerFrom Scratch to Server
  • 13. Choosing a port for TomcatChoosing a port for Tomcat • In the file $CATALINA_HOME/conf/server.xml you will find the element Connector of Service “Catalina” • Choose a port (greater than 1024) and change the value of the port attribute to your chosen one: <Server> … <Service name="Catalina”> <Connector port="8090"/> … </Service> … </Server>
  • 15. Creating Web ApplicationsCreating Web Applications • A Web application is a self-contained subtree of the Web site • A Web application usually contains several Web resources like HTML files, Servlets, JSP files, and other resources like Database tables • Each Web application has its own subdirectory under the directory $CATALINA_BASE/webapps/
  • 16. The Directory Structure of a WebThe Directory Structure of a Web ApplicationApplication • Tomcat automatically identifies a directory $CATALINA_BASE/webapps/myApp/ with the relative URL /myApp/ • For example, a file named index.html in myApp is mapped to by the following URLs: http://machine:port/myApp/index.html http://machine:port/myApp/
  • 17. The Directory Structure of a WebThe Directory Structure of a Web ApplicationApplication • You can also use subdirectories under myApp • For example: the file myApp/myImages/im.gif is mapped to by the URL http://machine:port/myApp/myImages/im.gif • By default, Tomcat maps the root directory (http://localhost:8090/) to the directory webapps/ROOT/ - You can change this default
  • 18. The Directory Structure of a WebThe Directory Structure of a Web ApplicationApplication • An application's directory must contain the following: - The directory WEB-INF/ - A legal web.xml file under WEB-INF/ <web-app> </web-app>
  • 19. From Scratch to ApplicationsFrom Scratch to Applications
  • 21. Configuring a Web ApplicationConfiguring a Web Application • Application-specific configuration and declarations are written in the file myApp/WEB-INF/web.xml • This file contains: - Servlet declarations, mappings and parameters - Default files for directory requests - Error pages (sent in cases of HTTP errors) - Security constraints - Session time-out specification - Context (application) parameters - And more…
  • 22. Error PagesError Pages • Use the error-page element to define the page sent in case of an HTTP error that occurs within the application context • An error page element has two sub elements: - error-code - the HTTP error status code - location - the page that should be sent
  • 23. Welcome Page ExampleWelcome Page Example <html> <head><title>Not Found</title></head> <body> <h1 style="text-align:center; color:green"> Sorry, no such file... </h1> </body> </html> my404.html <web-app> <error-page> <error-code>404</error-code> <location>/my404.html</location> </error-page> </web-app> web.xml
  • 26. Welcome PagesWelcome Pages • The (optional) welcome-file-list element contains a list of file names • When the URL request is a directory name, Tomcat automatically brings the first file on the list • If that file is not found, the server then tries the next file in the list, and so on • This file can be of any type, e.g., HTML, JSP, image, etc. • The default welcome list for all applications is set in $CATALINA_BASE/conf/web.xml
  • 27. Welcome Page ExampleWelcome Page Example <html> <head><title>Welcome</title></head> <body> <h1 style="text-align:center; color:red"> Welcome Dear Visitor! </h1> </body> </html> welcome.html <web-app> <welcome-file-list> <welcome-file>welcome.html</welcome-file> <welcome-file>index.html</welcome-file> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app> web.xml
  • 29. Tomcat and Java ClassesTomcat and Java Classes • Tomcat uses Java classes you provide in order to run Servlets and JSP files - For example, the Servlets themselves! • Tomcat 5.x initialization scripts ignore your environment CLASSPATH variable • Classes are expected to be placed (or linked) at some predefined places in its directories
  • 30. Java Class LocationsJava Class Locations • Tomcat expects to find Java classes in class files (in a directory named classes) and JAR files (in a directory named lib) in the following places: • TOMCAT-HOME/common/ - Basic runtime classes. No need to touch this directory • $CATALINA_BASE/shared/ - Classes that are used by all the Web applications • $CATALINA_BASE/webapps/myApp/WEB-INF/ - Application-specific classes (Servlets are typically here)
  • 31. Java Class LocationsJava Class Locations
  • 32. Classes Provided by DBIClasses Provided by DBI In order to provide the classes you need, like ORACLE, SAX and DOM-related packages, the Tomcat-setup script links the directory $CATALINA_BASE/shared/lib/ to ~dbi/tomcat/shared/lib/, thus the latter packages are automatically known by your Tomcat server
  • 33. Tomcat 5.0 ManagerTomcat 5.0 Manager • Tomcat 5.0 comes with a Web application called “manager”, which supports functions for managing Web applications • You can either use the HTML interface at http://<machine>:<port>/manager/html/ or send direct HTTP requests to it • You will need to authenticate as a privileged user - Use the username “admin” with no password
  • 34. Tomcat 5.0 ManagerTomcat 5.0 Manager • Using the manager, you can - Deploy a Web application by posting a WAR file - Undeploy a deployed Web application - Start/stop a Web application (make it available/unavailable) - Reload an existing Web application (unpack new WARs) • Warning: while “stop” makes an application unavailable, “undeploy” deletes the application directory and WAR file from webapps/
  • 35. Tomcat and EclipseTomcat and Eclipse • You can use an Eclipse plugin for Tomcat Web- application development • The “Sysdeo Eclipse Tomcat Launcher” plugin is installed in CS • Using this plugin, you can start/stop the server, reload an application, etc. • Detailed explanations in the course home-page