Package org.apache.catalina.ssi

## Class SSIServlet

- java.lang.Object
- - javax.servlet.GenericServlet
  - - javax.servlet.http.HttpServlet
    - - org.apache.catalina.ssi.SSIServlet

All Implemented Interfaces:
  `java.io.Serializable`, `Servlet`, `ServletConfig`

    public class SSIServlet
    extends HttpServlet

Servlet to process SSI requests within a webpage. Mapped to a path from within web.xml.

Author:
  Bip Thelin, Amy Roh, Dan Sandberg, David Becker
See Also:
  Serialized Form

### Field Summary

Fields
`protected boolean` `allowExec` Allow exec (normally blocked for security)
`protected boolean` `buffered` Should the output be buffered.
`protected int` `debug` Debug level for this servlet.
`protected java.lang.Long` `expires` Expiration time in seconds for the doc.
`protected java.lang.String` `inputEncoding` Input encoding.
`protected boolean` `isVirtualWebappRelative` virtual path can be webapp-relative
`protected java.lang.String` `outputEncoding` Output encoding.

### Constructor Summary

Constructors
`SSIServlet()`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `doGet​(HttpServletRequest req, HttpServletResponse res)` Process and forward the GET request to our `requestHandler()`*
`void` `doPost​(HttpServletRequest req, HttpServletResponse res)` Process and forward the POST request to our `requestHandler()`.
`void` `init()` Initialize this servlet.
`protected void` `processSSI​(HttpServletRequest req, HttpServletResponse res, java.net.URL resource)`
`protected void` `requestHandler​(HttpServletRequest req, HttpServletResponse res)` Process our request and locate right SSI command.

### Methods inherited from class javax.servlet.http.HttpServlet

`doDelete, doHead, doOptions, doPut, doTrace, getLastModified, service, service`

### Methods inherited from class javax.servlet.GenericServlet

`destroy, getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, log, log`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### debug

    protected int debug

Debug level for this servlet.

#### buffered

    protected boolean buffered

Should the output be buffered.

#### expires

    protected java.lang.Long expires

Expiration time in seconds for the doc.

#### isVirtualWebappRelative

    protected boolean isVirtualWebappRelative

virtual path can be webapp-relative

#### inputEncoding

    protected java.lang.String inputEncoding

Input encoding. If not specified, uses platform default

#### outputEncoding

    protected java.lang.String outputEncoding

Output encoding. If not specified, uses platform default

#### allowExec

    protected boolean allowExec

Allow exec (normally blocked for security)

### Constructor Detail

#### SSIServlet

    public SSIServlet()

### Method Detail

#### init

    public void init()
              throws ServletException

Initialize this servlet.

Overrides:
  `init` in class `GenericServlet`
Throws:
  `ServletException` - if an error occurs

#### doGet

    public void doGet​(HttpServletRequest req,
                      HttpServletResponse res)
               throws java.io.IOException,
                      ServletException

Process and forward the GET request to our `requestHandler()`*

Overrides:
  `doGet` in class `HttpServlet`
Parameters:
  `req` - a value of type 'HttpServletRequest'
  `res` - a value of type 'HttpServletResponse'
Throws:
  `java.io.IOException` - if an error occurs
  `ServletException` - if an error occurs
See Also:
  `ServletResponse.setContentType(java.lang.String)`

#### doPost

    public void doPost​(HttpServletRequest req,
                       HttpServletResponse res)
                throws java.io.IOException,
                       ServletException

Process and forward the POST request to our `requestHandler()`.

Overrides:
  `doPost` in class `HttpServlet`
Parameters:
  `req` - a value of type 'HttpServletRequest'
  `res` - a value of type 'HttpServletResponse'
Throws:
  `java.io.IOException` - if an error occurs
  `ServletException` - if an error occurs
See Also:
  `ServletOutputStream`, `ServletResponse.setContentType(java.lang.String)`

#### requestHandler

    protected void requestHandler​(HttpServletRequest req,
                                  HttpServletResponse res)
                           throws java.io.IOException

Process our request and locate right SSI command.

Parameters:
  `req` - a value of type 'HttpServletRequest'
  `res` - a value of type 'HttpServletResponse'
Throws:
  `java.io.IOException` - an IO error occurred

#### processSSI

    protected void processSSI​(HttpServletRequest req,
                              HttpServletResponse res,
                              java.net.URL resource)
                       throws java.io.IOException

Throws:
  `java.io.IOException`