Openfire 3.9.3 Javadoc

org.jivesoftware.openfire.container
Class PluginServlet

java.lang.Object
  extended by javax.servlet.GenericServlet
      extended by javax.servlet.http.HttpServlet
          extended by 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

Openfire 3.9.3 Javadoc

Copyright © 2003-2008 Jive Software.