Tomcat and Servlets

smuthhomelyΔιακομιστές

17 Νοε 2013 (πριν από 4 χρόνια και 1 μήνα)

185 εμφανίσεις

Tomcat and Servlets
Haifeng
Liu
Tutorial Overview

Tomcat Overview

Setting Up and Running Tomcat on CDF

Installing and Running Servlets
on CDF

Setting up Sysdeo
Eclipse Tomcat Launcher
plugin

FAQ?
Tomcat Overview

Tomcat
is the servlet
container

History:

ASF: JServ

performance

Sun: Servlet
Engine --
specification

Requirements and Quality Goals:

Strict adherence to Sun’s JSP/Servlet
specification,
Interoperability, Modifiability, Performance, Scalability,
High-Availability, Security, …
---
Jakarta Tomcat
Tomcat System
Setting Up Tomcat on CDF

Status: Installed with user privileges in
/u/csc309h/lib/brad/tomcat-5.0.27

Step 1 –
go to website, read instructions
http://www.cs.toronto.edu/~delara/courses/csc309/resources/csc
309guide.html#WebServer

Step 2 –
download the tar file tomcat.tar.gz

Step 3 –
untar
it (tar xvz
tomcat.tar.gz) and copy the
files into a working directory which is refered
as
e.g. ~/csc309/

Inside tomcat:
Bin, conf, logs, webapps, work
Start Tomcat Server

Step 1 --
cd
~/csc309/tomcat/bin

Step 2 --
Run the script start.sh
(may need to
chmod
a+x
*.sh
) ./start.sh

Step 3 --
Enter the port number. Tomcat will
use 3 ports, the number entered and the next
two (e.g., if you are assigned port 32000,
tomcat will use 32000, 32001, 32002).

Step 4 –
check /bin/ps
-ef
| grep
your_user_id

Step 5 –
view
http://localhost:your_port_number
Stop Tomcat Server

To stop your server, run bin/stop.sh.

Always remember to stop your server before
logging off CDF.
Directory Structure

Bin –
Startup/shutdown scripts and other useful files.

Conf –
Configuration files, including modules.xml,
server.xml, and a number of apps-<name>.xml.

Logs –
event log file for each day

Webapps

web application files

Wok --
intermediate files (such as compiled JSP files)
during its work. If you delete this directory while
Tomcat is running you will not be able to execute
JSP pages!
Installing and Compiling Servlets

Step 1 --
Download the sample files, untar
it, put
into webapps

Step 2 --
Compile the Java class

Include the following jar file in your CLASSPATH
/u/csc309h/lib/tomcat-5.0.27/common/lib/servlet-api.jar.
setenv
CLASSPATH ${CLASSPATH}: /u/csc309h/lib/tomcat-
5.0.27/common/lib/servlet-api.jar

cd
~/csc309/tomcat/webapps/csc309/WEB-INF/classes

Compile the servlet
javac
HelloWorld.java

Step 3 --
Start Tomcat

Step 4 –
Start Browser:
http://127.0.0.1:yourPortNumber/csc309/servlet/HelloWorld
HelloWorld
Interface
Adding a Servlet
to a Web Application

Step 1 –
Download PrintEnv.java
and copy it to
~/csc309/tomcat/webapps/csc309/WEB-INF/classes

Step 2 --
Compile PrintEnv.java

Step 3 –
Add the following entries to the application descriptor
located at ~/csc309/tomcat/webapps/csc309/WEB-INF/web.xml.
<servlet>
<servlet-name>PrintEnv</servlet-name>
<servlet-class>PrintEnv</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>PrintEnv</servlet-name>
<url-pattern>/servlet/PrintEnv</url-pattern>
</servlet-mapping>

Step 4 --
Restart Tomcat

Step 5 –
Open browser to
http://127.0.0.1:yourPortNumber/csc309/servlet/PrintEnv
PrintEnv
Interface
Sysdeo
Eclipse Tomcat Launcher plugin

Starting, stopping and restarting Tomcat 4.x, 5.0.x, 3.3

Registering Tomcat process to Eclipse debugger

Creating a WAR project (wizard can update server.xml
file)

Adding Java Projects to Tomcat classpath

Setting Tomcat JVM parameters, classpath
and bootclasspath

Exporting a Tomcat project to a WAR File

Choosing Tomcat configuration file

Capability to use a special Tomcat classloader
to have classes in
several java projects loaded at the same classloader
level than
classes in a Tomcat project, see
readmeDevLoader.html
(Thanks
Martin Kahr)
Software Prerequisite

Tomcat Server –
”http://jakarta.apache.org/tomcat/”

Eclipse 3.X –
“http://www.eclipse.org/downloads/index.php


Sysdeo
Eclipse tomcat Launcher plugin
--
”http://www.sysdeo.com/eclipse/tomcatPlugin.
html”
Setup Tomcat in Eclipse

Enable tomcat

Go to the menu "Window-> Preferences"

go to "Tomcat" and select your Tomcat version

adjust the field "Tomcat Home" to point to the install
directory

Add a new user

scroll down the menu point "Tomcat" and click the item
"Tomcat Manager App"

add a username and a password

click on "Add user to tomcat-users.xml"

Test Start Tomcat Server
HelloWorld
Example

Open a new project

select "Tomcat Project"..., click Next button

call our new project "Hello World"

adjust URI http://localhost:8080/HelloWorld/hello

create a new class named HelloServlet
in the
directory WEB-INF/src

create the file web.xml
in the directory WEB-
INF (Note: not in WEB-INF/src!!!
)

Start browser
"http://localhost:8080/HelloWorld/hello"
HelloServlet
import
java.io.*;
import
javax.servlet.http.*;
import
javax.servlet.*;
public
class HelloServlet
extends HttpServlet
{
public
void doGet
(HttpServletRequest
req,
HttpServletResponse
res) throws ServletException,
IOException
{
PrintWriter
out = res.getWriter();
out.println("Hello, Brave new World!");
out.close();
}
}
Web.xml
<!DOCTYPE web-app PUBLIC
'-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN'
'http://java.sun.com/dtd/web-app_2_3.dtd'>
<web-app>
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
</web-app>