1 |
<?xml version="1.0" encoding="UTF-8"?> |
2 |
<web-app xmlns="http://java.sun.com/xml/ns/javaee" |
3 |
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
4 |
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" |
5 |
version="2.5" |
6 |
id="site"> |
7 |
|
8 |
<display-name>Restyling Demo site</display-name> |
9 |
<description>Restyling Demo site</description> |
10 |
|
11 |
<jsp-config> |
12 |
<jsp-property-group> |
13 |
<url-pattern>*.jsp</url-pattern> |
14 |
<page-encoding>UTF-8</page-encoding> |
15 |
<trim-directive-whitespaces>true</trim-directive-whitespaces> |
16 |
</jsp-property-group> |
17 |
<jsp-property-group> |
18 |
<url-pattern>*.jspf</url-pattern> |
19 |
<page-encoding>UTF-8</page-encoding> |
20 |
<trim-directive-whitespaces>true</trim-directive-whitespaces> |
21 |
</jsp-property-group> |
22 |
<jsp-property-group> |
23 |
<url-pattern>*.tag</url-pattern> |
24 |
<page-encoding>UTF-8</page-encoding> |
25 |
<trim-directive-whitespaces>true</trim-directive-whitespaces> |
26 |
</jsp-property-group> |
27 |
<jsp-property-group> |
28 |
<url-pattern>*.tagf</url-pattern> |
29 |
<page-encoding>UTF-8</page-encoding> |
30 |
<trim-directive-whitespaces>true</trim-directive-whitespaces> |
31 |
</jsp-property-group> |
32 |
</jsp-config> |
33 |
|
34 |
<!-- I18N --> |
35 |
<context-param> |
36 |
<param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name> |
37 |
<param-value>messages</param-value> |
38 |
</context-param> |
39 |
<!-- |
40 |
HST-2 Content Beans Annotation Configuration. You can configure it |
41 |
with either xml or classes location filter. For example, if the |
42 |
parameter value is set to '/WEB-INF/beans-annotated-classes.xml', |
43 |
all the annotated bean classes will be loaded from the xml |
44 |
configuration file. If the parameter value is set to |
45 |
'classpath*:org/hippoecm/hst/demo/beans/**/*.class', all the |
46 |
annotated bean classes will be automatically scanned from the |
47 |
location. If the context parameter is not configured, |
48 |
'/WEB-INF/beans-annotated-classes.xml' will be used by default. |
49 |
Also, you can configure multiple classpath resource location filters |
50 |
separated by comma or white spaces. For example, you can set the |
51 |
parameter value to |
52 |
'classpath*:org/hippoecm/hst/demo/beans/**/*.class, |
53 |
classpath*:org/hippoecm/hst/demo2/beans/**/*.class' to specify two |
54 |
or more different location filters. |
55 |
--> |
56 |
<context-param> |
57 |
<param-name>hst-beans-annotated-classes</param-name> |
58 |
<param-value>classpath*:org/onehippo/restyling/demo/**/*.class |
59 |
,classpath*:org/onehippo/**/*.class |
60 |
,classpath*:com/onehippo/**/*.class |
61 |
</param-value> |
62 |
</context-param> |
63 |
|
64 |
<filter> |
65 |
<filter-name>CharacterEncodingFilter</filter-name> |
66 |
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> |
67 |
<init-param> |
68 |
<param-name>encoding</param-name> |
69 |
<param-value>UTF-8</param-value> |
70 |
</init-param> |
71 |
<init-param> |
72 |
<param-name>forceEncoding</param-name> |
73 |
<param-value>true</param-value> |
74 |
</init-param> |
75 |
</filter> |
76 |
|
77 |
<filter> |
78 |
<filter-name>XSSUrlFilter</filter-name> |
79 |
<filter-class>org.hippoecm.hst.container.XSSUrlFilter</filter-class> |
80 |
</filter> |
81 |
|
82 |
<filter> |
83 |
<filter-name>HstFilter</filter-name> |
84 |
<filter-class>org.hippoecm.hst.container.HstFilter</filter-class> |
85 |
<init-param> |
86 |
<param-name>prefixExclusions</param-name> |
87 |
<!-- on purpose /resources/ is not added here a prefix exclusion as resources should be catched |
88 |
in general by suffixExclusions --> |
89 |
<param-value>/ping/, /binaries/, /login/, /hst/pagecomposer/sources/</param-value> |
90 |
</init-param> |
91 |
<init-param> |
92 |
<param-name>suffixExclusions</param-name> |
93 |
<param-value>.jsp, .ftl, .FTL</param-value> |
94 |
</init-param> |
95 |
</filter> |
96 |
|
97 |
<filter-mapping> |
98 |
<filter-name>CharacterEncodingFilter</filter-name> |
99 |
<url-pattern>/*</url-pattern> |
100 |
</filter-mapping> |
101 |
|
102 |
<filter-mapping> |
103 |
<filter-name>XSSUrlFilter</filter-name> |
104 |
<url-pattern>/*</url-pattern> |
105 |
</filter-mapping> |
106 |
|
107 |
<filter-mapping> |
108 |
<filter-name>HstFilter</filter-name> |
109 |
<url-pattern>/*</url-pattern> |
110 |
</filter-mapping> |
111 |
|
112 |
<!-- Listener that dispatches http session events to ComponentManager. --> |
113 |
<listener> |
114 |
<listener-class>org.hippoecm.hst.site.container.session.HttpSessionEventPublisher</listener-class> |
115 |
</listener> |
116 |
|
117 |
<servlet> |
118 |
<servlet-name>HstSiteConfigServlet</servlet-name> |
119 |
<servlet-class>org.hippoecm.hst.site.container.HstSiteConfigServlet</servlet-class> |
120 |
<!-- |
121 |
If 'hst-config-refresh-delay' parameter is greater than 0, |
122 |
then the HST configuration file changes will be monitored to re-initialize the HST Container. |
123 |
The value is in ms. If set to 0 or missing, the re-initialization option on configuration file changes is not turned on. |
124 |
Default below is set to 3 sec |
125 |
--> |
126 |
<init-param> |
127 |
<param-name>hst-config-refresh-delay</param-name> |
128 |
<param-value>3000</param-value> |
129 |
</init-param> |
130 |
<load-on-startup>1</load-on-startup> |
131 |
</servlet> |
132 |
|
133 |
<servlet> |
134 |
<servlet-name>BinariesServlet</servlet-name> |
135 |
<servlet-class>org.hippoecm.hst.servlet.BinariesServlet</servlet-class> |
136 |
</servlet> |
137 |
|
138 |
<servlet> |
139 |
<servlet-name>freemarker</servlet-name> |
140 |
<servlet-class>org.hippoecm.hst.servlet.HstFreemarkerServlet</servlet-class> |
141 |
<!-- FreemarkerServlet settings: --> |
142 |
<init-param> |
143 |
<param-name>TemplatePath</param-name> |
144 |
<param-value>/</param-value> |
145 |
</init-param> |
146 |
<init-param> |
147 |
<param-name>ContentType</param-name> |
148 |
<param-value>text/html; charset=UTF-8</param-value> |
149 |
<!-- Forces UTF-8 output encoding! --> |
150 |
</init-param> |
151 |
<!-- |
152 |
'loggerLibrary' determines which logger library Freemarker uses to log errors. |
153 |
Available options are 'auto', 'none', 'java', 'avalon', 'log4j', 'commons', and 'slf4j'. |
154 |
The default is 'none', which will suppress all exceptions logged by Freemarker. |
155 |
Note that the HstFreemarkerServlet will still log the Freemarker error in all re-thrown exceptions. |
156 |
<init-param> |
157 |
<param-name>loggerLibrary</param-name> |
158 |
<param-value>none</param-value> |
159 |
</init-param> |
160 |
--> |
161 |
<!-- |
162 |
'template_exception_handler' determines what Freemarker does when it encounters an error: |
163 |
- "ignore" lets Freemarker log an exception and then continue rendering. |
164 |
- "debug" lets Freemarker log a stack trace, stops rendering and and re-throws the exception. |
165 |
- "rethrow" (the default) does not let Freemarker log a stack trace, stops rendering and re-throws the exception. |
166 |
The Freemarker error message in re-thrown exceptions will also be logged by the HstFreemarkerServlet. |
167 |
<init-param> |
168 |
<param-name>template_exception_handler</param-name> |
169 |
<param-value>rethrow</param-value> |
170 |
</init-param> |
171 |
--> |
172 |
<load-on-startup>200</load-on-startup> |
173 |
</servlet> |
174 |
|
175 |
<servlet> |
176 |
<servlet-name>TemplateComposerResourceServlet</servlet-name> |
177 |
<servlet-class>org.onehippo.cms7.utilities.servlet.ResourceServlet</servlet-class> |
178 |
<init-param> |
179 |
<param-name>jarPathPrefix</param-name> |
180 |
<param-value>/META-INF/hst/pagecomposer</param-value> |
181 |
</init-param> |
182 |
</servlet> |
183 |
|
184 |
<servlet> |
185 |
<servlet-name>LoginServlet</servlet-name> |
186 |
<servlet-class>org.hippoecm.hst.security.servlet.LoginServlet</servlet-class> |
187 |
</servlet> |
188 |
|
189 |
<servlet> |
190 |
<servlet-name>SecurityResourceServlet</servlet-name> |
191 |
<servlet-class>org.onehippo.cms7.utilities.servlet.ResourceServlet</servlet-class> |
192 |
<init-param> |
193 |
<param-name>jarPathPrefix</param-name> |
194 |
<param-value>/META-INF/hst/security</param-value> |
195 |
</init-param> |
196 |
</servlet> |
197 |
|
198 |
<servlet> |
199 |
<servlet-name>HstResourceServlet</servlet-name> |
200 |
<servlet-class>org.onehippo.cms7.utilities.servlet.ResourceServlet</servlet-class> |
201 |
<init-param> |
202 |
<param-name>jarPathPrefix</param-name> |
203 |
<param-value>/META-INF/web-resources</param-value> |
204 |
</init-param> |
205 |
</servlet> |
206 |
|
207 |
<servlet> |
208 |
<servlet-name>PingServlet</servlet-name> |
209 |
<servlet-class>org.hippoecm.hst.servlet.HstPingServlet</servlet-class> |
210 |
</servlet> |
211 |
|
212 |
<servlet-mapping> |
213 |
<servlet-name>BinariesServlet</servlet-name> |
214 |
<url-pattern>/binaries/*</url-pattern> |
215 |
</servlet-mapping> |
216 |
|
217 |
<servlet-mapping> |
218 |
<servlet-name>freemarker</servlet-name> |
219 |
<url-pattern>*.ftl</url-pattern> |
220 |
</servlet-mapping> |
221 |
|
222 |
<servlet-mapping> |
223 |
<servlet-name>TemplateComposerResourceServlet</servlet-name> |
224 |
<url-pattern>/hst/pagecomposer/sources/*</url-pattern> |
225 |
</servlet-mapping> |
226 |
|
227 |
<servlet-mapping> |
228 |
<servlet-name>LoginServlet</servlet-name> |
229 |
<url-pattern>/login/*</url-pattern> |
230 |
</servlet-mapping> |
231 |
|
232 |
<servlet-mapping> |
233 |
<servlet-name>SecurityResourceServlet</servlet-name> |
234 |
<url-pattern>/login/hst/security/*</url-pattern> |
235 |
</servlet-mapping> |
236 |
|
237 |
<servlet-mapping> |
238 |
<servlet-name>HstResourceServlet</servlet-name> |
239 |
<url-pattern>/resources/*</url-pattern> |
240 |
</servlet-mapping> |
241 |
|
242 |
<servlet-mapping> |
243 |
<servlet-name>PingServlet</servlet-name> |
244 |
<url-pattern>/ping/*</url-pattern> |
245 |
</servlet-mapping> |
246 |
|
247 |
<security-constraint> |
248 |
<web-resource-collection> |
249 |
<web-resource-name>Login</web-resource-name> |
250 |
<url-pattern>/login/resource</url-pattern> |
251 |
</web-resource-collection> |
252 |
<auth-constraint> |
253 |
<role-name>everybody</role-name> |
254 |
</auth-constraint> |
255 |
</security-constraint> |
256 |
|
257 |
<login-config> |
258 |
<auth-method>FORM</auth-method> |
259 |
<realm-name>HSTSITE</realm-name> |
260 |
<form-login-config> |
261 |
<form-login-page>/login/login</form-login-page> |
262 |
<form-error-page>/login/error</form-error-page> |
263 |
</form-login-config> |
264 |
</login-config> |
265 |
|
266 |
<security-role> |
267 |
<description>Default role of Hippo Repository</description> |
268 |
<role-name>everybody</role-name> |
269 |
</security-role> |
270 |
|
271 |
<error-page> |
272 |
<error-code>400</error-code> |
273 |
<location>/WEB-INF/jsp/errorpages/ErrorPage400.jsp</location> |
274 |
</error-page> |
275 |
|
276 |
<error-page> |
277 |
<error-code>401</error-code> |
278 |
<location>/WEB-INF/jsp/errorpages/ErrorPage401.jsp</location> |
279 |
</error-page> |
280 |
|
281 |
<error-page> |
282 |
<error-code>403</error-code> |
283 |
<location>/WEB-INF/jsp/errorpages/ErrorPage403.jsp</location> |
284 |
</error-page> |
285 |
|
286 |
<error-page> |
287 |
<error-code>404</error-code> |
288 |
<location>/WEB-INF/jsp/errorpages/ErrorPage404.jsp</location> |
289 |
</error-page> |
290 |
|
291 |
<error-page> |
292 |
<error-code>500</error-code> |
293 |
<location>/WEB-INF/jsp/errorpages/ErrorPage500.jsp</location> |
294 |
</error-page> |
295 |
|
296 |
<error-page> |
297 |
<exception-type>java.lang.Exception</exception-type> |
298 |
<location>/WEB-INF/jsp/errorpages/ErrorPage500.jsp</location> |
299 |
</error-page> |
300 |
|
301 |
<env-entry> |
302 |
<env-entry-name>logging/contextName</env-entry-name> |
303 |
<env-entry-type>java.lang.String</env-entry-type> |
304 |
<env-entry-value>site</env-entry-value> |
305 |
</env-entry> |
306 |
|
307 |
</web-app> |
308 |
|