1 <?xml version="1.0" encoding="UTF-8"?>
3 Licensed to the Apache Software Foundation (ASF) under one or more
4 contributor license agreements. See the NOTICE file distributed with
5 this work for additional information regarding copyright ownership.
6 The ASF licenses this file to You under the Apache License, Version 2.0
7 (the "License"); you may not use this file except in compliance with
8 the License. You may obtain a copy of the License at
10 http://www.apache.org/licenses/LICENSE-2.0
12 Unless required by applicable law or agreed to in writing, software
13 distributed under the License is distributed on an "AS IS" BASIS,
14 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 See the License for the specific language governing permissions and
16 limitations under the License.
19 <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
24 <display-name>Jackrabbit JCR Server</display-name>
27 <param-name>contextConfigLocation</param-name>
28 <param-value>/WEB-INF/applicationContext-security-multicas.xml</param-value>
33 <filter-name>securityFilter</filter-name>
34 <filter-class>org.springframework.security.util.FilterToBeanProxy</filter-class>
36 <param-name>targetBean</param-name>
37 <param-value>filterChainProxy</param-value>
41 <filter-name>securityFilter</filter-name>
42 <url-pattern>/*</url-pattern>
46 - Loads the root application context of this web app at startup.
47 - The application context is then available via
48 - WebApplicationContextUtils.getWebApplicationContext(servletContext).
53 <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
58 - Publishes events for session creation and destruction through the application
59 - context. Optional unless concurrent session control is being used.
62 <listener-class>org.springframework.security.ui.session.HttpSessionEventPublisher</listener-class>
66 <!-- ====================================================================== -->
67 <!-- L O G G I N G S E R V L E T -->
68 <!-- ====================================================================== -->
70 <servlet-name>Logging</servlet-name>
71 <description>The logging servlet configures the Log4J logging facility.</description>
72 <servlet-class>org.apache.jackrabbit.j2ee.LoggingServlet</servlet-class>
75 <param-name>log4j-config</param-name>
76 <param-value>/WEB-INF/log4j.xml</param-value>
77 <description>initial log4j configuration</description>
80 <load-on-startup>1</load-on-startup>
83 <!-- ====================================================================== -->
84 <!-- R E P O S I T O R Y S T A R T U P S E R V L E T -->
85 <!-- ====================================================================== -->
87 <servlet-name>RepositoryStartup</servlet-name>
89 Repository servlet that starts the repository and registers it to JNDI ans RMI.
90 If you already have the repository registered in this appservers JNDI context,
91 or if its accessible via RMI, you do not need to use this servlet.
93 <servlet-class>org.apache.jackrabbit.j2ee.RepositoryStartupServlet</servlet-class>
96 <param-name>bootstrap-config</param-name>
97 <param-value>jackrabbit/bootstrap.properties</param-value>
99 Property file that hold the same initialization properties than
100 the init-params below. If a parameter is specified in both
101 places the one in the bootstrap-config wins.
107 <param-name>repository-config</param-name>
108 <param-value>/WEB-INF/repository/repository.xml</param-value>
109 <description>the repository config location</description>
113 <param-name>repository-home</param-name>
114 <param-value>jackrabbit/repository</param-value>
115 <description>the repository home</description>
119 <param-name>repository-name</param-name>
120 <param-value>jackrabbit.repository</param-value>
121 <description>Repository Name under which the repository is registered via JNDI/RMI</description>
126 the following 3 parameters deal with registering the repository to
127 a RMI registry. if all parameters are omitted, the repository will
132 <param-name>rmi-port</param-name>
133 <param-value>0</param-value>
135 The RMI port for registering the repository in the RMI Registry.
136 If equals 0, the default port is used.
140 <param-name>rmi-host</param-name>
141 <param-value>localhost</param-value>
143 The RMI host for registering the repository in the RMI Registry.
144 If equals "" or missing, the default host is used.
148 <param-name>rmi-uri</param-name>
149 <param-value></param-value>
151 The RMI uri for registering the repository in the RMI Registry.
152 If missing, the uri is composed using the other rmi parameters
153 and will have the format: //{rmi-host}:{rmi-port}/{repository-name}
158 JNDI environment variables for creating the initial context
159 (all init parameters starting with java.naming.* will be added to the initial context environment).
163 <param-name>java.naming.provider.url</param-name>
164 <param-value>http://www.apache.org/jackrabbit</param-value>
167 <param-name>java.naming.factory.initial</param-name>
168 <param-value>org.apache.jackrabbit.core.jndi.provider.DummyInitialContextFactory</param-value>
171 <load-on-startup>2</load-on-startup>
175 <!-- ====================================================================== -->
176 <!-- R E P O S I T O R Y S E R V L E T -->
177 <!-- ====================================================================== -->
179 <servlet-name>Repository</servlet-name>
181 This servlet provides other servlets and jsps a common way to access
182 the repository. The repository can be accessed via JNDI, RMI or Webdav.
184 <servlet-class>org.apache.jackrabbit.j2ee.RepositoryAccessServlet</servlet-class>
187 <param-name>bootstrap-config</param-name>
188 <param-value>jackrabbit/bootstrap.properties</param-value>
190 Property file that hold the same initialization properties than
191 the init-params below. If a parameter is specified in both
192 places the one in the bootstrap-config wins.
197 <param-name>repository.context.attribute.name</param-name>
198 <param-value>javax.jcr.Repository</param-value>
200 If this is set, the RepositoryAccessServlet expects a Repository in the ServletContext
201 attribute having this name. This allows servlets of this module to be used with repositories
202 intialized by the jackrabbit-jcr-servlet module utilities.
208 <param-name>repository-name</param-name>
209 <param-value>jackrabbit.repository</param-value>
210 <description>Repository Name that is used to retrieve it via JNDI</description>
214 JNDI environment variables for creating the initial context
215 (all init parameters starting with java.naming.* will be added to the initial context environment).
219 <param-name>java.naming.provider.url</param-name>
220 <param-value>http://www.apache.org/jackrabbit</param-value>
223 <param-name>java.naming.factory.initial</param-name>
224 <param-value>org.apache.jackrabbit.core.jndi.provider.DummyInitialContextFactory</param-value>
228 RMI url, if RMI remoting is needed
232 <param-name>rmi-uri</param-name>
233 <param-value>///jackrabbit.repository</param-value>
234 <description>The URI for the RMI connection.</description>
238 <load-on-startup>3</load-on-startup>
241 <!-- ====================================================================== -->
242 <!-- W E B D A V S E R V L E T -->
243 <!-- ====================================================================== -->
245 <servlet-name>Webdav</servlet-name>
247 The webdav servlet that connects HTTP request to the repository.
249 <servlet-class>org.apache.jackrabbit.j2ee.SimpleWebdavServlet</servlet-class>
252 <param-name>resource-path-prefix</param-name>
253 <param-value>/repository</param-value>
255 defines the prefix for spooling resources out of the repository.
260 <param-name>missing-auth-mapping</param-name>
261 <param-value>anonymous:anonymous</param-value>
263 Defines how a missing authorization header should be handled.
264 1) If this init-param is missing, a 401 response is generated.
265 This is suiteable for clients (eg. webdav clients) for which
266 sending a proper authorization header is not possible if the
267 server never sent a 401.
268 2) If this init-param is present with an empty value,
269 null-credentials are returned, thus forcing an null login
271 3) If this init-param has a 'user:password' value, the respective
272 simple credentials are generated.
277 Optional parameter to define the value of the 'WWW-Authenticate' header
281 <param-name>authenticate-header</param-name>
282 <param-value>Basic Og==</param-value>
284 Defines the value of the 'WWW-Authenticate' header.
289 Parameter used to configure behaviour of webdav resources such as:
290 - destinction between collections and non-collections
294 <param-name>resource-config</param-name>
295 <param-value>/WEB-INF/config.xml</param-value>
297 Defines various dav-resource configuration parameters.
300 <load-on-startup>4</load-on-startup>
303 <!-- ====================================================================== -->
304 <!-- W E B D A V S E R V E R S E R V L E T -->
305 <!-- ====================================================================== -->
307 <servlet-name>JCRWebdavServer</servlet-name>
309 The webdav servlet that connects HTTP request to the repository.
311 <servlet-class>org.apache.jackrabbit.j2ee.JCRWebdavServerServlet</servlet-class>
314 <param-name>missing-auth-mapping</param-name>
315 <param-value>anonymous:anonymous</param-value>
317 Defines how a missing authorization header should be handled.
318 1) If this init-param is missing, a 401 response is generated.
319 This is suiteable for clients (eg. webdav clients) for which
320 sending a proper authorization header is not possible if the
321 server never sent a 401.
322 2) If this init-param is present with an empty value,
323 null-credentials are returned, thus forcing an null login
325 3) If this init-param has a 'user:password' value, the respective
326 simple credentials are generated.
332 Optional parameter to define the value of the 'WWW-Authenticate' header
336 <param-name>authenticate-header</param-name>
337 <param-value>Basic realm="Jackrabbit Webdav Server"</param-value>
339 Defines the value of the 'WWW-Authenticate' header.
345 <param-name>resource-path-prefix</param-name>
346 <param-value>/server</param-value>
348 defines the prefix for spooling resources out of the repository.
351 <load-on-startup>5</load-on-startup>
354 <!-- ====================================================================== -->
355 <!-- R M I B I N D I N G S E R V L E T -->
356 <!-- ====================================================================== -->
358 <servlet-name>RMI</servlet-name>
359 <servlet-class>org.apache.jackrabbit.servlet.remote.RemoteBindingServlet</servlet-class>
362 <!-- ====================================================================== -->
363 <!-- S E R V L E T M A P P I N G -->
364 <!-- ====================================================================== -->
366 <servlet-name>RepositoryStartup</servlet-name>
367 <url-pattern>/admin/*</url-pattern>
370 <servlet-name>Webdav</servlet-name>
371 <url-pattern>/repository/*</url-pattern>
374 <servlet-name>JCRWebdavServer</servlet-name>
375 <url-pattern>/server/*</url-pattern>
378 <servlet-name>RMI</servlet-name>
379 <url-pattern>/rmi</url-pattern>
382 <!-- ====================================================================== -->
383 <!-- W E L C O M E F I L E S -->
384 <!-- ====================================================================== -->
386 <welcome-file>index.jsp</welcome-file>
390 <exception-type>org.apache.jackrabbit.j2ee.JcrApiNotFoundException</exception-type>
391 <location>/error/classpath.jsp</location>
394 <exception-type>javax.jcr.RepositoryException</exception-type>
395 <location>/error/repository.jsp</location>