Servlet which adds support for WebDAV level 2. All the basic HTTP requests
are handled by the DefaultServlet. The WebDAVServlet must not be used as the
default servlet (ie mapped to '/') as it will not work in this configuration.
To enable WebDAV for a context add the following to web.xml:
<servlet>
<servlet-name>webdav</servlet-name>
<servlet-class>org.apache.catalina.servlets.WebdavServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>webdav</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>

To make the content editable via a different URL, using the following
mapping:
<servlet-mapping>
<servlet-name>webdav</servlet-name>
<url-pattern>/webdavedit/*</url-pattern>
</servlet-mapping>

Don't forget to secure access appropriately to the editing URLs. With this
configuration the context will be accessible to normal users as before. Those
users with the necessary access will be able to edit content available via
http://host:port/context/content using
http://host:port/context/webdavedit/content

Key : path of the collection containing the lock-null resource
Value : Vector of lock-null resource which are members of the
collection. Each element of the Vector is the path associated with
the lock-null resource.

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.