code: public void init() throws UnavailableException
      {
          ServletContext config = getServletContext();
          _servletHandler = ((ServletHandler.Context) config).getServletHandler();
          _httpContext = _servletHandler.getHttpContext();
  
          _acceptRanges = getInitBoolean("acceptRanges");
          _dirAllowed = getInitBoolean("dirAllowed");
          _putAllowed = getInitBoolean("putAllowed");
          _delAllowed = getInitBoolean("delAllowed");
          _redirectWelcomeFiles = getInitBoolean("redirectWelcome");
          _minGzipLength = getInitInt("minGzipLength");
  
          String rrb = getInitParameter("relativeResourceBase");
          if (rrb != null)
          {
              try
              {
                  _resourceBase = _httpContext.getBaseResource().addPath(rrb);
              }
              catch (Exception e)
              {
                  log.warn(LogSupport.EXCEPTION, e);
                  throw new UnavailableException(e.toString());
              }
          }
  
          String rb = getInitParameter("resourceBase");
  
          if (rrb != null && rb != null)
              throw new UnavailableException("resourceBase & relativeResourceBase");
  
          if (rb != null)
          {
              try
              {
                  _resourceBase = Resource.newResource(rb);
              }
              catch (Exception e)
              {
                  log.warn(LogSupport.EXCEPTION, e);
                  throw new UnavailableException(e.toString());
              }
          }
          if (log.isDebugEnabled())
              log.debug("resource base = " + _resourceBase);
  
          if (_putAllowed)
              _AllowString += ", PUT";
          if (_delAllowed)
              _AllowString += ", DELETE";
          if (_putAllowed && _delAllowed)
              _AllowString += ", MOVE";
      }
docs: /* ------------------------------------------------------------