Getting Started: Software and Server Setup|
Your first step is to download software that implements the
Java Servlet 2.1 or 2.2 and Java Server Pages 1.0 or 1.1 specifications.
You can get a free version from Sun, known as the JavaServer Web
Development Kit (JSWDK), at
Next, you need to tell
javac where to find the
servlet and JSP classes when you compile a servlet file.
The JSWDK installation instructions explain
this, but it basically amounts to putting
(which come with the JSWDK) on your
you've never dealt with the
CLASSPATH before, it is the variable
that specifies where Java looks for classes. If it is unspecified,
Java looks in the current directory and the standard system
libraries. If you set it yourself, you need to be sure to include ".",
signifying the current directory. Here's a quick summary of how to set
it on a couple of different platforms:
Unix (C Shell)
setenv CLASSPATH .:servlet_dir/servlet.jar:servlet_dir/jsp.jar
:$CLASSPATH" to the end of the
setenv line if
CLASSPATH is already set, and you want to add more to it, not replace it.
Note that you use colons to separate directories, while you use semicolons on Windows.
To make this setting permanent, you'd typically put this statement in your
;%CLASSPATH%" to the end of the above line if your
CLASSPATH is already set. Note that you use semicolons to separate
directories, while you use colons on Unix. To make this setting permanent
in Windows 95/98 you'd typically put this statement in your
On Windows NT, you'd go to the Start menu, select Settings, select Control Panel,
select System, select Environment, then enter the variable and value.
Finally, as you'll see in the next section,
you probably want to put your servlets
into packages to avoid name conflicts with servlets other people write for the same
Web or application server. In that case, you may find it convenient to add the top-level
directory of your package hierarchy to the
Your next step is to obtain and install a Web server that supports Java
servlets, or to install a servlet package in your existing Web server.
If you are using an up-to-date Web or application server, there is a
good chance that it already has everything you need. Check your
server documentation or see the latest list of servers
that supports servlets at
Although you’ll eventually want to deploy in a commercial-quality server,
when first learning it is useful to have a free system that you can
install on your desktop machine for development and testing purposes.
Here are some of the most popular options:
CLASSPATH as well. See the section
on first servlets for details.
- Apache Tomcat.
Tomcat is the official reference implementation of the servlet 2.2 and JSP 1.1
specifications. It can be used as a small stand-alone server for testing
servlets and JSP pages, or can be integrated into the Apache Web server.
As of early 2000, it was the only server to support the
servlet 2.2 or JSP 1.1 specifications. However, many other servers
have announced upcoming support. Tomcat, like Apache itself, is free.
However, also like Apache (which is very fast, highly reliable,
but a bit hard to configure and install), Tomcat requires
significantly more effort to set up than do the commercial
servlet engines. For details, see
JavaServer Web Development Kit (JSWDK).
The JSWDK is the official reference implementation of the servlet 2.1
and JSP 1.0 specifications. It is used as a small stand-alone server
for testing servlets and JSP pages before they are deployed to a full
Web server that supports these technologies. It is free and reliable,
but takes quite a bit of effort to install and configure.
For details, see
- Allaire JRun.
JRun is a servlet and JSP engine that can be plugged into Netscape
Enterprise or FastTrack servers, IIS, Microsoft Personal Web Server,
older versions of Apache, O’Reilly’s WebSite, or StarNine WebSTAR.
A limited version that supports up to five simultaneous connections
is available for free; the commercial version removes this restriction
and adds capabilities like a remote administration console.
For details, see
- New Atlanta’s ServletExec.
ServletExec is a fast servlet and JSP engine that can be plugged into
most popular Web servers for Solaris, Windows, MacOS, HP-UX and Linux.
You can download and use it for free, but many of the advanced features
and administration utilities are disabled until you purchase a license.
New Atlanta also provides a free servlet debugger that works with many
of the popular Java IDEs.
For details, see
- Sun’s Java Web Server.
This server is written entirely in Java and was one of the first
Web servers to fully support the servlet 2.1 and JSP 1.0 specifications.
Although it is no longer under active development because Sun is
concentrating on the Netscape/I-Planet server, it is still a popular
choice for learning servlets and JSP.
For a free trial version, see
For a free non-expiring version for teaching purposes at academic institutions,
This page is part of my
Tutorial on Servlets and JSP. © 1999
Marty Hall. All
source code freely available for unrestricted use. Created for for
work in the Research
and Technology Development Center of the Johns Hopkins University
Applied Physics Lab, for courses in the Johns Hopkins Part-Time MS
Program in Computer Science, and for various industry seminars and
on-site Java short courses.