|
Size: 28704
Comment:
|
← Revision 3 as of 2009-09-20 22:02:32 ⇥
Size: 28704
Comment: converted to 1.6 markup
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 1: | Line 1: |
| This is a code sample of the web.xml file to be used in conjunction with ["Getting Started Domain.XML"] | This is a code sample of the web.xml file to be used in conjunction with [[Getting_Started_Domain.XML]] |
This is a code sample of the web.xml file to be used in conjunction with Getting_Started_Domain.XML
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<!-- Phillip Burnside, 12/05/2005.
I have added this file to give an example of how to configure the Web.xml file to enable SLIDE.
Where you see a comment starting '#Phil dd/mm/yyyy' you will find a description of the change from the
original file and an end comment of '#Phil dd/mm/yyyy END' to indicate where the end change was made. -->
<web-app>
<display-name>Jakarta Slide WebDAV Server</display-name>
<!-- Definition and configuration of servlet filters -->
<filter>
<filter-name>webdavlog</filter-name>
<filter-class>org.apache.slide.webdav.filter.LogFilter</filter-class>
<init-param>
<param-name>logFormat</param-name>
<param-value>%T, %t, %P, %m, %s "%l", %i, %p</param-value>
<description>
Defines the format of a log line.
The following placeholders are available:
%T=thread-name,
%t=date-time,
%P=principal-name,
%m=method-name,
%s=status-code,
%l=default-status-text,
%L=detailed-status-text,
%i=elapsed-time,
%p=relative-request-uri,
%u=request-uri.
%x=request-content-length.
%A=header User-Agent.
</description>
</init-param>
<init-param>
<param-name>outputToConsole</param-name>
<param-value>true</param-value>
<description>If true, output is directed to STDOUT.</description>
</init-param>
<init-param>
<param-name>outputToServletLog</param-name>
<param-value>false</param-value>
<description>If true, output is directed to the servlet's log file.</description>
</init-param>
<!--init-param>
<param-name>outputToFile</param-name>
<param-value>d:\apachesoftwarefoundation\tomcat55\logs\webdav.log.xml</param-value>
<description>If present, output is directed to the specified file.</description>
</init-param-->
</filter>
<!-- If you're operating Slide with an SSL connection and with authentication enabled
and you notice that Internet Explorer is unable to open some file types you may
want to uncomment the following filter and its associated filter-mapping. See the
javadoc for the NoCacheFilter class for a description of the problem and discussion
of the ramifications. -->
<!--
<filter>
<filter-name>nocache</filter-name>
<filter-class>org.apache.slide.webdav.filter.NoCacheFilter</filter-class>
</filter>
-->
<filter-mapping>
<filter-name>webdavlog</filter-name>
<servlet-name>webdav</servlet-name>
</filter-mapping>
<!--
<filter-mapping>
<filter-name>nocache</filter-name>
<servlet-name>webdav</servlet-name>
</filter-mapping>
-->
<!-- Definition and configuration of Slide's WebDAV servlet. -->
<servlet>
<servlet-name>webdav</servlet-name>
<display-name>Slide DAV Server</display-name>
<servlet-class>org.apache.slide.webdav.WebdavServlet</servlet-class>
<init-param>
<param-name>domain</param-name>
<param-value>/Domain.xml</param-value>
<description>
Path to the domain configuration file, relative to the path of the
web application.
The default is '/Domain.xml'.
</description>
</init-param>
<init-param>
<!-- #Phil 12/05/2005
Changed the primary namespace from slide to primary. This will show how the linkages are made between
web.xml and Domain.xml
-->
<param-name>namespace</param-name>
<param-value>primary</param-value>
<description>
Name of the Slide namespace that should be accessed by this servlet.
If this parameter is provided, make sure the corresponding namespace
is defined in the domain configuration file. Otherwise, the default
namespace will be used, if one exists.
</description>
<!-- #Phil 12/05/2005 END -->
</init-param>
<init-param>
<param-name>scope</param-name>
<param-value/>
<description>
Scope of the Slide namespace that should be exposed by this servlet.
For example, if you want to expose only the /files collection via
WebDAV, set this parameter to '/files'. In that case, any URLs of the
form '/context-path/servlet-path/*' will be mapped to '/files/*'
in the Slide namespace.
The default value is an empty string.
<!-- #Phil 12/05/2005
This will act like a redirection. In this way you can lock the users away from the
administration aspects of the namespace.
-->
</description>
</init-param>
<init-param>
<param-name>depth-limit</param-name>
<param-value>3</param-value>
<description>
This init-parameter determines the depth limit for PROPFIND and other
methods, to avoid performance hits on the server for requests with
infinite depth.
The default value is '3'.
</description>
</init-param>
<init-param>
<param-name>default-mime-type</param-name>
<param-value>application/octet-stream</param-value>
<description>
The MIME type that should be used for resources of unknown type. For
example, if a WebDAV client uploads a file (via PUT) without specifying
the Content-Type header, the MIME type defined here will be used.
The default value is 'application/octet-stream'.
</description>
</init-param>
<init-param>
<param-name>default-servlet</param-name>
<param-value>true</param-value>
<description>
By default, the WebDAV servlet is mapped as default servlet of the
web application context (the url-pattern in servlet-mapping is '/').
If you want to change that mapping so the servlet is no longer the
default servlet, you must change this initialization parameter to
indicate the situation to the servlet, by setting it to 'false'.
The default value is 'true'.
</description>
</init-param>
<init-param>
<param-name>directory-browsing</param-name>
<param-value>true</param-value>
<description>
Use the 'directory-browsing' init-parameter to turn off generation of
HTML index pages that enable browsing of collections (by setting this
parameter to 'false'), or to specify a web-app relative path to a
template resource (a JSP page, for example) which should handle
generation of the HTML index page. In the latter case, you can use a
JSP page at WEB-INF/index.jsp by specifying '/WEB-INF/index.jsp' as
value of this parameter.
The default value is 'true'.
</description>
</init-param>
<init-param>
<param-name>directory-browsing-hide-acl</param-name>
<param-value>true</param-value>
<description>
Use this parameter to hide ACL information in generated HTML index pages.
(see parameter "directory-browsing")
The default value is 'true'.
</description>
</init-param>
<init-param>
<param-name>directory-browsing-hide-locks</param-name>
<param-value>true</param-value>
<description>
Use this parameter to hide locking information in generated HTML index pages.
(see parameter "directory-browsing")
The default value is 'true'.
</description>
</init-param>
<init-param>
<param-name>optimizePropfindOutput</param-name>
<param-value>true</param-value>
<description>
If set to false, the PropFindMethod will first create a (large) JDOM
document in memory and then write it to the response stream.
If set true, the PropFindMethod will write results to the stream as
soon as they are available. This will reduce memory consumption
in the case of large responses (PROPFIND on many resources).
The output of these two variants differ slightly, since in optimized
mode the D:DAV namespace is declared in the multistatus element AND
in all response elements. Since this is still a valid XML document
it shouldn't be a problem, but in case you encounter any diffculties
this switch provides a way to get around it.
</description>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>extendedAllprop</param-name>
<param-value>true</param-value>
<description>
According to RFC3253 (DeltaV), RFCxxxx (ACL) and RFCxxxx (Binding),
a DAV:allprop PROPFIND should not return any of the properties defined
in any of that documents.
For testing purposes, the specified behaviour can be disabled by
setting this parameter "true".
</description>
</init-param>
<init-param>
<param-name>lockdiscoveryIncludesPrincipalURL</param-name>
<param-value>false</param-value>
<description>
As proposed on February 08, 2003 by Lisa Dusseault in
w3c-dist-auth-request@w3.org, the DAV:lockdiscovery property should
include an element DAV:principal-URL with the semantics of the
WebDAV/ACL specification. This feature is switched-off
by default as it lead to compatibility problems with MacOS X client.
</description>
</init-param>
<init-param>
<param-name>updateLastModified</param-name>
<param-value>true</param-value>
<description>
This parameter controls whether modifying properties via
PROPPATCH causes the last modification date of the
resource to be updated or not.
</description>
</init-param>
<load-on-startup>1</load-on-startup>
<!-- Uncomment this to get authentication -->
<security-role-ref>
<role-name>root</role-name>
<role-link>root</role-link>
</security-role-ref>
<security-role-ref>
<role-name>guest</role-name>
<role-link>guest</role-link>
</security-role-ref>
<!-- #Phil 12/05/2005
We are adding a new role to the pre-defined ones. This role is defined in Domain.XML HOWEVER if you don't have it here
your user will NEVER get access to its properties. From what I can gather this is the linkage between the realm defined
role in tomcat-users.xml and the Domain.xml
-->
<security-role-ref>
<role-name>editor</role-name>
<role-link>editor</role-link>
</security-role-ref>
<!-- #Phil 12/05/2005 END -->
<security-role-ref>
<role-name>user</role-name>
<role-link>user</role-link>
</security-role-ref>
</servlet>
<!-- The mapping for the Slide WebDAV servlet.
If you change the mapping so that the servlet isn't the default servlet
anymore, make sure to set the init-parameter 'default-servlet' to
'false'. -->
<servlet-mapping>
<servlet-name>webdav</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<!-- For some app servers (Tomcat)
.jsp files must be mapped
explicitly -->
<servlet-mapping>
<servlet-name>webdav</servlet-name>
<url-pattern>*.jsp</url-pattern>
</servlet-mapping>
<!-- Set the default session timeout (in minutes) -->
<session-config>
<session-timeout>30</session-timeout>
</session-config>
<!-- Establish the default MIME type mappings -->
<mime-mapping>
<extension>txt</extension>
<mime-type>text/plain</mime-type>
</mime-mapping>
<mime-mapping>
<extension>html</extension>
<mime-type>text/html</mime-type>
</mime-mapping>
<mime-mapping>
<extension>htm</extension>
<mime-type>text/html</mime-type>
</mime-mapping>
<mime-mapping>
<extension>gif</extension>
<mime-type>image/gif</mime-type>
</mime-mapping>
<mime-mapping>
<extension>jpg</extension>
<mime-type>image/jpeg</mime-type>
</mime-mapping>
<mime-mapping>
<extension>jpe</extension>
<mime-type>image/jpeg</mime-type>
</mime-mapping>
<mime-mapping>
<extension>jpeg</extension>
<mime-type>image/jpeg</mime-type>
</mime-mapping>
<mime-mapping>
<extension>java</extension>
<mime-type>text/plain</mime-type>
</mime-mapping>
<mime-mapping>
<extension>body</extension>
<mime-type>text/html</mime-type>
</mime-mapping>
<mime-mapping>
<extension>rtx</extension>
<mime-type>text/richtext</mime-type>
</mime-mapping>
<mime-mapping>
<extension>tsv</extension>
<mime-type>text/tab-separated-values</mime-type>
</mime-mapping>
<mime-mapping>
<extension>etx</extension>
<mime-type>text/x-setext</mime-type>
</mime-mapping>
<mime-mapping>
<extension>ps</extension>
<mime-type>application/x-postscript</mime-type>
</mime-mapping>
<mime-mapping>
<extension>class</extension>
<mime-type>application/java</mime-type>
</mime-mapping>
<mime-mapping>
<extension>csh</extension>
<mime-type>application/x-csh</mime-type>
</mime-mapping>
<mime-mapping>
<extension>sh</extension>
<mime-type>application/x-sh</mime-type>
</mime-mapping>
<mime-mapping>
<extension>tcl</extension>
<mime-type>application/x-tcl</mime-type>
</mime-mapping>
<mime-mapping>
<extension>tex</extension>
<mime-type>application/x-tex</mime-type>
</mime-mapping>
<mime-mapping>
<extension>texinfo</extension>
<mime-type>application/x-texinfo</mime-type>
</mime-mapping>
<mime-mapping>
<extension>texi</extension>
<mime-type>application/x-texinfo</mime-type>
</mime-mapping>
<mime-mapping>
<extension>t</extension>
<mime-type>application/x-troff</mime-type>
</mime-mapping>
<mime-mapping>
<extension>tr</extension>
<mime-type>application/x-troff</mime-type>
</mime-mapping>
<mime-mapping>
<extension>roff</extension>
<mime-type>application/x-troff</mime-type>
</mime-mapping>
<mime-mapping>
<extension>man</extension>
<mime-type>application/x-troff-man</mime-type>
</mime-mapping>
<mime-mapping>
<extension>me</extension>
<mime-type>application/x-troff-me</mime-type>
</mime-mapping>
<mime-mapping>
<extension>ms</extension>
<mime-type>application/x-wais-source</mime-type>
</mime-mapping>
<mime-mapping>
<extension>src</extension>
<mime-type>application/x-wais-source</mime-type>
</mime-mapping>
<mime-mapping>
<extension>zip</extension>
<mime-type>application/zip</mime-type>
</mime-mapping>
<mime-mapping>
<extension>bcpio</extension>
<mime-type>application/x-bcpio</mime-type>
</mime-mapping>
<mime-mapping>
<extension>cpio</extension>
<mime-type>application/x-cpio</mime-type>
</mime-mapping>
<mime-mapping>
<extension>gtar</extension>
<mime-type>application/x-gtar</mime-type>
</mime-mapping>
<mime-mapping>
<extension>shar</extension>
<mime-type>application/x-shar</mime-type>
</mime-mapping>
<mime-mapping>
<extension>sv4cpio</extension>
<mime-type>application/x-sv4cpio</mime-type>
</mime-mapping>
<mime-mapping>
<extension>sv4crc</extension>
<mime-type>application/x-sv4crc</mime-type>
</mime-mapping>
<mime-mapping>
<extension>tar</extension>
<mime-type>application/x-tar</mime-type>
</mime-mapping>
<mime-mapping>
<extension>ustar</extension>
<mime-type>application/x-ustar</mime-type>
</mime-mapping>
<mime-mapping>
<extension>dvi</extension>
<mime-type>application/x-dvi</mime-type>
</mime-mapping>
<mime-mapping>
<extension>hdf</extension>
<mime-type>application/x-hdf</mime-type>
</mime-mapping>
<mime-mapping>
<extension>latex</extension>
<mime-type>application/x-latex</mime-type>
</mime-mapping>
<mime-mapping>
<extension>bin</extension>
<mime-type>application/octet-stream</mime-type>
</mime-mapping>
<mime-mapping>
<extension>oda</extension>
<mime-type>application/oda</mime-type>
</mime-mapping>
<mime-mapping>
<extension>pdf</extension>
<mime-type>application/pdf</mime-type>
</mime-mapping>
<mime-mapping>
<extension>ps</extension>
<mime-type>application/postscript</mime-type>
</mime-mapping>
<mime-mapping>
<extension>eps</extension>
<mime-type>application/postscript</mime-type>
</mime-mapping>
<mime-mapping>
<extension>ai</extension>
<mime-type>application/postscript</mime-type>
</mime-mapping>
<mime-mapping>
<extension>rtf</extension>
<mime-type>application/rtf</mime-type>
</mime-mapping>
<mime-mapping>
<extension>nc</extension>
<mime-type>application/x-netcdf</mime-type>
</mime-mapping>
<mime-mapping>
<extension>cdf</extension>
<mime-type>application/x-netcdf</mime-type>
</mime-mapping>
<mime-mapping>
<extension>cer</extension>
<mime-type>application/x-x509-ca-cert</mime-type>
</mime-mapping>
<mime-mapping>
<extension>exe</extension>
<mime-type>application/octet-stream</mime-type>
</mime-mapping>
<mime-mapping>
<extension>gz</extension>
<mime-type>application/x-gzip</mime-type>
</mime-mapping>
<mime-mapping>
<extension>Z</extension>
<mime-type>application/x-compress</mime-type>
</mime-mapping>
<mime-mapping>
<extension>z</extension>
<mime-type>application/x-compress</mime-type>
</mime-mapping>
<mime-mapping>
<extension>hqx</extension>
<mime-type>application/mac-binhex40</mime-type>
</mime-mapping>
<mime-mapping>
<extension>mif</extension>
<mime-type>application/x-mif</mime-type>
</mime-mapping>
<mime-mapping>
<extension>ief</extension>
<mime-type>image/ief</mime-type>
</mime-mapping>
<mime-mapping>
<extension>tiff</extension>
<mime-type>image/tiff</mime-type>
</mime-mapping>
<mime-mapping>
<extension>tif</extension>
<mime-type>image/tiff</mime-type>
</mime-mapping>
<mime-mapping>
<extension>ras</extension>
<mime-type>image/x-cmu-raster</mime-type>
</mime-mapping>
<mime-mapping>
<extension>pnm</extension>
<mime-type>image/x-portable-anymap</mime-type>
</mime-mapping>
<mime-mapping>
<extension>pbm</extension>
<mime-type>image/x-portable-bitmap</mime-type>
</mime-mapping>
<mime-mapping>
<extension>pgm</extension>
<mime-type>image/x-portable-graymap</mime-type>
</mime-mapping>
<mime-mapping>
<extension>ppm</extension>
<mime-type>image/x-portable-pixmap</mime-type>
</mime-mapping>
<mime-mapping>
<extension>rgb</extension>
<mime-type>image/x-rgb</mime-type>
</mime-mapping>
<mime-mapping>
<extension>xbm</extension>
<mime-type>image/x-xbitmap</mime-type>
</mime-mapping>
<mime-mapping>
<extension>xpm</extension>
<mime-type>image/x-xpixmap</mime-type>
</mime-mapping>
<mime-mapping>
<extension>xwd</extension>
<mime-type>image/x-xwindowdump</mime-type>
</mime-mapping>
<mime-mapping>
<extension>au</extension>
<mime-type>audio/basic</mime-type>
</mime-mapping>
<mime-mapping>
<extension>snd</extension>
<mime-type>audio/basic</mime-type>
</mime-mapping>
<mime-mapping>
<extension>aif</extension>
<mime-type>audio/x-aiff</mime-type>
</mime-mapping>
<mime-mapping>
<extension>aiff</extension>
<mime-type>audio/x-aiff</mime-type>
</mime-mapping>
<mime-mapping>
<extension>aifc</extension>
<mime-type>audio/x-aiff</mime-type>
</mime-mapping>
<mime-mapping>
<extension>wav</extension>
<mime-type>audio/x-wav</mime-type>
</mime-mapping>
<mime-mapping>
<extension>mpeg</extension>
<mime-type>video/mpeg</mime-type>
</mime-mapping>
<mime-mapping>
<extension>mpg</extension>
<mime-type>video/mpeg</mime-type>
</mime-mapping>
<mime-mapping>
<extension>mpe</extension>
<mime-type>video/mpeg</mime-type>
</mime-mapping>
<mime-mapping>
<extension>qt</extension>
<mime-type>video/quicktime</mime-type>
</mime-mapping>
<mime-mapping>
<extension>mov</extension>
<mime-type>video/quicktime</mime-type>
</mime-mapping>
<mime-mapping>
<extension>avi</extension>
<mime-type>video/x-msvideo</mime-type>
</mime-mapping>
<mime-mapping>
<extension>movie</extension>
<mime-type>video/x-sgi-movie</mime-type>
</mime-mapping>
<mime-mapping>
<extension>avx</extension>
<mime-type>video/x-rad-screenplay</mime-type>
</mime-mapping>
<mime-mapping>
<extension>wrl</extension>
<mime-type>x-world/x-vrml</mime-type>
</mime-mapping>
<mime-mapping>
<extension>mpv2</extension>
<mime-type>video/mpeg2</mime-type>
</mime-mapping>
<mime-mapping>
<extension>jpg</extension>
<mime-type>image/pjpeg</mime-type>
</mime-mapping>
<mime-mapping>
<extension>sgml</extension>
<mime-type>text/sgml</mime-type>
</mime-mapping>
<mime-mapping>
<extension>sgm</extension>
<mime-type>text/sgml</mime-type>
</mime-mapping>
<mime-mapping>
<extension>css</extension>
<mime-type>text/css</mime-type>
</mime-mapping>
<mime-mapping>
<extension>png</extension>
<mime-type>image/png</mime-type>
</mime-mapping>
<mime-mapping>
<extension>bmp</extension>
<mime-type>image/bmp</mime-type>
</mime-mapping>
<mime-mapping>
<extension>mpga</extension>
<mime-type>audio/mpeg</mime-type>
</mime-mapping>
<mime-mapping>
<extension>mp2</extension>
<mime-type>audio/mpeg</mime-type>
</mime-mapping>
<mime-mapping>
<extension>mp3</extension>
<mime-type>audio/mpeg</mime-type>
</mime-mapping>
<mime-mapping>
<extension>js</extension>
<mime-type>application/x-javascript</mime-type>
</mime-mapping>
<mime-mapping>
<extension>xml</extension>
<mime-type>text/xml</mime-type>
</mime-mapping>
<mime-mapping>
<extension>xls</extension>
<mime-type>application/vnd.ms-excel</mime-type>
</mime-mapping>
<mime-mapping>
<extension>ppt</extension>
<mime-type>application/vnd.ms-powerpoint</mime-type>
</mime-mapping>
<mime-mapping>
<extension>doc</extension>
<mime-type>application/msword</mime-type>
</mime-mapping>
<!-- Establish the default list of welcome files -->
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
</welcome-file-list>
<!-- Authentication for the WebDAV servlet -->
<!-- Uncomment this to get authentication -->
<!-- #Phil 12/05/2005
Do exactly as told - uncommented this section and security was up and running
-->
<security-constraint>
<web-resource-collection>
<web-resource-name>DAV resource</web-resource-name>
<url-pattern>/*</url-pattern>
<http-method>COPY</http-method>
<http-method>DELETE</http-method>
<http-method>GET</http-method>
<http-method>HEAD</http-method>
<http-method>LOCK</http-method>
<http-method>MKCOL</http-method>
<http-method>MOVE</http-method>
<http-method>OPTIONS</http-method>
<http-method>POST</http-method>
<http-method>PROPFIND</http-method>
<http-method>PROPPATCH</http-method>
<http-method>PUT</http-method>
<http-method>UNLOCK</http-method>
<http-method>VERSION-CONTROL</http-method>
<http-method>REPORT</http-method>
<http-method>CHECKIN</http-method>
<http-method>CHECKOUT</http-method>
<http-method>UNCHECKOUT</http-method>
<http-method>MKWORKSPACE</http-method>
<http-method>UPDATE</http-method>
<http-method>LABEL</http-method>
<http-method>MERGE</http-method>
<http-method>BASELINE-CONTROL</http-method>
<http-method>MKACTIVITY</http-method>
<http-method>ACL</http-method>
<http-method>SEARCH</http-method>
<http-method>BIND</http-method>
<http-method>UNBIND</http-method>
<http-method>REBIND</http-method>
<http-method>SUBSCRIBE</http-method>
<http-method>UNSUBSCRIBE</http-method>
<http-method>POLL</http-method>
<http-method>NOTIFY</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>root</role-name>
<role-name>guest</role-name>
<role-name>user</role-name>
<!-- #Phil 12/05/2005
This is a further definition for our new role.
-->
<role-name>editor</role-name>
<!-- #Phil 12/05/2005 END -->
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>Slide DAV Server</realm-name>
</login-config>
<security-role>
<role-name>root</role-name>
</security-role>
<!-- #Phil 12/05/2005
More definitions required for our new role
-->
<security-role>
<role-name>editor</role-name>
</security-role>
<!-- #Phil 12/05/2005 END -->
<security-role>
<role-name>guest</role-name>
</security-role>
<security-role>
<role-name>user</role-name>
</security-role>
</web-app>