0% found this document useful (0 votes)
64 views36 pages

Lect06tomcat1 140521024348 Phpapp02

Tomcat is an open-source servlet container developed by the Apache Software Foundation that implements Java servlet and JavaServer Pages (JSP) technologies. It allows processing and managing data sent from a web browser to a web server. Tomcat is written in Java, runs on Windows, Linux/Unix and Mac OS X platforms, and supports web applications built on Java technologies like Java servlets and JSPs.

Uploaded by

anshuli
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
64 views36 pages

Lect06tomcat1 140521024348 Phpapp02

Tomcat is an open-source servlet container developed by the Apache Software Foundation that implements Java servlet and JavaServer Pages (JSP) technologies. It allows processing and managing data sent from a web browser to a web server. Tomcat is written in Java, runs on Windows, Linux/Unix and Mac OS X platforms, and supports web applications built on Java technologies like Java servlets and JSPs.

Uploaded by

anshuli
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 36

Apache Tomcat

Representation and Management of


Data on the Web
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 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 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 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 Tomcat
Tomcat Directory Structure
Base 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 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 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 Server
Choosing 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 Applications
Creating 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 Web
Application

• 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 Web
Application
• 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 Web
Application
• 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 Applications
Configuring 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 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 Example
<html> my404.html
<head><title>Not Found</title></head>
<body>
<h1 style="text-align:center; color:green">
Sorry, no such file...
</h1>
</body><web-app> web.xml
</html>
<error-page>
<error-code>404</error-code>
<location>/my404.html</location>
</error-page>
</web-app>
Welcome 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 Example
<html> welcome.html
<head><title>Welcome</title></head>
<body>
<h1 style="text-align:center; color:red">
Welcome Dear Visitor!
</h1>
</body>
<web-app> web.xml
</html> <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>
Tomcat 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 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 Locations
Classes 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 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 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 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

You might also like