|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object javax.servlet.GenericServlet javax.servlet.http.HttpServlet SK.gnome.dwarf.http.servlet.FileServlet SK.gnome.dwarf.http.webdav.WebDAVServlet
This servlet implements the WebDAV protocol.
Currently, all resources supported by this servlet are Class 1 compliant.
Each servlet instance must be mapped to the reserved "/webdav/*" URI pattern. In fact, this means that a single web application may contain only one WebDAVServlet instance.
The servlet recognizes one initial configuration parameter "clientEncoding", which must contain a valid MIME encoding used by the client program to escape the URL paths being sent to the server. By default the WebDAV servlet tries to auto-detect the encoding used in the requests. However, if you notice any problems with URLs in different than the US-ASCII encoding, you may try to force the encoding via this initial parameter.
An implementation of the SK.gnome.dwarf.utils.cache.Cache interface may be added to the servlet wrapper in order to speed-up the browsing of large directory trees. However, this will work only if you modify the web files via the WebDAV methods, not by any other way (like FTP, or modifying the files directly on the filesystem).
Two string identifiers can be used in controlling the tracing log messages: "webdav.request" will trace all DAV requests and "webdav.response" will trace all DAV responses. In both cases, the log messages will contain the full XML entity bodies as received from the client and sent by server, so use it only when you really need it.
The servlet stores the property names and values in special directories and files
within the web application root directory and its subdirectories. By deleting these
files manually you will remove all corresponding properties. Avoid doing that while the
servlet is running, as well as modifying these files by hand.
Note: the creationdate property of a resource is set to its last modified
time when it is accessed by the servlet for the first time. This is because Java do not
provide any regular method for obtaining the creation date of a file.
Field Summary | |
static int |
SC_FAILED_DEPENDENCY
Status code (424) indicating that the requested action depended on another action and that action failed. |
static int |
SC_INSUFFICIENT_STORAGE
Status code (507) indicating that the server is unable to store the representation needed to successfully complete the request. |
static int |
SC_LOCKED
Status code (423) indicating that the source or destination resource of a method is locked. |
static int |
SC_MULTISTATUS
Status code (207) indicating the status for multiple independent operations. |
static int |
SC_PROCESSING
Status code (102) indicating that the server has accepted the complete request, but has not yet completed it. |
static int |
SC_UNPROCESSABLE_ENTITY
Status code (422) indicating that the server is not able to process the contained instructions. |
Constructor Summary | |
WebDAVServlet()
|
Method Summary | |
protected void |
doCopy(Request request,
Response response)
|
protected void |
doDelete(Request request,
Response response)
|
protected void |
doLock(Request request,
Response response)
|
protected void |
doMkcol(Request request,
Response response)
|
protected void |
doMove(Request request,
Response response)
|
protected void |
doOptions(Request request,
Response response)
|
protected void |
doPropfind(Request request,
Response response)
|
protected void |
doProppatch(Request request,
Response response)
|
protected void |
doPut(Request request,
Response response)
|
protected void |
doUnlock(Request request,
Response response)
|
java.lang.String |
getServletInfo()
|
void |
init()
Initializes the servlet. |
protected void |
service(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
|
Methods inherited from class SK.gnome.dwarf.http.servlet.FileServlet |
doGet, doPost, getLastModified |
Methods inherited from class javax.servlet.http.HttpServlet |
doDelete, doOptions, doPut, doTrace, service |
Methods inherited from class javax.servlet.GenericServlet |
destroy, getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletName, init, log, log |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final int SC_PROCESSING
public static final int SC_MULTISTATUS
public static final int SC_UNPROCESSABLE_ENTITY
public static final int SC_LOCKED
public static final int SC_FAILED_DEPENDENCY
public static final int SC_INSUFFICIENT_STORAGE
Constructor Detail |
public WebDAVServlet()
Method Detail |
public void init() throws javax.servlet.ServletException
init
in class FileServlet
javax.servlet.ServletException
- if an error occuredpublic java.lang.String getServletInfo()
getServletInfo
in interface javax.servlet.Servlet
getServletInfo
in class FileServlet
protected void service(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, java.io.IOException
javax.servlet.ServletException
java.io.IOException
protected void doOptions(Request request, Response response) throws javax.servlet.ServletException, java.io.IOException
javax.servlet.ServletException
java.io.IOException
protected void doPropfind(Request request, Response response) throws javax.servlet.ServletException, java.io.IOException
javax.servlet.ServletException
java.io.IOException
protected void doProppatch(Request request, Response response) throws javax.servlet.ServletException, java.io.IOException
javax.servlet.ServletException
java.io.IOException
protected void doMkcol(Request request, Response response) throws javax.servlet.ServletException, java.io.IOException
javax.servlet.ServletException
java.io.IOException
protected void doPut(Request request, Response response) throws javax.servlet.ServletException, java.io.IOException
javax.servlet.ServletException
java.io.IOException
protected void doDelete(Request request, Response response) throws javax.servlet.ServletException, java.io.IOException
javax.servlet.ServletException
java.io.IOException
protected void doCopy(Request request, Response response) throws javax.servlet.ServletException, java.io.IOException
javax.servlet.ServletException
java.io.IOException
protected void doMove(Request request, Response response) throws javax.servlet.ServletException, java.io.IOException
javax.servlet.ServletException
java.io.IOException
protected void doLock(Request request, Response response) throws javax.servlet.ServletException, java.io.IOException
javax.servlet.ServletException
java.io.IOException
protected void doUnlock(Request request, Response response) throws javax.servlet.ServletException, java.io.IOException
javax.servlet.ServletException
java.io.IOException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |