## org.apache.axis.transport.http
Class AxisServletBase

    java.lang.Object
      javax.servlet.GenericServlet
          javax.servlet.http.HttpServlet
              org.apache.axis.transport.http.AxisServletBase

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

Direct Known Subclasses:
  AdminServlet, AutoRegisterServlet, AxisServlet

public class AxisServletBase
extends javax.servlet.http.HttpServlet

Base class for servlets used in axis, has common methods to get and save the engine to a common location, currently the webapp's context, though some alternate persistence mechanism is always possible. Also has a load counter shared by all servlets; tracks the # of active http requests open to any of the subclasses.

Author:
  Steve Loughran
See Also:
  Serialized Form

Field Summary
`protected static java.lang.String` `ATTR_AXIS_ENGINE` name of the axis engine to use in the servlet context
`protected AxisServer` `axisServer` per-instance cache of the axis server

Constructor Summary
`AxisServletBase()`

Method Summary
`protected static void` `decLockCounter()` thread safe lock counter decrement
`void` `destroy()` Destroy method is called when the servlet is going away.
`AxisServer` `getEngine()` get the engine for this servlet from cache or context
`static AxisServer` `getEngine(javax.servlet.http.HttpServlet servlet)` This is a uniform method of initializing AxisServer in a servlet context.
`protected static java.util.Map` `getEngineEnvironment(javax.servlet.http.HttpServlet servlet)` extract information from the servlet configuration files
`protected java.lang.String` `getHomeDir()` what is the root dir of the applet?
`static int` `getLoadCounter()` get a count of the # of services running.
`protected java.lang.String` `getOption(javax.servlet.ServletContext context, java.lang.String param, java.lang.String dephault)` Retrieve option, in order of precedence: (Managed) System property (see discovery.ManagedProperty), servlet init param, context init param.
`javax.servlet.ServletContext` `getServletContext()` what is the servlet context
`protected java.lang.String` `getWebappBase(javax.servlet.http.HttpServletRequest request)` extract the base of our webapp from an inbound request
`protected java.lang.String` `getWebInfPath()` accessor to webinf
`protected static void` `incLockCounter()` thread safe lock counter increment
`void` `init()` our initialize routine; subclasses should call this if they override it
`boolean` `isDevelopment()` probe for the system being 'production'
`protected void` `service(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp)` subclass of service method that tracks entry count; calls the parent's implementation to have the http method cracked and delegated to the doGet, doPost method.

Methods inherited from class javax.servlet.http.HttpServlet
`doDelete, doGet, doHead, doOptions, doPost, doPut, doTrace, getLastModified, service`

Methods inherited from class javax.servlet.GenericServlet
`getInitParameter, getInitParameterNames, getServletConfig, 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

### axisServer

    protected AxisServer axisServer

  per-instance cache of the axis server

### ATTR_AXIS_ENGINE

    protected static final java.lang.String ATTR_AXIS_ENGINE

  name of the axis engine to use in the servlet context

  See Also:
    Constant Field Values

Constructor Detail

### AxisServletBase

    public AxisServletBase()

Method Detail

### init

    public void init()
              throws javax.servlet.ServletException

  our initialize routine; subclasses should call this if they override it

  Throws:
    `javax.servlet.ServletException`

### destroy

    public void destroy()

  Destroy method is called when the servlet is going away. Pass this down to the AxisEngine to let it clean up... But don't create the engine if it hasn't already been created.

### getEngine

    public AxisServer getEngine()
                         throws AxisFault

  get the engine for this servlet from cache or context

  Returns:
  Throws:
    `AxisFault`

### getEngine

    public static AxisServer getEngine(javax.servlet.http.HttpServlet servlet)
                                throws AxisFault

  This is a uniform method of initializing AxisServer in a servlet context.

  Throws:
    `AxisFault`

### getEngineEnvironment

    protected static java.util.Map getEngineEnvironment(javax.servlet.http.HttpServlet servlet)

  extract information from the servlet configuration files

  Parameters:
    `servlet` -
  Returns:

### getLoadCounter

    public static int getLoadCounter()

  get a count of the # of services running. This is only ever an approximate number in a busy system

  Returns:
    The TotalServiceCount value

### incLockCounter

    protected static void incLockCounter()

  thread safe lock counter increment

### decLockCounter

    protected static void decLockCounter()

  thread safe lock counter decrement

### service

    protected void service(javax.servlet.http.HttpServletRequest req,
                           javax.servlet.http.HttpServletResponse resp)
                    throws javax.servlet.ServletException,
                           java.io.IOException

  subclass of service method that tracks entry count; calls the parent's implementation to have the http method cracked and delegated to the doGet, doPost method.

  Parameters:
    `req` - request
    `resp` - response
  Throws:
    `javax.servlet.ServletException` - something went wrong
    `java.io.IOException` - something different went wrong

### getWebappBase

    protected java.lang.String getWebappBase(javax.servlet.http.HttpServletRequest request)

  extract the base of our webapp from an inbound request

  Parameters:
    `request` - request containing http://foobar/axis/services/something
  Returns:
    some URL like http://foobar:8080/axis/

### getServletContext

    public javax.servlet.ServletContext getServletContext()

  what is the servlet context

  Returns:
    get the context from the servlet config

### getWebInfPath

    protected java.lang.String getWebInfPath()

  accessor to webinf

  Returns:
    path to WEB-INF/ in the local filesystem

### getHomeDir

    protected java.lang.String getHomeDir()

  what is the root dir of the applet?

  Returns:
    path of root dir

### getOption

    protected java.lang.String getOption(javax.servlet.ServletContext context,
                                         java.lang.String param,
                                         java.lang.String dephault)

  Retrieve option, in order of precedence: (Managed) System property (see discovery.ManagedProperty), servlet init param, context init param. Use of system properties is discouraged in production environments, as it overrides everything else.

### isDevelopment

    public boolean isDevelopment()

  probe for the system being 'production'

  Returns:
    true for a dev system.

Copyright © 2005 Apache Web Services Project. All Rights Reserved.