## org.apache.catalina.servlets
Class WebdavServlet

    java.lang.Object
      javax.servlet.GenericServlet
          javax.servlet.http.HttpServlet
              org.apache.catalina.servlets.DefaultServlet
                  org.apache.catalina.servlets.WebdavServlet

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

public class WebdavServlet
extends DefaultServlet

Servlet which adds support for WebDAV level 2. All the basic HTTP requests are handled by the DefaultServlet.

Version:
  $Revision: 619799 $ $Date: 2008-02-08 08:14:43 +0000 (Fri, 08 Feb 2008) $
Author:
  Remy Maucherat
See Also:
  Serialized Form

Nested Class Summary

Nested classes inherited from class org.apache.catalina.servlets.DefaultServlet
`DefaultServlet.ResourceInfo`

Field Summary
`protected static java.text.SimpleDateFormat` `creationDateFormat` Simple date format for the creation date ISO representation (partial).
`protected static java.lang.String` `DEFAULT_NAMESPACE` Default namespace.

Fields inherited from class org.apache.catalina.servlets.DefaultServlet
`debug, encodeRedirects, fileEncoding, formats, gmtZone, input, listings, md5Encoder, md5Helper, mimeSeparation, output, readOnly, RESOURCES_JNDI_NAME, sm, urlEncoder, welcomes`

Constructor Summary
`WebdavServlet()`

Method Summary
`protected boolean` `checkIfHeaders(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, DefaultServlet.ResourceInfo resourceInfo)` Check if the conditions specified in the optional If headers are satisfied.
`protected void` `doCopy(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp)` COPY Method.
`protected void` `doDelete(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp)` DELETE Method.
`protected void` `doLock(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp)` LOCK Method.
`protected void` `doMkcol(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp)` MKCOL Method.
`protected void` `doMove(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp)` MOVE Method.
`protected void` `doOptions(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp)` OPTIONS Method.
`protected void` `doPropfind(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp)` PROPFIND Method.
`protected void` `doProppatch(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp)` PROPPATCH Method.
`protected void` `doPut(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp)` Process a POST request for the specified resource.
`protected void` `doUnlock(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp)` UNLOCK Method.
`protected javax.xml.parsers.DocumentBuilder` `getDocumentBuilder()` Return JAXP document builder instance.
`protected java.lang.String` `getRelativePath(javax.servlet.http.HttpServletRequest request)` Override the DefaultServlet implementation and only use the PathInfo.
`void` `init()` Initialize this servlet.
`protected void` `service(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp)` Handles the special WebDAV methods.

Methods inherited from class org.apache.catalina.servlets.DefaultServlet
`appendParameters, destroy, displaySize, doGet, doHead, doPost, executePartialPut, getETag, getResources, normalize, parseContentRange, parseRange, render, renderSize, rewriteUrl, serveResource, showRequestInfo`

Methods inherited from class javax.servlet.http.HttpServlet
`doTrace, getLastModified, service`

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

### DEFAULT_NAMESPACE

    protected static final java.lang.String DEFAULT_NAMESPACE

  Default namespace.

  See Also:
    Constant Field Values

### creationDateFormat

    protected static final java.text.SimpleDateFormat creationDateFormat

  Simple date format for the creation date ISO representation (partial).

Constructor Detail

### WebdavServlet

    public WebdavServlet()

Method Detail

### init

    public void init()
              throws javax.servlet.ServletException

  Initialize this servlet.

  Overrides:
    `init` in class `DefaultServlet`
  Throws:
    `javax.servlet.ServletException`

### getDocumentBuilder

    protected javax.xml.parsers.DocumentBuilder getDocumentBuilder()
                                                            throws javax.servlet.ServletException

  Return JAXP document builder instance.

  Throws:
    `javax.servlet.ServletException`

### service

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

  Handles the special WebDAV methods.

  Throws:
    `javax.servlet.ServletException`
    `java.io.IOException`

### checkIfHeaders

    protected boolean checkIfHeaders(javax.servlet.http.HttpServletRequest request,
                                     javax.servlet.http.HttpServletResponse response,
                                     DefaultServlet.ResourceInfo resourceInfo)
                              throws java.io.IOException

  Check if the conditions specified in the optional If headers are satisfied.

  Overrides:
    `checkIfHeaders` in class `DefaultServlet`
  Parameters:
    `request` - The servlet request we are processing
    `response` - The servlet response we are creating
    `resourceInfo` - File object
  Returns:
    boolean true if the resource meets all the specified conditions, and false if any of the conditions is not satisfied, in which case request processing is stopped
  Throws:
    `java.io.IOException`

### getRelativePath

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

  Override the DefaultServlet implementation and only use the PathInfo. If the ServletPath is non-null, it will be because the WebDAV servlet has been mapped to a url other than /* to configure editing at different url than normal viewing.

  Overrides:
    `getRelativePath` in class `DefaultServlet`
  Parameters:
    `request` - The servlet request we are processing

### doOptions

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

  OPTIONS Method.

  Throws:
    `javax.servlet.ServletException`
    `java.io.IOException`

### doPropfind

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

  PROPFIND Method.

  Throws:
    `javax.servlet.ServletException`
    `java.io.IOException`

### doProppatch

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

  PROPPATCH Method.

  Throws:
    `javax.servlet.ServletException`
    `java.io.IOException`

### doMkcol

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

  MKCOL Method.

  Throws:
    `javax.servlet.ServletException`
    `java.io.IOException`

### doDelete

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

  DELETE Method.

  Overrides:
    `doDelete` in class `DefaultServlet`
  Parameters:
    `req` - The servlet request we are processing
    `resp` - The servlet response we are creating
  Throws:
    `java.io.IOException` - if an input/output error occurs
    `javax.servlet.ServletException` - if a servlet-specified error occurs

### doPut

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

  Process a POST request for the specified resource.

  Overrides:
    `doPut` in class `DefaultServlet`
  Parameters:
    `req` - The servlet request we are processing
    `resp` - The servlet response we are creating
  Throws:
    `java.io.IOException` - if an input/output error occurs
    `javax.servlet.ServletException` - if a servlet-specified error occurs

### doCopy

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

  COPY Method.

  Throws:
    `javax.servlet.ServletException`
    `java.io.IOException`

### doMove

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

  MOVE Method.

  Throws:
    `javax.servlet.ServletException`
    `java.io.IOException`

### doLock

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

  LOCK Method.

  Throws:
    `javax.servlet.ServletException`
    `java.io.IOException`

### doUnlock

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

  UNLOCK Method.

  Throws:
    `javax.servlet.ServletException`
    `java.io.IOException`

Copyright © 2000-2002 Apache Software Foundation. All Rights Reserved.