WebDAV, web-based distributed authoring and versioning, is a convenient replacement for FTP when developing web sites. Many editing tools can save to a WebDAV server directly and several operating systems can provide a filesystem to a WebDAV server.
What is WebDAV?
The WebDAV site also contains pointers to programs which understand WebDAV.
The WebDAV servlet must be enabled explicitly. By default, it also requires a logged in user playing the 'webdav' role and requires a secure (SSL) connection. These can be relaxed, but having the defaults require security makes it unlikely that a webmaster will enable WebDAV by mistake.
The following example is a typical WebDAV configuration. The explicit servlet-mapping and setting enable to 'write' is necessary. Sinceis left as the default, it will require an SSL connection.
The following example is not recommended because it would allow anyone to update the site:
The WebDAV servlet can point to a different directory by setting theinit-param. The path is relative to the web-app, and allows path variables. For example, the following would read and write files from WEB-INF/webdav:
Recent versions of Windows and the Windows Office suite directly support WebDAV. WebDAV is configured in "My Network Places".
When browsing "My Network Places" in IE, click on Tools/Map Network Drive from the menu. IE will open a dialog. The dialog contains a link to "Create a shortcut to Web folder or FTP site". Clicking on that will open the "Add Network Place Wizard".
The Add Network Place Wizard will ask for the location of the WebDAV server. Type the full URL, e.g. http://www.foo.com/webdav and complete the dialog.
Adding the WebDAV link will let you save directly to your server. Windows programs can load and save to the server. You can also open an IE window to the mapped folder and use it as a normal folder.
The WebDAV servlet can be customized to use a source other than the default path source. For example, it would be possible to use WebDAV with files stored in a database. The custom class must extend com.caucho.http.webdav.AbstractPath.