blob: 0c8fe38327b45693e4f4b9a2d3fa34e9192ac0eb [file] [log] [blame]
Hongqing Liufd5ee812014-05-10 16:32:51 +08001<?xml version="1.0" encoding="ISO-8859-1"?>
2<!--
刘洪青6266f992017-05-15 21:21:03 +08003 Licensed to the Apache Software Foundation (ASF) under one or more
Hongqing Liufd5ee812014-05-10 16:32:51 +08004 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
9
10 http://www.apache.org/licenses/LICENSE-2.0
11
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.
17-->
Hongqing Liufd5ee812014-05-10 16:32:51 +080018<web-app xmlns="http://java.sun.com/xml/ns/javaee"
刘洪青6266f992017-05-15 21:21:03 +080019 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
20 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
21 http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
22 version="3.0"
23 metadata-complete="true">
Hongqing Liufd5ee812014-05-10 16:32:51 +080024
25 <description>
26 Servlet and JSP Examples.
27 </description>
28 <display-name>Servlet and JSP Examples</display-name>
29
刘洪青6266f992017-05-15 21:21:03 +080030 <!-- Define example filters -->
31 <filter>
32 <filter-name>Timing filter</filter-name>
33 <filter-class>filters.ExampleFilter</filter-class>
34 <init-param>
35 <param-name>attribute</param-name>
36 <param-value>filters.ExampleFilter</param-value>
37 </init-param>
38 </filter>
Hongqing Liufd5ee812014-05-10 16:32:51 +080039
Hongqing Liufd5ee812014-05-10 16:32:51 +080040 <filter>
41 <filter-name>Request Dumper Filter</filter-name>
刘洪青6266f992017-05-15 21:21:03 +080042 <filter-class>org.apache.catalina.filters.RequestDumperFilter</filter-class>
Hongqing Liufd5ee812014-05-10 16:32:51 +080043 </filter>
44
45 <!-- Example filter to set character encoding on each request -->
46 <filter>
47 <filter-name>Set Character Encoding</filter-name>
刘洪青6266f992017-05-15 21:21:03 +080048 <filter-class>org.apache.catalina.filters.SetCharacterEncodingFilter</filter-class>
Hongqing Liufd5ee812014-05-10 16:32:51 +080049 <init-param>
50 <param-name>encoding</param-name>
51 <param-value>EUC_JP</param-value>
52 </init-param>
刘洪青6266f992017-05-15 21:21:03 +080053 <init-param>
54 <param-name>ignore</param-name>
55 <param-value>true</param-value>
56 </init-param>
Hongqing Liufd5ee812014-05-10 16:32:51 +080057 </filter>
58
59 <filter>
60 <filter-name>Compression Filter</filter-name>
61 <filter-class>compressionFilters.CompressionFilter</filter-class>
Hongqing Liufd5ee812014-05-10 16:32:51 +080062 <init-param>
刘洪青6266f992017-05-15 21:21:03 +080063 <param-name>compressionThreshold</param-name>
64 <param-value>128</param-value>
65 </init-param>
66 <init-param>
67 <param-name>compressionBuffer</param-name>
68 <param-value>8192</param-value>
69 </init-param>
70 <init-param>
71 <param-name>compressionMimeTypes</param-name>
72 <param-value>text/html,text/plain,text/xml</param-value>
Hongqing Liufd5ee812014-05-10 16:32:51 +080073 </init-param>
74 <init-param>
75 <param-name>debug</param-name>
76 <param-value>0</param-value>
77 </init-param>
78 </filter>
79
刘洪青6266f992017-05-15 21:21:03 +080080 <!-- Define filter mappings for the timing filters -->
81 <!--
Hongqing Liufd5ee812014-05-10 16:32:51 +080082 <filter-mapping>
刘洪青6266f992017-05-15 21:21:03 +080083 <filter-name>Timing Filter</filter-name>
84 <url-pattern>/*</url-pattern>
Hongqing Liufd5ee812014-05-10 16:32:51 +080085 </filter-mapping>
刘洪青6266f992017-05-15 21:21:03 +080086 -->
Hongqing Liufd5ee812014-05-10 16:32:51 +080087
88<!-- Example filter mapping to apply the "Set Character Encoding" filter
89 to *all* requests processed by this web application -->
90<!--
91 <filter-mapping>
92 <filter-name>Set Character Encoding</filter-name>
93 <url-pattern>/*</url-pattern>
94 </filter-mapping>
95-->
96
97<!--
98 <filter-mapping>
99 <filter-name>Compression Filter</filter-name>
100 <url-pattern>/CompressionTest</url-pattern>
101 </filter-mapping>
102-->
103
104<!--
105 <filter-mapping>
106 <filter-name>Request Dumper Filter</filter-name>
107 <url-pattern>/*</url-pattern>
108 </filter-mapping>
109-->
110
111 <!-- Define example application events listeners -->
112 <listener>
113 <listener-class>listeners.ContextListener</listener-class>
114 </listener>
115 <listener>
116 <listener-class>listeners.SessionListener</listener-class>
117 </listener>
118
119 <!-- Define servlets that are included in the example application -->
120
121 <servlet>
刘洪青6266f992017-05-15 21:21:03 +0800122 <servlet-name>ServletToJsp</servlet-name>
123 <servlet-class>ServletToJsp</servlet-class>
Hongqing Liufd5ee812014-05-10 16:32:51 +0800124 </servlet>
125 <servlet>
126 <servlet-name>ChatServlet</servlet-name>
127 <servlet-class>chat.ChatServlet</servlet-class>
128 </servlet>
129 <servlet>
130 <servlet-name>CompressionFilterTestServlet</servlet-name>
131 <servlet-class>compressionFilters.CompressionFilterTestServlet</servlet-class>
132 </servlet>
133 <servlet>
134 <servlet-name>HelloWorldExample</servlet-name>
135 <servlet-class>HelloWorldExample</servlet-class>
136 </servlet>
137 <servlet>
138 <servlet-name>RequestInfoExample</servlet-name>
139 <servlet-class>RequestInfoExample</servlet-class>
140 </servlet>
141 <servlet>
142 <servlet-name>RequestHeaderExample</servlet-name>
143 <servlet-class>RequestHeaderExample</servlet-class>
144 </servlet>
145 <servlet>
146 <servlet-name>RequestParamExample</servlet-name>
147 <servlet-class>RequestParamExample</servlet-class>
148 </servlet>
149 <servlet>
150 <servlet-name>CookieExample</servlet-name>
151 <servlet-class>CookieExample</servlet-class>
152 </servlet>
153 <servlet>
154 <servlet-name>SessionExample</servlet-name>
155 <servlet-class>SessionExample</servlet-class>
156 </servlet>
157
158 <servlet-mapping>
159 <servlet-name>ChatServlet</servlet-name>
刘洪青6266f992017-05-15 21:21:03 +0800160 <url-pattern>/servlets/chat/chat</url-pattern>
Hongqing Liufd5ee812014-05-10 16:32:51 +0800161 </servlet-mapping>
162 <servlet-mapping>
163 <servlet-name>CompressionFilterTestServlet</servlet-name>
164 <url-pattern>/CompressionTest</url-pattern>
165 </servlet-mapping>
166 <servlet-mapping>
167 <servlet-name>HelloWorldExample</servlet-name>
168 <url-pattern>/servlets/servlet/HelloWorldExample</url-pattern>
169 </servlet-mapping>
170 <servlet-mapping>
171 <servlet-name>RequestInfoExample</servlet-name>
172 <url-pattern>/servlets/servlet/RequestInfoExample/*</url-pattern>
173 </servlet-mapping>
174 <servlet-mapping>
175 <servlet-name>RequestHeaderExample</servlet-name>
176 <url-pattern>/servlets/servlet/RequestHeaderExample</url-pattern>
177 </servlet-mapping>
178 <servlet-mapping>
179 <servlet-name>RequestParamExample</servlet-name>
180 <url-pattern>/servlets/servlet/RequestParamExample</url-pattern>
181 </servlet-mapping>
182 <servlet-mapping>
183 <servlet-name>CookieExample</servlet-name>
184 <url-pattern>/servlets/servlet/CookieExample</url-pattern>
185 </servlet-mapping>
186 <servlet-mapping>
187 <servlet-name>SessionExample</servlet-name>
188 <url-pattern>/servlets/servlet/SessionExample</url-pattern>
189 </servlet-mapping>
190 <servlet-mapping>
刘洪青6266f992017-05-15 21:21:03 +0800191 <servlet-name>ServletToJsp</servlet-name>
Hongqing Liufd5ee812014-05-10 16:32:51 +0800192 <url-pattern>/servletToJsp</url-pattern>
193 </servlet-mapping>
194
195 <jsp-config>
196 <taglib>
刘洪青6266f992017-05-15 21:21:03 +0800197 <taglib-uri>
198 http://tomcat.apache.org/debug-taglib
199 </taglib-uri>
200 <taglib-location>
201 /WEB-INF/jsp/debug-taglib.tld
202 </taglib-location>
203 </taglib>
Hongqing Liufd5ee812014-05-10 16:32:51 +0800204
刘洪青6266f992017-05-15 21:21:03 +0800205 <taglib>
206 <taglib-uri>
207 http://tomcat.apache.org/example-taglib
208 </taglib-uri>
209 <taglib-location>
210 /WEB-INF/jsp/example-taglib.tld
211 </taglib-location>
212 </taglib>
Hongqing Liufd5ee812014-05-10 16:32:51 +0800213
刘洪青6266f992017-05-15 21:21:03 +0800214 <taglib>
215 <taglib-uri>
216 http://tomcat.apache.org/jsp2-example-taglib
217 </taglib-uri>
218 <taglib-location>
219 /WEB-INF/jsp2/jsp2-example-taglib.tld
220 </taglib-location>
221 </taglib>
Hongqing Liufd5ee812014-05-10 16:32:51 +0800222
刘洪青6266f992017-05-15 21:21:03 +0800223 <jsp-property-group>
224 <description>
225 Special property group for JSP Configuration JSP example.
226 </description>
227 <display-name>JSPConfiguration</display-name>
228 <url-pattern>/jsp/jsp2/misc/config.jsp</url-pattern>
229 <el-ignored>true</el-ignored>
230 <page-encoding>ISO-8859-1</page-encoding>
231 <scripting-invalid>true</scripting-invalid>
232 <include-prelude>/jsp/jsp2/misc/prelude.jspf</include-prelude>
233 <include-coda>/jsp/jsp2/misc/coda.jspf</include-coda>
234 </jsp-property-group>
Hongqing Liufd5ee812014-05-10 16:32:51 +0800235 </jsp-config>
刘洪青6266f992017-05-15 21:21:03 +0800236
Hongqing Liufd5ee812014-05-10 16:32:51 +0800237 <security-constraint>
238 <display-name>Example Security Constraint</display-name>
239 <web-resource-collection>
240 <web-resource-name>Protected Area</web-resource-name>
刘洪青6266f992017-05-15 21:21:03 +0800241 <!-- Define the context-relative URL(s) to be protected -->
Hongqing Liufd5ee812014-05-10 16:32:51 +0800242 <url-pattern>/jsp/security/protected/*</url-pattern>
刘洪青6266f992017-05-15 21:21:03 +0800243 <!-- If you list http methods, only those methods are protected -->
244 <http-method>DELETE</http-method>
Hongqing Liufd5ee812014-05-10 16:32:51 +0800245 <http-method>GET</http-method>
246 <http-method>POST</http-method>
刘洪青6266f992017-05-15 21:21:03 +0800247 <http-method>PUT</http-method>
Hongqing Liufd5ee812014-05-10 16:32:51 +0800248 </web-resource-collection>
249 <auth-constraint>
250 <!-- Anyone with one of the listed roles may access this area -->
251 <role-name>tomcat</role-name>
刘洪青6266f992017-05-15 21:21:03 +0800252 <role-name>role1</role-name>
Hongqing Liufd5ee812014-05-10 16:32:51 +0800253 </auth-constraint>
254 </security-constraint>
255
256 <!-- Default login configuration uses form-based authentication -->
257 <login-config>
258 <auth-method>FORM</auth-method>
259 <realm-name>Example Form-Based Authentication Area</realm-name>
260 <form-login-config>
261 <form-login-page>/jsp/security/protected/login.jsp</form-login-page>
262 <form-error-page>/jsp/security/protected/error.jsp</form-error-page>
263 </form-login-config>
264 </login-config>
刘洪青6266f992017-05-15 21:21:03 +0800265
Hongqing Liufd5ee812014-05-10 16:32:51 +0800266 <!-- Security roles referenced by this web application -->
267 <security-role>
268 <role-name>role1</role-name>
269 </security-role>
270 <security-role>
271 <role-name>tomcat</role-name>
刘洪青6266f992017-05-15 21:21:03 +0800272 </security-role>
Hongqing Liufd5ee812014-05-10 16:32:51 +0800273
274 <!-- Environment entry examples -->
275 <!--env-entry>
276 <env-entry-description>
277 The maximum number of tax exemptions allowed to be set.
278 </env-entry-description>
279 <env-entry-name>maxExemptions</env-entry-name>
280 <env-entry-type>java.lang.Integer</env-entry-type>
281 <env-entry-value>15</env-entry-value>
282 </env-entry-->
283 <env-entry>
284 <env-entry-name>minExemptions</env-entry-name>
285 <env-entry-type>java.lang.Integer</env-entry-type>
286 <env-entry-value>1</env-entry-value>
287 </env-entry>
288 <env-entry>
289 <env-entry-name>foo/name1</env-entry-name>
290 <env-entry-type>java.lang.String</env-entry-type>
291 <env-entry-value>value1</env-entry-value>
292 </env-entry>
293 <env-entry>
294 <env-entry-name>foo/bar/name2</env-entry-name>
295 <env-entry-type>java.lang.Boolean</env-entry-type>
296 <env-entry-value>true</env-entry-value>
297 </env-entry>
298 <env-entry>
299 <env-entry-name>name3</env-entry-name>
300 <env-entry-type>java.lang.Integer</env-entry-type>
301 <env-entry-value>1</env-entry-value>
302 </env-entry>
303 <env-entry>
304 <env-entry-name>foo/name4</env-entry-name>
305 <env-entry-type>java.lang.Integer</env-entry-type>
306 <env-entry-value>10</env-entry-value>
307 </env-entry>
308
刘洪青6266f992017-05-15 21:21:03 +0800309 <!-- Async examples -->
310 <servlet>
311 <servlet-name>async0</servlet-name>
312 <servlet-class>async.Async0</servlet-class>
313 <async-supported>true</async-supported>
314 </servlet>
315 <servlet-mapping>
316 <servlet-name>async0</servlet-name>
317 <url-pattern>/async/async0</url-pattern>
318 </servlet-mapping>
319 <servlet>
320 <servlet-name>async1</servlet-name>
321 <servlet-class>async.Async1</servlet-class>
322 <async-supported>true</async-supported>
323 </servlet>
324 <servlet-mapping>
325 <servlet-name>async1</servlet-name>
326 <url-pattern>/async/async1</url-pattern>
327 </servlet-mapping>
328 <servlet>
329 <servlet-name>async2</servlet-name>
330 <servlet-class>async.Async2</servlet-class>
331 <async-supported>true</async-supported>
332 </servlet>
333 <servlet-mapping>
334 <servlet-name>async2</servlet-name>
335 <url-pattern>/async/async2</url-pattern>
336 </servlet-mapping>
337 <servlet>
338 <servlet-name>async3</servlet-name>
339 <servlet-class>async.Async3</servlet-class>
340 <async-supported>true</async-supported>
341 </servlet>
342 <servlet-mapping>
343 <servlet-name>async3</servlet-name>
344 <url-pattern>/async/async3</url-pattern>
345 </servlet-mapping>
346 <servlet>
347 <servlet-name>stock</servlet-name>
348 <servlet-class>async.AsyncStockServlet</servlet-class>
349 <async-supported>true</async-supported>
350 </servlet>
351 <servlet-mapping>
352 <servlet-name>stock</servlet-name>
353 <url-pattern>/async/stockticker</url-pattern>
354 </servlet-mapping>
355
356 <!-- WebSocket Examples using Deprecated Tomcat 7 API-->
357 <servlet>
358 <servlet-name>wsEchoStream</servlet-name>
359 <servlet-class>websocket.tc7.echo.EchoStream</servlet-class>
360 </servlet>
361 <servlet-mapping>
362 <servlet-name>wsEchoStream</servlet-name>
363 <url-pattern>/websocket/tc7/echoStream</url-pattern>
364 </servlet-mapping>
365 <servlet>
366 <servlet-name>wsEchoMessage</servlet-name>
367 <servlet-class>websocket.tc7.echo.EchoMessage</servlet-class>
368 <!-- Uncomment the following block to increase the default maximum
369 WebSocket buffer size from 2MB to 20MB which is required for the
370 Autobahn test suite to pass fully. -->
371 <!--
372 <init-param>
373 <param-name>byteBufferMaxSize</param-name>
374 <param-value>20971520</param-value>
375 </init-param>
376 <init-param>
377 <param-name>charBufferMaxSize</param-name>
378 <param-value>20971520</param-value>
379 </init-param>
380 -->
381 </servlet>
382 <servlet-mapping>
383 <servlet-name>wsEchoMessage</servlet-name>
384 <url-pattern>/websocket/tc7/echoMessage</url-pattern>
385 </servlet-mapping>
386 <servlet>
387 <servlet-name>wsChat</servlet-name>
388 <servlet-class>websocket.tc7.chat.ChatWebSocketServlet</servlet-class>
389 </servlet>
390 <servlet-mapping>
391 <servlet-name>wsChat</servlet-name>
392 <url-pattern>/websocket/tc7/chat</url-pattern>
393 </servlet-mapping>
394 <servlet>
395 <servlet-name>wsSnake</servlet-name>
396 <servlet-class>websocket.tc7.snake.SnakeWebSocketServlet</servlet-class>
397 </servlet>
398 <servlet-mapping>
399 <servlet-name>wsSnake</servlet-name>
400 <url-pattern>/websocket/tc7/snake</url-pattern>
401 </servlet-mapping>
402 <!-- Websocket examples -->
403 <listener>
404 <listener-class>websocket.drawboard.DrawboardContextListener</listener-class>
405 </listener>
406
407 <welcome-file-list>
408 <welcome-file>index.html</welcome-file>
409 <welcome-file>index.xhtml</welcome-file>
410 <welcome-file>index.htm</welcome-file>
411 <welcome-file>index.jsp</welcome-file>
412 </welcome-file-list>
413
Hongqing Liufd5ee812014-05-10 16:32:51 +0800414</web-app>