Table of Contents
- Introduction
- Installation
- Handling Challenger
- Virtual Servers
- Configuration Examples
- Modules
- Filesystems
- RXML Tags
- Graphics
- Proxy
- Databases
- Miscellaneous Modules
- Security Considerations
- Scripting

  | · Introduction · Pike Modules · Pike Scripts · Pike Tag · CGI · SSI · FastCGI · Servlets

- Frontpage
- Upgrading
- Third Party Extensions
- Portability
- Reporting Bugs
- Appendix

Servlets
Java Servlets is a new form of scripting that is gaining popularity because it allows portable server extensions that do not rely on starting external binaries. Servlets are written in Java and compiled to Java byte code before they can be used in a web server.

In Challenger, Servlets are supported through the Java servlet bridge module, which transforms a Servlet into a Location Module. The Java servlet bridge module can have any number of copies, so any number of Servlets can be installed on a single virtual server.

To run the Servlet support you need a Pike that has been compiled with Java support. The binary versions of Challenger are not compiled for Java support. To compile a Pike with Java support you have to install JDK 1.2 and then compile Pike. Pike's Java module should detect the Java environment automatically.

Java servlet bridge

`Class name`
  The name of the Java class implementing the Servlet. The module will look for the corresponding `.class` file in the "Code directory" (see below).

`Code directory`
  The location of the `.class` files for this Servlet in the read file system. The path is relative to the server directory. Multiple Servlets can reside in the same code directory, as long as they have unique class names.

`Parameters`
  Servlet-specific parameters can be set here, see the documentation of the Servlet in question to find out what parameters it supports. Each parameter must be placed on a separate line, with the name and the value separated with an equal (=) sign.

`Servlet location`
  This Servlet's location in the virtual filesystem. Any URL starting with this prefix will be handled by this Servlet. The rest of the URL will be provided to the Servlet as "Path Info".

Note that reloading the bridge module will reload the Servlet itself from its `.class` files as well, which can be useful when developing new Servlets.