Writing Servlets
Setting Up A Servlet Development Environment
The first step to creating a servlet in the JSWDK involves creating an area where you can place your tutorial code.
This process involves several steps.
We will follow the list of steps below assuming that v1.0.1 of the JSWDK was installed on your C: drive of a Win32 machine.
- Create a generic directory where you want your servlet files to go.
- Edit webserver.xml to add a mapping to this new directory.
- Add WEB-INF files to the directory so that appropriate Web Server defaults are recognized.
- Restart the JSWDK Web Server.
- Create the servlets subdirectory under WEB-INF.
First, we need to create a directory for the tutorial files.
We start by creating a JavaServer directory under the C:\ drive.
Then, create a directory called tutorial under the JavaServer directory.
Next, edit the webserver.xml file.
You should see the following <WebServer> chunk of code at the bottom of this file:
<WebServer id="webServer">
<Service id="service0">
<WebApplication id="examples" mapping="/examples" docBase="examples"/>
</Service>
</WebServer>
To add a new directory to the web service, you must add a new <WebApplication> XML tag to the "service0" <Service> XML tag.
The following shows the new <WebServer> chunk of code that you should use to replace the previous one.
<WebServer id="webServer">
<Service id="service0">
<WebApplication id="examples" mapping="/examples" docBase="examples"/>
<WebApplication id="tutorial" mapping="/tutorial" docBase="..\JavaServer\tutorial"/>
</Service>
</WebServer>
Notice that because "c:\JavaServer" is outside of the directory tree of "c:\jswdk-1.0.1", we must use ".." to signify that the web server should traverse to the parent directory before looking for the "JavaServer\tutorial" directory.
The URL "mapping" we use is "/tutorial" so that we can load our servlets using the URL prefix: http://localhost:8080/tutorial.
The next step involves configuring the tutorial directory so that HTML, images, and servlets can be placed under this directory structure.
The key to this step is creating a directory called WEB-INF under the tutorial directory.
The JSWDK Web Server looks for the WEB-INF directory for certain files that will alter the server's behavior.
The easiest shortcut we can use to create these files is to copy it from an existing area of the JSWDK.
In this case we are interested in just two files under the "c:\jswdk-1.0.1\examples\WEB-INF" directory:
mime.properties
and webapp.properties.
Copy these files to the c:\JavaServer\tutorial\WEB-INF directory you just created.
mime.properties contains a short listing of MIME types that the web server recognizes.
MIME is a fancy term for file associations that tell a browser how to display particular file types.
For example, the default mime.properties file lets the Web Server know that files with a ".html" extension contain HTML documents while those that end in ".jpeg" contain JPEG images.
The webapp.properties file contains information to let the web server know that index.html is a default file that should be displayed if the user neglected to provide any file under a URL with a plain directory name.
This allows us to use the URL shorthand "http://localhost:8080/tutorial/" in place of "http://localhost:8080/tutorial/index.html".
Now that this configuration has been established, we must restart the JSWDK Web Server.
Restarting the Web Server will cause the new configuration information to be taken up by the Web Server.
Finally, we create a servlets subdirectory under the WEB-INF directory.
The JSWDK web server recognizes that servlets are invoked from the servlets subdirectory of WEB-INF.
Thus, to access a servlet called "HelloWorld", we would use the following URL: http://localhost:8080/tutorial/servlet/HelloWorld
and place the HelloWorld.class file in the c:\JavaServer\tutorial\WEB-INF\servlets directory.
NEXT
Gunther Birznieks contributes to JavaBoutique's Web/Networking column.
Gunther currently works for Barclays Capital in London, one of the leading global investment banks in Europe and has previously worked as a senior computer scientist in the Human Genome Project.
Gunther is also known for writing several books on Web Programming (Perl, CGI, Java) as well as for co-creating Extropia with Selena Sol.
Extropia is one of the best known public domain web programming archives
Email: gunther@extropia.com.
New on the Java Boutique:
New Review:
Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling
API boasts simplicity, ease-of-integration, a well-rounded feature
set, and it's free!
New Applet:
Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA
sequences into three useful formats.
Elsewhere on internet.com:
WebDeveloper Java
Lots of Java information on webdeveloper.com
WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.
ScriptSearch Java
Hundreds of free Java code files to download.
jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.
|