Servlets and Jigsaw
What are servlets ?
Servlets are server-side extensions programmed against the Servlet
API. This interface is philosophically equivalent to the old CGI
interface, but is both more powerful and extremely more efficient. More
information is available at jeeves.javasoft.com.
How do I compile Jigsaw to use the servlets
?
NOTE: The default version of jigsaw has been compiled with servlet support,
to use
Be sure to have a recent version of the servlet classes. Update your
CLASSPATH to use those classes. Modify the Makefile in src/classes/org/w3c/jigsaw
and add the servlet package at the end of the PACKAGES list, like this:
tutorials \
zip \
servlet
Then, uncomment the line 146 of org/w3c/jigsaw/ssi/commands/DefaultCommandRegistry.java
like this:
new org.w3c.jigsaw.ssi.servlets.ServletCommand()
and adds the servlets package in the Makefile of the org.w3c.jigsaw.ssi
package, like this:
PACKAGES = \
commands\
jdbc \
servlets
Now, you can recompile jigsaw.
How do I install a servlet ?
Installing a servlet is pretty easy !
First of all, you have to choose where you want to place your servlets
in your file system; this will usually be a single directory, typically
something like servlets under your server's WWW directory.
Once you have created the file system directory, create a Jigsaw org.w3c.jigsaw.resources.DirectoryResource
with a org.w3c.jigsaw.servlet.ServletDirectoryFrame
frame to export it. That frame will act as a context for all the
servlets under it (Jigsaw can handle multiple servlet contexts within a
single server). You can now add servlets into this special directory. Each
servlet is managed by a org.w3c.jigsaw.servlet.ServletWrapper,
to add a servlet you just have to create a ServletWrapper and in the servlet-class
field put the class name of the servlet witch must be in the directory
relative to the DirectoryResource or in the CLASSPATH.
Example :
You want to install the DateServlet in the WWW/servlets directory:
-
Create the directory servlets under WWW
-
Start the JigAdmin program and unfold all
the nodes down to the space node.
-
Select the space node, and activate the Resources editor
helper. Enter the DirectoryResource identifier (ie servlets) and
the class of the resource (ie org.w3c.jigsaw.resources.DirectoryResource).
This should be done automatically by the indexer.
-
Add a org.w3c.jigsaw.servlet.ServletDirectoryFrame to your new DirectoryResource
(and eventually remove the old HTTPFrame).

-
Put the servlet class (ie DateServlet.class) in WWW/servlets (or
in the CLASSPATH).
-
Create a ServletWrapper in the DirectoryResource and call it DateServlet
for example.

-
Set the servlet-class field of the ServletWrapper to DateServlet

-
Commit your changes
Now DateServlet is reachable at http://your-server-host/servlets/DateServlet.
Is Jigsaw compatible with the JSDK2.0?
Yes, Jigsaw2.0 is compatible with the last JSDK, including HttpSession
(Using Cookies).
How can I setup the servlets properties?
In the last version of Jigsaw, you have many properties to configure.
-
Servlet log file : You can specify the log file to use for servlets.
The default log file is <instdir>/Jigsaw/Jigsaw/logs/servlets.
-
Sessions max idle time : Amount of time a session is allowed to
go unused before it is invalidated. Value is specified in milliseconds.
-
Max sessions : Max number of sessions in memory, if the number of
sessions exceeds this number the sessions with the bigest idle time will
be invalidated. This is checked each time a session is added.
-
Sessions check delay : Time interval when Jigsaw checks for
sessions that have gone unused long enough to be invalidated. Value is
an integer, specifying the interval in milliseconds.
-
Session cookie name : The name of the cookie carrying the session
ID.
-
Session cookie path : The path of the cookie carrying the session
ID. (optionnal)
-
Session cookie domain : The domain field of the cookie carrying
the session ID. (optionnal)
-
Session cookie comment : The comment field of the cookie carrying
the session ID. (optionnal)
-
Session cookie maxage : The value of the maximum age of the cookie
carrying the session ID. Default value is 86400 seconds (24h).
-
Session cookie secure : The secure field of the cookie carrying
the session ID.
How does Jigsaw load local servlet classes
?
Jigsaw use a local ClassLoader to load servlet classes from the
servlets Directory. If a servlet class is modified when Jigsaw is
running, the ClassLoader load automatically the new class. It's a very
useful feature for servlets developers
This feature can be disabled because in some case the "auto-reload"
could create some problems. There is a "auto-reload" flag in ServletWrapper.
How can I load remote servlets ?
You can use remote servlets by using a RemoteServletWrapper instead of
the ServletWrapper.
Example : Add the remote servlet http://www.servlet.com/RemoteServlet.class
to jigsaw.
-
Create the RemoteServletWrapper in the ServletDirectory.
-
Set its "servlet-base" field to http://www.servlet.com/
-
Set its "servlet-class" field to "RemoteServlet" (without .class)
-
Commit changes.
Note : the url http://www.servlet.com/RemoteServlet.class
must be a Java compliant class file.
Jigsaw Team
$Id: servlets.html,v 1.15 1998/07/02 09:22:36 benoit Exp $