public class WebdavServlet extends DefaultServlet
/webdav/* to this servlet has the effect
of re-mounting the entire web application under that sub-path, with WebDAV
access to all the resources. This WEB-INF and META-INF
directories are protected in this re-mounted resource tree.
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>false</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>webdav</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
This will enable read only access. To enable read-write access add:
<init-param>
<param-name>readonly</param-name>
<param-value>false</param-value>
</init-param>
To make the content editable via a different URL, use the following
mapping:
<servlet-mapping>
<servlet-name>webdav</servlet-name>
<url-pattern>/webdavedit/*</url-pattern>
</servlet-mapping>
By default access to /WEB-INF and META-INF are not available via WebDAV. To
enable access to these URLs, use add:
<init-param>
<param-name>allowSpecialPaths</param-name>
<param-value>true</param-value>
</init-param>
Don't forget to secure access appropriately to the editing URLs, especially
if allowSpecialPaths is used. With the mapping configuration above, 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/contentDefaultServlet.Range| Modifier and Type | Field and Description |
|---|---|
protected static SimpleDateFormat |
creationDateFormat
Simple date format for the creation date ISO representation (partial).
|
protected static String |
DEFAULT_NAMESPACE
Default namespace.
|
protected static MD5Encoder |
md5Encoder
Deprecated.
Unused - will be removed in Tomcat 8.0.x
|
protected static MessageDigest |
md5Helper
MD5 message digest provider.
|
BUFFER_SIZE, contextXsltFile, debug, fileEncoding, FULL, globalXsltFile, input, listings, localXsltFile, mimeSeparation, output, readmeFile, readOnly, resources, RESOURCES_JNDI_NAME, sendfileSize, showServerInfo, sm, urlEncoder, useAcceptRanges| Constructor and Description |
|---|
WebdavServlet() |
| Modifier and Type | Method and Description |
|---|---|
protected boolean |
checkIfHeaders(HttpServletRequest request,
HttpServletResponse response,
ResourceAttributes resourceAttributes)
Check if the conditions specified in the optional If headers are
satisfied.
|
protected void |
doCopy(HttpServletRequest req,
HttpServletResponse resp)
COPY Method.
|
protected void |
doDelete(HttpServletRequest req,
HttpServletResponse resp)
DELETE Method.
|
protected void |
doLock(HttpServletRequest req,
HttpServletResponse resp)
LOCK Method.
|
protected void |
doMkcol(HttpServletRequest req,
HttpServletResponse resp)
MKCOL Method.
|
protected void |
doMove(HttpServletRequest req,
HttpServletResponse resp)
MOVE Method.
|
protected void |
doOptions(HttpServletRequest req,
HttpServletResponse resp)
OPTIONS Method.
|
protected void |
doPropfind(HttpServletRequest req,
HttpServletResponse resp)
PROPFIND Method.
|
protected void |
doProppatch(HttpServletRequest req,
HttpServletResponse resp)
PROPPATCH Method.
|
protected void |
doPut(HttpServletRequest req,
HttpServletResponse resp)
Process a PUT request for the specified resource.
|
protected void |
doUnlock(HttpServletRequest req,
HttpServletResponse resp)
UNLOCK Method.
|
protected DocumentBuilder |
getDocumentBuilder()
Return JAXP document builder instance.
|
protected String |
getPathPrefix(HttpServletRequest request)
Determines the prefix for standard directory GET listings.
|
protected String |
getRelativePath(HttpServletRequest request)
Override the DefaultServlet implementation and only use the PathInfo.
|
protected String |
getRelativePath(HttpServletRequest request,
boolean allowEmptyPath) |
void |
init()
Initialize this servlet.
|
protected void |
service(HttpServletRequest req,
HttpServletResponse resp)
Handles the special WebDAV methods.
|
checkIfMatch, checkIfModifiedSince, checkIfNoneMatch, checkIfUnmodifiedSince, checkSendfile, copy, copy, copy, copy, copyRange, copyRange, copyRange, destroy, displaySize, doGet, doHead, doPost, executePartialPut, findXsltInputStream, getReadme, parseContentRange, parseRange, render, renderHtml, renderSize, renderXml, rewriteUrl, serveResourcedoTrace, getLastModified, servicegetInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, log, logprotected static final String DEFAULT_NAMESPACE
protected static final SimpleDateFormat creationDateFormat
protected static MessageDigest md5Helper
@Deprecated protected static final MD5Encoder md5Encoder
public void init()
throws ServletException
init in class DefaultServletServletException - if an exception occurs that interrupts the servlet's
normal operationprotected DocumentBuilder getDocumentBuilder() throws ServletException
ServletExceptionprotected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
service in class HttpServletreq - the HttpServletRequest object that
contains the request the client made of
the servletresp - the HttpServletResponse object that
contains the response the servlet returns
to the clientServletException - if the HTTP request
cannot be handledIOException - if an input or output error occurs
while the servlet is handling the
HTTP requestServlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)protected boolean checkIfHeaders(HttpServletRequest request, HttpServletResponse response, ResourceAttributes resourceAttributes) throws IOException
checkIfHeaders in class DefaultServletrequest - The servlet request we are processingresponse - The servlet response we are creatingresourceAttributes - The resource informationIOExceptionprotected String getRelativePath(HttpServletRequest request)
getRelativePath in class DefaultServletrequest - The servlet request we are processingprotected String getRelativePath(HttpServletRequest request, boolean allowEmptyPath)
getRelativePath in class DefaultServletprotected String getPathPrefix(HttpServletRequest request)
getPathPrefix in class DefaultServletrequest - the request to determine the path forprotected void doOptions(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
doOptions in class DefaultServletreq - The requestresp - The responseServletException - If an error occursIOException - If an IO error occursprotected void doPropfind(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
ServletExceptionIOExceptionprotected void doProppatch(HttpServletRequest req, HttpServletResponse resp) throws IOException
IOExceptionprotected void doMkcol(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
ServletExceptionIOExceptionprotected void doDelete(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
doDelete in class DefaultServletreq - The servlet request we are processingresp - The servlet response we are creatingServletException - if a servlet-specified error occursIOException - if an input/output error occursprotected void doPut(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
doPut in class DefaultServletreq - The servlet request we are processingresp - The servlet response we are creatingIOException - if an input/output error occursServletException - if a servlet-specified error occursprotected void doCopy(HttpServletRequest req, HttpServletResponse resp) throws IOException
IOExceptionprotected void doMove(HttpServletRequest req, HttpServletResponse resp) throws IOException
IOExceptionprotected void doLock(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
ServletExceptionIOExceptionprotected void doUnlock(HttpServletRequest req, HttpServletResponse resp) throws IOException
IOExceptionCopyright © 2000-2017 Apache Software Foundation. All Rights Reserved.