Overview | Package | Class | Tree | Deprecated | Index | Help
| Openfire 3.9.3 Javadoc
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.jivesoftware.openfire.container
Class PluginServlet

    java.lang.Object
      javax.servlet.GenericServlet
          javax.servlet.http.HttpServlet
              org.jivesoftware.openfire.container.PluginServlet

All Implemented Interfaces:
  Serializable, javax.servlet.Servlet, javax.servlet.ServletConfig

    public class PluginServlet

extends javax.servlet.http.HttpServlet

The plugin servlet acts as a proxy for web requests (in the admin console) to plugins. Since plugins can be dynamically loaded and live in a different place than normal Openfire admin console files, it's not possible to have them added to the normal Openfire admin console web app directory.

The servlet listens for requests in the form `/plugins/[pluginName]/[JSP File]` (e.g. `/plugins/foo/example.jsp`). It also listens for non JSP requests in the form like `/plugins/[pluginName]/images/*.png|gif`, `/plugins/[pluginName]/scripts/*.js|css` or `/plugins/[pluginName]/styles/*.css` (e.g. `/plugins/foo/images/example.gif`).

JSP files must be compiled and available via the plugin's class loader. The mapping between JSP name and servlet class files is defined in [pluginName]/web/web.xml. Typically, this file is auto-generated by the JSP compiler when packaging the plugin. Alternatively, if development mode is enabled for the plugin then the the JSP file will be dynamically compiled using JSPC.

Author:
  Matt Tucker
See Also:
  Serialized Form

Field Summary
`static String` | `PLUGINS_WEBROOT`

Constructor Summary
`PluginServlet()`

Method Summary
`void` | `init(javax.servlet.ServletConfig config)`
`static String` | `registerServlet(PluginManager pluginManager, Plugin plugin, javax.servlet.GenericServlet servlet, String relativeUrl)` Registers a live servlet for a plugin programmatically, does not initialize the servlet.
`static void` | `registerServlets(PluginManager manager, Plugin plugin, File webXML)` Registers all JSP page servlets for a plugin.
`void` | `service(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)`
`static javax.servlet.GenericServlet` | `unregisterServlet(Plugin plugin, String url)` Unregister a live servlet for a plugin programmatically.
`static void` | `unregisterServlets(File webXML)` Unregisters all JSP page servlets for a plugin.

Methods inherited from class javax.servlet.http.HttpServlet
`doDelete, doGet, doHead, doOptions, doPost, doPut, doTrace, getLastModified, 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

### PLUGINS_WEBROOT

    public static final String PLUGINS_WEBROOT

See Also:
  Constant Field Values

Constructor Detail

### PluginServlet

    public PluginServlet()

Method Detail

### init

    public void init(javax.servlet.ServletConfig config)
              throws javax.servlet.ServletException

  Specified by:
    `init` in interface `javax.servlet.Servlet`
  Overrides:
    `init` in class `javax.servlet.GenericServlet`
  Throws:
    `javax.servlet.ServletException`

### service

    public void service(javax.servlet.http.HttpServletRequest request,
                        javax.servlet.http.HttpServletResponse response)
                 throws javax.servlet.ServletException,
                        IOException

  Overrides:
    `service` in class `javax.servlet.http.HttpServlet`
  Throws:
    `javax.servlet.ServletException`
    `IOException`

### registerServlets

    public static void registerServlets(PluginManager manager,
                                        Plugin plugin,
                                        File webXML)

  Registers all JSP page servlets for a plugin.

  Parameters:
    `manager` - the plugin manager.
    `plugin` - the plugin.
    `webXML` - the web.xml file containing JSP page names to servlet class file mappings.

### unregisterServlets

    public static void unregisterServlets(File webXML)

  Unregisters all JSP page servlets for a plugin.

  Parameters:
    `webXML` - the web.xml file containing JSP page names to servlet class file mappings.

### registerServlet

    public static String registerServlet(PluginManager pluginManager,
                                         Plugin plugin,
                                         javax.servlet.GenericServlet servlet,
                                         String relativeUrl)
                                  throws javax.servlet.ServletException

  Registers a live servlet for a plugin programmatically, does not initialize the servlet.

  Parameters:
    `pluginManager` - the plugin manager
    `plugin` - the owner of the servlet
    `servlet` - the servlet.
    `relativeUrl` - the relative url where the servlet should be bound
  Returns:
    the effective url that can be used to initialize the servlet
  Throws:
    `javax.servlet.ServletException`

### unregisterServlet

    public static javax.servlet.GenericServlet unregisterServlet(Plugin plugin,
                                                                 String url)
                                                          throws javax.servlet.ServletException

  Unregister a live servlet for a plugin programmatically. Does not call the servlet destroy method.

  Parameters:
    `plugin` - the owner of the servlet
    `url` - the relative url where servlet has been bound
  Returns:
    the unregistered servlet, so that it can be destroyed
  Throws:
    `javax.servlet.ServletException`

Overview | Package | Class | Tree | Deprecated | Index | Help
| Openfire 3.9.3 Javadoc
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2003-2008 Jive Software.