|
Getting Started: Software and Server
Setup |
Note: this tutorial was written long before Apache
Tomcat 4 was available. I strongly recommend you use Tomcat 4 instead of
following the old directions listed on this page. Click here for a guide to
configuring and using Tomcat as a servlet and JSP engine. Note that the older
servlet and JSP examples of this tutorial still work with the newer Tomcat
server.
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
http://java.sun.com/products/servlet/.
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 servlet.jar and
jsp.jar (which come with the JSWDK) on your CLASSPATH .
If 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 Add
":$CLASSPATH " to the end of the setenv line if your
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 .cshrc file.
Windows 95/98/NTset CLASSPATH=.;servlet_dir/servlet.jar;servlet_dir/jsp.jar Add
";%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
autoexec.bat file. 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 CLASSPATH as well. See the section
on first
servlets for details.
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 http://java.sun.com/products/servlet/industry.html.
Although you抣l 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:
- 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 http://jakarta.apache.org/.
- 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 http://java.sun.com/products/servlet/download.html.
- 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扲eilly抯 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 http://www.allaire.com/products/jrun/.
- New Atlanta抯
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 http://newatlanta.com/.
- Gefion's
LiteWebServer (LWS). LWS is a small free Web server that supports servlets
version 2.2 and JSP 1.1. They also have a free plugin called WAICoolRunner that
adds servlet 2.2 and JSP 1.1 support to Netscape FastTrack and Enterprise
servers. They also sell a number of custom servlet and JSP components in a
package called InstantOnline. For
details, see http://www.gefionsoftware.com/.
- Sun抯 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 http://www.sun.com/software/jwebserver/try/.
For a free non-expiring version for teaching purposes at academic
institutions, see http://freeware.thesphere.com/.
|