Index: /nutchez-0.1/CHANGES.txt
===================================================================
--- /nutchez-0.1/CHANGES.txt	(revision 66)
+++ /nutchez-0.1/CHANGES.txt	(revision 66)
@@ -0,0 +1,1188 @@
+Nutch Change Log
+
+Release 1.0 - 2009-03-23
+
+ 1. NUTCH-474 - Fetcher2 crawlDelay and blocking fix (Dogacan Guney via ab)
+
+ 2. NUTCH-443 - Allow parsers to return multiple Parse objects.
+    (Dogacan Guney et al, via ab)
+
+ 3. NUTCH-393 - Indexer should handle null documents returned by filters.
+    (Eelco Lempsink via ab)
+
+ 4. NUTCH-456 - Parse msexcel plugin speedup (Heiko Dietze via siren)
+
+ 5. NUTCH-446 - RobotRulesParser should ignore Crawl-delay values of other
+    bots in robots.txt (Dogacan Guney via siren)
+
+ 6. NUTCH-482 - Remove redundant plugin lib-log4j (siren)
+ 
+ 7. NUTCH-483 - Remove redundant commons-logging jar from ontology plugin
+    (siren)
+
+ 8. NUTCH-161 - Change Plain text parser to
+    use parser.character.encoding.default property for fall back encoding
+    (KuroSaka TeruHiko, siren)
+
+ 9. NUTCH-61 - Support for adaptive re-fetch interval and detection of
+    unmodified content. (ab)
+
+10. NUTCH-392 - OutputFormat implementations should pass on Progressable.
+    (cutting via ab)
+
+11. NUTCH-495 - Unnecessary delays in Fetcher2 (dogacan)
+
+12. NUTCH-443 - allow parsers to return multiple Parse object, this will speed 
+    up the rss parser (dogacan via mattmann). This update is a fix and semantics
+    change from the original patch for NUTCH-443. The original patch did not tell
+    the  Indexer to read crawl_parse too so that it can pickup sub-urls' fetch 
+    datums. This patch addresses that issue. Now, if Fetcher gets a null content, 
+    instead of pushing an empty content, it filters the null content.
+    
+13. NUTCH-485 - Change HtmlParseFilter 's to return ParseResult object instead of 
+    Parse object. (Gal Nitzan via dogacan)
+
+14. NUTCH-489 - URLFilter-suffix management of the url path when the url contains 
+    some query parameters. (Emmanuel Joke via dogacan)
+
+15. NUTCH-502 - Bug in SegmentReader causes infinite loop. 
+    (Ilya Vishnevsky via dogacan)
+    
+16. NUTCH-444 Possibly use a different library to parse RSS feed for improved 
+    performance and compatibility. This patch introduced a new plugin, feed,
+    that includes an index filter and a parse plugin for feeds that uses ROME.
+    There was discussion to remove parse-rss, in light of the feed plugin, 
+    however, this patch does not explicitly remove parse-rss. (dogacan, mattmann)
+
+17. NUTCH-471 - Fix synchronization in NutchBean creation. 
+    (Enis Soztutar via dogacan)
+
+18. Upgrade to Lucene 2.2.0 and Hadoop 0.12.3. (ab)
+
+19. NUTCH-468 - Scoring filter should distribute score to all outlinks at 
+    once. (dogacan)
+
+20. NUTCH-504 - NUTCH-443 broke parsing during fetching. (dogacan)
+
+21. NUTCH-497 -  Extreme Nested Tags causes StackOverflowException in 
+	DomContentUtils...Spider Trap. (kubes)
+
+22. NUTCH-434 - Replace usage of ObjectWritable with something based on 
+    GenericWritable. (dogacan)
+
+23. NUTCH-499 - Refactor LinkDb and LinkDbMerger to reuse code. (dogacan)
+
+24. NUTCH-498 - Use Combiner in LinkDb to increase speed of linkdb generation.
+    (Espen Amble Kolstad via dogacan)
+
+25. NUTCH-507 - lib-lucene-analyzers jar defintion is wrong in plugin.xml.
+    (Emmanuel Joke via dogacan)
+
+26. NUTCH-503 - Generator exits incorrectly for small fetchlists. 
+    (Vishal Shah via dogacan)
+
+27. NUTCH-505 - Outlink urls should be validated. (dogacan)
+
+28. NUTCH-510 - IndexMerger delete working dir. (Enis Soztutar via dogacan)
+
+29. NUTCH-513 - suffix-urlfilter.txt does not have a template. (dogacan)
+
+30. NUTCH-515 - Next fetch time is set incorrectly. (dogacan)
+
+30. NUTCH-506 - Nutch should delegate compression to Hadoop. (dogacan)
+
+31. NUTCH-517 - build encoding should be UTF-8. (Enis Soztutar via dogacan).
+
+32. NUTCH-518 - Fix OpicScoringFilter to respect scoring filter chaining.
+    (Enis Soztutar via dogacan)
+
+33. NUTCH-516 - Next fetch time is not set when it is a 
+    CrawlDatum.STATUS_FETCH_GONE. (Emmanuel Joke via dogacan)
+
+34. NUTCH-525 - DeleteDuplicates generates ArrayIndexOutOfBoundsException 
+    when trying to rerun dedup on a segment. (Vishal Shah via dogacan)
+
+35. NUTCH-514 - Indexer should only index pages with fetch status SUCCESS.
+    (dogacan) Note: There is a bigger problem, i.e how to deal
+    with redirected pages, and this issue can be considered as a band-aid 
+    for the time being. See NUTCH-273 and NUTCH-353 for more details. 
+
+36. NUTCH-533 - LinkDbMerger: url normalized is not updated in the key and 
+    inlinks list. (Emmanuel Joke via dogacan)
+
+37. NUTCH-535 -ParseData's contentMeta accumulates unnecessary values during 
+    parse. (dogacan)
+
+38. NUTCH-522 - Use URLValidator in the Injector. (Emmanuel Joke, dogacan)
+
+39. NUTCH-536 - Reduce number of warnings in nutch core. (dogacan)
+
+40. NUTCH-439 - Top Level Domains Indexing / Scoring. Also adds 
+    domain-related utilities. (Enis Soztutar via dogacan)
+
+41. NUTCH-544 - Upgrade Carrot2 clustering plugin to the newest stable 
+    release (2.1). (Dawid Weiss via dogacan)
+
+42. NUTCH-545 - Configuration and OnlineClusterer get initialized in every
+    request. (Dawid Weiss via dogacan)
+
+43. NUTCH-532 - CrawlDbMerger: wrong computation of last fetch time. 
+    (Emmanuel Joke via dogacan)
+
+44. NUTCH-550 - Parse fails if db.max.outlinks.per.page is -1. (dogacan)
+
+45. NUTCH-546 - file URL are filtered out by the crawler. (dogacan)
+
+46. NUTCH-554 - Generator throws IOException on invalid urls.
+    (Brian Whitman via ab)
+
+47. NUTCH-529 - NodeWalker.skipChildren doesn't work for more than 1 child.
+    (Emmanuel Joke via dogacan)
+
+48. NUTCH-25 - needs 'character encoding' detector.
+    (Doug Cook, dogacan, Marcin Okraszewski, Renaud Richardet via dogacan)
+
+49. NUTCH-508 - ${hadoop.log.dir} and ${hadoop.log.file} are not propagated
+    to the tasktracker. (Mathijs Homminga, Emmanuel Joke via dogacan)
+    
+50. NUTCH-562 - Port mime type framework to use Tika mime detection framework.
+    (mattmann)
+    
+51. NUTCH-488 - Avoid parsing uneccessary links and get a more relevant outlink 
+    list. (Emmanuel Joke, Marcin Okraszewski via kubes)
+
+52. NUTCH-501 -  Implement a different caching mechanism for objects cached in
+    configuration. (dogacan)
+
+53. NUTCH-552 - Upgrade Nutch to Hadoop 0.15.x. (kubes)
+
+54. NUTCH-565 - Arc File to Nutch Segments Converter. (kubes)
+
+55. NUTCH-547 - Redirection handling: YahooSlurp's algorithm.
+    (dogacan, kubes via dogacan)
+
+56. NUTCH-548 - Move URLNormalizer from Outlink to ParseOutputFormat.
+    (Emmanuel Joke via dogacan)
+
+57. NUTCH-538 - Delete unused classes under o.a.n.util. (dogacan)
+
+58. NUTCH-494 - FindBugs: CrawlDbReader and DeleteDuplicates. (dogacan)
+
+59. NUTCH-574 - Including inlink anchor text in index can create irrelevant 
+    search results.  Created index-anchor plugin, removed functionality from 
+    index-basic plugin. For backwards compatibility, add index-anchor plugin to 
+    nutch-site.xml plugin.includes. (kubes)
+
+60. NUTCH-581 - DistributedSearch does not update search servers added to 
+    search-servers.txt on the fly.  (Rohan Mehta via kubes)
+
+61. NUTCH-586 - Add option to run compiled classes without job file
+    (enis via ab)
+
+62. NUTCH-559 - NTLM, Basic and Digest Authentication schemes for web/proxy
+    server. (Susam Pal via dogacan)
+
+63. NUTCH-534 - SegmentMerger: add -normalize option (Emmanuel Joke via ab)
+
+64. NUTCH-528 - CrawlDbReader: add some new stats + dump into a CSV format
+    (Emmanuel Joke via ab)
+
+65. NUTCH-597 - NPE in Fetcher2 (Remco Verhoef via ab)
+
+66. NUTCH-584 - urls missing from fetchlist (Ruslan Ermilov, ab)
+
+67. NUTCH-580 - Remove deprecated hadoop api calls (FS) (siren)
+
+68. NUTCH-587 - Upgrade to Hadoop 0.15.3 (kubes)
+
+69. NUTCH-604 - Upgrade to Lucene 2.3.0 (ab)
+
+70. NUTCH-602 - Allow configurable number of handlers for search servers
+    (hartbecke via kubes)
+
+71. NUTCH-607 - Update build.xml to include tika jar when building war (kubes)
+
+72. NUTCH-608 - Upgrade nutch to use released apache-tika-0.1-incubating (mattmann)
+
+73. NUTCH-606 - Refactoring of Generator, run all urls through checks (kubes)
+
+74. NUTCH-605 - Change deprecated configuration methods for Hadoop (kubes)
+
+75. NUTCH-603 - Add more default url normalizations (kubes)
+
+76. NUTCH-611 - Upgrade Nutch to use Hadoop 0.16 (kubes)
+
+77. NUTCH-44 - Too many search results, limits max results returned from a 
+    single search. (Emilijan Mirceski and Susam Pal via kubes)
+
+78. NUTCH-567 - Proper (?) handling of URIs in TagSoup. TagSoup library is
+    updated to 1.2 version. (dogacan)
+
+79. NUTCH-613 - Empty summaries and cached pages (kubes via ab)
+
+80. NUTCH-612 - URL filtering was disabled in Generator when invoked
+    from Crawl (Susam Pal via ab)
+
+81. NUTCH-601 - Recrawling on existing crawl directory (Susam Pal via ab)
+
+82. NUTCH-575 - NPE in OpenSearchServlet (John H. Lee via ab)
+
+83. NUTCH-126 - Fetching https does not work with a proxy (Fritz Elfert via ab)
+
+84. NUTCH-615 - Redirected URL-s fetched without setting fetchInterval.
+    Guard against reprUrl being null. (Emmanuel Joke, ab)
+
+85. NUTCH-616 - Reset Fetch Retry counter when fetch is successful (Emmanuel
+    Joke, ab)
+
+86. NUTCH-220 - Upgrade to PDFBox 0.7.3 (ab)
+
+87. NUTCH-223 - Crawl.java uses Integer.MAX_VALUE (Jeff Ritchie via ab)
+
+88. NUTCH-598 - Remove deprecated use of ToolBase. Use generics in Hadoop API.
+    (Emmanuel Joke, dogacan, ab)
+
+89. NUTCH-620 - BasicURLNormalizer should collapse runs of slashes with a
+    single slash. (Mark DeSpain via ab)
+
+90. NUTCH-500 - Add hadoop masters configuration file into conf folder. 
+    (Emmanuel Joke via kubes)
+
+91. NUTCH-596 - ParseSegments parse content even if its not
+    CrawlDatum.STATUS_FETCH_SUCCESS (dogacan)
+    
+92. NUTCH-618 - Tika error "Media type alias already exists" (mattmann,kubes)
+
+93. NUTCH-634 - Upgrade Nutch to Hadoop 0.17.1 (Michael Gottesman, Lincoln
+    Ritter, ab)
+
+94. NUTCH-641 - IndexSorter inorrectly copies stored fields (ab)
+
+95. NUTCH-645 - Parse-swf unit test failing (ab)
+
+96. NUTCH-642 - Unit tests fail when run in non-local mode (ab)
+
+97. NUTCH-639 - Change LuceneDocumentWrapper visibility from
+    private to _public_ (Guillaume Smet via dogacan)
+
+98. NUTCH-651 - Remove bin/{start|stop}-balancer.sh from svn
+    tracking. (dogacan)
+
+99. NUTCH-375 - Add support for Content-Encoding: deflated
+    (Pascal Beis, ab)
+
+100. NUTCH-633 - ParseSegment no longer allow reparsing.
+     (dogacan)
+
+101. NUTCH-653 - Upgrade to hadoop 0.18. (dogacan)
+
+102. NUTCH-621 - Nutch needs to declare it's crypto usage (mattmann)
+
+103. NUTCH-654 - urlfilter-regex's main does not work.
+     (dogacan)
+
+104. NUTCH-640 - confusing description "set it to Integer.MAX_VALUE".
+     (dogacan)
+     
+105. NUTCH-662 - Upgrade Nutch to use Lucene 2.4. (kubes)
+
+106. NUTCH-663 - Upgrade Nutch to use Hadoop 0.19 (kubes)
+
+107. NUTCH-647 - Resolve URLs tool (kubes)
+
+108. NUTCH-665 - Search Load Testing Tool (kubes)
+
+109. NUTCH-667 - Input Format for working with Content in Hadoop Streaming
+                 (kubes)
+
+110. NUTCH-635 -  LinkAnalysis Tool for Nutch. (kubes)
+
+111. NUTCH-646 -  New Indexing Framework for Nutch. (kubes)
+
+112. NUTCH-668 -  Domain URL Filter. (kubes)
+
+113. NUTCH-594 -  Serve Nutch search results in multiple formats including 
+                  XML and JSON. (kubes)
+
+114. NUTCH-442 - Integrate Solr/Nutch. (dogacan, original version by siren) 
+
+115. NUTCH-652 - AdaptiveFetchSchedule#setFetchSchedule doesn't calculate
+                 fetch interval correctly. (dogacan)
+
+116. NUTCH-627 - Minimize host address lookup (Otis Gospodnetic)
+
+117. NUTCH-678 - Hadoop 0.19 requires an update of jets3t.
+                 (julien nioche via dogacan)
+
+118. NUTCH-681 - parse-mp3 compilation problem. 
+                 (Wildan Maulana via dogacan)
+
+119. NUTCH-676 - MapWritable is written inefficiently and confusingly.
+                 (dogacan)
+
+120. NUTCH-579 - Feed plugin only indexes one post per feed due to identical
+                 digest. (dogacan)
+
+121. NUTCH-571 - parse-mp3 plugin doesn't always index album of mp3.
+                 (Joseph Chen, dogacan)
+
+122. NUTCH-682 - SOLR indexer does not set boost on the document.
+                 (julien nioche via dogacan)
+
+123. NUTCH-279 - Additions to urlnormalizer-regex (Stefan Neufeind, ab)
+
+124. NUTCH-671 - JSP errors in Nutch searcher webapp (Edwin Chu via ab)
+
+125. NUTCH-643 - ClassCastException in PDF parser (Guillaume Smet, ab)
+
+126. NUTCH-636 - Httpclient plugin https doesn't work on IBM JRE
+     (Curtis d'Entremont, ab)
+
+127. NUTCH-683 - NUTCH-676 broke CrawlDbMerger. (dogacan)
+
+128. NUTCH-631 - MoreIndexingFilter fails with NoSuchElementException
+     (Stefan Will, siren)
+     
+129. NUTCH-691 - Update jakarta poi jars to the most relevant version
+     (Dmitry Lihachev via siren)
+
+130. NUTCH-563 - Include custom fields in BasicQueryFilter
+     (Julien Nioche via siren)
+     
+131. NUTCH-695 - Incorrect mime type detection by MoreIndexingFilter plugin
+     (Dmitry Lihachev via siren)
+     
+132. NUTCH-694 - Distributed Search Server fails (siren)
+
+133. NUTCH-626 - Fetcher2 breaks out the domain with db.ignore.external.links
+     set at cross domain redirects (Remco Verhoef, dogacan via siren)
+
+134. NUTCH-247 - Robot parser to restrict (kubes, siren)
+
+135. NUTCH-698 - CrawlDb is corrupted after a few crawl cycles (dogacan
+     via siren)
+     
+136. NUTCH-699 - Add an "official" solr schema for solr integration (dogacan,
+     Dmitry Lihachev via siren)
+
+137. NUTCH-703 - Upgrade to Hadoop 0.19.1 (ab)
+
+138. NUTCH-419 - Unavailable robots.txt kills fetch (Carsten Lehmann,
+     Doug Cook via ab)
+     
+139. NUTCH-700 - Neko1.9.11 goes into a loop (Julien Nioche, siren)
+
+140. NUTCH-669 - Consolidate code for Fetcher and Fetcher2 (siren)
+
+141. NUTCH-711 - Indexer failing after upgrade to Hadoop 0.19.1 (ab)
+
+142. NUTCH-684 - Dedup support for Solr. (dogacan)
+
+143. NUTCH-715 - Subcollection plugin doesn't work with default
+     subcollections.xml file (Dmitry Lihachev via siren)
+     
+144. NUTCH-722 - Nutch contains JAI jars that we cannot redistribute
+
+Release 0.9 - 2007-04-02
+
+ 1. Changed log4j confiquration to log to stdout on commandline
+    tools (siren)
+
+ 2. NUTCH-344 - Fix for thread blocking issue (Greg Kim via siren)
+ 
+ 3. NUTCH-260 - Update hadoop version to 0.5.0 (Renaud Richardet,
+    siren)
+
+ 4. Optionally skip pages with abnormally large values of Crawl-Delay
+    (Dennis Kubes via ab)
+
+ 5. Change readdb -stats to use CombiningCollector (ab)
+
+ 6. NUTCH-348 - Fix Generator to select highest scoring pages (Chris
+    Schneider and Stefan Groschupf via ab)
+
+ 7. NUTCH-347 - Adjust plugin build script not to emit warnings when copying
+    dependant jars (siren)
+    
+ 8. NUTCH-338 - Remove the text parser as an option for parsing PDF files
+    in parse-plugins.xml (Chris A. Mattmann via siren)
+    
+ 9. NUTCH-105 - Network error during robots.txt fetch causes file to
+    be ignored (Greg Kim via siren)
+    
+10. NUTCH-367 - DistributedSearch thown ClassCastException (siren)
+
+11. NUTCH-332 - Fix the problem of doubling scores caused by links pointing
+    to the current page (e.g. anchors). (Stefan Groschupf via ab)
+
+12. NUTCH-365 - Flexible URL normalization (ab)
+
+13. NUTCH-336 - Differentiate between newly discovered pages and newly
+    injected pages (Chris Schneider via ab) NOTE: this changes the
+    scoring API, filter implementations need to be updated.
+
+14. NUTCH-337 - Fetcher ignores the fetcher.parse value (Stefan Groschupf
+    via ab)
+
+15. NUTCH-350 - Urls blocked by http.max.delays incorrectly marked as GONE
+    (Stefan Groschupf via ab)
+
+16. NUTCH-374 - when http.content.limit be set to -1 and  
+    Response.CONTENT_ENCODING is gzip or x-gzip , it can not fetch any thing 
+    (King Kong via pkosiorowski)
+
+17. NUTCH-383 - upgrade to Hadoop 0.7.1 and Lucene 2.0.0. (ab)
+
+  ****************************** WARNING !!! ********************************
+  * This upgrade breaks data format compatibility. A tool 'convertdb'       *
+  * was added to migrate existing CrawlDb-s to the new format. Segment data *
+  * can be partially migrated using 'mergesegs', however segments will      *
+  * require re-parsing (and consequently re-indexing).                      *
+  ****************************** WARNING !!! ********************************
+
+18. NUTCH-371 - DeleteDuplicates now correctly implements both parts of
+    the algorithm. (ab)
+
+19. NUTCH-391 - ParseUtil logs file contents to log file when it cannot
+    find parser (siren)
+
+20. NUTCH-379 - ParseUtil does not pass through the content's URL to the
+    ParserFactory (Chris A. Mattmann via siren)
+
+21. NUTCH-361, NUTCH-136 - When jobtracker is 'local' generate only one
+    partition. (ab)
+
+22. NUTCH-399 - Change CommandRunner to use concurrent api from jdk (siren)
+
+23. NUTCH-395 - Increase fetching speed (siren)
+
+24. NUTCH-388 - nutch-default.xml has outdated example for urlfilter.order
+    (reported by Jared Dunne)
+
+25. NUTCH-404 - Fix LinkDB Usage - implementation mismatch (siren)
+
+26. NUTCH-403 - Make URL filtering optional in Generator (siren)
+
+27. NUTCH-405 - Content object is not properly initialized in map method
+    of ParseSegment (siren)
+
+28. NUTCH-362 - Remove parse-text from unsupported filetypes in
+    parse-plugins.xml (siren)
+    
+29. NUTCH-305 - Update crawl and url filter lists to exclude
+    jpeg|JPEG|bmp|BMP, suffix-urlfilter.txt (contributed by Stefan
+    Neufeind) is also updated (siren)
+    
+30. NUTCH-406 - Metadata tries to write null values (mattmann)
+
+31. NUTCH-415 - Generator should mark selected records in CrawlDb. 
+    Due to increased resource consumption this step is optional. 
+    Application-level locking has been added to prevent concurrent
+    modification of databases. (ab)
+
+32. NUTCH-416 - CrawlDatum status and CrawlDbReducer refactoring. It is
+    now possible to correctly update CrawlDb from multiple segments.
+    Introduce new status codes for temporary and permanent
+    redirection. (ab)
+
+33. NUTCH-322 - Fix Fetcher to store redirected pages and to store
+    protocol-level status. This also should fix NUTCH-273. (ab)
+
+34. Change default Fetcher behavior not to follow redirects immediately.
+    Instead Fetcher will record redirects as new pages to be added to CrawlDb.
+    This also partially addresses NUTCH-273. (ab)
+
+35. Detect and report when Generator creates 0-sized segments. (ab)
+
+36. Fix Injector to preserve already existing CrawlDatum if the seed list
+    being injected also contains such URL. (ab)
+
+37. NUTCH-425, NUTCH-426 - Fix anchors pollution. Continue after
+    skipping bad URLs. (Michael Stack via ab)
+
+38. NUTCH-325 - UrlFilters.java throws NPE in case urlfilter.order contains
+    Filters that are not in plugin.includes (Stefan Groschupf, siren)
+    
+39. NUTCH-421 - Allow predeterminate running order of indexing filters
+    (Alan Tanaman, siren)
+
+40. When indexing pages with redirection, drop all intermediate pages and
+    index only the final page. (ab)
+
+41. Upgrade to Hadoop 0.10.1. (ab)
+
+42. NUTCH-420 - Fix a bug in DeleteDuplicates where results depended on the
+    order in which IndexDoc-s are processed. (Dogacan Guney via ab)
+
+43. NUTCH-428 - NullPointerException thrown when agent name is not
+    configured properly. Changed to throw RuntimeException instead.
+    (siren)
+
+44. NUTCH-430 - Integer overflow in HashComparator.compare (siren)
+
+45. NUTCH-68 - Add a tool to generate arbitrary fetchlists. (ab)
+
+46. NUTCH-433 - java.io.EOFException in newer nightlies in mergesegs
+    or indexing from hadoop.io.DataOutputBuffer (siren)
+
+47. NUTCH-339 - Fetcher2: a queue-based fetcher implementation. (ab)
+
+48. NUTCH-390 - Javadoc warnings (mattmann)
+
+49. NUTCH-449 - Make junit output format configurable. (nigel via cutting)
+
+50. NUTCH-432 - Fix a bug where platform name with spaces would break the
+    bin/nutch script. (Brian Whitman via ab)
+
+51. Upgrade to Hadoop 0.11.2 and Lucene 2.1.0 release. (ab)
+
+52. NUTCH-167 - Observation of robots "noarchive" directive. (ab)
+
+53. NUTCH-384 - Protocol-file plugin does not allow the parse plugins
+    framework to operate properly (Heiko Dietze via mattmann)
+
+54. NUTCH-233 - Wrong regular expression hangs reduce process forever (Stefan
+    Groschupf via kubes)
+    
+55. NUTCH-436 - Incorrect handling of relative paths when the embedded URL 
+    path is empty (kubes)
+
+56. Upgrade to Hadoop 0.12.1 release. (ab)
+
+57. NUTCH-246 - Incorrect segment size being generated due to time
+    synchronization issue (Stefan Groschupf via ab)
+
+58. Upgrade to Hadoop 0.12.2 release. (ab)
+
+59. NUTCH-333 - SegmentMerger and SegmentReader should use NutchJob. (Michael
+    Stack and Dogacan Guney via kubes)
+
+Release 0.8 - 2006-07-25
+
+ 0. Totally new architecture, based on hadoop
+    [http://lucene.apache.org/hadoop] (cutting)
+
+ 1. NUTCH-107 - Typo in plugin/urlfilter-*/plugin.xml. (Stephen Cross).
+
+ 2. NUTCH-108 - Log hosts that exceed generate.max.per.host.
+    (Rod Taylor via cutting)
+
+ 3. NUTCH-88 - Enhance ParserFactory plugin selection policy
+    (jerome)
+
+ 4. NUTCH-124 - Protocol-httpclient does not follow redirects when 
+    fetching robots.txt (cutting)
+
+ 5. NUTCH-130 - Be explicit about target JVM when building (1.4.x?)
+    (stack@archive.org, cutting)
+
+ 6. NUTCH-114 -	Getting number of urls and links from crawldb
+    (Stefan Groschupf via ab)
+
+ 7. NUTCH-112 - Link in cached.jsp page to cached content is an 
+    absolute link (Chris A. Mattmann via jerome)
+
+ 8. NUTCH-135 - Http header meta data are case insensitive in the
+    real world (Stefan Groschupf via jerome)
+
+ 9. NUTCH-145 - Build of war file fails on Chinese (zh) .xml files due
+    to UTF-8 BOM (KuroSaka TeruHiko via siren)
+
+10. NUTCH-121 - SegmentReader for mapred (Rod Taylor via ab)
+
+11. Added support for OpenSearch (cutting)
+
+12. NUTCH-142 - NutchConf should use the thread context classloader
+    (Mike Cannon-Brookes via pkosiorowski)
+
+13. NUTCH-160 - Use standard Java Regex library rather than
+    org.apache.oro.text.regex (Rod Taylor via cutting)
+
+14. NUTCH-151 - CommandRunner can hang after the main thread exec is
+    finished and has inefficient busy loop (Paul Baclace via cutting)
+
+15. NUTCH-174 - Problem encountered with ant during compilation
+
+16. NUTCH-190 - ParseUtil drops reason for failed parse
+    (stack@archive.org via ab)
+
+17. NUTCH-169 - Remove static NutchConf (Marko Bauhardt via ab)
+
+18. NUTCH-194 - Nutch-169 introduced two tiny bugs (Marko Bauhardt via ab)
+
+19. NUTCH-178 - in search.jsp must be session creation "false"
+    (YourSoft via siren)
+
+20. NUTCH-200 - OpenSearch Servlet ist broken
+    (Marko Bauhardt via siren)
+
+21. NUTCH-81 - Webapp only works when deployed in root
+    (AJ Banck, Michael Nebel via siren)
+
+22. NUTCH-139 - Standard metadata property names in the ParseData
+    metadata (Chris A. Mattmann, jerome)
+
+23. NUTCH-192 - Meta data support for CrawlDatum
+    (Stefan Groschupf via ab)
+    
+24. NUTCH-52 - Parser plugin for MS Excel files
+    (Rohit Kulkarni via jerome)
+
+25. NUTCH-53 - 	Parser plugin for Zip files
+    (Rohit Kulkarni via jerome)
+
+26. NUTCH-137 - footer is not displayed in search result page
+    (KuroSaka TeruHiko via siren)
+
+27. NUTCH-118 - FAQ link points to invalid URL
+    (Steve Betts via siren)
+
+28. NUTCH-184 - Serbian (sr, Cyrilic) and Serbo-Croatian (sh, Latin)
+    translation (Ivan Sekulovic via siren)
+
+29. NUTCH-211 - FetchedSegments leave readers open (Stefan Groschupf
+    via cutting)
+
+30. NUTCH-140 - Add alias capability in parse-plugins.xml file that
+    allows mimeType->extensionId mapping (Chris A. Mattmann via jerome)
+
+31. NUTCH-214 - Added Links to web site to search mailling list
+    (Jake Vanderdray via jerome)
+
+32. NUTCH-204 - Multiple field values in HitDetails
+    (Stefan Groschupf via jerome)
+
+33. NUTCH-219 - file.content.limit & ftp.content.limit should be changed
+    to -1 to be consistent with http (jerome)
+    
+34. NUTCH-221 - Prepare nutch for upcoming lucene 2.0 (siren)
+
+35. NUTCH-91 - Empty encoding causes exception (Michael Nebel via
+    pkosiorowski)
+
+36. NUTCH-228 - Clustering plugin descriptor broken (Dawid Weiss via
+    jerome)
+
+37. NUTCH-229 - Improved handling of plugin folder configuration
+    (Stefan Groschupf via ab)
+
+38. NUTCH-206 - Search server throws InstantiationException (ab)
+    
+39. NUTCH-203 - ParseSegment throws InstantiationException (Marko Bauhardt
+    via ab)
+
+40. NUTCH-3 - Multi values of header discarded (Stefan Groschupf via ab)
+
+41. Update to lucene 1.9.1 (cutting)
+
+42. NUTCH-235 - Duplicate Inlink values (ab)
+
+43. NUTCH-234 - Clustering extension code cleanups and a real
+    JUnit test case for the current implementation (Dawid Weiss via ab)
+    
+44. NUTCH-210 - Context.xml file for Nutch web application
+    (Chris A. Mattmann via jerome)
+
+45. NUTCH-231 - Invalid CSS entries (AJ Banck via jerome)
+
+46. NUTCH-232 - Search.jsp has multiple search forms creating
+    invalid html / incorrect focus function (jerome)
+    
+47. NUTCH-196 - lib-xml and lib-log4j plugins (ab, jerome)
+
+48. NUTCH-244 - Inconsistent handling of property values
+    boundaries / unable to set db.max.outlinks.per.page to
+    infinite (jerome)
+    
+49. NUTCH-245 -	DTD for plugin.xml configuration files
+    (Chris A. Mattmann via jerome)
+
+50. NUTCH-250 - Generate to log truncation caused by
+    generate.max.per.host (Rod Taylor via cutting)
+    
+51. NUTCH-125 - OpenOffice Parser plugin (ab)
+
+52. Switch from using java.io.File to org.apache.hadoop.fs.Path.
+    (cutting)
+
+53. NUTCH-240 - Scoring API: extension point, scoring filters and
+    an OPIC plugin (ab)
+    
+54. NUTCH-134 - Summarizer doesn't select the best snippets (jerome)
+
+55. NUTCH-268 - Generator and lib-http use different definitions of
+    "unique host" (ab)
+    
+56. NUTCH-280 - Url query causes NullPointerException (Grant Glouser
+    via siren)
+
+57. NUTCH-285 - LinkDb Fails rename doesn't create parent directories
+    (Dennis Kubes via ab)
+
+58. NUTCH-201 - Add support for subcollections
+    (siren)
+
+59. NUTCH-298 - If a 404 for a robots.txt is returned a NPE is thrown
+    (Stefan Groschupf via jerome)
+
+60. NUTCH-275 - Fetcher not parsing XHTML-pages at all (jerome)
+
+61. NUTCH-301 - CommonGrams loads analysis.common.terms.file for each query
+    (Stefan Groschupf via jerome)
+
+62. NUTCH-110 - OpenSearchServlet outputs illegal xml characters
+    (stack@archive.org via siren)
+
+63. NUTCH-292 - OpenSearchServlet: OutOfMemoryError: Java heap space
+    (Stefan Neufeind via siren)
+
+64. NUTCH-307 - Wrong configured log4j.properties (jerome)
+
+65. NUTCH-303 - Logging improvements (jerome)
+
+66. NUTCH-308 - Maximum search time limit (ab)
+
+67. NUTCH-306 - DistributedSearch.Client liveAddresses concurrency
+    problem (Grant Glouser via siren)
+
+68. Update to hadoop-0.4 (Milind Bhandarkar, cutting)
+
+69. NUTCH-317 - Clarify what the queryLanguage argument of
+    Query.parse(...) means (jerome)
+
+70. Added alternative experimental web gui in contrib containing
+    extensions like subcollection, keymatch, user preferences,
+    caching, implemented mainly using tiles and jstl (siren)
+
+71. NUTCH-320 DmozParser does not output list of urls to stdout
+    but to a log file instead. Original functionality restored.
+
+72. NUTCH-271 - Add ability to limit crawling to the set of initially
+    injected hosts (db.ignore.external.links) (Philippe Eugene,
+    Stefan Neufeind via ab)
+
+73. NUTCH-293 - Support for Crawl-Delay (Stefan Groschupf via ab)
+
+74. NUTCH-327 - Fixed logging directory on cygwin (siren)
+
+Release 0.7 - 2005-08-17
+
+ 1. Added support for "type:" in queries. Search results are limited/qualified
+    by mimetype or its primary type or sub type. For example,
+    (1) searching with "type:application/pdf" restricts results
+    to pages which were identified to be of mimetype "application/pdf".
+    (2) with "type:application", nutch will return pages of
+    primary type "application".
+    (3) with "type:pdf", only pages of sub type "pdf" will be listed.
+    (John Xing, 20050120)
+
+ 2. Added support for "date:" in queries. Last-Modified is indexed.
+    Search results are restricted by lower and upper date (inclusive)
+    as date:yyyymmdd-yyyymmdd. For example, date:20040101-20041231
+    only returns pages with Last-Modified in year 2004.
+    (John Xing, 20050122)
+
+ 3. Add URLFilter plugin interface and convert existing url filters into
+    plugins. (John Xing, 20050206)
+
+ 4. Add UpdateSegmentsFromDb tool, which updates the scores and
+    anchors of existing segments with the current values in the web
+    db.  This is used by CrawlTool, so that pages are now only fetched
+    once per crawl.  (Doug Cutting, 20050221)
+
+ 5. Moved code into org.apache.nutch sub-packages.  Changed license to
+    Apache 2.0.  Removed jar files whose licenses do not permit
+    redistribution by Apache.  Disabled compilation of plugins which
+    require these libraries.  (Doug Cutting 20050301)
+
+ 6. Index host and title in separate fields.  Host was indexed
+    previously only as a part of the URL.  Title was indexed as an
+    anchor.  Now boosts for matching these fields may be adjusted
+    separately from boosts for matching anchors and url.  Also: move
+    site indexing to index-basic plugin to minimize the number of
+    times the URL needs to be parsed; and, stop using anchor analyzer
+    for anything but anchors.  (Piotr Kosiorowski via Doug Cutting
+    20050323)
+
+ 7. Add servlet Cached.java that serves cached Content of any mime type.
+    Slightly modified are web.xml and cached.jsp.
+    (John Xing, 20050401)
+
+ 8. Add skipCompressedByteArray() to WritableUtils.java.
+    (John Xing, 20050402)
+
+ 9. Fixes to jsp and static web pages.  These now use relative links,
+    so that the Nutch webapp file can be used in places other than at
+    the root.  Also fixed links to the about and help pages.  Bug #32.
+    (Jerome Charron via cutting, 20050404)
+
+10. Added some features to DistributedSearch: new segments can be added
+    to searchservers without restarting the frontend, defective search
+    servers are not queried until tey come back online, watchdog keeps
+    an eye for your searchservers and writes simple statistics.
+    (Sami Siren, 20050407)
+    
+11. Fix for bug #4 - Unbalanced quote in query eats all resources.
+	(Piotr Kosiorowski, Sami Siren, 20050407)
+
+12. Close Issue #33 - MIME content type detector (using magic char sequences).
+    (Jerome Charron and Hari Kodungallur via John Xing, 20050416)
+
+13. Add a servlet that implements A9's OpenSearch RSS web service.
+    (cutting, 20050418)
+
+14. Remove references to link analysis from tutorial, and enable
+    scoring by link count when generating fetchlists and searching.
+    (cutting, 20040419)
+
+15. Make query boosts for host, title, anchor and phrase matches
+    configurable.  (Piotr Kosiorowski via cutting, 20050419)
+
+16. Add support for sorting search results and search-time deduping by
+    fields other than site.
+
+17. Automatically convert range queries into cached range filters.
+    This improves the performance and scalability of, e.g., date range
+    searching.
+
+18. Several methods have been renamed due to misspellings.  The old
+    methods have been deprecated and will be removed before the 1.0
+    release.
+
+
+Release 0.6
+
+ 1. Added clustering-carrot2 plugin, together with introduction of clustering
+    api and modification to search jsp. (Dawid Weiss via John Xing, 20040809)
+
+ 2. Make a number of changes to NDFS (Nutch Distributed File System)
+    to fix bugs, add admin tools, etc.
+
+    Also, modify all command line tools so you can indicate whether to
+    use NDFS or the local filesystem.  If you indicate nothing, then
+    it defaults to the local fs.
+
+    I've used this to do a 35m page crawl via NDFS, distributed over a
+    dozen machines.  (Mike Cafarella)
+
+ 3. Add support for BASE tags in HTML.  Outlinks are now correctly
+    extracted when a BASE tag is present.  (cutting)
+
+ 4. Fix two bugs in result pagination.  When the last hit on a page
+    was the last hit overall, the "next" button was sometimes shown
+    when the "show all" button should be shown instead.  Also, in
+    certain cases, the "show all" button would be shown when the
+    "next" button should have been shown.  (cutting)
+
+ 5. Add config parameter "indexer.max.tokens" that determines the
+    maximum number of tokens indexed per field.  (Andy Hedges via cutting)
+
+ 6. Add parser for mp3 files.  (Andy Hedges via cutting)
+
+ 7. Add RegexUrlNormalizer.  This is useful for things like stripping
+    out session IDs from URLs.  To use it, add values for
+    urlnormalizer.class and urlnormalizer.regex.file to your
+    nutch-site.xml.  The RegexUrlNormalizer class extends the
+    BasicUrlNormalizer, and does basic normalization as well.
+    (Luke Baker via cutting)
+
+ 8. Added Swedish translation (Stefan Verzel via Sami Siren, 20040910)
+
+ 9. Added Polish translation (Andrzej Bialecki, 20040911)
+ 
+10. Added 3 more language profiles to language identifier (ru,hu,pl).
+	Other changes to language identifier: Porfiles converted to utf8,
+	added some test cases, changed the similarity calculation.
+	(Sami Siren, 20040925)
+
+11. Added plugin parse-rtf (Andy Hedges via John Xing, 20040929)
+
+12. Added plugin index-more and more.jsp (John Xing, 20041003)
+
+13. Added "View as Plain Text" feature. A new op OP_PARSETEXT is introduced
+    in DistributedSearch.java. text.jsp is added. (John Xing, 20041006)
+
+14. Fixed a bug that fails cached.jsp, explain.jsp, anchors.jsp and text.jsp
+    (but not search.jsp) with NullPointerException in distributed search.
+    It seems that this bug appears after "hits per site" stuff is added.
+    The fix is done in Hit.java, making sure String site is never null.
+    Hope this fix not have bad effetct on "hits per site" code.
+    (John Xing, 20041006)
+
+15. Fixed a bug that fails fullyDelete() in FileUtil.java for
+    LocalFileSystem.java. This bug also exposes possible incompleteness
+    of NDFSFile.java, where a few methods are not supported, including
+    delete(). Nothing changed in NDFSFile.java though. Leave it for future
+    improvement (John Xing, 20041022).
+
+16. Introduced option -noParsing to Fetcher.java and added ParseSegment.java.
+    A new status code CANT_PARSE is added to FetcherOutput.java.
+    Without option -noParsing , no change in fetcher behavior. With
+    option -noParsing, fetcher does crawls only, no parsing is carried out.
+    Then, ParseSegment.java should be used to parse in separate pass.
+    (John Xing, 20041025)
+
+17. Added ontology plugin. Currently it is used for query refinement, as
+    examplified in refine-query-init.jsp and refine-query.jsp. By default,
+    query refinement is disabled in search.jsp. Please check
+    ./src/plugin/ontology/README.txt for further description.
+    Ontology plugin certainly can be used for many other things.
+    (Michael J. Pan via John Xing, 20041129)
+ 
+18. Changed fetcher.server.delay to be a float, so that sub-second
+    delays can be specified.  (cutting)
+
+19. Added plugin.includes config parameter that determines which
+    plugins are included.  By default now only http, html and basic
+    indexing and search plugins are enabled, rather than all plugins.
+    This should make default performance more predictable and reliable
+    going forward. (cutting)
+
+20. Cleaned up some filesystem code, including:
+
+    - Replaced BufferedRandomAccessFile with two simpler utilties,
+      NFSDataInputStream and NFSDataOutputStream.
+
+    - Fixed the bug where SequenceFiles were no longer flushed when
+      created, so that, when fetches crashed, segments were
+      unreadable.  Now segments are always readable after crashes.
+      Only the contents of the last buffer is lost.
+
+    - Simplified the FSOutputStream API to not include seek().  We
+      should never need that functionality.
+
+    - Simplified LocalFileSystem's implementations of FSInputStream
+      and FSOutputStream and optimized FSInputStream.seek().
+
+    (cutting)
+
+21. Fixed BasicUrlNormalizer to better handle relative urls.  The file
+    part of a URL is normalized in the following manner:
+
+      1. "/aa/../" will be replaced by "/" This is done step by step until
+	 the url doesnÂ´t change anymore. So we ensure, that
+	 "/aa/bb/../../" will be replaced by "/", too
+
+      2. leading "/../" will be replaced by "/"
+
+    (Sven Wende via cutting)
+
+22. Fix Page constructors so that next fetch date is less likely to be
+    misconstrued as a float.  This patches a problem in WebDBInjector,
+    where new pages were added to the db with nextScore set to the
+    intended nextFetch date.  This, in turn, confused link analysis.
+
+23. In ndfs code, replace addLocalFile(), putToLocalFile() with
+    copyFromLocalFile(), moveFromLocalFile(), copyToLocalFile() and
+    moveToLocalFile(). (John Xing, 20041217)
+
+24. Added new config parameter fetcher.threads.per.host.  This is used
+    by the Http protocol.  When this is one behavior is as before.
+    When this is greater than one then multiple threads are permitted
+    to access a host at once.  Note that fetcher.server.delay is no
+    longer consistently observed when this is greater than one.
+    (Luke Baker via Doug Cutting)
+
+Release 0.5
+
+ 1. Changed plugin directory to be a list of directories.
+
+ 2. Permit Plugin to be the default plugin implementation.
+
+ 3. Added pluggable interface for network protocols in new package
+    net.nutch.protocol.  Moved http code from core into a plugin.
+
+ 4. Added pluggable interface for content parsing in new package
+    net.nutch.parse.  Moved html parsing code from core into a
+    plugin.
+
+ 5. Fixed a bug in NutchAnalysis where 16-bit characters were not
+    processed correctly.
+
+ 6. Fixed bug #971731: random summaries on result page.
+    (Daniel Naber via cutting)
+
+ 7. Made Nutch logo transparent. (Daniel Naber via cutting)
+
+ 8. Added file protocol plugin.  (John Xing via cutting)
+
+ 9. Added ftp protocol plugin.  (John Xing via cutting)
+
+10. Added pdf and msword parser plugins.  (John Xing via cutting)
+
+11. Added pluggable indexing interface.  By default, url, content,
+    anchors and title are indexed, as before, but now one can easily
+    alter this to, e.g., index metadata.  A demonstration is provided
+    which extracts and indexes Creative Commons license urls. (cutting)
+
+12. Add language identification plugin. 
+
+    The process of identification is as follows:
+
+    1. html (html only, HTML 4.0 "lang" attribute)
+    2. meta tags (html only, http-equiv, dc.language)
+    3. http header (Content-Language)
+    4. if all above fail "statistical analysis"
+
+    1 & 2 are run during the fetching phase and 3 & 4 are run on
+    indexing phase.
+
+    Currently supported languages (in "statistical analysis") are
+    da,de,el,en,es,fi,fr,it,nl,sv and pt. The corpus used was grabbed
+    from http://www.isi.edu/~koehn/europarl/ and the profiles were
+    build with tool supplied in patch.
+
+    After indexing the language can be found from field named "lang"
+
+    It's not 100% accurate but it's a start.
+    (Sami Siren)
+
+13. Added SegmentMergeTool and "mergesegs" command, to remove
+    duplicated or otherwise not used content from several segments and
+    joining them together into a single new segment.  The tool also
+    optionally performs several other steps required for proper
+    operation of Nutch - such as indexing segments, deleting
+    duplicates, merging indices, and indexing the new single segment.
+    (Andrzej Bialecki)
+
+14. Add the ability to retrieve ParseData of a search hit. ParseData
+    contains many valuable properties of a search hit.
+
+    This is required (among others) to properly display the cached
+    content because it's not possible to determine the character
+    encoding from the output of the getContent() method (which returns
+    byte[]). The symptoms are that for HTML pages using non-latin1 or
+    non-UTF8 encodings the cached preview will almost certainly look
+    broken. Using the attached patch it is possible to determine the
+    character encoding from the ParseData (for HTTP: Content-Type
+    metadata), and encode the content accordingly. (Andrzej Bialecki)
+
+15. Add a pluggable query interface.  By default, the content, anchor
+    and url fields are searched as before.  A sample plugin indexes
+    the host name and adds a "site:" keyword to query parsing.
+
+16. Added support for "lang:" in queries.  For example, searching with
+    "lang:en" restricts results to pages which were identified to
+    be in English.
+
+17. Automatically optimize field queries to use cached Lucene filters.
+    This makes, for example, searches restricted by languages or sites
+    that are very common much faster.
+
+18. Improved charset handling in jsp pages.  (jshin by cutting)
+
+19. Permit topic filtering when injecting DMOZ pages.  (jshin by cutting)
+
+20. When parsing crawled pages, interpret charset specifications in
+    html meta tags.  (jshin by cutting)
+
+21. Added support for "cc:licensed" in queries, which searches for documents
+    released under Creative Commons licenses.  Attributes of the
+    license may also be queried, with, e.g., "cc:by" for
+    attribution-required licenses, "cc:nc" for non-commercial
+    licenses, etc.
+
+22. Relative paths named in plugin.folders are now searched for on the
+    classpath.  This makes, e.g., deployment in a war file much simpler.
+
+23. Modifications to Fetcher.java.
+
+    1. Make sure it works properly with regard to creation and initialization
+    of plugin instances. The problem was that multiple threads race to
+    startUp() or shutDown() plugin instances. It was solved by synchronizing
+    certain codes in PluginRepository.java and Extension.java.
+    (Stefan Groschupf via John Xing)
+
+    2. Added code to explictly shutDown() plugins. Otherwise FetcherThreads
+    may never return (quit) if there are still data or other structures
+    (e.g., persistent socket connections) associated with plugins. (John Xing)
+    
+    3. Fixed one type of Fetcher "hang" problems by monitoring named
+    FetcherThreads. If all FetcherThreads are gone (finished),
+    Fetcher.java is considered done. The problem was: there could be
+    runaway threads started by external libs via FetcherThreads.
+    Those threads never return, thus keep Fetcher from exiting normally.
+    (John Xing)
+
+24. Eliminate excessive hits from sites.  This is done efficiently by
+    adding the site name to Hit instances, and, when needed,
+    re-querying with too-frequent sites prohibited in the query.
+
+
+Release 0.4
+
+ 1. Http class refactored.  (Kevin Smith via Tom Pierce)
+
+ 2. Add Finnish translation. (Sampo Syreeni via Doug Cutting)
+
+ 3. Added Japanese translation. (Yukio Andoh via Doug Cutting)
+
+ 4. Updated Dutch translation. (Ype Kingma via Doug Cutting)
+
+ 5. Initial version of Distributed DB code.  (Mike Cafarella)
+
+ 6. Make things more tolerant of crashed fetcher output files.
+    (Doug Cutting)
+
+ 7. New skin for website. (Frank Henze via Doug Cutting)
+
+ 8. Added Spanish translation. (Diego Basch via Doug Cutting)
+
+ 9. Add FTP support to fetcher.  (John Xing via Doug Cutting)
+
+10. Added Thai translation. (Pichai Ongvasith via Doug Cutting)
+
+11. Added Robots.txt & throttling support to Fetcher.java.  (Mike
+    Cafarella)
+
+12. Added nightly build. (Doug Cutting)
+
+13. Default all link scores to 1.0. (Doug Cutting)
+
+14. Permit one to keep internal links. (Doug Cutting)
+
+15. Fixed dedup to select shortest URL. (Doug Cutting)
+
+16. Changed index merger so that merged index is written to named
+    directory, rather than to a generated name in that directory.
+    (Doug Cutting)
+
+17. Disable coordination weighting of query clauses and other minor
+    scoring improvements. (Doug Cutting)
+
+18. Added a new command, crawl, that constructs a database, injects a
+    url file and performs a few rounds of generate/fetch/updatedb.
+    This simplifies use for intranet sites.  Changed some defaults to
+    be more intranet friendly.  (Doug Cutting)
+
+19. Fixed a bug where Fetcher.java didn't construct correct relative
+    links when a page was redirected.  (Doug Cutting)
+
+20. Fixed a query parser problem with lookahead over plusses and minuses.
+    (Doug Cutting)
+
+21. Add support for HTTP proxy servers.  (Sami Siren via Doug Cutting)
+
+22. Permit searching while fetching and/or indexing.
+    (Sami Siren via Doug Cutting)
+
+23. Fix a bug when throttling is disabled.  (Sami Siren via Doug Cutting)
+
+24. Updated Bahasa Malaysia translation.  (Michael Lim via Doug Cutting)
+
+25. Added Catalan translation.  (Xavier Guardiola via Doug Cutting)
+
+26. Added brazilian portuguese translation.
+    (A. Moreir via Doug Cutting)
+
+27. Added a french translation.  (Julien Nioche via Doug Cutting)
+
+28. Updated to Lucene 1.4RC3.  (Doug Cutting)
+
+29. Add capability to boost by link count & use it in crawl tool.
+    (Doug Cutting)
+
+30. Added plugin system.  (Stefan Groschupf via Doug Cutting)
+
+31. Add this change log file, for recording significant changes to
+    Nutch.  Populate it with changes from the last few months.
Index: /nutchez-0.1/KEYS
===================================================================
--- /nutchez-0.1/KEYS	(revision 66)
+++ /nutchez-0.1/KEYS	(revision 66)
@@ -0,0 +1,242 @@
+This file contains the PGP keys of various developers.
+Please don't use them for email unless you have to. Their main
+purpose is code signing.
+
+Examples of importing this file in your keystore:
+ gpg --import KEYS.txt
+ (need pgp and other examples here)
+
+Examples of adding your key to this file:
+ pgp -kxa <your name> and append it to this file.
+ (pgpk -ll <your name> && pgpk -xa <your name>) >> this file.
+ (gpg --list-sigs <your name>
+     && gpg --armor --export <your name>) >> this file.
+
+pub   1024D/A7239D59 2005-10-12
+      Key fingerprint = 4B96 409A 098D BD51 1DF2  BC18 DBAF 69BE A723 9D59
+uid                  Doug Cutting (Lucene guy) <cutting@apache.org>
+sig 3        A7239D59 2005-10-12  Doug Cutting (Lucene guy) <cutting@apache.org>
+sub   2048g/ADDE5978 2005-10-12
+sig          A7239D59 2005-10-12  Doug Cutting (Lucene guy) <cutting@apache.org>
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1.4.1 (FreeBSD)
+
+mQGiBENNR5oRBAC2ZzxD2fXYht8qkfT/6tjWJxLG4KH2dLEWSYEzku8ZtJ7eA6X7
+/hcvZdhjGH0aA6MAEVSxh6LO1hmRARE2e2Br68j4TjwbQ0J5BOgkMMAArmQe7w6B
+RjKUI3H74Qbfjuk4Ebf1fNkRkpwuw+JxZu5pqpACqwv6nPhcSDDjbuA/1wCgj+++
+uxVSQMF4Xrd0hApOSYGHL8kD/jCU+vM3ILuFVTCgfC5RehmqwQo/f6KEv99jJSxX
+ClcksiLquOH8vMc3MV1YWOe4u93DI7iAYzCylS1s2Wn0bLEBrbdGKLMH4hSSMDRC
+pjnyvzvnEMhMU+Jn3LK6lQw4nHH+aDGFcYZ2pQen7JAcYz7l6QeTsvMnRV+v13K1
+/zRjA/9QUxrgg2N5WQnEhMegIWBKVhxQV6a2mSfeNd0ApxzdqdoHZNkUD+pKMB0F
+oQ9aP55KbtvFosurFgEmvwLIoMnQohxjIhdk0Hx3xMT17CtYl04F0C+QNxeXpWr7
+/B0kq8nALn17hXz5A1bFaiMHX86QmvNyMTDUC2VrVbkV251dlLQuRG91ZyBDdXR0
+aW5nIChMdWNlbmUgZ3V5KSA8Y3V0dGluZ0BhcGFjaGUub3JnPoheBBMRAgAeBQJD
+TUeaAhsDBgsJCAcDAgMVAgMDFgIBAh4BAheAAAoJENuvab6nI51ZjRAAoIZ96gYE
+f8QCDpXkBQqtNgRiF4t5AJ9JKMrN/Ow+Kyl75FU9U2KWyPoMk7kCDQRDTUejEAgA
+m3UdcglfOdgqI7Z9XUX38yqiFzNozSvTdOt3j6evIVvjJ3e0P87tUQlrdsbMcaXd
++PAc7EA5LE0eJlE9jR1/18tsIlYi/n1hxz1lWtaZ+9he3yTB12QmAf4MMTXaRBkI
+ZqwdwZxmL5V+2TmhFT2bIzPLgrMHNsA4dtQuBak41GC+VXovqitS9Xzse2Ki+U9u
+SiRPsD7x5DcgJm9sg/zqCNrvDN8vOC8iHa/CIqsZr3xaPgfQLZp6Xk3doHLc6IJ9
+6knDAZvzJFgfj8MGCQoOExE/1XoNGTWcgoiy0D30ADG+rtIbaRT8tdQ6m19/ytqd
+Zm7ibB7b78/pyfvvcB5tKwADBgf9GwdUdHUPjezlFpcCI/K3XHKdPLi00HJ2L1O8
+5pErBjDyZ5ey7vAMuYB5O31dB7pncSVsTdt9RRQHS+iLrv9aJjvYhV4yQU0ADkgC
+9qEvxm7wpn76AT+Z1LIay/vNoQPxnfWq+uZD/Lnku1VcnMZ5teSG6uJzApBGYsgN
+xpPPsobKKvclZdhO5NhhZLFZ0taWh4pna2jpDTLmyRa4kO7p7rIixsKxFfLUUc33
+2RqBomnm9eRlSvC4BBCq6M7YPLG0Rv5WmzuuWpc865EaMoBEtwPQBb4+qcMN69Lp
+3x6EaymTWmHx1o8aUjAxhORE/miy53eGPzIXY+csjMyAmSxDG4hJBBgRAgAJBQJD
+TUejAhsMAAoJENuvab6nI51ZlTIAn0oHlUPw+v1gVUJ8D2Nu26knOqJKAJ4spe/k
+Sc2xRlsNP3tZiO+jYMAFSg==
+=goQx
+-----END PGP PUBLIC KEY BLOCK-----
+pub  1024D/7C491924 2006-03-30 Piotr Kosiorowski <pkosiorowski@apache.org>
+sig 3       7C491924 2006-03-30   Piotr Kosiorowski <pkosiorowski@apache.org>
+sub  2048g/4A70BB35 2006-03-30
+sig         7C491924 2006-03-30   Piotr Kosiorowski <pkosiorowski@apache.org>
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1.2.7 (GNU/Linux)
+
+mQGiBEQrfF8RBACblz5gaIolsKdJgtdy913C+k/QXvaeg3R+8dXXkgVgC5vvRbUk
+Ei6UBRMU5H0cNE76d0XlMYP1MccqdowsfPfWxl04VViW6p+KHmBa2ICIWvq1PQXL
+XhocuRZn6dzfnxcFjsJlsKXtX+okzL9rc1AHiPsb+14XFQtd0/uxs/qeswCgyM68
+hxpwMZU4U0Q7yYkB8usVjbcD/iC65v+8DPhVgxp4o66JJqTYkBZ73mS4f/DDlQsL
+9qCj8h9rLYHmV85hSx3pBBDuz/HjIzu5ruj+l78H++WISXE82hj++OS0bpKnb+nV
+x/iN+b/Y0W0CzMEms+42LcNz1azvLL6ZBgLwnUePT1mBnOy6UgFW1XZGow/XO4Lr
+2py7BACP2WrV+rAzc8RcelmvE3eaAj0DJhAl2Brkdl7B4KDNpBTYZM2TaJ5G5pDK
+EhzH3O6IZP4dRh4iEipl+qcJ0eC5OlKHxqyXXbQYH5jzqkl+4cAQRkCliWuFrGcO
+o3XaOFE54dpY8FZbineEJLrg4Ynh592gO731IcP4gm401ORGv7QrUGlvdHIgS29z
+aW9yb3dza2kgPHBrb3Npb3Jvd3NraUBhcGFjaGUub3JnPoheBBMRAgAeBQJEK3xf
+AhsDBgsJCAcDAgMVAgMDFgIBAh4BAheAAAoJEEsO4ix8SRkkWLwAoLrn6dtn38yI
+8dja2k2lJJ7PVpOoAJ9qZO+QfOfJRf1H+1L6qOuviiDkR7kCDQREK3xpEAgAklbu
+2ctaceFu6nolNd3cnKNqDNppvSRSwDzZZytXjzV10E5VW7fYlN1+huOSV9nRLAIL
+stNloFiOdQGElT0t8Xi9N9X1BuzSkxWMKqDHaTOSnKNupCuDzz9F3oYXVMbLwZBG
+GJAMezd6WuCl+KyhsJgt0GD/H2Ucyck2CqTQRZFPOPOPB2urZbmw8F5bTI3u9J1Q
+ElwApNTrHS04HyNEq5o9j/iTMvvunnkliQFI0Z/flvfHaV6go3/ZhMeVkLU7m/mq
+bPh467HN0MTN5O+znak164nBumxcqD8yUF5TiWD42dykNffbN2ajZzgVvTxWerVV
+mqVMTetbhl3Hoaff0wADBQf/d+XRxh7etS3IO5Jvv85de9QvQPFm5JZpnTNfdnil
+b9G3WRjZIsdmAG2khtJNmlUMUegK0ej6jsCFmsWTqg8cbCG7TBcYySWKSTGklELu
+N69g9VaG60GUX6EOoEmfRMrINlq/5egRSs8gukb1qYC0+0ZpaiWu5+PDx7ocADOq
+FwZUcsp9k0c4y2QUxvzvuRNCjJftTNQT5k+r1RxBnk5RYxiL2ga/UfUXZ3gXZvPV
+sTeSDXiMAAHvCqnAKGyGK7boST+zAD3qkBLH7nL44rS+9H+piERCmavSLcxI0CoZ
+oJb9uniYB8HMLDhOc1HwN3L5QzEJ68JdGmdEapvxE0r6s4hJBBgRAgAJBQJEK3xp
+AhsMAAoJEEsO4ix8SRkk2WUAn1/AYISfGPmMKuppjMZmAcs8Svm0AKCWsjGPGKSi
+gKskqkY17BkNKkbBtQ==
+=j0Ns
+-----END PGP PUBLIC KEY BLOCK-----
+pub   1024D/0B7E6CFA 2006-07-06
+uid                  Sami Siren <siren@apache.org>
+sig 3        0B7E6CFA 2006-07-06  Sami Siren <siren@apache.org>
+sig          E222DE4F 2007-05-02  Mathias Herberts <Mathias.Herberts@iroise.net>
+sig          911203E4 2007-05-02  Mathias Herberts <Mathias.Herberts@gicm.fr>
+sig          302DA568 2007-05-03  Rodent of Unusual Size (DSA) <Ken@Coar.Org>
+sig          2C312D2F 2007-05-03  Rodent of Unusual Size (DSS) <Ken@Coar.Org>
+sig          F12F6072 2007-05-05  Fred Vos <fred.vos@gmail.com>
+sig 3        990ED4AA 2007-05-02  Knut Anders Hatlen <kahatlen@apache.org>
+sig 3        311A3DE5 2007-05-05  Ruediger Pluem <rpluem@apache.org>
+sig          A99F75DD 2007-05-03  Rodent of Unusual Size <Ken@Coar.Org>
+sig          5F298824 2007-05-06  Simon Pepping <spepping@leverkruid.eu>
+sig          4358C584 2007-05-06  Vincent Hennebert <vhennebert@apache.org>
+sig          4CEED75F 2007-05-07  Nick Burch <nick@gagravarr.org>
+sig          C874155C 2007-05-07  Thilo Goetz (home key) <twgoetz@gmx.de>
+sig 3        88817402 2007-05-06  Thomas Vandahl <thomas@vandahl.org>
+sig          01530235 2007-05-02  Luc Maisonobe (general purpose) <Luc.Maisonobe@free.fr>
+sig          40581837 2007-05-08  Nick Kew <nick@webthing.com>
+sig          5F6B8B72 2007-05-12  Stefan Bodewig <bodewig@apache.org>
+sub   2048g/A3A3EC3F 2006-07-06
+sig          0B7E6CFA 2006-07-06  Sami Siren <siren@apache.org>
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1.4.7 (GNU/Linux)
+
+mQGiBESs8FMRBADhMg5ONjSVuSVJoYbOL8vvoygjO9qH/MS21Ue2Hx2qLf8xB1/W
+baVL5kEH0ixkeg6H+qO4gGpyJ/cdww0v0CjbxRZw2R2QP1PtpZgioGv4YYNstUis
++rx6+4x4ny6M9mlYEH9QsoqCrfZSSUKxuSTLRQOU97Bm1kPv9b7L2D9UbwCgwNvU
+T5cfQz0bZNtXpOfXhYQezK8EAN/djxVjIbpNEgGxSO7dkR3OH9He+FJcn1vWRBMm
++mNq5hzO2rAlJhpsL0tKh7+02PYoMeB9HpRfrxhE9NST7Pk6KaQ1H1HEJgTJQ3NH
+Oe1ZC2pmmaVOysFsVUbAA6WSwCcEPr/PWYxBpDXprny3M4AT4c2hBZ+yGweOLT6+
+tjsbA/0X2j6lgbyZe4/VmBdfGeTLxkb5SBXYfz83AN2Fp++VsiPSWTn5ilUzwY2e
+XotvX7Bm/noh2liOmiN83ZQrChBOlmYA/vJ7HWCI5rZkvxU+xkRFrwh+pSHBk2Ar
+GmZ8Q7LjYOnDyNIh+igVifkrlUlNKh3k8BVEXsH1OxffO28LzLQdU2FtaSBTaXJl
+biA8c2lyZW5AYXBhY2hlLm9yZz6IYAQTEQIAIAUCRKzwUwIbAwYLCQgHAwIEFQII
+AwQWAgMBAh4BAheAAAoJEAKlpgULfmz6vl0An0KCSRbIZjNFyQoDTR7Y/21tw94h
+AJ93zAzfB8woj0MuqiOtUZ29OX/m+4hGBBARAgAGBQJGOOPMAAoJEBVFs/7iIt5P
+au8AoJBhBjsv6RD1sYBsfhbaBsZyaENHAJoD/2IhBBMaBV3fNsTCbQilad2YAIhG
+BBARAgAGBQJGOOh1AAoJEGPQra6REgPkOL8An3TWNp6bYNIRwWRKUYsCEHWQ4BMu
+AJ9ix4bnBUf6R33seqwNz7Gp7z8eDohGBBARAgAGBQJGOghLAAoJEFCOrsUwLaVo
+azcAoIaOwIwqXgW+4xZ7GYPfJEFrHGPbAKCG+gIdVX4NmNaxERZPj2qLycs9w4hG
+BBARAgAGBQJGOghLAAoJEN26ZLosMS0vazcAoNgtdYT1uCNRLTdGaYhPvjGfVr04
+AJ9MhDZ+LUm6/+k783wrph1mRU2iY4hGBBARAgAGBQJGPMSSAAoJEJhw7/PxL2By
+uIoAnjog0y6x+vqOqJV+AWDbM99ZrOH+AKCC4u8eDndLGM9XwAp5Tl7jVr5oqIhG
+BBMRAgAGBQJGORnaAAoJEOHh8rCZDtSqY8YAn0n0/gjvZKp7/bwoIj9T7jBkjpbZ
+AJ40MSZ32QBcRnt2vP6vK7/SXpshE4hGBBMRAgAGBQJGPE+UAAoJEEwEKBgxGj3l
+9OQAn145exS7RQZNTU8+BjBzSmRBGL9BAKCJ66ln9ObH2GwEHEhlS0fhEaJAD4ic
+BBABAgAGBQJGOghLAAoJEJrNPMCpn3XdE8kD+wQBy+g+4TS8IVraka2wfibUpuqo
+6UdRXiOO0CUWGBNq1jPE7LthT7tSf76Scfk7p2OiG0DfmkCBhi6hD1TgESOUOuG6
+QJM/VTwNg8KwvKXMgEd0drh/waktIIZoo/PS+LGYsyiLEKk43FL86vt2X+JKlMzq
+YMf4gBSUH0zOY76JiEYEEBECAAYFAkY+F+IACgkQPipvwl8piCRhxwCfUFugC5pP
+Wl+slCQHx5UFurZz9gkAoKBiE3Bioq4HFjJuv0D/qgZyI7lsiEYEEBECAAYFAkY9
+9qwACgkQoHLU0ENYxYSDbwCeI+tmaYaX+U0MRVgpcqxFQ2vl3S0AnAs+6O9AODcJ
+klKO3e0thKM2G2fXiEYEEBECAAYFAkY/KaQACgkQ9cJgFkzu11+tDwCgiK9ECsIi
+fAVeSCQNaKGxD+FBhcUAnjOQQiHi3KMEjFl9gVpgKfONxoqOiEYEEBECAAYFAkY/
+YEcACgkQVCINLMh0FVxGHwCfcxoMj6mG0n7D32LL/ZPpwOzL0fMAnA5/eSfX2hRV
+UidFb9vDrDHAiO3tiEYEExECAAYFAkY9oqAACgkQLrlGgoiBdAIV4wCg/2DcoBRE
+vX/jwva03HUxwo9KnFwAoJjyklqFD7bUaOk7erRTDZl5E/e5iEYEEBECAAYFAkY4
++qUACgkQc92MFgFTAjXKNQCfdegQg1dlZmv0VWZiptomzki5npcAn1ZtbYVdwDcp
+iNkvIO7NgoqeEj2fiEYEEBECAAYFAkZAuoEACgkQbQvHOkBYGDdl1QCfSItgGzht
+wJcShzNc+OOBicoSOrkAmwWW0//qdVR8AGr73QnBSgruFhp0iEYEEBECAAYFAkZG
+EbYACgkQohFa4V9ri3IIzgCgs7keksKkYWvxLEuU10a7I/sSs6oAoIcj+YpsPrgu
+oXXnGKrRA/sBOyBUuQINBESs8GwQCADGOIvlRuk94D+TY/VCO0sB/8lOobiU3qQF
+tFu8FsA4BgjQ9i6yR2wLEiZ0Cil4kWc6b19TSAarhqCAJ4GVmGIaJI3zrkab9HDA
+Dklu2XSFsTllxzOFoXuJKwoTCu6LUBNyJjLjfZkfbwelZWJmQE/Ml53Cm1324ivN
+JZro4oH7E0u8+tgyZI8e+noJE9ErIRLvUimBebDxR3Lzyrk+Qx3EzQso8A2/rwM/
+HUhZECJkZO3f/TMmv2XFbdHjBoi8XWsHnj1U9wuX9nWRedWvPgHtK4wwy3MMmwUP
+sXTcr2PFhwgH5PJKZCHsLvu4XPe8fhfC+IG2u8SLauHuYZbuDB0rAAMGCACvTgSx
++5IRPX4FOZWELvKn4PL80TiTN3XwjgvhU93a+EPbLQGtUUrhDjlMlXYlC8xkf+si
+PSNFUwLtwpPCbY/SKB//uvHD/K87wOMJhVXAjXNq2DmVJSI3EOiHY7WDVyj0ZABN
+t0yDhhxPeKHpOA/LLXRWmrUPXLNYTtJ3xuWUljmK94rXvtBDUgVa2sq/hPZMJ1MS
+23yWQ8e+9D86hznl4aDvkM5R7/slId1bTGG3Wyp6sSgVB3UzuFjmyzQwb6qcw6tq
+qFN7nhHwt7zMPLGH4C6Qh6jg+7I9J0zKgkDFwmrRisi00jniwBznQ8gh+vTuGjSl
+ZaKrFZaarjsg9rl7iEkEGBECAAkFAkSs8GwCGwwACgkQAqWmBQt+bPqj2wCfaWWf
+EKr9nFpVPXbnb+DUiMJwkYgAoKCkkWjinFVPzMJ8/NYuewG7t0s3
+=paEI
+-----END PGP PUBLIC KEY BLOCK-----
+pub   1024D/57163A4D 2007-03-08 [expires: 2008-03-07]
+uid                  Dennis E. Kubes <kubes@apache.org>
+sig 3        57163A4D 2007-03-08  Dennis E. Kubes <kubes@apache.org>
+sub   2048g/009F61B1 2007-03-08 [expires: 2008-03-07]
+sig          57163A4D 2007-03-08  Dennis E. Kubes <kubes@apache.org>
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1.4.5 (Cygwin)
+
+mQGiBEXwe5MRBACdKnn1SIT/2LzFndKHZ2aK8G80FyebrbeeiiyiLpvggdvsOLKn
+VHvXkoxyw+hPTxq3voTrKMrkbWTc/df0bbkpMfHpcrUrWNo1oNTZ9VJ5n2PxAP6F
+6BHXMEWNJn2/4kZrDHCzkxOLz7KgfsCK5Xk+HDabj+9d8YVevnA8HGuoTwCglciu
+2/k8O59IAi0zdZXNsn7vMTsD/1H6gDjmJvrwnX6t1BXG/3tiU8yjJBkJ0bY9N2hK
+Dn5B9gH5mrZbxEaMYjDDwvPRqnjTQYt6DUdIlJI6xFTPwJ6120sTcX5O+vw9BCzX
+fzBKzAs90ZrDOreOoCtXnack6plw9Uuouf7R+O5sT7I4BV0u85lTizPl9I6MVTif
+e8GfA/0ah6yf48Zvm2cOFSb7/S8UvvKmoFCr2YTD31/+QEbkrbbQIynW+Fpsfrek
+YrriUr4vzYg3GKM3hWgJqrd9vxwmkDBdK3ECYocDGhsNxoT46Wb8fdz4eAisqEvh
+otsQkFk5AxydcUv5NeLjMfpgdaBAHsQgZxLIQ0IJjY9a5KcstLQiRGVubmlzIEUu
+IEt1YmVzIDxrdWJlc0BhcGFjaGUub3JnPohmBBMRAgAmBQJF8HuTAhsDBQkB4TOA
+BgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQFtbDe1cWOk3nwwCfe4qUYh6m6Bep
+xNVQLlZiiVZ9WLEAn130AJJsLfGdZNKvoxn4Y8H9kNL6uQINBEXwe6EQCACtnr9V
+u3daWEr2ytkRnhAW555eJw8CfIYO3kKmPoQljNJESETfphVU53BxJsjH1EMCviCx
+mKH7tJ0cPK8ASI285QfN2MU3Wq+AaysGKKVe1PHwJ5onA1/7x7/1BIMkAzH7EuN4
+CBeC+Y7LiuvcOTL7llKwomOFJQmW6LDP1bsvofeBSPfI+oXKoLZiVcEdZEn5fWT7
+GkbL0OYBecByca6Tp3UkHFbl1/2l2Bk1iL2BRsLMBKRrI0jRVUERIewu+SKU9+N/
+Efr52P7h9Hp3QSu9fhoGaAkYDmMXZGnjJm4IjuTG81kGrbwSZxtMgM7HO4jV32G2
+U4kq9ci4u280Hj7LAAMGCACrOWBPfugEHGYL6WZ3Mi2twgv/NScyYyDs9NfqSOUO
+lNWiOQx4cXQYtXOlDXcQxnGqfsxnUwvn3Wo6aIQ3JSVTsyKP4eH/kKc7hXyIF/8n
+0wLwfBDW9z7pWCcJVxgCKLAspV6QRhNc3eMEm8SuTC/7APygYS2wqgsqhOon8xYT
+JEAETOPC6gv5jkgKLqMqT+QePrtRSwr2VxnmMHcZ0kZkymheoZEg01+/VGyyIQvL
+nRJSiTQ0ZG5R+arzOQdmhCl8epbJsNrDGgcat2L/jFuwu7fFMNMHzk9lM+pVrxdo
+IQJOwul5awUhn6HZcMMH8IlfmRwlOqBFLgcp4hYVOwV2iE8EGBECAA8FAkXwe6EC
+GwwFCQHhM4AACgkQFtbDe1cWOk3PAQCfaPo9dh6yCyKRrjdxqL7PyrY85K0An0fB
+dvHkWSOQtUJdKA7zGg7lzvIJ
+=hSsV
+-----END PGP PUBLIC KEY BLOCK-----
+pub   1024D/24BCF054 2007-03-27
+uid                  Chris A. Mattmann <mattmann@apache.org>
+sub   4096g/20DC0E32 2007-03-27
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1.4.7 (Darwin)
+
+mQGiBEYIb+oRBACFKKBk/2cevERru7wgEgRZvJSlIwEEEc37Bk9bQrcfXa2VwcZo
+Mbeu/c4NaFCHRracwYQ2he0o7/15WWpbSoQsVmiM/wBw1iXjvU6y14we/y31ApJD
+BhsbqLA7LrOoK6jb9F/IOiN2wApbfGHbfOM5xa1wtlNn9V4WZ46cMtbxIwCg+YLk
+fP6EWaw8BUbWHCGok/tTnMED/Ag/xzMj0BLqUJAngT+WuLUP7a9XyICZvRoKFn+L
+hIoPOcgubKpC1rb0AbG43pzMQ3UVIg+fMxMnVjxPFMn7UINLoYb027DA8Anwqq+m
+c96ChQaKENDtx0aJ9/02B8HhfS4lX9uEzGGPzkri8yvRC+UkxsCuGlf220o4tiG5
+e0cMA/4gZ5ES/iaQUxU0UlQA+FrAAnCoLBZFEavLlp/PPjkIrrheOYffFhznZrbl
+ao+QlNIeLiFsfbNlcHWXrodkaWYwxHdPpm451x0wrkpqbgREaK4wvB4kFXYOf6ay
+serEWBO9Xec+cKysQlQDPXnhzRjumJbPZ6LBtqN5TNbzuenwpLQnQ2hyaXMgQS4g
+TWF0dG1hbm4gPG1hdHRtYW5uQGFwYWNoZS5vcmc+iGAEExECACAFAkYIb+oCGwMG
+CwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRCPIVxaJLzwVCVWAJ0fkwWjoFJCX4rD
+Bn8uyyHBiL1+tQCfUQpFuoVRddzGFIKunoPSUYSvSmi5BA0ERghv6hAQALWZlRly
+d1qIEsHJUfjGTnX40D79iFznkV/2900Ex0GpP53YiL/LGw8hLN8a+Ko420LHwro7
+UsgHaNO5BH5mwWeYSyKR23xKlhuQrtdfS3dLYTfjJ1yANWWeWgw5QW5D7ZeGpjc7
+dGeEKpmi9rQ/VdqPmJLqaC0gmEDiFolWuqXEerwboYZunKXMWZTGbjRei1h4hjm5
+htq5jSSB4IcQpeCTu99P6x3o33YODStG4SDP/J/9LMg2XzuUJ+xd8xM9l3EO4Zb0
+hITqojpi3K3wy+v0xPYZ/RLkb5Ef7cbP8YMIU2CRid7tnpLrp50dVI2++XlDTPDc
+vMMRYM/R3TSyoc/cPaNMlezy8m6puaww5Q8780eMQsoXVPVafhxpcMZU0+X+57iJ
+ohpGYRh6BtPyu85W8hI3drrJGn3gNutkQENcOhKnISOxtcjPHRPnaqFt6XUjRj/Y
+9n7uSVR4d7T8atayGWWuKtWp8L496XjDBJMo62QKbj4aL7vfjOnmeUnMrDlwCtmP
+LcSCgK1eAEHyX26e1A4Cyrag/e+2tl+5mV5GI7isAPLCOGA86QSKb66dIbOlSFia
+9BjSDXd+vzrsTVk/oH8M7ibFl87piI5ABJhOmnksEqACRuLlSbn/aiqaQV4+CqBv
+N+EVYAAncZbEOmappOGLr0xc9teS90fDxi+vAAMHEACu7/SksMQXJntj855l7ALa
+EWT//o9req+RG13v8mOTL3DZqJUNg+YgxpVpkc+8N0txzhJ/8XcKTqaxN7YHgE4N
+42Ot5roAPK/8KKhOTCmAVouxOD2W2hVXmeclcwya4CECpM3Q8B+bSNSd5AnH7oYD
+i9nWcphLahDXwhCndWr6p10OtAkNGeZylVJJQmi5rVHX4CRfoV8RVxwOnIk9ca4q
+36l10ER3xkVhhPO8zouFAk1B63HSXN2tWwOfZRxBaJC0O5ixhs4aylLuOpRw9uZl
+njKHs8KU2xLgUcOQL5rAyjLDr4h7zYkHgGOMe6zHLrym29zBzzjJMDryi4nvh8z0
+i3uS2ydxEkFwddd7fDVaXILEPHSmJYaMgxJeXIARx+ovvDvbnWvliV6SWyGMm+FB
+sEhZ+1mWZDnW8TJzifn3nteXLqd7o2t2kFUxboIcLlPtebhhOJgtZp8GraTjpL0O
+P7E+iEjcdVu/4ULtfECscz9w9VxzYyx5m7zf88ZMTOAzLzUXBN4uPxMEpMrZ5/PK
+m9WnR23XyKEObao2LPFk9feJXjnNNJfN7irB44AlfQlX2uPAuiQyCEm0c6DvdjRd
+vIxV0MEa+WSBaplFlj0ACfs2Hdh6skErvMAzXHBCRshVnXB7hxfHdSKgLebTL4Rn
+7KYWxKB6rwd9jQsv9SRyeohJBBgRAgAJBQJGCG/qAhsMAAoJEI8hXFokvPBUYfIA
+oPLz8+OED4Ec4Pjuuic3HX2Ff0myAKDd74+vKoAC78+CStjf1pSSmy4y4w==
+=mbQZ
+-----END PGP PUBLIC KEY BLOCK-----
Index: /nutchez-0.1/LICENSE.txt
===================================================================
--- /nutchez-0.1/LICENSE.txt	(revision 66)
+++ /nutchez-0.1/LICENSE.txt	(revision 66)
@@ -0,0 +1,5799 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+   
+APACHE NUTCH SUBCOMPONENTS
+   
+lib/commons-httpclient-3.0.1.jar
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+      
+lib/icu4j-4_0_1.jar
+
+ICU license - ICU 1.8.1 and later
+
+   COPYRIGHT AND PERMISSION NOTICE
+
+   Copyright (c) 1995-2006 International Business Machines Corporation and
+   others
+
+   All rights reserved.
+
+   Permission is hereby granted, free of charge, to any person obtaining a
+   copy of this software and associated documentation files (the "Software"),
+   to deal in the Software without restriction, including without limitation
+   the rights to use, copy, modify, merge, publish, distribute, and/or sell
+   copies of the Software, and to permit persons to whom the Software is
+   furnished to do so, provided that the above copyright notice(s) and this
+   permission notice appear in all copies of the Software and that both the
+   above copyright notice(s) and this permission notice appear in supporting
+   documentation.
+
+   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+   IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+   FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY
+   RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS
+   NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
+   DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
+   PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
+   ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
+   THIS SOFTWARE.
+
+   Except as contained in this notice, the name of a copyright holder shall
+   not be used in advertising or otherwise to promote the sale, use or other
+   dealings in this Software without prior written authorization of the
+   copyright holder.
+
+     ----------------------------------------------------------------------
+
+   All trademarks and registered trademarks mentioned herein are the property
+   of their respective owners.
+
+lib/commons-collections-3.2.1.jar
+
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+
+lib/commons-logging-1.0.4.jar
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+
+lib/lucene-misc-2.4.0.jar
+src/plugin/summary-lucene/lib/lucene-highlighter-2.4.0.jar
+lib/lucene-core-2.4.0.jar
+src/plugin/lib-lucene-analyzers/lib/lucene-analyzers-2.4.0.jar
+
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+
+
+Some code in src/java/org/apache/lucene/util/UnicodeUtil.java was
+derived from unicode conversion examples available at
+http://www.unicode.org/Public/PROGRAMS/CVTUTF.  Here is the copyright
+from those sources:
+
+/*
+ * Copyright 2001-2004 Unicode, Inc.
+ * 
+ * Disclaimer
+ * 
+ * This source code is provided as is by Unicode, Inc. No claims are
+ * made as to fitness for any particular purpose. No warranties of any
+ * kind are expressed or implied. The recipient agrees to determine
+ * applicability of information provided. If this file has been
+ * purchased on magnetic or optical media from Unicode, Inc., the
+ * sole remedy for any claim will be exchange of defective media
+ * within 90 days of receipt.
+ * 
+ * Limitations on Rights to Redistribute This Code
+ * 
+ * Unicode, Inc. hereby grants the right to freely use the information
+ * supplied in this file in the creation of products supporting the
+ * Unicode Standard, and to make copies of this file in any form
+ * for internal or external distribution as long as this notice
+ * remains attached.
+ */
+
+
+Some code in src/java/org/apache/lucene/util/ArrayUtil.java was
+derived from Python 2.4.2 sources available at
+http://www.python.org. Full license is here:
+
+  http://www.python.org/download/releases/2.4.2/license/
+
+lib/jakarta-oro-2.0.8.jar
+
+/* ====================================================================
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 2000-2002 The Apache Software Foundation.  All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * 3. The end-user documentation included with the redistribution,
+ *    if any, must include the following acknowledgment:
+ *       "This product includes software developed by the
+ *        Apache Software Foundation (http://www.apache.org/)."
+ *    Alternately, this acknowledgment may appear in the software itself,
+ *    if and wherever such third-party acknowledgments normally appear.
+ *
+ * 4. The names "Apache" and "Apache Software Foundation", "Jakarta-Oro" 
+ *    must not be used to endorse or promote products derived from this
+ *    software without prior written permission. For written
+ *    permission, please contact apache@apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache" 
+ *    or "Jakarta-Oro", nor may "Apache" or "Jakarta-Oro" appear in their 
+ *    name, without prior written permission of the Apache Software Foundation.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation.  For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */
+
+lib/jetty-ext/commons-el.jar
+
+/*
+ * $Header: /home/cvs/jakarta-commons/el/LICENSE.txt,v 1.1.1.1 2003/02/04 00:22:24 luehe Exp $
+ * $Revision: 1.1.1.1 $
+ * $Date: 2003/02/04 00:22:24 $
+ *
+ * ====================================================================
+ *
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 1999-2002 The Apache Software Foundation.  All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * 3. The end-user documentation included with the redistribution, if
+ *    any, must include the following acknowlegement:
+ *       "This product includes software developed by the
+ *        Apache Software Foundation (http://www.apache.org/)."
+ *    Alternately, this acknowlegement may appear in the software itself,
+ *    if and wherever such third-party acknowlegements normally appear.
+ *
+ * 4. The names "The Jakarta Project", "Commons", and "Apache Software
+ *    Foundation" must not be used to endorse or promote products derived
+ *    from this software without prior written permission. For written
+ *    permission, please contact apache@apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache"
+ *    nor may "Apache" appear in their names without prior written
+ *    permission of the Apache Group.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation.  For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ *
+ */
+
+lib/jetty-ext/ant.jar
+
+/*
+ *                                 Apache License
+ *                           Version 2.0, January 2004
+ *                        http://www.apache.org/licenses/
+ *
+ *   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+ *
+ *   1. Definitions.
+ *
+ *      "License" shall mean the terms and conditions for use, reproduction,
+ *      and distribution as defined by Sections 1 through 9 of this document.
+ *
+ *      "Licensor" shall mean the copyright owner or entity authorized by
+ *      the copyright owner that is granting the License.
+ *
+ *      "Legal Entity" shall mean the union of the acting entity and all
+ *      other entities that control, are controlled by, or are under common
+ *      control with that entity. For the purposes of this definition,
+ *      "control" means (i) the power, direct or indirect, to cause the
+ *      direction or management of such entity, whether by contract or
+ *      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ *      outstanding shares, or (iii) beneficial ownership of such entity.
+ *
+ *      "You" (or "Your") shall mean an individual or Legal Entity
+ *      exercising permissions granted by this License.
+ *
+ *      "Source" form shall mean the preferred form for making modifications,
+ *      including but not limited to software source code, documentation
+ *      source, and configuration files.
+ *
+ *      "Object" form shall mean any form resulting from mechanical
+ *      transformation or translation of a Source form, including but
+ *      not limited to compiled object code, generated documentation,
+ *      and conversions to other media types.
+ *
+ *      "Work" shall mean the work of authorship, whether in Source or
+ *      Object form, made available under the License, as indicated by a
+ *      copyright notice that is included in or attached to the work
+ *      (an example is provided in the Appendix below).
+ *
+ *      "Derivative Works" shall mean any work, whether in Source or Object
+ *      form, that is based on (or derived from) the Work and for which the
+ *      editorial revisions, annotations, elaborations, or other modifications
+ *      represent, as a whole, an original work of authorship. For the purposes
+ *      of this License, Derivative Works shall not include works that remain
+ *      separable from, or merely link (or bind by name) to the interfaces of,
+ *      the Work and Derivative Works thereof.
+ *
+ *      "Contribution" shall mean any work of authorship, including
+ *      the original version of the Work and any modifications or additions
+ *      to that Work or Derivative Works thereof, that is intentionally
+ *      submitted to Licensor for inclusion in the Work by the copyright owner
+ *      or by an individual or Legal Entity authorized to submit on behalf of
+ *      the copyright owner. For the purposes of this definition, "submitted"
+ *      means any form of electronic, verbal, or written communication sent
+ *      to the Licensor or its representatives, including but not limited to
+ *      communication on electronic mailing lists, source code control systems,
+ *      and issue tracking systems that are managed by, or on behalf of, the
+ *      Licensor for the purpose of discussing and improving the Work, but
+ *      excluding communication that is conspicuously marked or otherwise
+ *      designated in writing by the copyright owner as "Not a Contribution."
+ *
+ *      "Contributor" shall mean Licensor and any individual or Legal Entity
+ *      on behalf of whom a Contribution has been received by Licensor and
+ *      subsequently incorporated within the Work.
+ *
+ *   2. Grant of Copyright License. Subject to the terms and conditions of
+ *      this License, each Contributor hereby grants to You a perpetual,
+ *      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ *      copyright license to reproduce, prepare Derivative Works of,
+ *      publicly display, publicly perform, sublicense, and distribute the
+ *      Work and such Derivative Works in Source or Object form.
+ *
+ *   3. Grant of Patent License. Subject to the terms and conditions of
+ *      this License, each Contributor hereby grants to You a perpetual,
+ *      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ *      (except as stated in this section) patent license to make, have made,
+ *      use, offer to sell, sell, import, and otherwise transfer the Work,
+ *      where such license applies only to those patent claims licensable
+ *      by such Contributor that are necessarily infringed by their
+ *      Contribution(s) alone or by combination of their Contribution(s)
+ *      with the Work to which such Contribution(s) was submitted. If You
+ *      institute patent litigation against any entity (including a
+ *      cross-claim or counterclaim in a lawsuit) alleging that the Work
+ *      or a Contribution incorporated within the Work constitutes direct
+ *      or contributory patent infringement, then any patent licenses
+ *      granted to You under this License for that Work shall terminate
+ *      as of the date such litigation is filed.
+ *
+ *   4. Redistribution. You may reproduce and distribute copies of the
+ *      Work or Derivative Works thereof in any medium, with or without
+ *      modifications, and in Source or Object form, provided that You
+ *      meet the following conditions:
+ *
+ *      (a) You must give any other recipients of the Work or
+ *          Derivative Works a copy of this License; and
+ *
+ *      (b) You must cause any modified files to carry prominent notices
+ *          stating that You changed the files; and
+ *
+ *      (c) You must retain, in the Source form of any Derivative Works
+ *          that You distribute, all copyright, patent, trademark, and
+ *          attribution notices from the Source form of the Work,
+ *          excluding those notices that do not pertain to any part of
+ *          the Derivative Works; and
+ *
+ *      (d) If the Work includes a "NOTICE" text file as part of its
+ *          distribution, then any Derivative Works that You distribute must
+ *          include a readable copy of the attribution notices contained
+ *          within such NOTICE file, excluding those notices that do not
+ *          pertain to any part of the Derivative Works, in at least one
+ *          of the following places: within a NOTICE text file distributed
+ *          as part of the Derivative Works; within the Source form or
+ *          documentation, if provided along with the Derivative Works; or,
+ *          within a display generated by the Derivative Works, if and
+ *          wherever such third-party notices normally appear. The contents
+ *          of the NOTICE file are for informational purposes only and
+ *          do not modify the License. You may add Your own attribution
+ *          notices within Derivative Works that You distribute, alongside
+ *          or as an addendum to the NOTICE text from the Work, provided
+ *          that such additional attribution notices cannot be construed
+ *          as modifying the License.
+ *
+ *      You may add Your own copyright statement to Your modifications and
+ *      may provide additional or different license terms and conditions
+ *      for use, reproduction, or distribution of Your modifications, or
+ *      for any such Derivative Works as a whole, provided Your use,
+ *      reproduction, and distribution of the Work otherwise complies with
+ *      the conditions stated in this License.
+ *
+ *   5. Submission of Contributions. Unless You explicitly state otherwise,
+ *      any Contribution intentionally submitted for inclusion in the Work
+ *      by You to the Licensor shall be under the terms and conditions of
+ *      this License, without any additional terms or conditions.
+ *      Notwithstanding the above, nothing herein shall supersede or modify
+ *      the terms of any separate license agreement you may have executed
+ *      with Licensor regarding such Contributions.
+ *
+ *   6. Trademarks. This License does not grant permission to use the trade
+ *      names, trademarks, service marks, or product names of the Licensor,
+ *      except as required for reasonable and customary use in describing the
+ *      origin of the Work and reproducing the content of the NOTICE file.
+ *
+ *   7. Disclaimer of Warranty. Unless required by applicable law or
+ *      agreed to in writing, Licensor provides the Work (and each
+ *      Contributor provides its Contributions) on an "AS IS" BASIS,
+ *      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ *      implied, including, without limitation, any warranties or conditions
+ *      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ *      PARTICULAR PURPOSE. You are solely responsible for determining the
+ *      appropriateness of using or redistributing the Work and assume any
+ *      risks associated with Your exercise of permissions under this License.
+ *
+ *   8. Limitation of Liability. In no event and under no legal theory,
+ *      whether in tort (including negligence), contract, or otherwise,
+ *      unless required by applicable law (such as deliberate and grossly
+ *      negligent acts) or agreed to in writing, shall any Contributor be
+ *      liable to You for damages, including any direct, indirect, special,
+ *      incidental, or consequential damages of any character arising as a
+ *      result of this License or out of the use or inability to use the
+ *      Work (including but not limited to damages for loss of goodwill,
+ *      work stoppage, computer failure or malfunction, or any and all
+ *      other commercial damages or losses), even if such Contributor
+ *      has been advised of the possibility of such damages.
+ *
+ *   9. Accepting Warranty or Additional Liability. While redistributing
+ *      the Work or Derivative Works thereof, You may choose to offer,
+ *      and charge a fee for, acceptance of support, warranty, indemnity,
+ *      or other liability obligations and/or rights consistent with this
+ *      License. However, in accepting such obligations, You may act only
+ *      on Your own behalf and on Your sole responsibility, not on behalf
+ *      of any other Contributor, and only if You agree to indemnify,
+ *      defend, and hold each Contributor harmless for any liability
+ *      incurred by, or claims asserted against, such Contributor by reason
+ *      of your accepting any such warranty or additional liability.
+ *
+ *   END OF TERMS AND CONDITIONS
+ *
+ *   APPENDIX: How to apply the Apache License to your work.
+ *
+ *      To apply the Apache License to your work, attach the following
+ *      boilerplate notice, with the fields enclosed by brackets "[]"
+ *      replaced with your own identifying information. (Don't include
+ *      the brackets!)  The text should be enclosed in the appropriate
+ *      comment syntax for the file format. We also recommend that a
+ *      file or class name and description of purpose be included on the
+ *      same "printed page" as the copyright notice for easier
+ *      identification within third-party archives.
+ *
+ *   Copyright [yyyy] [name of copyright owner]
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License");
+ *   you may not use this file except in compliance with the License.
+ *   You may obtain a copy of the License at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   Unless required by applicable law or agreed to in writing, software
+ *   distributed under the License is distributed on an "AS IS" BASIS,
+ *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *   See the License for the specific language governing permissions and
+ *   limitations under the License.
+ */
+
+
+lib/jetty-ext/jsp-api.jar
+ASF
+
+lib/jetty-ext/jasper-runtime.jar
+ASF
+
+lib/jetty-ext/jasper-compiler.jar
+ASF
+
+lib/hadoop-0.19.1-core.jar
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+
+APACHE HADOOP SUBCOMPONENTS:
+
+The Apache Hadoop project contains subcomponents with separate copyright
+notices and license terms. Your use of the source code for the these
+subcomponents is subject to the terms and conditions of the following
+licenses. 
+
+For the org.apache.hadoop.util.bloom.* classes:
+
+/**
+ *
+ * Copyright (c) 2005, European Commission project OneLab under contract
+ * 034819 (http://www.one-lab.org)
+ * All rights reserved.
+ * Redistribution and use in source and binary forms, with or 
+ * without modification, are permitted provided that the following 
+ * conditions are met:
+ *  - Redistributions of source code must retain the above copyright 
+ *    notice, this list of conditions and the following disclaimer.
+ *  - Redistributions in binary form must reproduce the above copyright 
+ *    notice, this list of conditions and the following disclaimer in 
+ *    the documentation and/or other materials provided with the distribution.
+ *  - Neither the name of the University Catholique de Louvain - UCL
+ *    nor the names of its contributors may be used to endorse or 
+ *    promote products derived from this software without specific prior 
+ *    written permission.
+ *    
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 
+ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+lib/apache-solr-common-1.3.0.jar
+lib/apache-solr-solrj-1.3.0.jar
+
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+
+==========================================================================
+Portions of Jetty 6 are bundled in the Solr example server.
+Jetty 6 includes a binary javax.servlet package licensed under the
+Common Development and Distribution License.
+--------------------------------------------------------------------------
+COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0
+
+1. Definitions.
+
+1.1. Contributor means each individual or entity that creates or contributes to
+the creation of Modifications.
+
+1.2. Contributor Version means the combination of the Original Software, prior
+Modifications used by a Contributor (if any), and the Modifications made by
+that particular Contributor.
+
+1.3. Covered Software means (a) the Original Software, or (b) Modifications, or
+(c) the combination of files containing Original Software with files containing
+Modifications, in each case including portions thereof.
+
+1.4. Executable means the Covered Software in any form other than Source Code.
+
+1.5. Initial Developer means the individual or entity that first makes Original
+Software available under this License.
+
+1.6. Larger Work means a work which combines Covered Software or portions
+thereof with code not governed by the terms of this License.
+
+1.7. License means this document.
+
+1.8. Licensable means having the right to grant, to the maximum extent
+possible, whether at the time of the initial grant or subsequently acquired,
+any and all of the rights conveyed herein.
+
+1.9. Modifications means the Source Code and Executable form of any of the
+following:
+
+A. Any file that results from an addition to, deletion from or modification of
+the contents of a file containing Original Software or previous Modifications;
+
+B. Any new file that contains any part of the Original Software or previous
+Modification; or
+
+C. Any new file that is contributed or otherwise made available under the terms
+of this License.
+
+1.10. Original Software means the Source Code and Executable form of computer
+software code that is originally released under this License.
+
+1.11. Patent Claims means any patent claim(s), now owned or hereafter acquired,
+including without limitation, method, process, and apparatus claims, in any
+patent Licensable by grantor.
+
+1.12. Source Code means (a) the common form of computer software code in which
+modifications are made and (b) associated documentation included in or with
+such code.
+
+1.13. You (or Your) means an individual or a legal entity exercising rights
+under, and complying with all of the terms of, this License. For legal
+entities, You includes any entity which controls, is controlled by, or is under
+common control with You. For purposes of this definition, control means (a)áthe
+power, direct or indirect, to cause the direction or management of such entity,
+whether by contract or otherwise, or (b)áownership of more than fifty percent
+(50%) of the outstanding shares or beneficial ownership of such entity.
+
+2. License Grants.
+
+2.1. The Initial Developer Grant.  Conditioned upon Your compliance with
+Section 3.1 below and subject to third party intellectual property claims, the
+Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive
+license: (a) under intellectual property rights (other than patent or
+trademark) Licensable by Initial Developer, to use, reproduce, modify, display,
+perform, sublicense and distribute the Original Software (or portions thereof),
+with or without Modifications, and/or as part of a Larger Work; and (b) under
+Patent Claims infringed by the making, using or selling of Original Software,
+to make, have made, use, practice, sell, and offer for sale, and/or otherwise
+dispose of the Original Software (or portions thereof).  (c) The licenses
+granted in Sectionsá2.1(a) and (b) are effective on the date Initial Developer
+first distributes or otherwise makes the Original Software available to a third
+party under the terms of this License.  (d) Notwithstanding Sectioná2.1(b)
+above, no patent license is granted: (1)áfor code that You delete from the
+Original Software, or (2)áfor infringements caused by: (i)áthe modification of
+the Original Software, or (ii)áthe combination of the Original Software with
+other software or devices.
+
+2.2. Contributor Grant.  Conditioned upon Your compliance with Section 3.1
+below and subject to third party intellectual property claims, each Contributor
+hereby grants You a world-wide, royalty-free, non-exclusive license: (a) under
+intellectual property rights (other than patent or trademark) Licensable by
+Contributor to use, reproduce, modify, display, perform, sublicense and
+distribute the Modifications created by such Contributor (or portions thereof),
+either on an unmodified basis, with other Modifications, as Covered Software
+and/or as part of a Larger Work; and (b) under Patent Claims infringed by the
+making, using, or selling of Modifications made by that Contributor either
+alone and/or in combination with its Contributor Version (or portions of such
+combination), to make, use, sell, offer for sale, have made, and/or otherwise
+dispose of: (1)áModifications made by that Contributor (or portions thereof);
+and (2)áthe combination of Modifications made by that Contributor with its
+Contributor Version (or portions of such combination).  (c) The licenses
+granted in Sectionsá2.2(a) and 2.2(b) are effective on the date Contributor
+first distributes or otherwise makes the Modifications available to a third
+party.  (d) Notwithstanding Sectioná2.2(b) above, no patent license is granted:
+(1)áfor any code that Contributor has deleted from the Contributor Version;
+(2)áfor infringements caused by: (i)áthird party modifications of Contributor
+Version, or (ii)áthe combination of Modifications made by that Contributor with
+other software (except as part of the Contributor Version) or other devices; or
+(3)áunder Patent Claims infringed by Covered Software in the absence of
+Modifications made by that Contributor.
+
+3. Distribution Obligations.
+
+3.1. Availability of Source Code.
+
+Any Covered Software that You distribute or otherwise make available in
+Executable form must also be made available in Source Code form and that Source
+Code form must be distributed only under the terms of this License. You must
+include a copy of this License with every copy of the Source Code form of the
+Covered Software You distribute or otherwise make available. You must inform
+recipients of any such Covered Software in Executable form as to how they can
+obtain such Covered Software in Source Code form in a reasonable manner on or
+through a medium customarily used for software exchange.
+
+3.2. Modifications.
+
+The Modifications that You create or to which You contribute are governed by
+the terms of this License. You represent that You believe Your Modifications
+are Your original creation(s) and/or You have sufficient rights to grant the
+rights conveyed by this License.
+
+3.3. Required Notices.  You must include a notice in each of Your Modifications
+that identifies You as the Contributor of the Modification. You may not remove
+or alter any copyright, patent or trademark notices contained within the
+Covered Software, or any notices of licensing or any descriptive text giving
+attribution to any Contributor or the Initial Developer.
+
+3.4. Application of Additional Terms.  You may not offer or impose any terms on
+any Covered Software in Source Code form that alters or restricts the
+applicable version of this License or the recipients rights hereunder. You may
+choose to offer, and to charge a fee for, warranty, support, indemnity or
+liability obligations to one or more recipients of Covered Software. However,
+you may do so only on Your own behalf, and not on behalf of the Initial
+Developer or any Contributor. You must make it absolutely clear that any such
+warranty, support, indemnity or liability obligation is offered by You alone,
+and You hereby agree to indemnify the Initial Developer and every Contributor
+for any liability incurred by the Initial Developer or such Contributor as a
+result of warranty, support, indemnity or liability terms You offer.
+
+3.5. Distribution of Executable Versions.  You may distribute the Executable
+form of the Covered Software under the terms of this License or under the terms
+of a license of Your choice, which may contain terms different from this
+License, provided that You are in compliance with the terms of this License and
+that the license for the Executable form does not attempt to limit or alter the
+recipients rights in the Source Code form from the rights set forth in this
+License. If You distribute the Covered Software in Executable form under a
+different license, You must make it absolutely clear that any terms which
+differ from this License are offered by You alone, not by the Initial Developer
+or Contributor. You hereby agree to indemnify the Initial Developer and every
+Contributor for any liability incurred by the Initial Developer or such
+Contributor as a result of any such terms You offer.
+
+3.6. Larger Works.  You may create a Larger Work by combining Covered Software
+with other code not governed by the terms of this License and distribute the
+Larger Work as a single product. In such a case, You must make sure the
+requirements of this License are fulfilled for the Covered Software.
+
+4. Versions of the License.
+
+4.1. New Versions.  Sun Microsystems, Inc. is the initial license steward and
+may publish revised and/or new versions of this License from time to time. Each
+version will be given a distinguishing version number. Except as provided in
+Section 4.3, no one other than the license steward has the right to modify this
+License.
+
+4.2. Effect of New Versions.
+
+You may always continue to use, distribute or otherwise make the Covered
+Software available under the terms of the version of the License under which
+You originally received the Covered Software. If the Initial Developer includes
+a notice in the Original Software prohibiting it from being distributed or
+otherwise made available under any subsequent version of the License, You must
+distribute and make the Covered Software available under the terms of the
+version of the License under which You originally received the Covered
+Software. Otherwise, You may also choose to use, distribute or otherwise make
+the Covered Software available under the terms of any subsequent version of the
+License published by the license steward.  4.3. Modified Versions.
+
+When You are an Initial Developer and You want to create a new license for Your
+Original Software, You may create and use a modified version of this License if
+You: (a)árename the license and remove any references to the name of the
+license steward (except to note that the license differs from this License);
+and (b)áotherwise make it clear that the license contains terms which differ
+from this License.
+
+5. DISCLAIMER OF WARRANTY.
+
+COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN AS IS BASIS, WITHOUT
+WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT
+LIMITATION, WARRANTIES THAT THE COVERED SOFTWARE IS FREE OF DEFECTS,
+MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK
+AS TO THE QUALITY AND PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU. SHOULD
+ANY COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL
+DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING,
+REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART
+OF THIS LICENSE. NO USE OF ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT
+UNDER THIS DISCLAIMER.
+
+6. TERMINATION.
+
+6.1. This License and the rights granted hereunder will terminate automatically
+if You fail to comply with terms herein and fail to cure such breach within 30
+days of becoming aware of the breach. Provisions which, by their nature, must
+remain in effect beyond the termination of this License shall survive.
+
+6.2. If You assert a patent infringement claim (excluding declaratory judgment
+actions) against Initial Developer or a Contributor (the Initial Developer or
+Contributor against whom You assert such claim is referred to as Participant)
+alleging that the Participant Software (meaning the Contributor Version where
+the Participant is a Contributor or the Original Software where the Participant
+is the Initial Developer) directly or indirectly infringes any patent, then any
+and all rights granted directly or indirectly to You by such Participant, the
+Initial Developer (if the Initial Developer is not the Participant) and all
+Contributors under Sectionsá2.1 and/or 2.2 of this License shall, upon 60 days
+notice from Participant terminate prospectively and automatically at the
+expiration of such 60 day notice period, unless if within such 60 day period
+You withdraw Your claim with respect to the Participant Software against such
+Participant either unilaterally or pursuant to a written agreement with
+Participant.
+
+6.3. In the event of termination under Sectionsá6.1 or 6.2 above, all end user
+licenses that have been validly granted by You or any distributor hereunder
+prior to termination (excluding licenses granted to You by any distributor)
+shall survive termination.
+
+7. LIMITATION OF LIABILITY.
+
+UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING
+NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL DEVELOPER, ANY
+OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED SOFTWARE, OR ANY SUPPLIER OF
+ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL,
+INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT
+LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER
+FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN
+IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS
+LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL
+INJURY RESULTING FROM SUCH PARTYS NEGLIGENCE TO THE EXTENT APPLICABLE LAW
+PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR
+LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND
+LIMITATION MAY NOT APPLY TO YOU.
+
+8. U.S. GOVERNMENT END USERS.
+
+The Covered Software is a commercial item, as that term is defined in
+48áC.F.R.á2.101 (Oct. 1995), consisting of commercial computer software (as
+that term is defined at 48 C.F.R. á252.227-7014(a)(1)) and commercial computer
+software documentation as such terms are used in 48áC.F.R.á12.212 (Sept. 1995).
+Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4
+(June 1995), all U.S. Government End Users acquire Covered Software with only
+those rights set forth herein. This U.S. Government Rights clause is in lieu
+of, and supersedes, any other FAR, DFAR, or other clause or provision that
+addresses Government rights in computer software under this License.
+
+9. MISCELLANEOUS.
+
+This License represents the complete agreement concerning subject matter
+hereof. If any provision of this License is held to be unenforceable, such
+provision shall be reformed only to the extent necessary to make it
+enforceable. This License shall be governed by the law of the jurisdiction
+specified in a notice contained within the Original Software (except to the
+extent applicable law, if any, provides otherwise), excluding such
+jurisdictions conflict-of-law provisions. Any litigation relating to this
+License shall be subject to the jurisdiction of the courts located in the
+jurisdiction and venue specified in a notice contained within the Original
+Software, with the losing party responsible for costs, including, without
+limitation, court costs and reasonable attorneys fees and expenses. The
+application of the United Nations Convention on Contracts for the International
+Sale of Goods is expressly excluded. Any law or regulation which provides that
+the language of a contract shall be construed against the drafter shall not
+apply to this License. You agree that You alone are responsible for compliance
+with the United States export administration regulations (and the export
+control laws and regulation of any other countries) when You use, distribute or
+otherwise make available any Covered Software.
+
+10. RESPONSIBILITY FOR CLAIMS.
+
+As between Initial Developer and the Contributors, each party is responsible
+for claims and damages arising, directly or indirectly, out of its utilization
+of rights under this License and You agree to work with Initial Developer and
+Contributors to distribute such responsibility on an equitable basis. Nothing
+herein is intended or shall be deemed to constitute any admission of liability.
+
+NOTICE PURSUANT TO SECTION 9 OF THE COMMON DEVELOPMENT AND DISTRIBUTION LICENSE
+(CDDL) The GlassFish code released under the CDDL shall be governed by the laws
+of the State of California (excluding conflict-of-law provisions). Any
+litigation relating to this License shall be subject to the jurisdiction of the
+Federal Courts of the Northern District of California and the state courts of
+the State of California, with venue lying in Santa Clara County, California. 
+
+
+==========================================================================
+The following license applies to parts of the lucene-snowball jar
+that are generated from the snowball sources at http://snowball.tartarus.org/
+--------------------------------------------------------------------------
+The BSD License
+
+Copyright (c) 2001, Dr Martin Porter, Copyright (c) 2002, Richard Boulton
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright notice,
+      this list of conditions and the following disclaimer.
+
+    * Redistributions in binary form must reproduce the above copyright notice,
+      this list of conditions and the following disclaimer in the documentation
+      and/or other materials provided with the distribution.
+
+    * Neither the name of the <ORGANIZATION> nor the names of its contributors
+      may be used to endorse or promote products derived from this software
+      without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+==========================================================================
+The following license applies to easymock.jar
+--------------------------------------------------------------------------
+EasyMock 2 License (MIT License)
+Copyright (c) 2001-2007 OFFIS, Tammo Freese.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of 
+this software and associated documentation files (the "Software"), to deal in 
+the Software without restriction, including without limitation the rights to 
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies 
+of the Software, and to permit persons to whom the Software is furnished to do 
+so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all 
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 
+SOFTWARE. 
+
+==========================================================================
+The following license applies to the JQuery JavaScript library
+--------------------------------------------------------------------------
+Copyright (c) 2008 John Resig, http://jquery.com/
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+==========================================================================
+The following license applies to stax-utils.jar
+--------------------------------------------------------------------------
+Copyright (c) 2004, Christian Niles, unit12.net
+Copyright (c) 2004, Sun Microsystems, Inc.
+Copyright (c) 2006, John Kristian 
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+    * Redistributions of source code must retain the above copyright
+      notice, this list of conditions and the following disclaimer.
+
+    * Redistributions in binary form must reproduce the above
+      copyright notice, this list of conditions and the following
+      disclaimer in the documentation and/or other materials provided
+      with the distribution.
+
+    * Neither the name of the listed copyright holders nor the names
+      of its contributors may be used to endorse or promote products
+      derived from this software without specific prior written
+      permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+==========================================================================
+The following license applies to JUnit
+--------------------------------------------------------------------------
+Common Public License - v 1.0
+
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+1. DEFINITIONS
+
+"Contribution" means:
+
+      a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and
+      b) in the case of each subsequent Contributor:
+
+      i) changes to the Program, and
+
+      ii) additions to the Program;
+
+      where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program. 
+
+"Contributor" means any person or entity that distributes the Program.
+
+"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.
+
+"Program" means the Contributions distributed in accordance with this Agreement.
+
+"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.
+
+2. GRANT OF RIGHTS
+
+      a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.
+
+      b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder. 
+
+      c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.
+
+      d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. 
+
+3. REQUIREMENTS
+
+A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:
+
+      a) it complies with the terms and conditions of this Agreement; and
+
+      b) its license agreement:
+
+      i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; 
+
+      ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; 
+
+      iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and
+
+      iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange. 
+
+When the Program is made available in source code form:
+
+      a) it must be made available under this Agreement; and 
+
+      b) a copy of this Agreement must be included with each copy of the Program. 
+
+Contributors may not remove or alter any copyright notices contained within the Program.
+
+Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.
+
+4. COMMERCIAL DISTRIBUTION
+
+Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense.
+
+For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.
+
+5. NO WARRANTY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.
+
+6. DISCLAIMER OF LIABILITY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. GENERAL
+
+If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed. In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed.
+
+All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.
+
+Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward. IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved.
+
+This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation.
+
+
+lib/xerces-2_6_2-apis.jar
+
+xml-commons/java/external/LICENSE.sax.txt $Id: LICENSE.sax.txt,v 1.1 2002/01/31 23:26:48 curcuru Exp $
+
+
+This license came from: http://www.megginson.com/SAX/copying.html
+  However please note future versions of SAX may be covered 
+  under http://saxproject.org/?selected=pd
+
+
+This page is now out of date -- see the new SAX site at 
+http://www.saxproject.org/ for more up-to-date
+releases and other information. Please change your bookmarks.
+
+
+SAX2 is Free!
+
+I hereby abandon any property rights to SAX 2.0 (the Simple API for
+XML), and release all of the SAX 2.0 source code, compiled code, and
+documentation contained in this distribution into the Public Domain.
+SAX comes with NO WARRANTY or guarantee of fitness for any
+purpose.
+
+David Megginson, david@megginson.com
+2000-05-05
+
+
+xml-commons/java/external/LICENSE.dom-software.txt $Id: LICENSE.dom-software.txt,v 1.1 2002/01/31 23:13:42 curcuru Exp $
+
+
+This license came from: http://www.w3.org/Consortium/Legal/copyright-software-19980720
+
+
+W3C® SOFTWARE NOTICE AND LICENSE
+Copyright © 1994-2001 World
+Wide Web Consortium, <a href="http://www.w3.org/">World
+Wide Web Consortium</a>, (<a href=
+"http://www.lcs.mit.edu/">Massachusetts Institute of
+Technology</a>, <a href="http://www.inria.fr/">Institut National de
+Recherche en Informatique et en Automatique</a>, <a href=
+"http://www.keio.ac.jp/">Keio University</a>). All Rights Reserved.
+http://www.w3.org/Consortium/Legal/
+
+This W3C work (including software, documents, or other related
+items) is being provided by the copyright holders under the
+following license. By obtaining, using and/or copying this work,
+you (the licensee) agree that you have read, understood, and will
+comply with the following terms and conditions:
+Permission to use, copy, modify, and distribute this software
+and its documentation, with or without modification,  for any
+purpose and without fee or royalty is hereby granted, provided that
+you include the following on ALL copies of the software and
+documentation or portions thereof, including modifications, that
+you make:
+
+The full text of this NOTICE in a location viewable to users of
+the redistributed or derivative work.
+
+Any pre-existing intellectual property disclaimers, notices, or
+terms and conditions. If none exist, a short notice of the
+following form (hypertext is preferred, text is permitted) should
+be used within the body of any redistributed or derivative code:
+"Copyright © [$date-of-software] World Wide Web Consortium, (Massachusetts Institute of
+Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All Rights Reserved.
+http://www.w3.org/Consortium/Legal/"
+
+Notice of any changes or modifications to the W3C files,
+including the date changes were made. (We recommend you provide 
+URIs to the location from which the code is derived.)
+
+THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND
+COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF
+MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE
+USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD
+PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
+COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT,
+SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE
+SOFTWARE OR DOCUMENTATION.
+
+The name and trademarks of copyright holders may NOT be used in
+advertising or publicity pertaining to the software without
+specific, written prior permission. Title to copyright in this
+software and any associated documentation will at all times remain
+with copyright holders.
+____________________________________
+This formulation of W3C's notice and license became active on
+August 14 1998 so as to improve compatibility with GPL. This
+version ensures that W3C software licensing terms are no more
+restrictive than GPL and consequently W3C software may be
+distributed in GPL packages. See the older formulation for the
+policy prior to this date. Please see our Copyright FAQ for common 
+questions about using materials from
+our site, including specific terms and conditions for packages like
+libwww, Amaya, and Jigsaw. 
+Other questions about this notice can be
+directed to site-policy@w3.org.
+
+webmaster
+(last updated $Date: 2002/01/31 23:13:42 $)
+
+lib/commons-cli-2.0-SNAPSHOT.jar
+
+                   Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+
+lib/commons-codec-1.3.jar
+
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+lib/xerces-2_6_2.jar
+ASF
+
+lib/jetty-5.1.4.jar
+
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+lib/commons-lang-2.1.jar
+
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+lib/commons-beanutils-1.8.0.jar
+
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+
+lib/commons-logging-api-1.0.4.jar
+
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+lib/servlet-api.jar
+ASF
+
+lib/jets3t-0.6.1.jar
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+
+lib/tika-0.1-incubating.jar
+
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+lib/junit-3.8.1.jar
+
+Common Public License Version 1.0
+
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+1. DEFINITIONS
+
+"Contribution" means:
+
+    a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and
+
+    b) in the case of each subsequent Contributor:
+
+    i) changes to the Program, and
+
+    ii) additions to the Program;
+
+    where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.
+
+"Contributor" means any person or entity that distributes the Program.
+
+"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.
+
+"Program" means the Contributions distributed in accordance with this Agreement.
+
+"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.
+
+2. GRANT OF RIGHTS
+
+    a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.
+
+    b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder.
+
+    c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.
+
+    d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement.
+
+3. REQUIREMENTS
+
+A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:
+
+    a) it complies with the terms and conditions of this Agreement; and
+
+    b) its license agreement:
+
+    i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose;
+
+    ii) effectively excludes on behalf of all Cntributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits;
+
+    iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and
+
+    iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange. 
+
+When the Program is made available in source code form:
+
+    a) it must be made available under this Agreement; and
+
+    b) a copy of this Agreement must be included with each copy of the Program. 
+
+Contributors may not remove or alter any copyright notices contained within the Program.
+
+Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.
+
+4. COMMERCIAL DISTRIBUTION
+
+Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense.
+
+For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.
+
+5. NO WARRANTY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.
+
+6. DISCLAIMER OF LIABILITY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PR LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. GENERAL
+
+If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed. In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed.
+
+All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.
+
+Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward. IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved.
+
+This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation.
+OFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. GENERAL
+
+If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed. In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed.
+
+All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.
+
+Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward. IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved.
+
+This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation.
+
+lib/taglibs-i18n.jar
+ASF
+
+lib/log4j-1.2.15.jar
+ASF
+
+src/plugin/parse-rss/lib/xmlrpc-1.2.jar
+ASF
+
+src/plugin/parse-rss/lib/commons-feedparser-0.6-fork.jar
+ASF
+
+src/plugin/feed/lib/rome-0.9.jar
+Copyright 2004 Sun Microsystems, Inc.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+src/plugin/lib-jakarta-poi/lib/poi-scratchpad-3.5-beta4-20081128.jar
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+
+
+
+Office Open XML (OOXML) xsds:
+-----------------------------
+
+These were downloaded as part of the Office Open XML ECMA Specification 
+from <http://www.ecma-international.org/publications/standards/Ecma-376.htm>
+
+These are included within the Apache POI distribution, and are available
+under compatible licensing terms.
+
+Copyright - ECMA International, "made available without restriction"
+    http://www.ecma-international.org/memento/Ecmabylaws.htm - section 9.4
+Patent License - Microsoft Open Specification Promise (OSP) 
+    http://www.microsoft.com/interop/osp/
+
+
+src/plugin/lib-jakarta-poi/lib/poi-3.5-beta4-20081128.jar
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+
+
+
+Office Open XML (OOXML) xsds:
+-----------------------------
+
+These were downloaded as part of the Office Open XML ECMA Specification 
+from <http://www.ecma-international.org/publications/standards/Ecma-376.htm>
+
+These are included within the Apache POI distribution, and are available
+under compatible licensing terms.
+
+Copyright - ECMA International, "made available without restriction"
+    http://www.ecma-international.org/memento/Ecmabylaws.htm - section 9.4
+Patent License - Microsoft Open Specification Promise (OSP) 
+    http://www.microsoft.com/interop/osp/
+
+src/plugin/urlfilter-automaton/lib/automaton.jar
+
+dk.brics.automaton
+------------------
+
+Copyright (C) 2001-2004 Anders Moeller
+
+This source code in this package may be used under the terms of the
+BSD license.  Please read the file 'COPYING' for details.
+
+This package contains a full DFA/NFA implementation with Unicode
+alphabet and support for all standard regular expression operations.
+
+For more information, go to the package home page at
+http://www.brics.dk/~amoeller/automaton/
+
+
+Anders Moeller
+amoeller@brics.dk
+
+src/plugin/lib-nekohtml/lib/nekohtml-0.9.4.jar
+
+The CyberNeko Software License, Version 1.0
+
+ 
+(C) Copyright 2002,2003, Andy Clark.  All rights reserved.
+ 
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer. 
+
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in
+   the documentation and/or other materials provided with the
+   distribution.
+
+3. The end-user documentation included with the redistribution,
+   if any, must include the following acknowledgment:  
+     "This product includes software developed by Andy Clark."
+   Alternately, this acknowledgment may appear in the software itself,
+   if and wherever such third-party acknowledgments normally appear.
+
+4. The names "CyberNeko" and "NekoHTML" must not be used to endorse
+   or promote products derived from this software without prior 
+   written permission. For written permission, please contact 
+   andy@cyberneko.net.
+
+5. Products derived from this software may not be called "CyberNeko",
+   nor may "CyberNeko" appear in their name, without prior written
+   permission of the author.
+
+THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR OTHER CONTRIBUTORS
+BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, 
+OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT 
+OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 
+BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 
+OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+====================================================================
+
+This license is based on the Apache Software License, version 1.1.
+
+
+src/plugin/clustering-carrot2/lib/violinstrings-1.0.2.jar
+
+Copyright (c) Michael Schmeling 1998, 2000 - All Rights Reserved
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, provided that the above copyright notice(s) and this
+permission notice appear in all copies of the Software and that both the
+above copyright notice(s) and this permission notice appear in supporting
+documentation.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS.
+IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE
+BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES,
+OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+Except as contained in this notice, the name of a copyright holder shall
+not be used in advertising or otherwise to promote the sale, use or other
+dealings in this Software without prior written authorization of the
+copyright holder.
+
+src/plugin/clustering-carrot2/lib/carrot2-util-common.jar
+src/plugin/clustering-carrot2/lib/carrot2-filter-lingo.jar
+src/plugin/clustering-carrot2/lib/carrot2-snowball-stemmers.jar
+src/plugin/clustering-carrot2/lib/carrot2-util-tokenizer.jar
+src/plugin/clustering-carrot2/lib/carrot2-local-core.jar
+
+
+Carrot2 Project
+
+Copyright (C) 2002-2006, Dawid Weiss, Stanis�aw Osi�ski.
+Portions (C) Contributors listed in "carrot2.CONTRIBUTORS" file.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+- Redistributions of  source code must  retain the above  copyright notice, this
+  list of conditions and the following disclaimer. 
+
+- Redistributions in binary form must reproduce the above copyright notice, this
+  list of conditions and the following  disclaimer in  the documentation  and/or
+  other materials provided with the distribution. 
+
+- Neither the name  of the Poznan University  of Technology, Poznan, Poland  nor
+  the names  of  its contributors may  be used  to endorse  or promote  products 
+  derived from this software without specific prior written permission.
+
+- We request that  you include in the  end-user documentation provided with  the
+  redistribution and/or in the software itself  an acknowledgement equivalent to
+  the following: "This  product  includes  software  developed  by  the  Carrot2
+  Project."
+  
+- No algorithms or technical solutions in the project may be patented or claimed
+  proprietary.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"  AND
+ANY EXPRESS OR  IMPLIED WARRANTIES, INCLUDING,  BUT NOT LIMITED  TO, THE IMPLIED
+WARRANTIES  OF  MERCHANTABILITY  AND  FITNESS  FOR  A  PARTICULAR  PURPOSE   ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE  FOR
+ANY DIRECT, INDIRECT, INCIDENTAL,  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL  DAMAGES
+(INCLUDING, BUT  NOT LIMITED  TO, PROCUREMENT  OF SUBSTITUTE  GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS;  OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND  ON
+ANY  THEORY  OF  LIABILITY,  WHETHER  IN  CONTRACT,  STRICT  LIABILITY,  OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE)  ARISING IN ANY WAY  OUT OF THE USE  OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+src/plugin/clustering-carrot2/lib/commons-collections-3.2.jar
+ASF
+
+src/plugin/clustering-carrot2/lib/Jama-1.0.2.jar
+
+Copyright Notice This software is a cooperative product of The MathWorks and the 
+National Institute of Standards and Technology (NIST) which has been released to 
+the public domain. Neither The MathWorks nor NIST assumes any responsibility 
+whatsoever for its use by other parties, and makes no guarantees, expressed or 
+implied, about its quality, reliability, or any other characteristic. 
+
+src/plugin/clustering-carrot2/lib/commons-pool-1.3.jar
+ASF
+
+src/plugin/protocol-ftp/lib/commons-net-1.2.0-dev.jar
+ASF
+
+src/plugin/ontology/lib/jena-2.1.jar
+
+/*
+ * (c) Copyright 2000, 2001, 2002, 2003, 2004 Hewlett-Packard Development Company, LP
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+
+This product includes software developed by the
+Apache Software Foundation (http://www.apache.org/).
+
+src/plugin/parse-swf/lib/javaswf.jar
+
+
+  Copyright (c) 2001-2005, David N. Main, All rights reserved.
+  
+  Redistribution and use in source and binary forms, with or
+  without modification, are permitted provided that the 
+  following conditions are met:
+ 
+  1. Redistributions of source code must retain the above 
+  copyright notice, this list of conditions and the following 
+  disclaimer. 
+  
+  2. Redistributions in binary form must reproduce the above 
+  copyright notice, this list of conditions and the following 
+  disclaimer in the documentation and/or other materials 
+  provided with the distribution.
+  
+  3. The name of the author may not be used to endorse or 
+  promote products derived from this software without specific 
+  prior written permission. 
+  
+  THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY 
+  EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 
+  THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 
+  PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 
+  AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
+  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 
+  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
+  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 
+  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 
+  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+src/plugin/response-json/lib/json-lib-2.2.2-jdk15.jar
+
+                                Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+src/plugin/response-json/lib/ezmorph-1.0.6.jar
+
+                      Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+src/plugin/parse-html/lib/tagsoup-1.2.jar
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+src/plugin/parse-pdf/lib/PDFBox-0.7.4-dev.jar
+
+Copyright (c) 2003-2005, www.pdfbox.org
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice,
+   this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright notice,
+   this list of conditions and the following disclaimer in the documentation
+   and/or other materials provided with the distribution.
+3. Neither the name of pdfbox; nor the names of its
+   contributors may be used to endorse or promote products derived from this
+   software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+src/plugin/parse-pdf/lib/JempBox-0.2.0.jar
+
+Copyright (c) 2006-2007, www.jempbox.org
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice,
+   this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright notice,
+   this list of conditions and the following disclaimer in the documentation
+   and/or other materials provided with the distribution.
+3. Neither the name of pdfbox; nor the names of its
+   contributors may be used to endorse or promote products derived from this
+   software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+src/plugin/parse-pdf/lib/FontBox-0.2.0-dev.jar
+
+Copyright (c) 2003-2005, www.fontbox.org
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice,
+   this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright notice,
+   this list of conditions and the following disclaimer in the documentation
+   and/or other materials provided with the distribution.
+3. Neither the name of fontbox; nor the names of its
+   contributors may be used to endorse or promote products derived from this
+   software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+src/plugin/parse-pdf/lib/bcprov-jdk14-132.jar
+
+Copyright (c) 2000 - 2008 The Legion Of The Bouncy Castle (http://www.bouncycastle.org)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 
+
+
+src/plugin/lib-xml/lib/jdom.jar
+
+/*-- 
+
+ $Id: LICENSE.txt,v 1.11 2004/02/06 09:32:57 jhunter Exp $
+
+ Copyright (C) 2000-2004 Jason Hunter & Brett McLaughlin.
+ All rights reserved.
+ 
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ 
+ 1. Redistributions of source code must retain the above copyright
+    notice, this list of conditions, and the following disclaimer.
+ 
+ 2. Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions, and the disclaimer that follows 
+    these conditions in the documentation and/or other materials 
+    provided with the distribution.
+
+ 3. The name "JDOM" must not be used to endorse or promote products
+    derived from this software without prior written permission.  For
+    written permission, please contact <request_AT_jdom_DOT_org>.
+ 
+ 4. Products derived from this software may not be called "JDOM", nor
+    may "JDOM" appear in their name, without prior written permission
+    from the JDOM Project Management <request_AT_jdom_DOT_org>.
+ 
+ In addition, we request (but do not require) that you include in the 
+ end-user documentation provided with the redistribution and/or in the 
+ software itself an acknowledgement equivalent to the following:
+     "This product includes software developed by the
+      JDOM Project (http://www.jdom.org/)."
+ Alternatively, the acknowledgment may be graphical using the logos 
+ available at http://www.jdom.org/images/logos.
+
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ DISCLAIMED.  IN NO EVENT SHALL THE JDOM AUTHORS OR THE PROJECT
+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ SUCH DAMAGE.
+
+ This software consists of voluntary contributions made by many 
+ individuals on behalf of the JDOM Project and was originally 
+ created by Jason Hunter <jhunter_AT_jdom_DOT_org> and
+ Brett McLaughlin <brett_AT_jdom_DOT_org>.  For more information
+ on the JDOM Project, please see <http://www.jdom.org/>. 
+
+ */
+
+src/plugin/lib-xml/lib/jaxen-jdom.jar
+src/plugin/lib-xml/lib/jaxen-core.jar
+
+/*
+ $Id: LICENSE.txt 1128 2006-02-05 21:49:04Z elharo $
+
+ Copyright 2003-2006 The Werken Company. All Rights Reserved.
+ 
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+
+  * Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+
+  * Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in the
+    documentation and/or other materials provided with the distribution.
+
+  * Neither the name of the Jaxen Project nor the names of its
+    contributors may be used to endorse or promote products derived 
+    from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
+OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ */
+
+
+src/plugin/lib-xml/lib/saxpath.jar
+
+/*-- 
+
+ $Id: LICENSE,v 1.1 2002/04/26 17:43:56 jstrachan Exp $
+
+ Copyright (C) 2000-2002 werken digital.
+ All rights reserved.
+ 
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ 
+ 1. Redistributions of source code must retain the above copyright
+    notice, this list of conditions, and the following disclaimer.
+ 
+ 2. Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions, and the disclaimer that follows 
+    these conditions in the documentation and/or other materials 
+    provided with the distribution.
+
+ 3. The name "SAXPath" must not be used to endorse or promote products
+    derived from this software without prior written permission.  For
+    written permission, please contact license@saxpath.org.
+ 
+ 4. Products derived from this software may not be called "SAXPath", nor
+    may "SAXPath" appear in their name, without prior written permission
+    from the SAXPath Project Management (pm@saxpath.org).
+ 
+ In addition, we request (but do not require) that you include in the 
+ end-user documentation provided with the redistribution and/or in the 
+ software itself an acknowledgement equivalent to the following:
+     "This product includes software developed by the
+      SAXPath Project (http://www.saxpath.org/)."
+ Alternatively, the acknowledgment may be graphical using the logos 
+ available at http://www.saxpath.org/
+
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ DISCLAIMED.  IN NO EVENT SHALL THE SAXPath AUTHORS OR THE PROJECT
+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ SUCH DAMAGE.
+
+ This software consists of voluntary contributions made by many 
+ individuals on behalf of the SAXPath Project and was originally 
+ created by bob mcwhirter <bob@werken.com> and 
+ James Strachan <jstrachan@apache.org>.  For more information on the 
+ SAXPath Project, please see <http://www.saxpath.org/>.
+ 
+ */
+
+src/plugin/lib-xml/lib/xercesImpl.jar
+
+ASF
+
+
+ 
Index: /nutchez-0.1/Makefile
===================================================================
--- /nutchez-0.1/Makefile	(revision 66)
+++ /nutchez-0.1/Makefile	(revision 66)
@@ -0,0 +1,18 @@
+VERSION = 0.19.1
+all: help
+deb:
+	@sudo dpkg-buildpackage -rfakeroot -ai386 -k0xB35CE8C3
+clean:
+	@sudo debian/rules clean
+source: 
+	@chmod a+x ./bin/*
+help:
+	@echo "Usage:"
+	@echo "make deb     - Build Debian Package."
+	@echo "make clean   - Clean up Debian Package temparate files."
+	@echo "make source  - download source tarball from hadoop mirror site."
+	@echo "make help    - show Makefile options."
+	@echo " "
+	@echo "Example:"
+	@echo "$$ make source; make deb; make clean"
+
Index: /nutchez-0.1/NOTICE.txt
===================================================================
--- /nutchez-0.1/NOTICE.txt	(revision 66)
+++ /nutchez-0.1/NOTICE.txt	(revision 66)
@@ -0,0 +1,75 @@
+Apache Nutch
+Copyright 2009 The Apache Software Foundation
+
+This product includes software developed by The Apache Software
+Foundation (http://www.apache.org/).
+
+This product includes software developed by the following copyright owners:
+
+Nutch includes icu4j:
+Copyright (c) 1995-2006 International Business Machines Corporation and
+others
+
+Nutch includes Carrot2:
+Copyright (C) 2002-2006, Dawid Weiss, Stanis�aw Osi�ski.
+awid Weiss; Project administrator, various components, core; 2002; Poland
+Stanisław, Osiński; Lingo clustering component, ODP Input; 2003; Poland
+Karol Gołembniak, Irmina Masłowska; HAOG clustering component; 2006; Poznan University of Technology; Poland
+Michał, Wróblewski [*]; AHC clustering components; 2003; Poznan University of Technology, Poland
+Paweł, Kowalik [*]; Inductive search engine wrapper; 2003; Poznan University of Technology, Poland
+Steven, Schockaert [*]; Fuzzy Ants clustering component; 2004; University of Gent, Belgium
+Lang, Ngo Chi [*]; Fuzzy Rough set clustering component; 2004; Warsaw University, Poland
+
+Nutch includes Saxpath:
+Copyright (C) 2000-2002 werken digital. All rights reserved.
+
+Nutch includes jaxen:
+Copyright 2003-2006 The Werken Company. All Rights Reserved.
+
+Nutch includes Jdom:
+Copyright (C) 2000-2004 Jason Hunter & Brett McLaughlin.
+All rights reserved
+
+Nutch includes SaxPath:
+Copyright (C) 2000-2002 werken digital. All rights reserved.
+ 
+Nutch includes Snowball:
+Copyright (c) 2001, Dr Martin Porter
+(for the Java developments) Copyright (c) 2002, Richard Boulton. 
+
+Nutch includes ViolinStrings:
+Copyright (c) Michael Schmeling 1998, 2000 - All Rights Reserve
+
+Nutch includes Cyperneko:
+(C) Copyright 2002,2003, Andy Clark.  All rights reserved.
+
+Nutch includes Jena:
+(c) Copyright 2000, 2001, 2002, 2003, 2004 Hewlett-Packard Development Company, LP
+All rights reserved.
+
+Nutch includes BouncyCastle:
+Copyright (c) 2000 - 2008 The Legion Of The Bouncy Castle (http://www.bouncycastle.org)
+
+Nutch includes FontBox:
+Copyright (c) 2003-2005, www.fontbox.org
+
+Nutch includes JempBox:
+Copyright (c) 2006-2007, www.jempbox.org
+All rights reserved.
+
+Nutch includes PDFBox:
+Copyright (c) 2003-2005, www.pdfbox.org
+All rights reserved.
+
+Nutch includes JavaSWF:
+Copyright (c) 2001-2005, David N. Main, All rights reserved.
+
+Nutch includes Json Lib:
+This product includes software developed by Douglas Crockford 
+(http://www.crockford.com).
+
+Nutch includes Automaton:
+This package is Copyright © 2001-2008 Anders Møller. All rights reserved.
+
+Nutch includes Rome:
+Copyright 2004 Sun Microsystems, Inc. 
Index: /nutchez-0.1/README.txt
===================================================================
--- /nutchez-0.1/README.txt	(revision 66)
+++ /nutchez-0.1/README.txt	(revision 66)
@@ -0,0 +1,60 @@
+Apache Nutch README
+
+Important note: Due to licensing issues we cannot provide two libraries that
+are normally provided with PDFBox (jai_core.jar, jai_codec.jar), the parser
+library we use for parsing PDF files. If you encounter unexpected problems when
+working with PDF files please
+
+1. download the two missing libraries  from:
+   http://pdfbox.cvs.sourceforge.net/viewvc/pdfbox/pdfbox/external/
+
+2. Put them to directory src/plugin/parse-pdf/lib
+3. follow the instructions in file src/plugin/parse-pdf/plugin.xml
+4. Rebuild nutch.
+
+
+
+Interesting files include:
+
+
+  docs/api/index.html
+      Javadocs for the Nutch software.
+
+  CHANGES.txt
+      Log of changes to Nutch.
+
+
+For the latest information about Nutch, please visit our website at:
+
+   http://lucene.apache.org/nutch/
+
+and our wiki, at:
+
+   http://wiki.apache.org/nutch/
+
+To get started using Nutch read Tutorial:
+
+   http://lucene.apache.org/nutch/tutorial.html
+   
+Export Control
+
+This distribution includes cryptographic software.  The country in which you 
+currently reside may have restrictions on the import, possession, use, and/or 
+re-export to another country, of encryption software.  BEFORE using any encryption 
+software, please check your country's laws, regulations and policies concerning the
+import, possession, or use, and re-export of encryption software, to see if this is 
+permitted.  See <http://www.wassenaar.org/> for more information. 
+
+The U.S. Government Department of Commerce, Bureau of Industry and Security (BIS), has 
+classified this software as Export Commodity Control Number (ECCN) 5D002.C.1, which 
+includes information security software using or performing cryptographic functions with 
+asymmetric algorithms.  The form and manner of this Apache Software Foundation 
+distribution makes it eligible for export under the License Exception ENC Technology 
+Software Unrestricted (TSU) exception (see the BIS Export Administration Regulations, 
+Section 740.13) for both object code and source code.
+
+The following provides more details on the included cryptographic software:
+
+Apache Nutch uses the PDFBox API in its parse-pdf plugin for extracting textual content 
+and metadata from encrypted PDF files. See http://incubator.apache.org/pdfbox/ for more 
+details on PDFBox.
Index: /nutchez-0.1/bin/hadoop
===================================================================
--- /nutchez-0.1/bin/hadoop	(revision 66)
+++ /nutchez-0.1/bin/hadoop	(revision 66)
@@ -0,0 +1,273 @@
+#!/usr/bin/env bash
+
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
+# The Hadoop command script
+#
+# Environment Variables
+#
+#   JAVA_HOME        The java implementation to use.  Overrides JAVA_HOME.
+#
+#   HADOOP_CLASSPATH Extra Java CLASSPATH entries.
+#
+#   HADOOP_HEAPSIZE  The maximum amount of heap to use, in MB. 
+#                    Default is 1000.
+#
+#   HADOOP_OPTS      Extra Java runtime options.
+#   
+#   HADOOP_NAMENODE_OPTS       These options are added to HADOOP_OPTS 
+#   HADOOP_CLIENT_OPTS         when the respective command is run.
+#   HADOOP_{COMMAND}_OPTS etc  HADOOP_JT_OPTS applies to JobTracker 
+#                              for e.g.  HADOOP_CLIENT_OPTS applies to 
+#                              more than one command (fs, dfs, fsck, 
+#                              dfsadmin etc)  
+#
+#   HADOOP_CONF_DIR  Alternate conf dir. Default is ${HADOOP_HOME}/conf.
+#
+#   HADOOP_ROOT_LOGGER The root appender. Default is INFO,console
+#
+
+bin=`dirname "$0"`
+bin=`cd "$bin"; pwd`
+
+. "$bin"/hadoop-config.sh
+
+cygwin=false
+case "`uname`" in
+CYGWIN*) cygwin=true;;
+esac
+
+# if no args specified, show usage
+if [ $# = 0 ]; then
+  echo "Usage: hadoop [--config confdir] COMMAND"
+  echo "where COMMAND is one of:"
+  echo "  namenode -format     format the DFS filesystem"
+  echo "  secondarynamenode    run the DFS secondary namenode"
+  echo "  namenode             run the DFS namenode"
+  echo "  datanode             run a DFS datanode"
+  echo "  dfsadmin             run a DFS admin client"
+  echo "  fsck                 run a DFS filesystem checking utility"
+  echo "  fs                   run a generic filesystem user client"
+  echo "  balancer             run a cluster balancing utility"
+  echo "  jobtracker           run the MapReduce job Tracker node" 
+  echo "  pipes                run a Pipes job"
+  echo "  tasktracker          run a MapReduce task Tracker node" 
+  echo "  job                  manipulate MapReduce jobs"
+  echo "  queue                get information regarding JobQueues" 
+  echo "  version              print the version"
+  echo "  jar <jar>            run a jar file"
+  echo "  distcp <srcurl> <desturl> copy file or directories recursively"
+  echo "  archive -archiveName NAME <src>* <dest> create a hadoop archive"
+  echo "  daemonlog            get/set the log level for each daemon"
+  echo " or"
+  echo "  CLASSNAME            run the class named CLASSNAME"
+  echo "Most commands print help when invoked w/o parameters."
+  exit 1
+fi
+
+# get arguments
+COMMAND=$1
+shift
+
+if [ -f "${HADOOP_CONF_DIR}/hadoop-env.sh" ]; then
+  . "${HADOOP_CONF_DIR}/hadoop-env.sh"
+fi
+
+# some Java parameters
+if [ "$JAVA_HOME" != "" ]; then
+  #echo "run java in $JAVA_HOME"
+  JAVA_HOME=$JAVA_HOME
+fi
+  
+if [ "$JAVA_HOME" = "" ]; then
+  echo "Error: JAVA_HOME is not set."
+  exit 1
+fi
+
+JAVA=$JAVA_HOME/bin/java
+JAVA_HEAP_MAX=-Xmx1000m 
+
+# check envvars which might override default args
+if [ "$HADOOP_HEAPSIZE" != "" ]; then
+  #echo "run with heapsize $HADOOP_HEAPSIZE"
+  JAVA_HEAP_MAX="-Xmx""$HADOOP_HEAPSIZE""m"
+  #echo $JAVA_HEAP_MAX
+fi
+
+# CLASSPATH initially contains $HADOOP_CONF_DIR
+CLASSPATH="${HADOOP_CONF_DIR}"
+CLASSPATH=${CLASSPATH}:$JAVA_HOME/lib/tools.jar
+
+# for developers, add Hadoop classes to CLASSPATH
+if [ -d "$HADOOP_HOME/build/classes" ]; then
+  CLASSPATH=${CLASSPATH}:$HADOOP_HOME/build/classes
+fi
+if [ -d "$HADOOP_HOME/build/webapps" ]; then
+  CLASSPATH=${CLASSPATH}:$HADOOP_HOME/build
+fi
+if [ -d "$HADOOP_HOME/build/test/classes" ]; then
+  CLASSPATH=${CLASSPATH}:$HADOOP_HOME/build/test/classes
+fi
+if [ -d "$HADOOP_HOME/build/tools" ]; then
+  CLASSPATH=${CLASSPATH}:$HADOOP_HOME/build/tools
+fi
+
+# so that filenames w/ spaces are handled correctly in loops below
+IFS=
+
+# for releases, add core hadoop jar & webapps to CLASSPATH
+if [ -d "$HADOOP_HOME/webapps" ]; then
+  CLASSPATH=${CLASSPATH}:$HADOOP_HOME
+fi
+for f in $HADOOP_HOME/hadoop-*-core.jar; do
+  CLASSPATH=${CLASSPATH}:$f;
+done
+
+# add libs to CLASSPATH
+for f in $HADOOP_HOME/lib/*.jar; do
+  CLASSPATH=${CLASSPATH}:$f;
+done
+
+for f in $HADOOP_HOME/lib/jetty-ext/*.jar; do
+  CLASSPATH=${CLASSPATH}:$f;
+done
+
+for f in $HADOOP_HOME/hadoop-*-tools.jar; do
+  TOOL_PATH=${TOOL_PATH}:$f;
+done
+for f in $HADOOP_HOME/build/hadoop-*-tools.jar; do
+  TOOL_PATH=${TOOL_PATH}:$f;
+done
+
+# add user-specified CLASSPATH last
+if [ "$HADOOP_CLASSPATH" != "" ]; then
+  CLASSPATH=${CLASSPATH}:${HADOOP_CLASSPATH}
+fi
+
+# default log directory & file
+if [ "$HADOOP_LOG_DIR" = "" ]; then
+  HADOOP_LOG_DIR="$HADOOP_HOME/logs"
+fi
+if [ "$HADOOP_LOGFILE" = "" ]; then
+  HADOOP_LOGFILE='hadoop.log'
+fi
+
+# restore ordinary behaviour
+unset IFS
+
+# figure out which class to run
+if [ "$COMMAND" = "namenode" ] ; then
+  CLASS='org.apache.hadoop.hdfs.server.namenode.NameNode'
+  HADOOP_OPTS="$HADOOP_OPTS $HADOOP_NAMENODE_OPTS"
+elif [ "$COMMAND" = "secondarynamenode" ] ; then
+  CLASS='org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode'
+  HADOOP_OPTS="$HADOOP_OPTS $HADOOP_SECONDARYNAMENODE_OPTS"
+elif [ "$COMMAND" = "datanode" ] ; then
+  CLASS='org.apache.hadoop.hdfs.server.datanode.DataNode'
+  HADOOP_OPTS="$HADOOP_OPTS $HADOOP_DATANODE_OPTS"
+elif [ "$COMMAND" = "fs" ] ; then
+  CLASS=org.apache.hadoop.fs.FsShell
+  HADOOP_OPTS="$HADOOP_OPTS $HADOOP_CLIENT_OPTS"
+elif [ "$COMMAND" = "dfs" ] ; then
+  CLASS=org.apache.hadoop.fs.FsShell
+  HADOOP_OPTS="$HADOOP_OPTS $HADOOP_CLIENT_OPTS"
+elif [ "$COMMAND" = "dfsadmin" ] ; then
+  CLASS=org.apache.hadoop.hdfs.tools.DFSAdmin
+  HADOOP_OPTS="$HADOOP_OPTS $HADOOP_CLIENT_OPTS"
+elif [ "$COMMAND" = "fsck" ] ; then
+  CLASS=org.apache.hadoop.hdfs.tools.DFSck
+  HADOOP_OPTS="$HADOOP_OPTS $HADOOP_CLIENT_OPTS"
+elif [ "$COMMAND" = "balancer" ] ; then
+  CLASS=org.apache.hadoop.hdfs.server.balancer.Balancer
+  HADOOP_OPTS="$HADOOP_OPTS $HADOOP_BALANCER_OPTS"
+elif [ "$COMMAND" = "jobtracker" ] ; then
+  CLASS=org.apache.hadoop.mapred.JobTracker
+  HADOOP_OPTS="$HADOOP_OPTS $HADOOP_JOBTRACKER_OPTS"
+elif [ "$COMMAND" = "tasktracker" ] ; then
+  CLASS=org.apache.hadoop.mapred.TaskTracker
+  HADOOP_OPTS="$HADOOP_OPTS $HADOOP_TASKTRACKER_OPTS"
+elif [ "$COMMAND" = "job" ] ; then
+  CLASS=org.apache.hadoop.mapred.JobClient
+elif [ "$COMMAND" = "queue" ] ; then
+  CLASS=org.apache.hadoop.mapred.JobQueueClient
+elif [ "$COMMAND" = "pipes" ] ; then
+  CLASS=org.apache.hadoop.mapred.pipes.Submitter
+  HADOOP_OPTS="$HADOOP_OPTS $HADOOP_CLIENT_OPTS"
+elif [ "$COMMAND" = "version" ] ; then
+  CLASS=org.apache.hadoop.util.VersionInfo
+  HADOOP_OPTS="$HADOOP_OPTS $HADOOP_CLIENT_OPTS"
+elif [ "$COMMAND" = "jar" ] ; then
+  CLASS=org.apache.hadoop.mapred.JobShell
+elif [ "$COMMAND" = "distcp" ] ; then
+  CLASS=org.apache.hadoop.tools.DistCp
+  CLASSPATH=${CLASSPATH}:${TOOL_PATH}
+  HADOOP_OPTS="$HADOOP_OPTS $HADOOP_CLIENT_OPTS"
+elif [ "$COMMAND" = "daemonlog" ] ; then
+  CLASS=org.apache.hadoop.log.LogLevel
+  HADOOP_OPTS="$HADOOP_OPTS $HADOOP_CLIENT_OPTS"
+elif [ "$COMMAND" = "archive" ] ; then
+  CLASS=org.apache.hadoop.tools.HadoopArchives
+  CLASSPATH=${CLASSPATH}:${TOOL_PATH}
+  HADOOP_OPTS="$HADOOP_OPTS $HADOOP_CLIENT_OPTS"
+elif [ "$COMMAND" = "sampler" ] ; then
+  CLASS=org.apache.hadoop.mapred.lib.InputSampler
+  HADOOP_OPTS="$HADOOP_OPTS $HADOOP_CLIENT_OPTS"
+else
+  CLASS=$COMMAND
+fi
+
+# cygwin path translation
+if $cygwin; then
+  CLASSPATH=`cygpath -p -w "$CLASSPATH"`
+  HADOOP_HOME=`cygpath -d "$HADOOP_HOME"`
+  HADOOP_LOG_DIR=`cygpath -d "$HADOOP_LOG_DIR"`
+  TOOL_PATH=`cygpath -p -w "$TOOL_PATH"`
+fi
+# setup 'java.library.path' for native-hadoop code if necessary
+JAVA_LIBRARY_PATH=''
+if [ -d "${HADOOP_HOME}/build/native" -o -d "${HADOOP_HOME}/lib/native" ]; then
+  JAVA_PLATFORM=`CLASSPATH=${CLASSPATH} ${JAVA} org.apache.hadoop.util.PlatformName | sed -e 's/ /_/g' | sed -e "s/ /_/g"`
+  
+  if [ -d "$HADOOP_HOME/build/native" ]; then
+    JAVA_LIBRARY_PATH=${HADOOP_HOME}/build/native/${JAVA_PLATFORM}/lib
+  fi
+  
+  if [ -d "${HADOOP_HOME}/lib/native" ]; then
+    if [ "x$JAVA_LIBRARY_PATH" != "x" ]; then
+      JAVA_LIBRARY_PATH=${JAVA_LIBRARY_PATH}:${HADOOP_HOME}/lib/native/${JAVA_PLATFORM}
+    else
+      JAVA_LIBRARY_PATH=${HADOOP_HOME}/lib/native/${JAVA_PLATFORM}
+    fi
+  fi
+fi
+
+# cygwin path translation
+if $cygwin; then
+  JAVA_LIBRARY_PATH=`cygpath -p "$JAVA_LIBRARY_PATH"`
+fi
+
+HADOOP_OPTS="$HADOOP_OPTS -Dhadoop.log.dir=$HADOOP_LOG_DIR"
+HADOOP_OPTS="$HADOOP_OPTS -Dhadoop.log.file=$HADOOP_LOGFILE"
+HADOOP_OPTS="$HADOOP_OPTS -Dhadoop.home.dir=$HADOOP_HOME"
+HADOOP_OPTS="$HADOOP_OPTS -Dhadoop.id.str=$HADOOP_IDENT_STRING"
+HADOOP_OPTS="$HADOOP_OPTS -Dhadoop.root.logger=${HADOOP_ROOT_LOGGER:-INFO,console}"
+if [ "x$JAVA_LIBRARY_PATH" != "x" ]; then
+  HADOOP_OPTS="$HADOOP_OPTS -Djava.library.path=$JAVA_LIBRARY_PATH"
+fi  
+
+# run it
+exec "$JAVA" $JAVA_HEAP_MAX $HADOOP_OPTS -classpath "$CLASSPATH" $CLASS "$@"
Index: /nutchez-0.1/bin/hadoop-config.sh
===================================================================
--- /nutchez-0.1/bin/hadoop-config.sh	(revision 66)
+++ /nutchez-0.1/bin/hadoop-config.sh	(revision 66)
@@ -0,0 +1,68 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# included in all the hadoop scripts with source command
+# should not be executable directly
+# also should not be passed any arguments, since we need original $*
+
+# resolve links - $0 may be a softlink
+
+this="$0"
+while [ -h "$this" ]; do
+  ls=`ls -ld "$this"`
+  link=`expr "$ls" : '.*-> \(.*\)$'`
+  if expr "$link" : '.*/.*' > /dev/null; then
+    this="$link"
+  else
+    this=`dirname "$this"`/"$link"
+  fi
+done
+
+# convert relative path to absolute path
+bin=`dirname "$this"`
+script=`basename "$this"`
+bin=`cd "$bin"; pwd`
+this="$bin/$script"
+
+# the root of the Hadoop installation
+export HADOOP_HOME=`dirname "$this"`/..
+
+#check to see if the conf dir is given as an optional argument
+if [ $# -gt 1 ]
+then
+    if [ "--config" = "$1" ]
+	  then
+	      shift
+	      confdir=$1
+	      shift
+	      HADOOP_CONF_DIR=$confdir
+    fi
+fi
+ 
+# Allow alternate conf dir location.
+HADOOP_CONF_DIR="${HADOOP_CONF_DIR:-$HADOOP_HOME/conf}"
+
+#check to see it is specified whether to use the slaves or the
+# masters file
+if [ $# -gt 1 ]
+then
+    if [ "--hosts" = "$1" ]
+    then
+        shift
+        slavesfile=$1
+        shift
+        export HADOOP_SLAVES="${HADOOP_CONF_DIR}/$slavesfile"
+    fi
+fi
Index: /nutchez-0.1/bin/hadoop-daemon.sh
===================================================================
--- /nutchez-0.1/bin/hadoop-daemon.sh	(revision 66)
+++ /nutchez-0.1/bin/hadoop-daemon.sh	(revision 66)
@@ -0,0 +1,143 @@
+#!/usr/bin/env bash
+
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
+# Runs a Hadoop command as a daemon.
+#
+# Environment Variables
+#
+#   HADOOP_CONF_DIR  Alternate conf dir. Default is ${HADOOP_HOME}/conf.
+#   HADOOP_LOG_DIR   Where log files are stored.  PWD by default.
+#   HADOOP_MASTER    host:path where hadoop code should be rsync'd from
+#   HADOOP_PID_DIR   The pid files are stored. /tmp by default.
+#   HADOOP_IDENT_STRING   A string representing this instance of hadoop. $USER by default
+#   HADOOP_NICENESS The scheduling priority for daemons. Defaults to 0.
+##
+
+usage="Usage: hadoop-daemon.sh [--config <conf-dir>] [--hosts hostlistfile] (start|stop) <hadoop-command> <args...>"
+
+# if no args specified, show usage
+if [ $# -le 1 ]; then
+  echo $usage
+  exit 1
+fi
+
+bin=`dirname "$0"`
+bin=`cd "$bin"; pwd`
+
+. "$bin"/hadoop-config.sh
+
+# get arguments
+startStop=$1
+shift
+command=$1
+shift
+
+hadoop_rotate_log ()
+{
+    log=$1;
+    num=5;
+    if [ -n "$2" ]; then
+	num=$2
+    fi
+    if [ -f "$log" ]; then # rotate logs
+	while [ $num -gt 1 ]; do
+	    prev=`expr $num - 1`
+	    [ -f "$log.$prev" ] && mv "$log.$prev" "$log.$num"
+	    num=$prev
+	done
+	mv "$log" "$log.$num";
+    fi
+}
+
+if [ -f "${HADOOP_CONF_DIR}/hadoop-env.sh" ]; then
+  . "${HADOOP_CONF_DIR}/hadoop-env.sh"
+fi
+
+# get log directory
+if [ "$HADOOP_LOG_DIR" = "" ]; then
+  export HADOOP_LOG_DIR="$HADOOP_HOME/logs"
+fi
+mkdir -p "$HADOOP_LOG_DIR"
+
+if [ "$HADOOP_PID_DIR" = "" ]; then
+  HADOOP_PID_DIR=/tmp
+fi
+
+if [ "$HADOOP_IDENT_STRING" = "" ]; then
+  export HADOOP_IDENT_STRING="$USER"
+fi
+
+# some variables
+export HADOOP_LOGFILE=hadoop-$HADOOP_IDENT_STRING-$command-$HOSTNAME.log
+export HADOOP_ROOT_LOGGER="INFO,DRFA"
+log=$HADOOP_LOG_DIR/hadoop-$HADOOP_IDENT_STRING-$command-$HOSTNAME.out
+pid=$HADOOP_PID_DIR/hadoop-$HADOOP_IDENT_STRING-$command.pid
+
+# Set default scheduling priority
+if [ "$HADOOP_NICENESS" = "" ]; then
+    export HADOOP_NICENESS=0
+fi
+
+case $startStop in
+
+  (start)
+
+    mkdir -p "$HADOOP_PID_DIR"
+
+    if [ -f $pid ]; then
+      if kill -0 `cat $pid` > /dev/null 2>&1; then
+        echo $command running as process `cat $pid`.  Stop it first.
+        exit 1
+      fi
+    fi
+
+    if [ "$HADOOP_MASTER" != "" ]; then
+      echo rsync from $HADOOP_MASTER
+      rsync -a -e ssh --delete --exclude=.svn --exclude='logs/*' --exclude='contrib/hod/logs/*' $HADOOP_MASTER/ "$HADOOP_HOME"
+    fi
+
+    hadoop_rotate_log $log
+    echo starting $command, logging to $log
+    cd "$HADOOP_HOME"
+    nohup nice -n $HADOOP_NICENESS "$HADOOP_HOME"/bin/hadoop --config $HADOOP_CONF_DIR $command "$@" > "$log" 2>&1 < /dev/null &
+    echo $! > $pid
+    sleep 1; head "$log"
+    ;;
+          
+  (stop)
+
+    if [ -f $pid ]; then
+      if kill -0 `cat $pid` > /dev/null 2>&1; then
+        echo stopping $command
+        kill `cat $pid`
+      else
+        echo no $command to stop
+      fi
+    else
+      echo no $command to stop
+    fi
+    ;;
+
+  (*)
+    echo $usage
+    exit 1
+    ;;
+
+esac
+
+
Index: /nutchez-0.1/bin/hadoop-daemons.sh
===================================================================
--- /nutchez-0.1/bin/hadoop-daemons.sh	(revision 66)
+++ /nutchez-0.1/bin/hadoop-daemons.sh	(revision 66)
@@ -0,0 +1,34 @@
+#!/usr/bin/env bash
+
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
+# Run a Hadoop command on all slave hosts.
+
+usage="Usage: hadoop-daemons.sh [--config confdir] [--hosts hostlistfile] [start|stop] command args..."
+
+# if no args specified, show usage
+if [ $# -le 1 ]; then
+  echo $usage
+  exit 1
+fi
+
+bin=`dirname "$0"`
+bin=`cd "$bin"; pwd`
+
+. $bin/hadoop-config.sh
+
+exec "$bin/slaves.sh" --config $HADOOP_CONF_DIR cd "$HADOOP_HOME" \; "$bin/hadoop-daemon.sh" --config $HADOOP_CONF_DIR "$@"
Index: /nutchez-0.1/bin/nutch
===================================================================
--- /nutchez-0.1/bin/nutch	(revision 66)
+++ /nutchez-0.1/bin/nutch	(revision 66)
@@ -0,0 +1,252 @@
+#!/bin/bash
+# 
+# The Nutch command script
+#
+# Environment Variables
+#
+#   NUTCH_JAVA_HOME The java implementation to use.  Overrides JAVA_HOME.
+#
+#   NUTCH_HEAPSIZE  The maximum amount of heap to use, in MB. 
+#                   Default is 1000.
+#
+#   NUTCH_OPTS      Extra Java runtime options.
+#
+cygwin=false
+case "`uname`" in
+CYGWIN*) cygwin=true;;
+esac
+
+# resolve links - $0 may be a softlink
+THIS="$0"
+while [ -h "$THIS" ]; do
+  ls=`ls -ld "$THIS"`
+  link=`expr "$ls" : '.*-> \(.*\)$'`
+  if expr "$link" : '.*/.*' > /dev/null; then
+    THIS="$link"
+  else
+    THIS=`dirname "$THIS"`/"$link"
+  fi
+done
+
+# if no args specified, show usage
+if [ $# = 0 ]; then
+  echo "Usage: nutch [-core] COMMAND"
+  echo "where COMMAND is one of:"
+  echo "  crawl             one-step crawler for intranets"
+  echo "  readdb            read / dump crawl db"
+  echo "  convdb            convert crawl db from pre-0.9 format"
+  echo "  mergedb           merge crawldb-s, with optional filtering"
+  echo "  readlinkdb        read / dump link db"
+  echo "  inject            inject new urls into the database"
+  echo "  generate          generate new segments to fetch from crawl db"
+  echo "  freegen           generate new segments to fetch from text files"
+  echo "  fetch             fetch a segment's pages"
+  echo "  parse             parse a segment's pages"
+  echo "  readseg           read / dump segment data"
+  echo "  mergesegs         merge several segments, with optional filtering and slicing"
+  echo "  updatedb          update crawl db from segments after fetching"
+  echo "  invertlinks       create a linkdb from parsed segments"
+  echo "  mergelinkdb       merge linkdb-s, with optional filtering"
+  echo "  index             run the indexer on parsed segments and linkdb"
+  echo "  solrindex         run the solr indexer on parsed segments and linkdb"
+  echo "  merge             merge several segment indexes"
+  echo "  dedup             remove duplicates from a set of segment indexes"
+  echo "  solrdedup         remove duplicates from solr"
+  echo "  plugin            load a plugin and run one of its classes main()"
+  echo "  server            run a search server"
+  echo " or"
+  echo "  CLASSNAME         run the class named CLASSNAME"
+  echo "Most commands print help when invoked w/o parameters."
+  echo ""
+  echo "Expert: -core option is for developers only. It avoids building the job jar, "
+  echo "        instead it simply includes classes compiled with ant compile-core. "
+  echo "        NOTE: this works only for jobs executed in 'local' mode"
+  exit 1
+fi
+
+IS_CORE=0
+#check for -core option
+if [ "$1" == "-core" ] ; then
+  IS_CORE=1
+  shift
+fi
+
+# get arguments
+COMMAND=$1
+shift
+
+# some directories
+THIS_DIR=`dirname "$THIS"`
+NUTCH_HOME=`cd "$THIS_DIR/.." ; pwd`
+
+# some Java parameters
+if [ "$NUTCH_JAVA_HOME" != "" ]; then
+  #echo "run java in $NUTCH_JAVA_HOME"
+  JAVA_HOME=$NUTCH_JAVA_HOME
+fi
+  
+if [ "$JAVA_HOME" = "" ]; then
+  echo "Error: JAVA_HOME is not set."
+  exit 1
+fi
+
+JAVA=$JAVA_HOME/bin/java
+JAVA_HEAP_MAX=-Xmx1000m 
+
+# check envvars which might override default args
+if [ "$NUTCH_HEAPSIZE" != "" ]; then
+  #echo "run with heapsize $NUTCH_HEAPSIZE"
+  JAVA_HEAP_MAX="-Xmx""$NUTCH_HEAPSIZE""m"
+  #echo $JAVA_HEAP_MAX
+fi
+
+# CLASSPATH initially contains $NUTCH_CONF_DIR, or defaults to $NUTCH_HOME/conf
+CLASSPATH=${NUTCH_CONF_DIR:=$NUTCH_HOME/conf}
+CLASSPATH=${CLASSPATH}:$JAVA_HOME/lib/tools.jar
+
+# so that filenames w/ spaces are handled correctly in loops below
+IFS=
+
+# for developers, add plugins, job & test code to CLASSPATH
+if [ -d "$NUTCH_HOME/build/plugins" ]; then
+  CLASSPATH=${CLASSPATH}:$NUTCH_HOME/build
+fi
+if [ -d "$NUTCH_HOME/build/test/classes" ]; then
+  CLASSPATH=${CLASSPATH}:$NUTCH_HOME/build/test/classes
+fi
+
+if [ $IS_CORE == 0 ] 
+then
+  for f in $NUTCH_HOME/build/nutch-*.job; do
+    CLASSPATH=${CLASSPATH}:$f;
+  done
+
+  # for releases, add Nutch job to CLASSPATH
+  for f in $NUTCH_HOME/nutch-*.job; do
+    CLASSPATH=${CLASSPATH}:$f;
+  done
+else
+  CLASSPATH=${CLASSPATH}:$NUTCH_HOME/build/classes
+fi
+
+# add plugins to classpath
+if [ -d "$NUTCH_HOME/plugins" ]; then
+  CLASSPATH=${NUTCH_HOME}:${CLASSPATH}
+fi
+
+# add libs to CLASSPATH
+for f in $NUTCH_HOME/lib/*.jar; do
+  CLASSPATH=${CLASSPATH}:$f;
+done
+
+for f in $NUTCH_HOME/lib/jetty-ext/*.jar; do
+  CLASSPATH=${CLASSPATH}:$f;
+done
+
+# cygwin path translation
+if $cygwin; then
+  CLASSPATH=`cygpath -p -w "$CLASSPATH"`
+fi
+
+# setup 'java.library.path' for native-hadoop code if necessary
+JAVA_LIBRARY_PATH=''
+if [ -d "${NUTCH_HOME}/build/native" -o -d "${NUTCH_HOME}/lib/native" ]; then
+  JAVA_PLATFORM=`CLASSPATH=${CLASSPATH} ${JAVA} org.apache.hadoop.util.PlatformName | sed -e 's/ /_/g'`
+  
+  if [ -d "$NUTCH_HOME/build/native" ]; then
+    JAVA_LIBRARY_PATH=${HADOOP_HOME}/build/native/${JAVA_PLATFORM}/lib
+  fi
+  
+  if [ -d "${NUTCH_HOME}/lib/native" ]; then
+    if [ "x$JAVA_LIBRARY_PATH" != "x" ]; then
+      JAVA_LIBRARY_PATH=${JAVA_LIBRARY_PATH}:${NUTCH_HOME}/lib/native/${JAVA_PLATFORM}
+    else
+      JAVA_LIBRARY_PATH=${NUTCH_HOME}/lib/native/${JAVA_PLATFORM}
+    fi
+  fi
+fi
+
+if [ $cygwin = true -a "X${JAVA_LIBRARY_PATH}" != "X" ]; then
+  JAVA_LIBRARY_PATH=`cygpath -p -w "$JAVA_LIBRARY_PATH"`
+fi
+
+# restore ordinary behaviour
+unset IFS
+
+# default log directory & file
+if [ "$NUTCH_LOG_DIR" = "" ]; then
+  NUTCH_LOG_DIR="$NUTCH_HOME/logs"
+fi
+if [ "$NUTCH_LOGFILE" = "" ]; then
+  NUTCH_LOGFILE='hadoop.log'
+fi
+
+#Fix log path under cygwin
+if $cygwin; then
+  NUTCH_LOG_DIR=`cygpath -p -w "$NUTCH_LOG_DIR"`
+fi
+
+NUTCH_OPTS="$NUTCH_OPTS -Dhadoop.log.dir=$NUTCH_LOG_DIR"
+NUTCH_OPTS="$NUTCH_OPTS -Dhadoop.log.file=$NUTCH_LOGFILE"
+
+if [ "x$JAVA_LIBRARY_PATH" != "x" ]; then
+  NUTCH_OPTS="$NUTCH_OPTS -Djava.library.path=$JAVA_LIBRARY_PATH"
+fi
+
+# figure out which class to run
+if [ "$COMMAND" = "crawl" ] ; then
+  CLASS=org.apache.nutch.crawl.Crawl
+elif [ "$COMMAND" = "inject" ] ; then
+  CLASS=org.apache.nutch.crawl.Injector
+elif [ "$COMMAND" = "generate" ] ; then
+  CLASS=org.apache.nutch.crawl.Generator
+elif [ "$COMMAND" = "freegen" ] ; then
+  CLASS=org.apache.nutch.tools.FreeGenerator
+elif [ "$COMMAND" = "fetch" ] ; then
+  CLASS=org.apache.nutch.fetcher.Fetcher
+elif [ "$COMMAND" = "fetch2" ] ; then
+  CLASS=org.apache.nutch.fetcher.Fetcher2
+elif [ "$COMMAND" = "parse" ] ; then
+  CLASS=org.apache.nutch.parse.ParseSegment
+elif [ "$COMMAND" = "readdb" ] ; then
+  CLASS=org.apache.nutch.crawl.CrawlDbReader
+elif [ "$COMMAND" = "convdb" ] ; then
+  CLASS=org.apache.nutch.tools.compat.CrawlDbConverter
+elif [ "$COMMAND" = "mergedb" ] ; then
+  CLASS=org.apache.nutch.crawl.CrawlDbMerger
+elif [ "$COMMAND" = "readlinkdb" ] ; then
+  CLASS=org.apache.nutch.crawl.LinkDbReader
+elif [ "$COMMAND" = "readseg" ] ; then
+  CLASS=org.apache.nutch.segment.SegmentReader
+elif [ "$COMMAND" = "segread" ] ; then
+  echo "[DEPRECATED] Command 'segread' is deprecated, use 'readseg' instead."
+  CLASS=org.apache.nutch.segment.SegmentReader
+elif [ "$COMMAND" = "mergesegs" ] ; then
+  CLASS=org.apache.nutch.segment.SegmentMerger
+elif [ "$COMMAND" = "updatedb" ] ; then
+  CLASS=org.apache.nutch.crawl.CrawlDb
+elif [ "$COMMAND" = "invertlinks" ] ; then
+  CLASS=org.apache.nutch.crawl.LinkDb
+elif [ "$COMMAND" = "mergelinkdb" ] ; then
+  CLASS=org.apache.nutch.crawl.LinkDbMerger
+elif [ "$COMMAND" = "index" ] ; then
+  CLASS=org.apache.nutch.indexer.Indexer
+elif [ "$COMMAND" = "solrindex" ] ; then
+  CLASS=org.apache.nutch.indexer.solr.SolrIndexer
+elif [ "$COMMAND" = "dedup" ] ; then
+  CLASS=org.apache.nutch.indexer.DeleteDuplicates
+elif [ "$COMMAND" = "solrdedup" ] ; then
+  CLASS=org.apache.nutch.indexer.solr.SolrDeleteDuplicates
+elif [ "$COMMAND" = "merge" ] ; then
+  CLASS=org.apache.nutch.indexer.IndexMerger
+elif [ "$COMMAND" = "plugin" ] ; then
+  CLASS=org.apache.nutch.plugin.PluginRepository
+elif [ "$COMMAND" = "server" ] ; then
+  CLASS='org.apache.nutch.searcher.DistributedSearch$Server'
+else
+  CLASS=$COMMAND
+fi
+
+# run it
+exec "$JAVA" $JAVA_HEAP_MAX $NUTCH_OPTS -classpath "$CLASSPATH" $CLASS "$@"
+
Index: /nutchez-0.1/bin/nutchez
===================================================================
--- /nutchez-0.1/bin/nutchez	(revision 66)
+++ /nutchez-0.1/bin/nutchez	(revision 66)
@@ -0,0 +1,80 @@
+#!/bin/bash
+# Author: WeiYu Chen <waue _at_ nchc org tw>
+# License: GPL
+# Description: Eazily use for Nutch
+# .
+
+NUTCHEZ_SCRIPT_PATH="${NUTCHEZ_SCRIPT_PATH:-/opt/nutch}"
+
+. ./nutchez-func.sh
+# root ?
+#check_if_root
+
+# show url lists
+CHECK=0
+while [ $CHECK -eq 0 ]; do
+
+  LOCK=1
+  while [ $LOCK -eq 1 ]; do
+    # milestone M1
+    show_urls
+    URL=$?
+    echo_vb "2.2 show_urls return $URL"
+    
+# add or delete url:  ok , exit
+# ok =0 , exit =1 
+
+    if [ $URL -eq 0 ];then
+      # go_to_M2
+      LOCK=0
+    else
+      #return_console
+      exit
+    fi
+
+  done
+  # milestone M2
+
+  # setup search engine personality
+  #   next, back
+  setup_robot
+
+  # setup the crawl paramater
+  #   next, back
+  setup_crawler
+
+  # setup the tomcat paramater
+  #   next, back
+  setup_tomcat
+
+  # show the final checklist
+  final_confirm
+  FC=$?
+  echo_vb "6.3 final confirm return = $FC "
+  #   START , back, cancel
+  # start =0 , back =1 
+  if [ $FC -eq 0 ];then
+    #go_to_M3
+    CHECK=1
+    # change temp file as conf file
+    promote_tempfile
+  else
+    #go_to_M1
+    LOCK=1
+    CHECK=0
+    # temp file delete!
+    clean_tempfile
+    #return_console
+  fi
+done
+
+start_crawl
+
+start_tomcat
+
+# show result message
+
+show_report
+
+# Done 
+
Index: /nutchez-0.1/bin/nutchez-func.sh
===================================================================
--- /nutchez-0.1/bin/nutchez-func.sh	(revision 66)
+++ /nutchez-0.1/bin/nutchez-func.sh	(revision 66)
@@ -0,0 +1,125 @@
+#!/bin/bash
+# Author: WeiYu Chen <waue _at_ nchc org tw>
+# License: GPL
+# Description: Eazily use for Nutch
+# .
+
+. $NUTCHEZ_SCRIPT_PATH/conf/hadoop-env.sh
+
+VERB=1
+
+: ${DIALOG=dialog}
+
+#NEZ_DIR=/home/waue/.nutchez
+#NEZ_DIR_URL
+#NEZ_DIR_OTHER
+
+
+echo_vb () {
+  if [ $VERB -eq 1 ]; then
+    $DIALOG --msgbox "$1" 16 51
+  fi
+}
+
+test_file () {
+  if ! test -e "$1" ; then
+    echo_vb "test_file: \n can not find $1"
+    echo "" >  $1
+  else
+     echo_vb "test_file: \n Touch  $1 ! \n Its content is \n `cat $1`"
+  fi
+}
+
+check_if_root() {
+   if [ ! "$UID" = "0" ]; then
+     echo_vb "Hi [$LOGNAME] !! "
+     echo_vb "You need to run this script \"`basename $0`\" as root."
+     exit 1
+   fi
+}
+
+promote_tempfile () {
+  echo_vb "7. chang tmp as txt"
+  rm /tmp/n.*.txt
+  mv /tmp/n.url.tmp /tmp/n.url.txt
+  mv /tmp/n.robot.tmp /tmp/n.robot.txt
+  mv /tmp/n.crawler.tmp /tmp/n.crawler.txt
+  mv /tmp/n.tomcat.tmp /tmp/n.tomcat.txt
+}
+
+clean_tempfile () {
+  echo_vb "7. delete tmp"
+  rm /tmp/n.*.tmp
+}
+
+
+
+show_urls (){
+  # show urls : ok =0 ,cancel = 1
+  echo_vb "2. show_urls !"
+  test_file  /tmp/n.url.txt
+  echo_vb "2.1 test_file /tmp/n.url.txt return : $?"
+  # dialog begin
+  dialog  --editbox /tmp/n.url.txt 16 51 2>/tmp/n.url.tmp
+  RET=$?
+  echo_vb "2.1 cat url: `cat /tmp/n.url.tmp`"
+  return $RET
+}
+
+setup_robot () {
+  test_file /tmp/n.robot.txt
+  echo_vb "3. setup_robot"
+  # dialog
+  dialog --nocancel --inputbox " This agent name \n" 16 51 "`cat /tmp/n.robot.txt`" 2>/tmp/n.robot.tmp
+  echo_vb "3.1 cat robot : `cat /tmp/n.robot.tmp`"
+}
+
+setup_crawler () {
+  echo_vb "4. setup_crawler"
+  test_file /tmp/n.crawler.txt
+  dialog --nocancel --inputbox " Depth  \n " 16 51 "`cat /tmp/n.crawler.txt`" 2>/tmp/n.crawler.tmp
+  echo_vb "4.1 cat robot : `cat /tmp/n.robot.tmp`"
+}
+
+setup_tomcat () {
+  echo_vb "5. setup_tomcat"
+  test_file /tmp/n.tomcat.txt
+  dialog --nocancel --inputbox " explorer port \n " 16 51 "`cat /tmp/n.tomcat.txt`" 2>/tmp/n.tomcat.tmp
+  echo_vb "5.1 cat tomcat : `cat /tmp/n.tomcat.tmp`"
+}
+
+final_confirm () {
+  echo_vb "6. final_confirm : start =0 , back =1 "
+  tempfile=`tempfile 2>/dev/null` || tempfile=/tmp/n.finalcheck.tmp
+  #trap "rm -f $tempfile" 0 1 2 5 15
+
+  echo " \n 1. The url list is : \n " > $tempfile
+  cat /tmp/n.url.tmp >> $tempfile
+  echo " \n 2. The robot name is : \n" >> $tempfile
+  cat /tmp/n.robot.tmp >> $tempfile
+  echo " \n 3. The crawled dipth is : \n " >> $tempfile
+  cat /tmp/n.crawler.tmp >> $tempfile
+  echo " \n 4. The explorer port is : \n " >> $tempfile
+  cat /tmp/n.tomcat.tmp >> $tempfile
+
+  MSG=`cat $tempfile`
+  echo_vb "6.1 final message :\n $MSG"
+  #read READ
+  $DIALOG --title "Check It !!" --clear \
+        --yesno "$MSG" 16 51
+  RET=$?
+  echo_vb "final return = $RET"
+  return $RET
+}
+
+start_crawl () {
+  echo_vb "7. start_crawl"
+}
+
+start_tomcat () {
+  echo_vb "8. start_tomcat "
+}
+
+show_report () {
+  echo_vb "9. show_report "
+}
Index: /nutchez-0.1/bin/rcc
===================================================================
--- /nutchez-0.1/bin/rcc	(revision 66)
+++ /nutchez-0.1/bin/rcc	(revision 66)
@@ -0,0 +1,99 @@
+#!/usr/bin/env bash
+
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
+# The Hadoop record compiler
+#
+# Environment Variables
+#
+#   JAVA_HOME        The java implementation to use.  Overrides JAVA_HOME.
+#
+#   HADOOP_OPTS      Extra Java runtime options.
+#
+#   HADOOP_CONF_DIR  Alternate conf dir. Default is ${HADOOP_HOME}/conf.
+#
+
+bin=`dirname "$0"`
+bin=`cd "$bin"; pwd`
+
+. "$bin"/hadoop-config.sh
+
+if [ -f "${HADOOP_CONF_DIR}/hadoop-env.sh" ]; then
+  . "${HADOOP_CONF_DIR}/hadoop-env.sh"
+fi
+
+# some Java parameters
+if [ "$JAVA_HOME" != "" ]; then
+  #echo "run java in $JAVA_HOME"
+  JAVA_HOME=$JAVA_HOME
+fi
+  
+if [ "$JAVA_HOME" = "" ]; then
+  echo "Error: JAVA_HOME is not set."
+  exit 1
+fi
+
+JAVA=$JAVA_HOME/bin/java
+JAVA_HEAP_MAX=-Xmx1000m 
+
+# CLASSPATH initially contains $HADOOP_CONF_DIR
+CLASSPATH="${HADOOP_CONF_DIR}"
+CLASSPATH=${CLASSPATH}:$JAVA_HOME/lib/tools.jar
+
+# for developers, add Hadoop classes to CLASSPATH
+if [ -d "$HADOOP_HOME/build/classes" ]; then
+  CLASSPATH=${CLASSPATH}:$HADOOP_HOME/build/classes
+fi
+if [ -d "$HADOOP_HOME/build/webapps" ]; then
+  CLASSPATH=${CLASSPATH}:$HADOOP_HOME/build
+fi
+if [ -d "$HADOOP_HOME/build/test/classes" ]; then
+  CLASSPATH=${CLASSPATH}:$HADOOP_HOME/build/test/classes
+fi
+
+# so that filenames w/ spaces are handled correctly in loops below
+IFS=
+
+# for releases, add core hadoop jar & webapps to CLASSPATH
+if [ -d "$HADOOP_HOME/webapps" ]; then
+  CLASSPATH=${CLASSPATH}:$HADOOP_HOME
+fi
+for f in $HADOOP_HOME/hadoop-*-core.jar; do
+  CLASSPATH=${CLASSPATH}:$f;
+done
+
+# add libs to CLASSPATH
+for f in $HADOOP_HOME/lib/*.jar; do
+  CLASSPATH=${CLASSPATH}:$f;
+done
+
+for f in $HADOOP_HOME/lib/jetty-ext/*.jar; do
+  CLASSPATH=${CLASSPATH}:$f;
+done
+
+# restore ordinary behaviour
+unset IFS
+
+CLASS='org.apache.hadoop.record.compiler.generated.Rcc'
+
+# cygwin path translation
+if expr `uname` : 'CYGWIN*' > /dev/null; then
+  CLASSPATH=`cygpath -p -w "$CLASSPATH"`
+fi
+
+# run it
+exec "$JAVA" $HADOOP_OPTS -classpath "$CLASSPATH" $CLASS "$@"
Index: /nutchez-0.1/bin/slaves.sh
===================================================================
--- /nutchez-0.1/bin/slaves.sh	(revision 66)
+++ /nutchez-0.1/bin/slaves.sh	(revision 66)
@@ -0,0 +1,68 @@
+#!/usr/bin/env bash
+
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
+# Run a shell command on all slave hosts.
+#
+# Environment Variables
+#
+#   HADOOP_SLAVES    File naming remote hosts.
+#     Default is ${HADOOP_CONF_DIR}/slaves.
+#   HADOOP_CONF_DIR  Alternate conf dir. Default is ${HADOOP_HOME}/conf.
+#   HADOOP_SLAVE_SLEEP Seconds to sleep between spawning remote commands.
+#   HADOOP_SSH_OPTS Options passed to ssh when running remote commands.
+##
+
+usage="Usage: slaves.sh [--config confdir] command..."
+
+# if no args specified, show usage
+if [ $# -le 0 ]; then
+  echo $usage
+  exit 1
+fi
+
+bin=`dirname "$0"`
+bin=`cd "$bin"; pwd`
+
+. "$bin"/hadoop-config.sh
+
+# If the slaves file is specified in the command line,
+# then it takes precedence over the definition in 
+# hadoop-env.sh. Save it here.
+HOSTLIST=$HADOOP_SLAVES
+
+if [ -f "${HADOOP_CONF_DIR}/hadoop-env.sh" ]; then
+  . "${HADOOP_CONF_DIR}/hadoop-env.sh"
+fi
+
+if [ "$HOSTLIST" = "" ]; then
+  if [ "$HADOOP_SLAVES" = "" ]; then
+    export HOSTLIST="${HADOOP_CONF_DIR}/slaves"
+  else
+    export HOSTLIST="${HADOOP_SLAVES}"
+  fi
+fi
+
+for slave in `cat "$HOSTLIST"`; do
+ ssh $HADOOP_SSH_OPTS $slave $"${@// /\\ }" \
+   2>&1 | sed "s/^/$slave: /" &
+ if [ "$HADOOP_SLAVE_SLEEP" != "" ]; then
+   sleep $HADOOP_SLAVE_SLEEP
+ fi
+done
+
+wait
Index: /nutchez-0.1/bin/start-all.sh
===================================================================
--- /nutchez-0.1/bin/start-all.sh	(revision 66)
+++ /nutchez-0.1/bin/start-all.sh	(revision 66)
@@ -0,0 +1,30 @@
+#!/usr/bin/env bash
+
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
+# Start all hadoop daemons.  Run this on master node.
+
+bin=`dirname "$0"`
+bin=`cd "$bin"; pwd`
+
+. "$bin"/hadoop-config.sh
+
+# start dfs daemons
+"$bin"/start-dfs.sh --config $HADOOP_CONF_DIR
+
+# start mapred daemons
+"$bin"/start-mapred.sh --config $HADOOP_CONF_DIR
Index: /nutchez-0.1/bin/start-balancer.sh
===================================================================
--- /nutchez-0.1/bin/start-balancer.sh	(revision 66)
+++ /nutchez-0.1/bin/start-balancer.sh	(revision 66)
@@ -0,0 +1,25 @@
+#!/usr/bin/env bash
+
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+bin=`dirname "$0"`
+bin=`cd "$bin"; pwd`
+
+. "$bin"/hadoop-config.sh
+
+# Start balancer daemon.
+
+"$bin"/hadoop-daemon.sh --config $HADOOP_CONF_DIR start balancer $@
Index: /nutchez-0.1/bin/start-dfs.sh
===================================================================
--- /nutchez-0.1/bin/start-dfs.sh	(revision 66)
+++ /nutchez-0.1/bin/start-dfs.sh	(revision 66)
@@ -0,0 +1,52 @@
+#!/usr/bin/env bash
+
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
+# Start hadoop dfs daemons.
+# Optinally upgrade or rollback dfs state.
+# Run this on master node.
+
+usage="Usage: start-dfs.sh [-upgrade|-rollback]"
+
+bin=`dirname "$0"`
+bin=`cd "$bin"; pwd`
+
+. "$bin"/hadoop-config.sh
+
+# get arguments
+if [ $# -ge 1 ]; then
+	nameStartOpt=$1
+	shift
+	case $nameStartOpt in
+	  (-upgrade)
+	  	;;
+	  (-rollback) 
+	  	dataStartOpt=$nameStartOpt
+	  	;;
+	  (*)
+		  echo $usage
+		  exit 1
+	    ;;
+	esac
+fi
+
+# start dfs daemons
+# start namenode after datanodes, to minimize time namenode is up w/o data
+# note: datanodes will log connection errors until namenode starts
+"$bin"/hadoop-daemon.sh --config $HADOOP_CONF_DIR start namenode $nameStartOpt
+"$bin"/hadoop-daemons.sh --config $HADOOP_CONF_DIR start datanode $dataStartOpt
+"$bin"/hadoop-daemons.sh --config $HADOOP_CONF_DIR --hosts masters start secondarynamenode
Index: /nutchez-0.1/bin/start-mapred.sh
===================================================================
--- /nutchez-0.1/bin/start-mapred.sh	(revision 66)
+++ /nutchez-0.1/bin/start-mapred.sh	(revision 66)
@@ -0,0 +1,29 @@
+#!/usr/bin/env bash
+
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
+# Start hadoop map reduce daemons.  Run this on master node.
+
+bin=`dirname "$0"`
+bin=`cd "$bin"; pwd`
+
+. "$bin"/hadoop-config.sh
+
+# start mapred daemons
+# start jobtracker first to minimize connection errors at startup
+"$bin"/hadoop-daemon.sh --config $HADOOP_CONF_DIR start jobtracker
+"$bin"/hadoop-daemons.sh --config $HADOOP_CONF_DIR start tasktracker
Index: /nutchez-0.1/bin/stop-all.sh
===================================================================
--- /nutchez-0.1/bin/stop-all.sh	(revision 66)
+++ /nutchez-0.1/bin/stop-all.sh	(revision 66)
@@ -0,0 +1,27 @@
+#!/usr/bin/env bash
+
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
+# Stop all hadoop daemons.  Run this on master node.
+
+bin=`dirname "$0"`
+bin=`cd "$bin"; pwd`
+
+. "$bin"/hadoop-config.sh
+
+"$bin"/stop-mapred.sh --config $HADOOP_CONF_DIR
+"$bin"/stop-dfs.sh --config $HADOOP_CONF_DIR
Index: /nutchez-0.1/bin/stop-balancer.sh
===================================================================
--- /nutchez-0.1/bin/stop-balancer.sh	(revision 66)
+++ /nutchez-0.1/bin/stop-balancer.sh	(revision 66)
@@ -0,0 +1,26 @@
+#!/usr/bin/env bash
+
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+bin=`dirname "$0"`
+bin=`cd "$bin"; pwd`
+
+. "$bin"/hadoop-config.sh
+
+# Stop balancer daemon.
+# Run this on the machine where the balancer is running
+
+"$bin"/hadoop-daemon.sh --config $HADOOP_CONF_DIR stop balancer
Index: /nutchez-0.1/bin/stop-dfs.sh
===================================================================
--- /nutchez-0.1/bin/stop-dfs.sh	(revision 66)
+++ /nutchez-0.1/bin/stop-dfs.sh	(revision 66)
@@ -0,0 +1,29 @@
+#!/usr/bin/env bash
+
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
+# Stop hadoop DFS daemons.  Run this on master node.
+
+bin=`dirname "$0"`
+bin=`cd "$bin"; pwd`
+
+. "$bin"/hadoop-config.sh
+
+"$bin"/hadoop-daemon.sh --config $HADOOP_CONF_DIR stop namenode
+"$bin"/hadoop-daemons.sh --config $HADOOP_CONF_DIR stop datanode
+"$bin"/hadoop-daemons.sh --config $HADOOP_CONF_DIR --hosts masters stop secondarynamenode
+
Index: /nutchez-0.1/bin/stop-mapred.sh
===================================================================
--- /nutchez-0.1/bin/stop-mapred.sh	(revision 66)
+++ /nutchez-0.1/bin/stop-mapred.sh	(revision 66)
@@ -0,0 +1,28 @@
+#!/usr/bin/env bash
+
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
+# Stop hadoop map reduce daemons.  Run this on master node.
+
+bin=`dirname "$0"`
+bin=`cd "$bin"; pwd`
+
+. "$bin"/hadoop-config.sh
+
+"$bin"/hadoop-daemon.sh --config $HADOOP_CONF_DIR stop jobtracker
+"$bin"/hadoop-daemons.sh --config $HADOOP_CONF_DIR stop tasktracker
+
Index: /nutchez-0.1/bin/test.sh
===================================================================
--- /nutchez-0.1/bin/test.sh	(revision 66)
+++ /nutchez-0.1/bin/test.sh	(revision 66)
@@ -0,0 +1,44 @@
+#!/bin/sh
+# $Id: inputbox4,v 1.3 2004/09/12 22:38:08 tom Exp $
+# An example which does not use temporary files, as suggested by Cary Evans:
+
+: ${DIALOG=dialog}
+$DIALOG --msgbox "goood" 0 0
+$DIALOG --msgbox "goood1" 0 0
+$DIALOG --msgbox "goood2" 0 0
+
+
+
+tempfile=`tempfile 2>/dev/null` || tempfile=/tmp/test$$
+trap "rm -f $tempfile" 0 1 2 5 15
+
+$DIALOG --cr-wrap \
+	--title "INPUT BOX" --clear \
+        --inputbox \
+"Hi, this is an input dialog box. You can use
+this to ask questions that require the user
+to input a string as the answer. You can 
+input strings of length longer than the 
+width of the input box, in that case, the 
+input field will be automatically scrolled. 
+You can use BACKSPACE to correct errors. 
+
+Try entering your name below:" 0 0 2> $tempfile
+
+retval=$?
+
+case $retval in
+  0)
+    #echo "Input string is `cat $tempfile`"
+    $DIALOG --msgbox "Your message is `cat $tempfile`" 0 0
+    ;;
+  1)
+    echo "Cancel pressed.";;
+  255)
+    if test -s $tempfile ; then
+      cat $tempfile
+    else
+      echo "ESC pressed."
+    fi
+    ;;
+esac
Index: /nutchez-0.1/build.xml
===================================================================
--- /nutchez-0.1/build.xml	(revision 66)
+++ /nutchez-0.1/build.xml	(revision 66)
@@ -0,0 +1,635 @@
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<project name="Nutch" default="job">
+
+  <!-- Load all the default properties, and any the user wants    -->
+  <!-- to contribute (without having to type -D or edit this file -->
+  <property file="${user.home}/build.properties" />
+  <property file="${basedir}/build.properties" />
+  <property file="${basedir}/default.properties" />
+  <property name="test.junit.output.format" value="plain"/>
+ 
+  <!-- the normal classpath -->
+  <path id="classpath">
+    <pathelement location="${build.classes}"/>
+    <fileset dir="${lib.dir}">
+      <include name="*.jar" />
+    </fileset>
+  </path>
+
+  <!-- the unit test classpath -->
+  <dirname property="plugins.classpath.dir" file="${build.plugins}"/>
+  <path id="test.classpath">
+    <pathelement location="${test.build.classes}" />
+    <pathelement location="${conf.dir}"/>
+    <pathelement location="${test.src.dir}"/>
+    <pathelement location="${plugins.classpath.dir}"/>
+    <path refid="classpath"/>
+    <pathelement location="${build.dir}/${final.name}.job" />
+  </path>
+
+  <!-- xmlcatalog definition for xslt task -->
+  <xmlcatalog id="docDTDs">
+     <dtd publicId="-//W3C//DTD XHTML 1.0 Transitional//EN"            
+          location="${xmlcatalog.dir}/xhtml1-transitional.dtd"/> 
+  </xmlcatalog> 
+
+  <!-- ====================================================== -->
+  <!-- Stuff needed by all targets                            -->
+  <!-- ====================================================== -->
+  <target name="init">
+    <mkdir dir="${build.dir}"/>
+    <mkdir dir="${build.classes}"/>
+
+    <mkdir dir="${test.build.dir}"/>
+    <mkdir dir="${test.build.classes}"/>
+
+    <touch datetime="01/25/1971 2:00 pm">
+      <fileset dir="${conf.dir}" includes="**/*.template"/>
+    </touch>
+
+    <copy todir="${conf.dir}" verbose="true">
+      <fileset dir="${conf.dir}" includes="**/*.template"/>
+      <mapper type="glob" from="*.template" to="*"/>
+    </copy>
+
+    <!-- unpack hadoop scripts from hadoop jar into bin directory -->
+    <mkdir dir="${build.dir}/hadoop"/>
+    <unjar dest="${build.dir}/hadoop">
+      <fileset dir="${lib.dir}" includes="hadoop*.jar"/>
+      <patternset includes="bin.tgz"/>
+    </unjar>
+    
+    <untar src="${build.dir}/hadoop/bin.tgz" dest="bin" compression="gzip"/>
+    <!-- fix broken library paths with spaces -->
+    <replace file="bin/hadoop" token="PlatformName" value="PlatformName | sed -e 's/ /_/g'"/>
+    <chmod dir="bin" perm="ugo+rx" includes="*.sh,hadoop"/>
+
+    <!-- unpack hadoop webapp from hadoop jar into build directory -->
+    <mkdir dir="${build.dir}/webapps"/>
+    <unjar dest="${build.dir}">
+      <fileset dir="${lib.dir}" includes="hadoop*.jar"/>
+      <patternset includes="webapps/**"/>
+    </unjar>
+
+  </target>
+
+  <!-- ====================================================== -->
+  <!-- Compile the Java files                                 -->
+  <!-- ====================================================== -->
+  <target name="compile" depends="compile-core, compile-plugins"/>
+
+  <target name="compile-core" depends="init">
+    <javac 
+     encoding="${build.encoding}" 
+     srcdir="${src.dir}"
+     includes="org/apache/nutch/**/*.java"
+     destdir="${build.classes}"
+     debug="${javac.debug}"
+     optimize="${javac.optimize}"
+     target="${javac.version}"
+     source="${javac.version}"
+     deprecation="${javac.deprecation}">
+      <classpath refid="classpath"/>
+    </javac>    
+  </target>
+
+  <target name="compile-plugins">
+    <ant dir="src/plugin" target="deploy" inheritAll="false"/>
+  </target>
+
+  <target name="generate-src" depends="init">
+    <javacc target="${src.dir}/org/apache/nutch/analysis/NutchAnalysis.jj"
+            javacchome="${javacc.home}">
+    </javacc>
+
+    <fixcrlf srcdir="${src.dir}" eol="lf" includes="**/*.java"/>
+
+  </target>
+
+  <target name="dynamic" depends="generate-src, compile">
+  </target>
+
+  <!-- ================================================================== -->
+  <!-- Make nutch.jar                                                     -->
+  <!-- ================================================================== -->
+  <!--                                                                    -->
+  <!-- ================================================================== -->
+  <target name="jar" depends="compile-core">
+    <copy file="${conf.dir}/nutch-default.xml"
+          todir="${build.classes}"/>
+    <copy file="${conf.dir}/nutch-site.xml"
+          todir="${build.classes}"/>
+    <jar jarfile="${build.dir}/${final.name}.jar"
+         basedir="${build.classes}">
+      <manifest>
+      </manifest>
+    </jar>
+  </target>
+
+  <!-- ================================================================== -->
+  <!-- Make job jar                                                       -->
+  <!-- ================================================================== -->
+  <!--                                                                    -->
+  <!-- ================================================================== -->
+  <target name="job" depends="compile">
+    <jar jarfile="${build.dir}/${final.name}.job">
+      <zipfileset dir="${build.classes}"/>
+      <zipfileset dir="${conf.dir}" excludes="*.template,hadoop*.*"/>
+      <zipfileset dir="${lib.dir}" prefix="lib"
+                  includes="**/*.jar" excludes="hadoop-*.jar"/>
+      <zipfileset dir="${build.plugins}" prefix="plugins"/>
+    </jar>
+  </target>
+
+  <!-- ================================================================== -->
+  <!-- Make nutch.war                                                     -->
+  <!-- ================================================================== -->
+  <!--                                                                    -->
+  <!-- ================================================================== -->
+  <target name="war" depends="jar,compile,generate-docs">
+
+    <!-- generate the nutch.xml (servlet context) file -->
+    <xslt in="${basedir}/conf/nutch-default.xml"
+          out="${build.dir}/nutch.xml"
+          style="${basedir}/conf/context.xsl">
+        <xmlcatalog refid="docDTDs"/>
+    	<outputproperty name="indent" value="yes"/>
+    </xslt>
+    <war destfile="${build.dir}/${final.name}.war"
+    	webxml="${web.src.dir}/web.xml">
+      <fileset dir="${web.src.dir}/jsp"/>
+      <zipfileset dir="${docs.src}" includes="include/*.html"/>
+      <zipfileset dir="${build.docs}" includes="*/include/*.html"/>
+      <fileset dir="${docs.dir}"/>
+      <lib dir="${lib.dir}">
+        <include name="lucene*.jar"/>
+        <include name="taglibs-*.jar"/>
+        <include name="hadoop-*.jar"/>
+        <include name="dom4j-*.jar"/>
+        <include name="xerces-*.jar"/>
+        <include name="tika-*.jar"/>
+        <include name="apache-solr-*.jar"/>
+        <include name="commons-httpclient-*.jar"/>
+        <include name="commons-codec-*.jar"/>
+        <include name="commons-collections-*.jar"/>
+        <include name="commons-beanutils-*.jar"/>
+        <include name="commons-cli-*.jar"/>
+        <include name="commons-lang-*.jar"/>
+        <include name="commons-logging-*.jar"/>
+        <include name="log4j-*.jar"/>
+      </lib>
+      <lib dir="${build.dir}">
+	      <include name="${final.name}.jar"/>
+      </lib>
+      <classes dir="${conf.dir}" excludes="**/*.template"/>
+      <classes dir="${web.src.dir}/locale"/>
+      <classes file="${web.src.dir}/log4j.properties"/>
+      <zipfileset prefix="WEB-INF/classes/plugins" dir="${build.plugins}"/>
+      <webinf dir="${lib.dir}">
+	      <include name="taglibs-*.tld"/>
+      </webinf>
+    </war>
+   </target>
+
+
+  <!-- ================================================================== -->
+  <!-- Compile test code                                                  --> 
+  <!-- ================================================================== -->
+  <target name="compile-core-test" depends="compile-core">
+    <javac 
+     encoding="${build.encoding}" 
+     srcdir="${test.src.dir}"
+     includes="org/apache/nutch/**/*.java"
+     destdir="${test.build.classes}"
+     debug="${javac.debug}"
+     optimize="${javac.optimize}"
+     target="${javac.version}"
+     source="${javac.version}"
+     deprecation="${javac.deprecation}">
+      <classpath refid="test.classpath"/>
+    </javac>    
+  </target>
+
+  <!-- ================================================================== -->
+  <!-- Run code checks (PMD)                                              --> 
+  <!-- ================================================================== -->
+  <target name="pmd" depends="compile">
+	<property name="pmd.report" location="${build.dir}/pmd-report.html" />
+	<taskdef name="pmd" classname="net.sourceforge.pmd.ant.PMDTask">
+	  <classpath>
+		  <fileset dir="${lib.dir}">
+            <include name="pmd-ext/*.jar" />
+            <include name="xerces*.jar" />
+          </fileset>
+	  </classpath>
+	</taskdef>
+	<pmd shortFilenames="true" failonerror="true" failOnRuleViolation="false"
+		 encoding="${build.encoding}" failuresPropertyName="pmd.failures">
+	  <ruleset>unusedcode</ruleset>
+          <!--ruleset>basic</ruleset-->
+          <!--ruleset>optimizations</ruleset-->
+      <formatter type="html" toFile="${pmd.report}" />
+	  <!-- <formatter type="xml" toFile="${tempbuild}/$report_pmd.xml"/> -->
+	<fileset dir="${basedir}/src">
+        	<include name="java/**/*.java"/>
+	        <include name="plugin/**/*.java"/>
+		<!-- Exclude generated sources -->
+		<exclude name="**/NutchAnalysis.java" />
+		<exclude name="**/NutchAnalysisTokenManager.java" />
+      </fileset>
+    </pmd>
+	<condition property="pmd.stop" value="true">
+      <and>
+        <isset property="pmd.failures" />
+          <not>
+            <equals arg1="0" arg2="${pmd.failures}" trim="true" />
+          </not>
+      </and>
+	</condition>
+	<fail if="pmd.stop">FAILURE: PMD shows ${pmd.failures} rule violations. See ${pmd.report} for details.</fail>
+  </target>
+
+  <!-- ================================================================== -->
+  <!-- Run unit tests                                                     --> 
+  <!-- ================================================================== -->
+  <target name="test" depends="test-core, test-plugins"/>
+
+  <target name="test-core" depends="job, compile-core-test">
+
+    <delete dir="${test.build.data}"/>
+    <mkdir dir="${test.build.data}"/>
+    <!-- 
+     copy resources needed in junit tests
+    -->
+    <copy todir="${test.build.data}">
+      <fileset dir="src/testresources" includes="**/*"/>
+    </copy>
+    <copy file="${test.src.dir}/nutch-site.xml"
+          todir="${test.build.classes}"/>
+
+    <copy file="${test.src.dir}/log4j.properties"
+          todir="${test.build.classes}"/>
+
+    <junit printsummary="yes" haltonfailure="no" fork="yes" dir="${basedir}"
+      errorProperty="tests.failed" failureProperty="tests.failed" maxmemory="1000m">
+      <sysproperty key="test.build.data" value="${test.build.data}"/>
+      <sysproperty key="test.src.dir" value="${test.src.dir}"/>
+      <classpath refid="test.classpath"/>
+      <formatter type="${test.junit.output.format}" />
+      <batchtest todir="${test.build.dir}" unless="testcase">
+        <fileset dir="${test.src.dir}"
+                 includes="**/Test*.java" excludes="**/${test.exclude}.java" />
+      </batchtest>
+      <batchtest todir="${test.build.dir}" if="testcase">
+        <fileset dir="${test.src.dir}" includes="**/${testcase}.java"/>
+      </batchtest>
+    </junit>
+
+    <fail if="tests.failed">Tests failed!</fail>
+
+  </target>   
+
+  <target name="test-plugins" depends="compile">
+    <ant dir="src/plugin" target="test" inheritAll="false"/>
+  </target>
+
+  <target name="nightly" depends="test, tar">
+  </target>
+
+  <!-- ================================================================== -->
+  <!-- Documentation                                                      -->
+  <!-- ================================================================== -->
+  <target name="javadoc" depends="compile">
+    <mkdir dir="${build.javadoc}"/>
+    <javadoc
+      overview="${src.dir}/overview.html"
+      destdir="${build.javadoc}"
+      author="true"
+      version="true"
+      use="true"
+      windowtitle="${Name} ${version} API"
+      doctitle="${Name} ${version} API"
+      bottom="Copyright &amp;copy; ${year} The Apache Software Foundation"
+      >
+        <arg value="${javadoc.proxy.host}"/>
+        <arg value="${javadoc.proxy.port}"/>
+
+      <packageset dir="${src.dir}"/>
+      <packageset dir="${plugins.dir}/lib-http/src/java"/>
+      <packageset dir="${plugins.dir}/lib-parsems/src/java"/>
+      <packageset dir="${plugins.dir}/lib-regex-filter/src/java"/>
+      <packageset dir="${plugins.dir}/microformats-reltag/src/java"/>
+      <packageset dir="${plugins.dir}/ontology/src/java"/>
+      <packageset dir="${plugins.dir}/protocol-file/src/java"/>
+      <packageset dir="${plugins.dir}/protocol-ftp/src/java"/>
+      <packageset dir="${plugins.dir}/protocol-http/src/java"/>
+      <packageset dir="${plugins.dir}/protocol-httpclient/src/java"/>
+      <packageset dir="${plugins.dir}/parse-ext/src/java"/>
+      <packageset dir="${plugins.dir}/parse-html/src/java"/>
+      <packageset dir="${plugins.dir}/parse-js/src/java"/>
+      <packageset dir="${plugins.dir}/parse-text/src/java"/>
+      <packageset dir="${plugins.dir}/parse-pdf/src/java"/>
+<!--  <packageset dir="${plugins.dir}/parse-rtf/src/java"/> plugin excluded from build due to licensing issues-->
+<!--  <packageset dir="${plugins.dir}/parse-mp3/src/java"/> plugin excluded from build due to licensing issues-->
+      <packageset dir="${plugins.dir}/parse-msexcel/src/java"/>
+      <packageset dir="${plugins.dir}/parse-mspowerpoint/src/java"/>
+      <packageset dir="${plugins.dir}/parse-msword/src/java"/>
+      <packageset dir="${plugins.dir}/parse-oo/src/java"/>
+      <packageset dir="${plugins.dir}/parse-rss/src/java"/>
+      <packageset dir="${plugins.dir}/parse-swf/src/java"/>
+      <packageset dir="${plugins.dir}/parse-zip/src/java"/>
+      <packageset dir="${plugins.dir}/index-basic/src/java"/>
+      <packageset dir="${plugins.dir}/index-more/src/java"/>
+      <packageset dir="${plugins.dir}/query-basic/src/java"/>
+      <packageset dir="${plugins.dir}/query-more/src/java"/>
+      <packageset dir="${plugins.dir}/query-site/src/java"/>
+      <packageset dir="${plugins.dir}/query-url/src/java"/>
+      <packageset dir="${plugins.dir}/scoring-opic/src/java"/>
+      <packageset dir="${plugins.dir}/summary-basic/src/java"/>
+      <packageset dir="${plugins.dir}/summary-lucene/src/java"/>
+      <packageset dir="${plugins.dir}/urlfilter-automaton/src/java"/>
+      <packageset dir="${plugins.dir}/urlfilter-regex/src/java"/>
+      <packageset dir="${plugins.dir}/urlfilter-prefix/src/java"/>
+      <packageset dir="${plugins.dir}/creativecommons/src/java"/>
+      <packageset dir="${plugins.dir}/languageidentifier/src/java"/>
+      <packageset dir="${plugins.dir}/clustering-carrot2/src/java"/>
+      <packageset dir="${plugins.dir}/ontology/src/java"/>
+      
+      <link href="${javadoc.link.java}"/>
+      <link href="${javadoc.link.lucene}"/>
+      <link href="${javadoc.link.hadoop}"/>
+      
+      <classpath refid="classpath"/>
+    	<classpath>
+    		<fileset dir="${plugins.dir}" >
+    			<include name="**/*.jar"/>
+    		</fileset>
+    	</classpath>
+    	
+      <group title="Core" packages="org.apache.nutch.*"/>
+      <group title="Plugins API" packages="${plugins.api}"/>
+      <group title="Protocol Plugins" packages="${plugins.protocol}"/>
+      <group title="URL Filter Plugins" packages="${plugins.urlfilter}"/>
+      <group title="Scoring Plugins" packages="${plugins.scoring}"/>
+      <group title="Parse Plugins" packages="${plugins.parse}"/>
+      <group title="Analysis Plugins" packages="${plugins.analysis}"/>
+      <group title="Indexing Filter Plugins" packages="${plugins.index}"/>
+      <group title="Query Filter Plugins" packages="${plugins.query}"/>
+      <group title="Summary Plugins" packages="${plugins.summary}"/>
+      <group title="Clustering Plugins" packages="${plugins.clustering}"/>
+      <group title="Ontology Plugins" packages="${plugins.ontology}"/>
+      <group title="Misc. Plugins" packages="${plugins.misc}"/>
+    </javadoc>
+    <!-- Copy the plugin.dtd file to the plugin doc-files dir -->
+    <copy file="${plugins.dir}/plugin.dtd"
+          todir="${build.javadoc}/org/apache/nutch/plugin/doc-files"/>
+  </target>	
+	
+  <target name="default-doc">
+    <style basedir="${conf.dir}" destdir="${docs.dir}"
+           includes="nutch-default.xml" style="conf/nutch-conf.xsl"/>
+  </target>
+
+  <target name="generate-locale" if="doc.locale">
+    <echo message="Generating docs for locale=${doc.locale}"/>
+
+    <mkdir dir="${build.docs}/${doc.locale}/include"/>
+    <xslt in="${docs.src}/include/${doc.locale}/header.xml"
+          out="${build.docs}/${doc.locale}/include/header.html"
+          style="${docs.src}/style/nutch-header.xsl">
+        <xmlcatalog refid="docDTDs"/>
+    </xslt>
+
+    <dependset>
+       <srcfileset dir="${docs.src}/include/${doc.locale}" includes="*.xml"/>
+       <srcfileset dir="${docs.src}/style" includes="*.xsl"/>
+       <targetfileset dir="${docs.dir}/${doc.locale}" includes="*.html"/>
+    </dependset>  
+
+    <copy file="${docs.src}/style/nutch-page.xsl"
+          todir="${build.docs}/${doc.locale}"
+          preservelastmodified="true"/>
+
+    <xslt basedir="${docs.src}/pages/${doc.locale}"
+          destdir="${docs.dir}/${doc.locale}"
+          includes="*.xml"
+          style="${build.docs}/${doc.locale}/nutch-page.xsl">
+         <xmlcatalog refid="docDTDs"/>
+    </xslt>
+  </target>
+
+
+  <target name="generate-docs" depends="init">
+    <dependset>
+       <srcfileset dir="${docs.src}/include" includes="*.html"/>
+       <targetfileset dir="${docs.dir}" includes="**/*.html"/>
+    </dependset>  
+
+    <mkdir dir="${build.docs}/include"/>
+    <copy todir="${build.docs}/include">
+      <fileset dir="${docs.src}/include"/>
+    </copy>
+
+    <antcall target="generate-locale">
+      <param name="doc.locale" value="ca"/>
+    </antcall>
+
+    <antcall target="generate-locale">
+      <param name="doc.locale" value="de"/>
+    </antcall>
+
+    <antcall target="generate-locale">
+      <param name="doc.locale" value="en"/>
+    </antcall>
+    
+    <antcall target="generate-locale">
+      <param name="doc.locale" value="es"/>
+    </antcall>
+    
+    <antcall target="generate-locale">
+      <param name="doc.locale" value="fi"/>
+    </antcall>
+    
+    <antcall target="generate-locale">
+      <param name="doc.locale" value="fr"/>
+    </antcall>
+    
+    <antcall target="generate-locale">
+      <param name="doc.locale" value="hu"/>
+    </antcall>
+
+    <antcall target="generate-locale">
+      <param name="doc.locale" value="it"/>
+    </antcall>
+
+    <antcall target="generate-locale">
+      <param name="doc.locale" value="jp"/>
+    </antcall>
+
+    <antcall target="generate-locale">
+      <param name="doc.locale" value="ms"/>
+    </antcall>
+
+    <antcall target="generate-locale">
+      <param name="doc.locale" value="nl"/>
+    </antcall>
+
+    <antcall target="generate-locale">
+      <param name="doc.locale" value="pl"/>
+    </antcall>
+
+    <antcall target="generate-locale">
+      <param name="doc.locale" value="pt"/>
+    </antcall>
+
+    <antcall target="generate-locale">
+      <param name="doc.locale" value="sh"/>
+    </antcall>
+
+    <antcall target="generate-locale">
+      <param name="doc.locale" value="sr"/>
+    </antcall>
+
+    <antcall target="generate-locale">
+      <param name="doc.locale" value="sv"/>
+    </antcall>
+
+    <antcall target="generate-locale">
+      <param name="doc.locale" value="th"/>
+    </antcall>
+
+    <antcall target="generate-locale">
+      <param name="doc.locale" value="zh"/>
+    </antcall>
+
+    <fixcrlf srcdir="${docs.dir}" eol="lf" encoding="utf-8"
+             includes="**/*.html"/>
+
+  </target>
+
+  <!-- ================================================================== -->
+  <!-- D I S T R I B U T I O N                                            -->
+  <!-- ================================================================== -->
+  <!--                                                                    -->
+  <!-- ================================================================== -->
+  <target name="package" depends="jar, job, war, javadoc">
+    <mkdir dir="${dist.dir}"/>
+    <mkdir dir="${dist.dir}/lib"/>
+    <mkdir dir="${dist.dir}/bin"/>
+    <mkdir dir="${dist.dir}/docs"/>
+    <mkdir dir="${dist.dir}/docs/api"/>
+    <mkdir dir="${dist.dir}/plugins"/>
+
+    <copy todir="${dist.dir}/lib" includeEmptyDirs="false">
+      <fileset dir="lib"/>
+    </copy>
+
+    <copy todir="${dist.dir}/plugins">
+      <fileset dir="${build.plugins}"/>
+    </copy>
+
+    <copy todir="${dist.dir}/webapps">
+      <fileset dir="${build.webapps}"/>
+    </copy>
+
+    <copy file="${build.dir}/${final.name}.jar" todir="${dist.dir}"/>
+    <copy file="${build.dir}/${final.name}.job" todir="${dist.dir}"/>
+    <copy file="${build.dir}/${final.name}.war" todir="${dist.dir}"/>
+
+    <copy todir="${dist.dir}/bin">
+      <fileset dir="bin"/>
+    </copy>
+
+    <copy todir="${dist.dir}/conf">
+      <fileset dir="${conf.dir}" excludes="**/*.template"/>
+    </copy>
+
+    <chmod perm="ugo+x" type="file">
+        <fileset dir="${dist.dir}/bin"/>
+    </chmod>
+
+    <copy todir="${dist.dir}/docs">
+      <fileset dir="${docs.dir}"/>
+    </copy>
+
+    <copy todir="${dist.dir}/docs/api">
+      <fileset dir="${build.javadoc}"/>
+    </copy>
+
+    <copy todir="${dist.dir}">
+      <fileset dir=".">
+        <include name="*.txt" />
+        <include name="KEYS" />
+      </fileset>
+    </copy>
+
+    <copy todir="${dist.dir}/src" includeEmptyDirs="true">
+      <fileset dir="src"/>
+    </copy>
+
+    <copy todir="${dist.dir}/" file="build.xml"/>
+    <copy todir="${dist.dir}/" file="default.properties"/>
+
+  </target>
+
+  <!-- ================================================================== -->
+  <!-- Make release tarball                                               -->
+  <!-- ================================================================== -->
+  <target name="tar" depends="package">
+    <tar compression="gzip" longfile="gnu"
+      destfile="${build.dir}/${final.name}.tar.gz">
+      <tarfileset dir="${build.dir}" mode="664">
+	<exclude name="${final.name}/bin/*" />
+        <include name="${final.name}/**" />
+      </tarfileset>
+      <tarfileset dir="${build.dir}" mode="755">
+        <include name="${final.name}/bin/*" />
+      </tarfileset>
+    </tar>
+  </target>
+	
+  <!-- ================================================================== -->
+  <!-- Clean.  Delete the build files, and their directories              -->
+  <!-- ================================================================== -->
+  <target name="clean">
+    <delete dir="${build.dir}"/>
+  </target>
+
+  <!-- ================================================================== -->
+  <!-- RAT targets                                                        -->
+  <!-- ================================================================== -->
+  <target name="rat-sources-typedef">
+    <typedef resource="org/apache/rat/anttasks/antlib.xml" >
+      <classpath>
+        <fileset dir="." includes="rat*.jar"/>
+      </classpath>
+    </typedef>
+  </target>
+
+  <target name="rat-sources" depends="rat-sources-typedef"
+	  description="runs the tasks over src/java">
+    <rat:report xmlns:rat="antlib:org.apache.rat.anttasks">
+      <fileset dir="src">
+      	<include name="java/**/*"/>
+      	<include name="plugin/**/src/**/*"/>
+      </fileset>
+    </rat:report>
+  </target>
+	
+</project>
Index: /nutchez-0.1/conf/automaton-urlfilter.txt
===================================================================
--- /nutchez-0.1/conf/automaton-urlfilter.txt	(revision 66)
+++ /nutchez-0.1/conf/automaton-urlfilter.txt	(revision 66)
@@ -0,0 +1,34 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# The default url filter.
+# Better for whole-internet crawling.
+
+# Each non-comment, non-blank line contains a regular expression
+# prefixed by '+' or '-'.  The first matching pattern in the file
+# determines whether a URL is included or ignored.  If no pattern
+# matches, the URL is ignored.
+
+# skip file: ftp: and mailto: urls
+-(file|ftp|mailto):.*
+
+# skip image and other suffixes we can't yet parse
+-.*\.(gif|GIF|jpg|JPG|ico|ICO|css|sit|eps|wmf|zip|ppt|mpg|xls|gz|rpm|tgz|mov|MOV|exe)
+
+# skip URLs containing certain characters as probable queries, etc.
+-.*[?*!@=].*
+
+# accept anything else
++.*
Index: /nutchez-0.1/conf/common-terms.utf8
===================================================================
--- /nutchez-0.1/conf/common-terms.utf8	(revision 66)
+++ /nutchez-0.1/conf/common-terms.utf8	(revision 66)
@@ -0,0 +1,28 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Common terms and phrases which will be indexed in n-grams
+# in order to optimize search.
+content:a
+content:and
+content:for
+content:in
+content:of
+content:the
+content:to
+url:com
+url:http
+url:http-www
+url:www
Index: /nutchez-0.1/conf/commons-logging.properties
===================================================================
--- /nutchez-0.1/conf/commons-logging.properties	(revision 66)
+++ /nutchez-0.1/conf/commons-logging.properties	(revision 66)
@@ -0,0 +1,7 @@
+#Logging Implementation
+
+#Log4J
+org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger
+
+#JDK Logger
+#org.apache.commons.logging.Log=org.apache.commons.logging.impl.Jdk14Logger
Index: /nutchez-0.1/conf/configuration.xsl
===================================================================
--- /nutchez-0.1/conf/configuration.xsl	(revision 66)
+++ /nutchez-0.1/conf/configuration.xsl	(revision 66)
@@ -0,0 +1,24 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+<xsl:output method="html"/>
+<xsl:template match="configuration">
+<html>
+<body>
+<table border="1">
+<tr>
+ <td>name</td>
+ <td>value</td>
+ <td>description</td>
+</tr>
+<xsl:for-each select="property">
+<tr>
+  <td><a name="{name}"><xsl:value-of select="name"/></a></td>
+  <td><xsl:value-of select="value"/></td>
+  <td><xsl:value-of select="description"/></td>
+</tr>
+</xsl:for-each>
+</table>
+</body>
+</html>
+</xsl:template>
+</xsl:stylesheet>
Index: /nutchez-0.1/conf/context.xsl
===================================================================
--- /nutchez-0.1/conf/context.xsl	(revision 66)
+++ /nutchez-0.1/conf/context.xsl	(revision 66)
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+	Licensed to the Apache Software Foundation (ASF) under one or more
+	contributor license agreements.  See the NOTICE file distributed with
+	this work for additional information regarding copyright ownership.
+	The ASF licenses this file to You under the Apache License, Version 2.0
+	(the "License"); you may not use this file except in compliance with
+	the License.  You may obtain a copy of the License at
+	
+	http://www.apache.org/licenses/LICENSE-2.0
+	
+	Unless required by applicable law or agreed to in writing, software
+	distributed under the License is distributed on an "AS IS" BASIS,
+	WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+	See the License for the specific language governing permissions and
+	limitations under the License.
+	
+	Author     : Chris Mattmann
+        Auhtor     : Jérôme Charron
+	Description: This xsl file is used to transform dynamic properties out of the
+	nutch-default.xml file into a deployable Context.xml file for configuring
+	the Nutch war file in a servlet container.
+-->
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+<xsl:template match="/">
+<Context path="/nutch" docBase="nutch-0.9-dev.war"
+        debug="5" reloadable="true" crossContext="true">
+
+<xsl:for-each select="configuration/property">
+
+<!-- "searcher." properties -->
+<xsl:call-template name="parameter">
+  <xsl:with-param name="property" select="current()"/>
+  <xsl:with-param name="filter" select="'searcher.'"/>
+</xsl:call-template>
+
+<!-- "plugin." properties -->
+<xsl:call-template name="parameter">
+  <xsl:with-param name="property" select="current()"/>
+  <xsl:with-param name="filter" select="'plugin.'"/>
+</xsl:call-template>
+
+<!-- "extension.clustering." properties -->
+<xsl:call-template name="parameter">
+  <xsl:with-param name="property" select="current()"/>
+  <xsl:with-param name="filter" select="'extension.clustering.'"/>
+</xsl:call-template>
+
+<!-- "extension.ontology." properties -->
+<xsl:call-template name="parameter">
+  <xsl:with-param name="property" select="current()"/>
+  <xsl:with-param name="filter" select="'extension.ontology.'"/>
+</xsl:call-template>
+
+<!-- "query." properties -->
+<xsl:call-template name="parameter">
+  <xsl:with-param name="property" select="current()"/>
+  <xsl:with-param name="filter" select="'query.'"/>
+</xsl:call-template>
+
+</xsl:for-each>
+
+</Context>
+</xsl:template>
+
+
+<!--
+ ! Template used to write out a parameter if the property's
+ ! name contains the specified filter string.
+ !-->
+<xsl:template name="parameter">
+  <xsl:param name="property"/>
+  <xsl:param name="filter"/>
+  <xsl:if test="contains(name, $filter)">
+  <Parameter override="false">
+    <xsl:attribute name="name">
+      <xsl:value-of select="name"/>
+    </xsl:attribute>
+    <xsl:attribute name="value">
+      <xsl:value-of select="value"/>
+    </xsl:attribute>
+  </Parameter>
+  </xsl:if>
+</xsl:template>
+
+</xsl:stylesheet> 
Index: /nutchez-0.1/conf/crawl-tool.xml
===================================================================
--- /nutchez-0.1/conf/crawl-tool.xml	(revision 66)
+++ /nutchez-0.1/conf/crawl-tool.xml	(revision 66)
@@ -0,0 +1,59 @@
+<?xml version="1.0" ?> 
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
+
+<!-- Overidden defaults for intranet use. -->
+
+<!-- Do not modify this file directly.  Instead, copy entries that you -->
+<!-- wish to modify from this file into nutch-site.xml and change them -->
+<!-- there.  If nutch-site.xml does not already exist, create it.      -->
+
+<configuration>
+
+<property>
+  <name>urlfilter.regex.file</name>
+  <value>crawl-urlfilter.txt</value>
+</property>
+
+<property>
+  <name>db.ignore.internal.links</name>
+  <value>false</value>
+  <description>If true, when adding new links to a page, links from
+  the same host are ignored.  This is an effective way to limit the
+  size of the link database, keeping the only the highest quality
+  links.
+  </description>
+</property>
+
+<property>
+  <name>fetcher.server.delay</name>
+  <value>1.0</value>
+  <description>The number of seconds the fetcher will delay between 
+   successive requests to the same server.</description>
+</property>
+
+<property>
+  <name>http.max.delays</name>
+  <value>1000</value>
+  <description>The number of times a thread will delay when trying to
+  fetch a page.  When using the crawl tool there are likely to be very
+  few different hosts, so we need to be willing to wait longer for
+  each.</description>
+</property>
+
+</configuration>
Index: /nutchez-0.1/conf/crawl-urlfilter.txt
===================================================================
--- /nutchez-0.1/conf/crawl-urlfilter.txt	(revision 66)
+++ /nutchez-0.1/conf/crawl-urlfilter.txt	(revision 66)
@@ -0,0 +1,48 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
+# The url filter file used by the crawl command.
+
+# Better for intranet crawling.
+# Be sure to change MY.DOMAIN.NAME to your domain name.
+
+# Each non-comment, non-blank line contains a regular expression
+# prefixed by '+' or '-'.  The first matching pattern in the file
+# determines whether a URL is included or ignored.  If no pattern
+# matches, the URL is ignored.
+
+# skip file:, ftp:, & mailto: urls
+-^(ftp|mailto):
+
+# skip image and other suffixes we can't yet parse
+-\.(gif|GIF|jpg|JPG|png|PNG|ico|ICO|css|sit|eps|wmf|mpg|xls|gz|rpm|tgz|mov|MOV|exe|jpeg|JPEG|bmp|BMP)$
+
+# skip URLs containing certain characters as probable queries, etc.
+#-[?*!@=]
+-[*!@]
+
+# skip URLs with slash-delimited segment that repeats 3+ times, to break loops
+#-.*(/[^/]+)/[^/]+\1/[^/]+\1/
+
+# accept hosts in MY.DOMAIN.NAME
+#+^http://([a-z0-9]*\.)*MY.DOMAIN.NAME/
+#+^http://([a-z0-9]*\.)*.*/
+
+# skip everything else
+#-.
+
+#accecpt anything else
++.*
Index: /nutchez-0.1/conf/custom-fields.xml
===================================================================
--- /nutchez-0.1/conf/custom-fields.xml	(revision 66)
+++ /nutchez-0.1/conf/custom-fields.xml	(revision 66)
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
+<properties>
+  <!--<entry key="field.name">lang</entry>
+  <entry key="field.indexed">yes</entry>
+  <entry key="field.stored">yes</entry>
+  <entry key="field.tokenized">no</entry>
+  <entry key="field.boost">1.0</entry>
+  <entry key="field.multi">false</entry>-->
+</properties>
Index: /nutchez-0.1/conf/domain-suffixes.xml
===================================================================
--- /nutchez-0.1/conf/domain-suffixes.xml	(revision 66)
+++ /nutchez-0.1/conf/domain-suffixes.xml	(revision 66)
@@ -0,0 +1,4354 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!--
+  Document   : domain-suffixes.xml
+  Author     : Enis Soztutar - enis.soz.nutch@gmail.com
+  Description: This document contains top level domains 
+  as described by the Internet Assigned Numbers
+  Authotiry (IANA), and second or third level domains that 
+  are known to be managed by domain registerers. People at 
+  Mozilla community call these public suffixes or effective 
+  tlds. There is no algorithmic way of knowing whether a suffix 
+  is a public domain suffix, or not. So this large file is used 
+  for this purpose. The entries in the file is used to find the
+  domain of a url, which may not the same thing as the host of 
+  the url. For example for "http://lucene.apache.org/nutch" the 
+  hostname is lucene.apache.org, however the domain name for this
+  url would be apache.org. Domain names can be quite handy for 
+  statistical analysis, and fighting against spam.    
+  
+  The list of TLDs is constructed from IANA, and the 
+  list of "effective tlds" are constructed from Wikipedia, 
+  http://wiki.mozilla.org/TLD_List, and http://publicsuffix.org/
+  The list may not include all the suffixes, but some
+  effort has been spent to make it comprehensive. Please forward 
+  any improvements for this list to nutch-dev mailing list, or 
+  nutch JIRA. 
+  
+  Top level domains(tlds) are grouped
+  to three, namely infrastrusture, generic and country 
+  code tlds. Infrastrusture tlds are only used for 
+  technical reasons. Generic tlds represents the type 
+  of the organization that they represent. Those in 
+  current use and those waiting for approval is listed.
+  Most of the country code tlds correspond to the two 
+  letter ISO-3166-1 country codes. 
+  Each tld is listed with its domain (such as com), a 
+  status enumeration describing the status of the tld, 
+  and optionally a description or description for convenience.
+  cctlds are listed with additional country name field.
+  
+  status and boost elements are optional, with default values IN_USE 
+  and 1.0 respectively. see domain-suffixes.xsd for the xml schema.
+  
+  
+  References : 
+  http://www.iana.org
+  http://www.iana.org/gtld/gtld.htm
+  http://www.iana.org/root-whois/index.html
+  http://en.wikipedia.org/wiki/Top-level_domain
+  http://en.wikipedia.org/wiki/List_of_Internet_top-level_domains
+  http://wiki.mozilla.org/TLD_List
+  http://publicsuffix.org/
+  https://bugzilla.mozilla.org/show_bug.cgi?id=331510
+  http://www.neuhaus.com/domaincheck/domain_list.htm
+-->
+
+<domains xmlns="http://lucene.apache.org/nutch"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://lucene.apache.org/nutch domain-suffixes.xsd">
+
+  <tlds>
+    <!--  Infrastructure Top Level Domains -->
+    <itlds>
+      <tld domain="root">
+        <status>INFRASTRUCTURE</status>
+        <description>
+          (from http://en.wikipedia.org/wiki/.root)
+          vrsn-end-of-zone-marker-dummy-record.root is a domain name
+          listed in the DNS root zone as a diagnostic marker, whose
+          presence demonstrates the root zone was not truncated upon
+          loading by a root nameserver. It could be argued it represents
+          a top-level domain of .root, although technically no such
+          delegation exists.
+        </description>
+      </tld>
+
+      <tld domain="arpa">
+        <status>INFRASTRUCTURE</status>
+        <description>
+          (from http://en.wikipedia.org/wiki/.arpa) .arpa is an Internet
+          top-level domain (TLD) used exclusively for
+          Internet-infrastructure purposes. It does not function as a
+          normal TLD where websites are registered, but rather as a
+          meta-TLD used to look up addresses, and for other purposes.
+        </description>
+      </tld>
+    </itlds><!--  Generic Top Level Domains -->
+    <gtlds>
+      <!-- 
+        The following gTLDs are in actual use
+      -->
+
+      <tld domain="aero">
+        <status>SPONSORED</status>
+        <description>for the air transport industry</description>
+      </tld>
+
+      <tld domain="biz">
+        <status>UNSPONSORED</status>
+        <description>for business use</description>
+      </tld>
+
+      <tld domain="cat">
+        <status>SPONSORED</status>
+        <description>for Catalan language/culture</description>
+      </tld>
+
+      <tld domain="com">
+        <status>UNSPONSORED</status>
+        <description>
+          for commercial organizations, but unrestricted
+        </description>
+      </tld>
+
+      <tld domain="coop">
+        <status>SPONSORED</status>
+        <description>for cooperatives</description>
+      </tld>
+
+      <tld domain="edu">
+        <status>UNSPONSORED</status>
+        <boost>1.0</boost>
+        <description>
+          for post-secondary educational establishments
+        </description>
+      </tld>
+
+      <tld domain="gov">
+        <status>UNSPONSORED</status>
+        <description>
+          for governments and their agencies in the United States
+        </description>
+      </tld>
+
+      <tld domain="info">
+        <status>UNSPONSORED</status>
+        <description>
+          for informational sites, but unrestricted
+        </description>
+      </tld>
+
+      <tld domain="int">
+        <status>UNSPONSORED</status>
+        <description>
+          for international organizations established by treaty
+        </description>
+      </tld>
+
+      <tld domain="jobs">
+        <status>SPONSORED</status>
+        <description>for employment-related sites</description>
+      </tld>
+
+      <tld domain="mil">
+        <status>UNSPONSORED</status>
+        <description>for the US military</description>
+      </tld>
+
+      <tld domain="mobi">
+        <status>SPONSORED</status>
+        <description>for sites catering to mobile devices</description>
+      </tld>
+
+      <tld domain="museum">
+        <status>SPONSORED</status>
+        <description>for museums</description>
+      </tld>
+
+      <tld domain="name">
+        <status>UNSPONSORED</status>
+        <description>for families and individuals</description>
+      </tld>
+
+      <tld domain="net">
+        <status>UNSPONSORED</status>
+        <description>
+          originally for network infrastructures, now unrestricted
+        </description>
+      </tld>
+
+      <tld domain="org">
+        <status>UNSPONSORED</status>
+        <description>
+          originally for organizations not clearly falling within the
+          other gTLDs, now unrestricted
+        </description>
+      </tld>
+
+      <tld domain="pro">
+        <status>SPONSORED</status>
+        <description>for certain professions</description>
+      </tld>
+
+      <tld domain="travel">
+        <status>SPONSORED</status>
+        <description>
+          for travel agents, airlines, hoteliers, tourism bureaus, etc.
+        </description>
+      </tld>
+
+      <!-- 
+        The following gTLDs are in the process of being approved, 
+        and may be added to the root nameservers in the near future 
+      -->
+
+      <tld domain="asia">
+        <status>STARTUP</status>
+        <description>for the Asian community</description>
+      </tld>
+
+      <tld domain="post">
+        <status>PROPOSED</status>
+        <description>for postal services</description>
+      </tld>
+
+      <tld domain="tel">
+        <status>STARTUP</status>
+        <description>
+          for services involving connections between the telephone
+          network and the Internet
+        </description>
+      </tld>
+
+      <tld domain="geo">
+        <status>PROPOSED</status>
+        <description>for geographically related sites</description>
+      </tld>
+
+      <tld domain="gal">
+        <status>PROPOSED</status>
+        <description>for Galicia, a country within Spain</description>
+      </tld>
+
+      <tld domain="cym">
+        <status>PROPOSED</status>
+        <description>for Wales, a country within the UK</description>
+      </tld>
+
+      <tld domain="sco">
+        <status>PROPOSED</status>
+        <description>for Scotland, a country within the UK</description>
+      </tld>
+
+      <tld domain="kid">
+        <status>PROPOSED</status>
+        <description>for websites designed for children</description>
+      </tld>
+
+      <tld domain="kids">
+        <status>PROPOSED</status>
+        <description>for websites designed for children</description>
+      </tld>
+
+      <tld domain="mail">
+        <status>PROPOSED</status>
+        <description>http://en.wikipedia.org/wiki/.mail</description>
+      </tld>
+
+      <tld domain="web">
+        <status>PROPOSED</status>
+        <description>For Web sites of all sorts</description>
+      </tld>
+
+      <tld domain="xxx">
+        <status>PROPOSED</status>
+        <description>For Adult entertainment sites</description>
+      </tld>
+
+      <!-- 
+        The following gTLDs are removed from the registry
+      -->
+      <tld domain="nato">
+        <status>DELETED</status>
+        <description>
+          for NATO sites and operations. Replaced by .int
+        </description>
+      </tld>
+
+      <!-- 
+        The following gTLDs are PSEUDO_DOMAINs
+      -->
+      <tld domain="bitnet">
+        <status>PSEUDO_DOMAIN</status>
+        <description>
+          identifying a hostname not connected directly to the Internet,
+          but a bitnet network
+        </description>
+      </tld>
+
+      <tld domain="csnet">
+        <status>PSEUDO_DOMAIN</status>
+        <description>
+          identifying a hostname not connected directly to the Internet,
+          but a csnet network
+        </description>
+      </tld>
+
+      <tld domain="uucp">
+        <status>PSEUDO_DOMAIN</status>
+        <description>
+          identifying a hostname not connected directly to the Internet,
+          but a bitnet network
+        </description>
+      </tld>
+
+      <tld domain="local">
+        <status>PSEUDO_DOMAIN</status>
+        <description>
+          .local is a pseudo top-level domain used by Apple, Inc.'s
+          Bonjour protocol.
+        </description>
+      </tld>
+
+      <tld domain="internal">
+        <status>PSEUDO_DOMAIN</status>
+        <description>alias of .local</description>
+      </tld>
+
+      <tld domain="onion">
+        <status>PSEUDO_DOMAIN</status>
+        <description>
+          designates an anonymous or pseudonymous address reachable via
+          the Tor network.
+        </description>
+      </tld>
+    </gtlds><!--  Country Code Top Level Domains -->
+
+    <cctlds>
+      <tld domain="ac">
+        <country>Ascension Island</country>
+      </tld>
+
+      <tld domain="ad">
+        <country>Andorra</country>
+      </tld>
+
+      <tld domain="ae">
+        <country>United Arab Emirates</country>
+      </tld>
+
+      <tld domain="af">
+        <country>Afghanistan</country>
+      </tld>
+
+      <tld domain="ag">
+        <country>Antigua and Barbuda</country>
+      </tld>
+
+      <tld domain="ai">
+        <country>Anguilla</country>
+      </tld>
+
+      <tld domain="al">
+        <country>Albania</country>
+      </tld>
+
+      <tld domain="am">
+        <country>Armenia</country>
+      </tld>
+
+      <tld domain="an">
+        <country>Netherlands Antilles</country>
+      </tld>
+
+      <tld domain="ao">
+        <country>Angola</country>
+      </tld>
+
+      <tld domain="aq">
+        <country>Antarctica</country>
+      </tld>
+
+      <tld domain="ar">
+        <country>Argentina</country>
+      </tld>
+
+      <tld domain="as">
+        <country>American Samoa</country>
+      </tld>
+
+      <tld domain="at">
+        <country>Austria</country>
+      </tld>
+
+      <tld domain="au">
+        <country>Australia</country>
+      </tld>
+
+      <tld domain="aw">
+        <country>Aruba</country>
+      </tld>
+
+      <tld domain="ax">
+        <country>Aland Islands</country>
+      </tld>
+
+      <tld domain="az">
+        <country>Azerbaijan</country>
+      </tld>
+
+      <tld domain="ba">
+        <country>Bosnia and Herzegovina</country>
+      </tld>
+
+      <tld domain="bb">
+        <country>Barbados</country>
+      </tld>
+
+      <tld domain="bd">
+        <country>Bangladesh</country>
+      </tld>
+
+      <tld domain="be">
+        <country>Belgium</country>
+      </tld>
+
+      <tld domain="bf">
+        <country>Burkina Faso</country>
+      </tld>
+
+      <tld domain="bg">
+        <country>Bulgaria</country>
+      </tld>
+
+      <tld domain="bh">
+        <country>Bahrain</country>
+      </tld>
+
+      <tld domain="bi">
+        <country>Burundi</country>
+      </tld>
+
+      <tld domain="bj">
+        <country>Benin</country>
+      </tld>
+
+      <tld domain="bm">
+        <country>Bermuda</country>
+      </tld>
+
+      <tld domain="bn">
+        <country>Brunei</country>
+      </tld>
+
+      <tld domain="bo">
+        <country>Bolivia</country>
+      </tld>
+
+      <tld domain="br">
+        <country>Brazil</country>
+      </tld>
+
+      <tld domain="bs">
+        <country>Bahamas</country>
+      </tld>
+
+      <tld domain="bt">
+        <country>Bhutan</country>
+      </tld>
+
+      <tld domain="bu">
+        <country>Burma</country>
+        <status>NOT_IN_USE</status>
+        <description>
+          not in use since re-naming of country to Myanmar, see .mm
+        </description>
+      </tld>
+
+      <tld domain="bv">
+        <country>Bouvet Island</country>
+        <status>NOT_IN_USE</status>
+        <description>not in use; no registrations</description>
+      </tld>
+
+      <tld domain="bw">
+        <country>Botswana</country>
+      </tld>
+
+      <tld domain="by">
+        <country>Belarus</country>
+      </tld>
+
+      <tld domain="bz">
+        <country>Belize</country>
+      </tld>
+
+      <tld domain="ca">
+        <country>Canada</country>
+      </tld>
+
+      <tld domain="cc">
+        <country>Cocos Keeling Islands</country>
+      </tld>
+
+      <tld domain="cd">
+        <country>Democratic Republic of the Congo</country>
+        <description>formerly .zr - Zaire</description>
+      </tld>
+
+      <tld domain="cf">
+        <country>Central African Republic</country>
+      </tld>
+
+      <tld domain="cg">
+        <country>Republic of the Congo</country>
+      </tld>
+
+      <tld domain="ch">
+        <country>Switzerland</country>
+      </tld>
+
+      <tld domain="ci">
+        <country>Côte d'Ivoire</country>
+        <description>Ivory Coast</description>
+      </tld>
+
+      <tld domain="ck">
+        <country>Cook Islands</country>
+      </tld>
+
+      <tld domain="cl">
+        <country>Chile</country>
+      </tld>
+
+      <tld domain="cm">
+        <country>Cameroon</country>
+      </tld>
+
+      <tld domain="cn">
+        <country>People s Republic of China</country>
+      </tld>
+
+      <tld domain="co">
+        <country>Colombia</country>
+      </tld>
+
+      <tld domain="cr">
+        <country>Costa Rica</country>
+      </tld>
+
+      <tld domain="cs">
+        <country>Serbia and Montenegro</country>
+        <status>DELETED</status>
+        <description>
+          formerly .yu - Yugoslavia; description: on June 3, 2006,
+          Montenegro declared independence, thus dissolving the state
+          union) (.cs code not assigned; no DNS) (.cs code previously
+          used for Czechoslovakia
+        </description>
+      </tld>
+
+      <tld domain="cu">
+        <country>Cuba</country>
+      </tld>
+
+      <tld domain="cv">
+        <country>Cape Verde</country>
+      </tld>
+
+      <tld domain="cx">
+        <country>Christmas Island</country>
+      </tld>
+
+      <tld domain="cy">
+        <country>Cyprus</country>
+      </tld>
+
+      <tld domain="cz">
+        <country>Czech Republic</country>
+      </tld>
+
+      <tld domain="dd">
+        <country>German Democratic Republic(East Germany)</country>
+        <status>DELETED</status>
+        <description>deleted in 1990</description>
+      </tld>
+
+      <tld domain="de">
+        <country>Germany</country>
+      </tld>
+
+      <tld domain="dj">
+        <country>Djibouti</country>
+      </tld>
+
+      <tld domain="dk">
+        <country>Denmark</country>
+      </tld>
+
+      <tld domain="dm">
+        <country>Dominica</country>
+      </tld>
+
+      <tld domain="do">
+        <country>Dominican Republic</country>
+      </tld>
+
+      <tld domain="dz">
+        <country>Algeria</country>
+      </tld>
+
+      <tld domain="ec">
+        <country>Ecuador</country>
+      </tld>
+
+      <tld domain="ee">
+        <country>Estonia</country>
+      </tld>
+
+      <tld domain="eg">
+        <country>Egypt</country>
+      </tld>
+
+      <tld domain="eh">
+        <country>Western Sahara</country>
+        <status>NOT_IN_USE</status>
+        <description>not assigned; no DNS</description>
+      </tld>
+
+      <tld domain="er">
+        <country>Eritrea</country>
+      </tld>
+
+      <tld domain="es">
+        <country>Spain</country>
+      </tld>
+
+      <tld domain="et">
+        <country>Ethiopia</country>
+      </tld>
+
+      <tld domain="eu">
+        <country>European Union</country>
+        <description>
+          code "exceptionally reserved" by ISO 3166-1
+        </description>
+      </tld>
+
+      <tld domain="fi">
+        <country>Finland</country>
+      </tld>
+
+      <tld domain="fj">
+        <country>Fiji</country>
+      </tld>
+
+      <tld domain="fk">
+        <country>Falkland Islands</country>
+      </tld>
+
+      <tld domain="fm">
+        <country>Federated States of Micronesia</country>
+      </tld>
+
+      <tld domain="fo">
+        <country>Faroe Islands</country>
+      </tld>
+
+      <tld domain="fr">
+        <country>France</country>
+      </tld>
+
+      <tld domain="ga">
+        <country>Gabon</country>
+      </tld>
+
+      <tld domain="gb">
+        <country>United Kingdom</country>
+        <description>
+          Reserved domain by IANA; deprecated – see .uk
+        </description>
+      </tld>
+
+      <tld domain="gd">
+        <country>Grenada</country>
+      </tld>
+
+      <tld domain="ge">
+        <country>Georgia</country>
+      </tld>
+
+      <tld domain="gf">
+        <country>French Guiana</country>
+      </tld>
+
+      <tld domain="gg">
+        <country>Guernsey</country>
+      </tld>
+
+      <tld domain="gh">
+        <country>Ghana</country>
+      </tld>
+
+      <tld domain="gi">
+        <country>Gibraltar</country>
+      </tld>
+
+      <tld domain="gl">
+        <country>Greenland</country>
+      </tld>
+
+      <tld domain="gm">
+        <country>Gambia</country>
+      </tld>
+
+      <tld domain="gn">
+        <country>Guinea</country>
+      </tld>
+
+      <tld domain="gp">
+        <country>Guadeloupe</country>
+      </tld>
+
+      <tld domain="gq">
+        <country>Equatorial Guinea</country>
+      </tld>
+
+      <tld domain="gr">
+        <country>Greece</country>
+      </tld>
+
+      <tld domain="gs">
+        <country>South Georgia and the South Sandwich Islands</country>
+      </tld>
+
+      <tld domain="gt">
+        <country>Guatemala</country>
+      </tld>
+
+      <tld domain="gu">
+        <country>Guam</country>
+      </tld>
+
+      <tld domain="gw">
+        <country>Guinea Bissau</country>
+      </tld>
+
+      <tld domain="gy">
+        <country>Guyana</country>
+      </tld>
+
+      <tld domain="hk">
+        <country>Hong Kong</country>
+      </tld>
+
+      <tld domain="hm">
+        <country>Heard Island and McDonald Islands</country>
+      </tld>
+
+      <tld domain="hn">
+        <country>Honduras</country>
+      </tld>
+
+      <tld domain="hr">
+        <country>Croatia</country>
+      </tld>
+
+      <tld domain="ht">
+        <country>Haiti</country>
+      </tld>
+
+      <tld domain="hu">
+        <country>Hungary</country>
+      </tld>
+
+      <tld domain="id">
+        <country>Indonesia</country>
+      </tld>
+
+      <tld domain="ie">
+        <country>Ireland</country>
+      </tld>
+
+      <tld domain="il">
+        <country>Israel</country>
+      </tld>
+
+      <tld domain="im">
+        <country>Isle of Man</country>
+      </tld>
+
+      <tld domain="in">
+        <country>India</country>
+      </tld>
+
+      <tld domain="io">
+        <country>British Indian Ocean Territory</country>
+      </tld>
+
+      <tld domain="iq">
+        <country>Iraq</country>
+      </tld>
+
+      <tld domain="ir">
+        <country>Iran</country>
+      </tld>
+
+      <tld domain="is">
+        <country>Iceland</country>
+      </tld>
+
+      <tld domain="it">
+        <country>Italy</country>
+      </tld>
+
+      <tld domain="je">
+        <country>Jersey</country>
+      </tld>
+
+      <tld domain="jm">
+        <country>Jamaica</country>
+      </tld>
+
+      <tld domain="jo">
+        <country>Jordan</country>
+      </tld>
+
+      <tld domain="jp">
+        <country>Japan</country>
+      </tld>
+
+      <tld domain="ke">
+        <country>Kenya</country>
+      </tld>
+
+      <tld domain="kg">
+        <country>Kyrgyzstan</country>
+      </tld>
+
+      <tld domain="kh">
+        <country>Cambodia</country>
+      </tld>
+
+      <tld domain="ki">
+        <country>Kiribati</country>
+      </tld>
+
+      <tld domain="km">
+        <country>Comoros</country>
+      </tld>
+
+      <tld domain="kn">
+        <country>Saint Kitts and Nevis</country>
+      </tld>
+
+      <tld domain="kp">
+        <country>North Korea</country>
+        <status>NOT_IN_USE</status>
+
+        <description>not assigned; no DNS</description>
+      </tld>
+
+      <tld domain="kr">
+        <country>South Korea</country>
+      </tld>
+
+      <tld domain="kw">
+        <country>Kuwait</country>
+      </tld>
+
+      <tld domain="ky">
+        <country>Cayman Islands</country>
+      </tld>
+
+      <tld domain="kz">
+        <country>Kazakhstan</country>
+      </tld>
+
+      <tld domain="la">
+        <country>Laos</country>
+      </tld>
+
+      <tld domain="lb">
+        <country>Lebanon</country>
+      </tld>
+
+      <tld domain="lc">
+        <country>Saint Lucia</country>
+      </tld>
+
+      <tld domain="li">
+        <country>Liechtenstein</country>
+      </tld>
+
+      <tld domain="lk">
+        <country>Sri Lanka</country>
+      </tld>
+
+      <tld domain="lr">
+        <country>Liberia</country>
+      </tld>
+
+      <tld domain="ls">
+        <country>Lesotho</country>
+      </tld>
+
+      <tld domain="lt">
+        <country>Lithuania</country>
+      </tld>
+
+      <tld domain="lu">
+        <country>Luxembourg</country>
+      </tld>
+
+      <tld domain="lv">
+        <country>Latvia</country>
+      </tld>
+
+      <tld domain="ly">
+        <country>Libya</country>
+      </tld>
+
+      <tld domain="ma">
+        <country>Morocco</country>
+      </tld>
+
+      <tld domain="mc">
+        <country>Monaco</country>
+      </tld>
+
+      <tld domain="md">
+        <country>Moldova</country>
+      </tld>
+
+      <tld domain="me">
+        <country>Montenegro</country>
+      </tld>
+
+      <tld domain="mg">
+        <country>Madagascar</country>
+      </tld>
+
+      <tld domain="mh">
+        <country>Marshall Islands</country>
+      </tld>
+
+      <tld domain="mk">
+        <country>Republic of Macedonia</country>
+      </tld>
+
+      <tld domain="ml">
+        <country>Mali</country>
+      </tld>
+
+      <tld domain="mm">
+        <country>Myanmar</country>
+        <description>formerly .bu - Burma</description>
+      </tld>
+
+      <tld domain="mn">
+        <country>Mongolia</country>
+      </tld>
+
+      <tld domain="mo">
+        <country>Macau</country>
+      </tld>
+
+      <tld domain="mp">
+        <country>Northern Mariana Islands</country>
+      </tld>
+
+      <tld domain="mq">
+        <country>Martinique</country>
+      </tld>
+
+      <tld domain="mr">
+        <country>Mauritania</country>
+      </tld>
+
+      <tld domain="ms">
+        <country>Montserrat</country>
+      </tld>
+
+      <tld domain="mt">
+        <country>Malta</country>
+      </tld>
+
+      <tld domain="mu">
+        <country>Mauritius</country>
+      </tld>
+
+      <tld domain="mv">
+        <country>Maldives</country>
+      </tld>
+
+      <tld domain="mw">
+        <country>Malawi</country>
+      </tld>
+
+      <tld domain="mx">
+        <country>Mexico</country>
+      </tld>
+
+      <tld domain="my">
+        <country>Malaysia</country>
+      </tld>
+
+      <tld domain="mz">
+        <country>Mozambique</country>
+      </tld>
+
+      <tld domain="na">
+        <country>Namibia</country>
+      </tld>
+
+      <tld domain="nc">
+        <country>New Caledonia</country>
+      </tld>
+
+      <tld domain="ne">
+        <country>Niger</country>
+      </tld>
+
+      <tld domain="nf">
+        <country>Norfolk Island</country>
+      </tld>
+
+      <tld domain="ng">
+        <country>Nigeria</country>
+      </tld>
+
+      <tld domain="ni">
+        <country>Nicaragua</country>
+      </tld>
+
+      <tld domain="nl">
+        <country>Netherlands</country>
+      </tld>
+
+      <tld domain="no">
+        <country>Norway</country>
+      </tld>
+
+      <tld domain="np">
+        <country>Nepal</country>
+      </tld>
+
+      <tld domain="nr">
+        <country>Nauru</country>
+      </tld>
+
+      <tld domain="nu">
+        <country>Niue</country>
+      </tld>
+
+      <tld domain="nz">
+        <country>New Zealand</country>
+      </tld>
+
+      <tld domain="om">
+        <country>Oman</country>
+      </tld>
+
+      <tld domain="pa">
+        <country>Panama</country>
+      </tld>
+
+      <tld domain="pe">
+        <country>Peru</country>
+      </tld>
+
+      <tld domain="pf">
+        <country>French Polynesia</country>
+      </tld>
+
+      <tld domain="pg">
+        <country>Papua New Guinea</country>
+      </tld>
+
+      <tld domain="ph">
+        <country>Philippines</country>
+      </tld>
+
+      <tld domain="pk">
+        <country>Pakistan</country>
+      </tld>
+
+      <tld domain="pl">
+        <country>Poland</country>
+      </tld>
+
+      <tld domain="pm">
+        <country>Saint Pierre and Miquelon</country>
+      </tld>
+
+      <tld domain="pn">
+        <country>Pitcairn Islands</country>
+      </tld>
+
+      <tld domain="pr">
+        <country>Puerto Rico</country>
+      </tld>
+
+      <tld domain="ps">
+        <country>Palestinian territories</country>
+      </tld>
+
+      <tld domain="pt">
+        <country>Portugal</country>
+      </tld>
+
+      <tld domain="pw">
+        <country>Palau</country>
+      </tld>
+
+      <tld domain="py">
+        <country>Paraguay</country>
+      </tld>
+
+      <tld domain="qa">
+        <country>Qatar</country>
+      </tld>
+
+      <tld domain="re">
+        <country>Réunion</country>
+      </tld>
+
+      <tld domain="ro">
+        <country>Romania</country>
+      </tld>
+
+      <tld domain="rs">
+        <country>Serbia</country>
+      </tld>
+
+      <tld domain="ru">
+        <country>Russia</country>
+      </tld>
+
+      <tld domain="rw">
+        <country>Rwanda</country>
+      </tld>
+
+      <tld domain="sa">
+        <country>Saudi Arabia</country>
+      </tld>
+
+      <tld domain="sb">
+        <country>Solomon Islands</country>
+      </tld>
+
+      <tld domain="sc">
+        <country>Seychelles</country>
+      </tld>
+
+      <tld domain="sd">
+        <country>Sudan</country>
+      </tld>
+
+      <tld domain="se">
+        <country>Sweden</country>
+      </tld>
+
+      <tld domain="sg">
+        <country>Singapore</country>
+      </tld>
+
+      <tld domain="sh">
+        <country>Saint Helena</country>
+      </tld>
+
+      <tld domain="si">
+        <country>Slovenia</country>
+      </tld>
+
+      <tld domain="sj">
+        <country>Svalbard and Jan Mayen Islands</country>
+        <status>NOT_IN_USE</status>
+        <description>not in use; no registrations</description>
+      </tld>
+
+      <tld domain="sk">
+        <country>Slovakia</country>
+      </tld>
+
+      <tld domain="sl">
+        <country>Sierra Leone</country>
+      </tld>
+
+      <tld domain="sm">
+        <country>San Marino</country>
+      </tld>
+
+      <tld domain="sn">
+        <country>Senegal</country>
+      </tld>
+
+      <tld domain="so">
+        <country>Somalia</country>
+      </tld>
+
+      <tld domain="sr">
+        <country>Suriname</country>
+      </tld>
+
+      <tld domain="st">
+        <country>São Tomé and Príncipe</country>
+      </tld>
+
+      <tld domain="su">
+        <country>Soviet Union</country>
+        <status>DELETED</status>
+        <description>
+          deprecated; being phased out; code "transitionally reserved"
+          by ISO 3166-1
+        </description>
+      </tld>
+
+      <tld domain="sv">
+        <country>El Salvador</country>
+      </tld>
+
+      <tld domain="sy">
+        <country>Syria</country>
+      </tld>
+
+      <tld domain="sz">
+        <country>Swaziland</country>
+      </tld>
+
+      <tld domain="tc">
+        <country>Turks and Caicos Islands</country>
+      </tld>
+
+      <tld domain="td">
+        <country>Chad</country>
+      </tld>
+
+      <tld domain="tf">
+        <country>French Southern Territories</country>
+      </tld>
+
+      <tld domain="tg">
+        <country>Togo</country>
+      </tld>
+
+      <tld domain="th">
+        <country>Thailand</country>
+      </tld>
+
+      <tld domain="tj">
+        <country>Tajikistan</country>
+      </tld>
+
+      <tld domain="tk">
+        <country>Tokelau</country>
+      </tld>
+
+      <tld domain="tl">
+        <country>East Timor</country>
+        <description>formerly .tp</description>
+      </tld>
+
+      <tld domain="tm">
+        <country>Turkmenistan</country>
+      </tld>
+
+      <tld domain="tn">
+        <country>Tunisia</country>
+      </tld>
+
+      <tld domain="to">
+        <country>Tonga</country>
+      </tld>
+
+      <tld domain="tp">
+        <country>East Timor</country>
+        <status>DELETED</status>
+        <description>
+          deprecated - use .tl; code "transitionally reserved" by ISO
+          3166-1
+        </description>
+      </tld>
+
+      <tld domain="tr">
+        <country>Turkey</country>
+      </tld>
+
+      <tld domain="tt">
+        <country>Trinidad and Tobago</country>
+      </tld>
+
+      <tld domain="tv">
+        <country>Tuvalu</country>
+      </tld>
+
+      <tld domain="tw">
+        <country>Republic of China</country>
+        <description>Taiwan</description>
+      </tld>
+
+      <tld domain="tz">
+        <country>Tanzania</country>
+      </tld>
+
+      <tld domain="ua">
+        <country>Ukraine</country>
+      </tld>
+
+      <tld domain="ug">
+        <country>Uganda</country>
+      </tld>
+
+      <tld domain="uk">
+        <country>United Kingdom</country>
+        <description>
+          code "exceptionally reserved" by ISO 3166-1 (see also .gb)
+        </description>
+      </tld>
+
+      <tld domain="um">
+        <country>United States Minor Outlying Islands</country>
+        <status>DELETED</status>
+        <description>see http://en.wikipedia.org/wiki/.um</description>
+      </tld>
+
+      <tld domain="us">
+        <country>United States</country>
+      </tld>
+
+      <tld domain="uy">
+        <country>Uruguay</country>
+      </tld>
+
+      <tld domain="uz">
+        <country>Uzbekistan</country>
+      </tld>
+
+      <tld domain="va">
+        <country>Vatican City</country>
+      </tld>
+
+      <tld domain="vc">
+        <country>Saint Vincent and the Grenadines</country>
+      </tld>
+
+      <tld domain="ve">
+        <country>Venezuela</country>
+      </tld>
+
+      <tld domain="vg">
+        <country>British Virgin Islands</country>
+      </tld>
+
+      <tld domain="vi">
+        <country>United States Virgin Islands</country>
+      </tld>
+
+      <tld domain="vn">
+        <country>Vietnam</country>
+      </tld>
+
+      <tld domain="vu">
+        <country>Vanuatu</country>
+      </tld>
+
+      <tld domain="wf">
+        <country>Wallis and Futuna</country>
+      </tld>
+
+      <tld domain="ws">
+        <country>Samoa</country>
+        <description>formerly Western Samoa</description>
+      </tld>
+
+      <tld domain="ye">
+        <country>Yemen</country>
+      </tld>
+
+      <tld domain="yt">
+        <country>Mayotte</country>
+      </tld>
+
+      <tld domain="yu">
+        <country>Yugoslavia</country>
+        <description>
+          subsequently renamed Serbia and Montenegro (code officially
+          replaced by .cs (see above) but still used; code
+          "transitionally reserved" by ISO 3166-1)
+        </description>
+      </tld>
+
+      <tld domain="za">
+        <country>South Africa</country>
+      </tld>
+
+      <tld domain="zm">
+        <country>Zambia</country>
+      </tld>
+
+      <tld domain="zr">
+        <country>Zaire</country>
+        <status>DELETED</status>
+        <description>replaced by .cd</description>
+      </tld>
+
+      <tld domain="zw">
+        <country>Zimbabwe</country>
+      </tld>
+    </cctlds>
+  </tlds>
+
+  <!--  Second Level Domains -->
+  <suffixes>
+
+    <!-- .us Second Level Domains -->
+    <suffix domain="as.us" />
+    <suffix domain="gu.us" />
+    <suffix domain="pr.us" />
+    <suffix domain="vi.us" />
+
+    <!-- .uk Second Level Domains -->
+    <suffix domain="ac.uk" />
+    <suffix domain="co.uk" />
+    <suffix domain="gov.uk" />
+    <suffix domain="ltd.uk" />
+    <suffix domain="me.uk" />
+    <suffix domain="mod.uk" />
+    <suffix domain="net.uk" />
+    <suffix domain="nic.uk" />
+    <suffix domain="nhs.uk" />
+    <suffix domain="org.uk" />
+    <suffix domain="pic.uk" />
+    <suffix domain="police.uk" />
+    <suffix domain="govt.uk">
+      <status>DELETED</status>
+    </suffix>
+    <suffix domain="orgn.uk">
+      <status>DELETED</status>
+    </suffix>
+    <suffix domain="mil.uk">
+      <status>DELETED</status>
+    </suffix>
+    <suffix domain="lea.uk">
+      <status>DELETED</status>
+    </suffix>
+
+
+    <!-- .tr Second Level Domains -->
+    <suffix domain="com.tr" />
+    <suffix domain="gen.tr" />
+    <suffix domain="org.tr"/>
+    <suffix domain="biz.tr" />
+    <suffix domain="info.tr" />
+    <suffix domain="av.tr" />
+    <suffix domain="dr.tr" />
+    <suffix domain="pol.tr" />
+    <suffix domain="bel.tr" />
+    <suffix domain="mil.tr" />
+    <suffix domain="mil.tr" />
+    <suffix domain="bbs.tr" />
+    <suffix domain="k12.tr" />
+    <suffix domain="edu.tr"/>
+    <suffix domain="name.tr" />
+    <suffix domain="net.tr" />
+    <suffix domain="gov.tr" />
+    <suffix domain="gov.tr" />
+    <suffix domain="web.tr" />
+    <suffix domain="tel.tr" />
+    <suffix domain="tv.tr" />
+
+    <!-- .hk Second Level Domains -->
+    <suffix domain="ust.hk" />
+    <suffix domain="hku.hk" />
+    <suffix domain="cuhk.hk" />
+
+    <!-- .it Second Level Domains -->
+
+    <suffix domain="edu.it" />
+    <suffix domain="gov.it" />
+    <suffix domain="italy.it" />
+
+    <!-- .az Second Level Domains -->
+    <suffix domain="pro.az" />
+
+    <!-- .au Second Level Domains -->
+
+    <suffix domain="com.au" />
+    <suffix domain="net.au" />
+    <suffix domain="gov.au" />
+    <suffix domain="org.au" />
+    <suffix domain="edu.au" />
+    <suffix domain="csiro.au" />
+    <suffix domain="asn.au" />
+    <suffix domain="id.au" />
+    <!--  New second level domains -->
+    <suffix domain="act.au" />
+    <suffix domain="nsw.au" />
+    <suffix domain="nt.au" />
+    <suffix domain="qld.au" />
+    <suffix domain="sa.au" />
+    <suffix domain="tas.au" />
+    <suffix domain="vic.au" />
+    <suffix domain="wa.au" />
+
+    <!-- .int Second Level Domains -->
+    <suffix domain="eu.int" />
+
+    <!-- .br Second Level Domains -->
+    <suffix domain="adm.br" />
+    <suffix domain="adv.br" />
+    <suffix domain="agr.br" />
+    <suffix domain="am.br" />
+    <suffix domain="arq.br" />
+    <suffix domain="art.br" />
+    <suffix domain="ato.br" />
+    <suffix domain="bio.br" />
+    <suffix domain="blog.br" />
+    <suffix domain="bmd.br" />
+    <suffix domain="cim.br" />
+    <suffix domain="cng.br" />
+    <suffix domain="cnt.br" />
+    <suffix domain="com.br" />
+    <suffix domain="coop.br" />
+    <suffix domain="ecn.br" />
+    <suffix domain="edu.br" />
+    <suffix domain="eng.br" />
+    <suffix domain="esp.br" />
+    <suffix domain="etc.br" />
+    <suffix domain="eti.br" />
+    <suffix domain="far.br" />
+    <suffix domain="flog.br" />
+    <suffix domain="fm.br" />
+    <suffix domain="fnd.br" />
+    <suffix domain="fot.br" />
+    <suffix domain="fst.br" />
+    <suffix domain="g12.br" />
+    <suffix domain="ggf.br" />
+    <suffix domain="gov.br" />
+    <suffix domain="imb.br" />
+    <suffix domain="ind.br" />
+    <suffix domain="inf.br" />
+    <suffix domain="jor.br" />
+    <suffix domain="lel.br" />
+    <suffix domain="mat.br" />
+    <suffix domain="med.br" />
+    <suffix domain="mil.br" />
+    <suffix domain="mus.br" />
+    <suffix domain="net.br" />
+    <suffix domain="nom.br" />
+    <suffix domain="not.br" />
+    <suffix domain="ntr.br" />
+    <suffix domain="odo.br" />
+    <suffix domain="org.br" />
+    <suffix domain="ppg.br" />
+    <suffix domain="pro.br" />
+    <suffix domain="psc.br" />
+    <suffix domain="psi.br" />
+    <suffix domain="qsl.br" />
+    <suffix domain="rec.br" />
+    <suffix domain="slg.br" />
+    <suffix domain="srv.br" />
+    <suffix domain="tmp.br" />
+    <suffix domain="trd.br" />
+    <suffix domain="tur.br" />
+    <suffix domain="tv.br" />
+    <suffix domain="vet.br" />
+    <suffix domain="vlog.br" />
+    <suffix domain="wiki.br" />
+    <suffix domain="zlg.br" />
+
+    <!-- 
+      Below elements are generated from the file 
+      at http://publicsuffix.org/.  
+      see org.apache.nutch.util.domain.MozillaPublicSuffixListParser.java
+    -->
+
+    <!--  ac : http://en.wikipedia.org/wiki/.am-->
+    <suffix domain="com.ac" />
+    <suffix domain="edu.ac" />
+    <suffix domain="gov.ac" />
+    <suffix domain="net.ac" />
+    <suffix domain="mil.ac" />
+    <suffix domain="org.ac" />
+
+    <!--  ad : http://en.wikipedia.org/wiki/.ad-->
+    <suffix domain="nom.ad" />
+
+    <!--  ae : http://en.wikipedia.org/wiki/.ae-->
+    <suffix domain="net.ae" />
+    <suffix domain="gov.ae" />
+    <suffix domain="ac.ae" />
+    <suffix domain="sch.ae" />
+    <suffix domain="org.ae" />
+    <suffix domain="mil.ae" />
+    <suffix domain="pro.ae" />
+    <suffix domain="name.ae" />
+
+    <!--  aero : see http://www.information.aero/index.php?id=66-->
+    <suffix domain="accident-investigation.aero" />
+    <suffix domain="accident-prevention.aero" />
+    <suffix domain="aerobatic.aero" />
+    <suffix domain="aeroclub.aero" />
+    <suffix domain="aerodrome.aero" />
+    <suffix domain="agents.aero" />
+    <suffix domain="aircraft.aero" />
+    <suffix domain="airline.aero" />
+    <suffix domain="airport.aero" />
+    <suffix domain="air-surveillance.aero" />
+    <suffix domain="airtraffic.aero" />
+    <suffix domain="air-traffic-control.aero" />
+    <suffix domain="ambulance.aero" />
+    <suffix domain="amusement.aero" />
+    <suffix domain="association.aero" />
+    <suffix domain="author.aero" />
+    <suffix domain="ballooning.aero" />
+    <suffix domain="broker.aero" />
+    <suffix domain="caa.aero" />
+    <suffix domain="cargo.aero" />
+    <suffix domain="catering.aero" />
+    <suffix domain="certification.aero" />
+    <suffix domain="championship.aero" />
+    <suffix domain="charter.aero" />
+    <suffix domain="civilaviation.aero" />
+    <suffix domain="club.aero" />
+    <suffix domain="conference.aero" />
+    <suffix domain="consultant.aero" />
+    <suffix domain="consulting.aero" />
+    <suffix domain="control.aero" />
+    <suffix domain="council.aero" />
+    <suffix domain="crew.aero" />
+    <suffix domain="design.aero" />
+    <suffix domain="dgca.aero" />
+    <suffix domain="educator.aero" />
+    <suffix domain="emergency.aero" />
+    <suffix domain="engine.aero" />
+    <suffix domain="engineer.aero" />
+    <suffix domain="entertainment.aero" />
+    <suffix domain="equipment.aero" />
+    <suffix domain="exchange.aero" />
+    <suffix domain="express.aero" />
+    <suffix domain="federation.aero" />
+    <suffix domain="flight.aero" />
+    <suffix domain="freight.aero" />
+    <suffix domain="fuel.aero" />
+    <suffix domain="gliding.aero" />
+    <suffix domain="government.aero" />
+    <suffix domain="groundhandling.aero" />
+    <suffix domain="group.aero" />
+    <suffix domain="hanggliding.aero" />
+    <suffix domain="homebuilt.aero" />
+    <suffix domain="insurance.aero" />
+    <suffix domain="journal.aero" />
+    <suffix domain="journalist.aero" />
+    <suffix domain="leasing.aero" />
+    <suffix domain="logistics.aero" />
+    <suffix domain="magazine.aero" />
+    <suffix domain="maintenance.aero" />
+    <suffix domain="marketplace.aero" />
+    <suffix domain="media.aero" />
+    <suffix domain="microlight.aero" />
+    <suffix domain="modelling.aero" />
+    <suffix domain="navigation.aero" />
+    <suffix domain="parachuting.aero" />
+    <suffix domain="paragliding.aero" />
+    <suffix domain="passenger-association.aero" />
+    <suffix domain="pilot.aero" />
+    <suffix domain="press.aero" />
+    <suffix domain="production.aero" />
+    <suffix domain="recreation.aero" />
+    <suffix domain="repbody.aero" />
+    <suffix domain="res.aero" />
+    <suffix domain="research.aero" />
+    <suffix domain="rotorcraft.aero" />
+    <suffix domain="safety.aero" />
+    <suffix domain="scientist.aero" />
+    <suffix domain="services.aero" />
+    <suffix domain="show.aero" />
+    <suffix domain="skydiving.aero" />
+    <suffix domain="software.aero" />
+    <suffix domain="student.aero" />
+    <suffix domain="taxi.aero" />
+    <suffix domain="trader.aero" />
+    <suffix domain="trading.aero" />
+    <suffix domain="trainer.aero" />
+    <suffix domain="union.aero" />
+    <suffix domain="workinggroup.aero" />
+    <suffix domain="works.aero" />
+
+    <!--  af : http://www.nic.af/help.jsp-->
+    <suffix domain="gov.af" />
+    <suffix domain="com.af" />
+    <suffix domain="org.af" />
+    <suffix domain="net.af" />
+    <suffix domain="edu.af" />
+
+    <!--  ag : http://www.nic.ag/prices.htm-->
+    <suffix domain="com.ag" />
+    <suffix domain="org.ag" />
+    <suffix domain="net.ag" />
+    <suffix domain="co.ag" />
+    <suffix domain="nom.ag" />
+
+    <!--  ai : http://nic.com.ai/-->
+    <suffix domain="off.ai" />
+    <suffix domain="com.ai" />
+    <suffix domain="net.ai" />
+    <suffix domain="org.ai" />
+
+    <!--  al : http://www.inima.al/Domains.html-->
+    <suffix domain="gov.al" />
+    <suffix domain="edu.al" />
+    <suffix domain="org.al" />
+    <suffix domain="com.al" />
+    <suffix domain="net.al" />
+
+    <!--  am : http://en.wikipedia.org/wiki/.am-->
+
+    <!--  an : http://www.una.an/an_domreg/default.asp-->
+    <suffix domain="com.an" />
+    <suffix domain="net.an" />
+    <suffix domain="org.an" />
+    <suffix domain="edu.an" />
+
+    <!--  ao : http://en.wikipedia.org/wiki/.ao-->
+    <!--  list of 2nd level TLDs ?-->
+
+    <!--  aq : http://en.wikipedia.org/wiki/.aq-->
+
+    <!--  ar : http://en.wikipedia.org/wiki/.ar-->
+    <suffix domain="congresodelalengua3.ar" />
+    <suffix domain="educ.ar" />
+    <suffix domain="gobiernoelectronico.ar" />
+    <suffix domain="mecon.ar" />
+    <suffix domain="nacion.ar" />
+    <suffix domain="nic.ar" />
+    <suffix domain="promocion.ar" />
+    <suffix domain="retina.ar" />
+    <suffix domain="uba.ar" />
+
+    <!--  arpa : http://en.wikipedia.org/wiki/.arpa-->
+    <suffix domain="e164.arpa" />
+    <suffix domain="in-addr.arpa" />
+    <suffix domain="ip6.arpa" />
+    <suffix domain="uri.arpa" />
+    <suffix domain="urn.arpa" />
+
+    <!--  as : http://en.wikipedia.org/wiki/.as-->
+
+    <!--  at : http://en.wikipedia.org/wiki/.at-->
+    <suffix domain="gv.at" />
+    <suffix domain="ac.at" />
+    <suffix domain="co.at" />
+    <suffix domain="or.at" />
+
+    <!--  au : http://en.wikipedia.org/wiki/.au-->
+    <!--  au geographical names (vic.au etc... are covered above)-->
+    <suffix domain="act.edu.au" />
+    <suffix domain="nsw.edu.au" />
+    <suffix domain="nt.edu.au" />
+    <suffix domain="qld.edu.au" />
+    <suffix domain="sa.edu.au" />
+    <suffix domain="tas.edu.au" />
+    <suffix domain="vic.edu.au" />
+    <suffix domain="wa.edu.au" />
+    <suffix domain="act.gov.au" />
+    <suffix domain="nsw.gov.au" />
+    <suffix domain="nt.gov.au" />
+    <suffix domain="qld.gov.au" />
+    <suffix domain="sa.gov.au" />
+    <suffix domain="tas.gov.au" />
+    <suffix domain="vic.gov.au" />
+    <suffix domain="wa.gov.au" />
+
+    <!--  aw : http://en.wikipedia.org/wiki/.aw-->
+    <suffix domain="com.aw" />
+
+    <!--  ax : http://en.wikipedia.org/wiki/.ax-->
+
+    <!--  az : http://en.wikipedia.org/wiki/.az-->
+    <suffix domain="com.az" />
+    <suffix domain="net.az" />
+    <suffix domain="int.az" />
+    <suffix domain="gov.az" />
+    <suffix domain="org.az" />
+    <suffix domain="edu.az" />
+    <suffix domain="info.az" />
+    <suffix domain="pp.az" />
+    <suffix domain="mil.az" />
+    <suffix domain="name.az" />
+    <suffix domain="biz.az" />
+
+    <!--  ba : http://en.wikipedia.org/wiki/.ba-->
+    <suffix domain="org.ba" />
+    <suffix domain="net.ba" />
+    <suffix domain="edu.ba" />
+    <suffix domain="gov.ba" />
+    <suffix domain="mil.ba" />
+    <suffix domain="unsa.ba" />
+    <suffix domain="unbi.ba" />
+    <suffix domain="co.ba" />
+    <suffix domain="com.ba" />
+    <suffix domain="rs.ba" />
+
+    <!--  bb : http://en.wikipedia.org/wiki/.bb-->
+    <suffix domain="com.bb" />
+    <suffix domain="edu.bb" />
+    <suffix domain="gov.bb" />
+    <suffix domain="net.bb" />
+    <suffix domain="org.bb" />
+
+    <!--  bd : http://en.wikipedia.org/wiki/.bd-->
+
+    <!--  be : http://en.wikipedia.org/wiki/.be-->
+    <suffix domain="ac.be" />
+
+    <!--  bf : http://en.wikipedia.org/wiki/.bf-->
+
+    <!--  bg : http://en.wikipedia.org/wiki/.bg-->
+
+    <!--  bh : http://en.wikipedia.org/wiki/.bh-->
+    <!--  list of 2nd level tlds ?-->
+
+    <!--  bi : http://en.wikipedia.org/wiki/.bi-->
+    <!--  list of 2nd level tlds ?-->
+
+    <!--  biz : http://en.wikipedia.org/wiki/.biz-->
+
+    <!--  bj : http://en.wikipedia.org/wiki/.bj-->
+    <!--  list of 2nd level tlds ?-->
+
+    <!--  bm : http://www.bermudanic.bm/dnr-text.txt-->
+    <suffix domain="com.bm" />
+    <suffix domain="edu.bm" />
+    <suffix domain="gov.bm" />
+    <suffix domain="net.bm" />
+    <suffix domain="org.bm" />
+
+    <!--  bn : http://en.wikipedia.org/wiki/.bn-->
+
+    <!--  bo : http://www.nic.bo/-->
+    <suffix domain="com.bo" />
+    <suffix domain="edu.bo" />
+    <suffix domain="gov.bo" />
+    <suffix domain="gob.bo" />
+    <suffix domain="int.bo" />
+    <suffix domain="org.bo" />
+    <suffix domain="net.bo" />
+    <suffix domain="mil.bo" />
+    <suffix domain="tv.bo" />
+
+    <!--  br : http://en.wikipedia.org/wiki/.br-->
+
+    <!--  bs : http://www.nic.bs/rules.html-->
+    <suffix domain="com.bs" />
+    <suffix domain="net.bs" />
+    <suffix domain="org.bs" />
+    <suffix domain="edu.bs" />
+    <suffix domain="gov.bs" />
+
+    <!--  bt : http://en.wikipedia.org/wiki/.bt-->
+
+    <!--  bw : http://en.wikipedia.org/wiki/.bw-->
+    <!--  list of 2nd level tlds ?-->
+
+    <!--  by : http://en.wikipedia.org/wiki/.by-->
+    <!--  list of 2nd level tlds ?-->
+
+    <!--  bz : http://en.wikipedia.org/wiki/.bz-->
+    <!--  list of 2nd level tlds ?-->
+
+    <!--  ca : http://en.wikipedia.org/wiki/.ca-->
+    <!--  ca geographical names-->
+    <suffix domain="ab.ca" />
+    <suffix domain="bc.ca" />
+    <suffix domain="mb.ca" />
+    <suffix domain="nb.ca" />
+    <suffix domain="nf.ca" />
+    <suffix domain="nl.ca" />
+    <suffix domain="ns.ca" />
+    <suffix domain="nt.ca" />
+    <suffix domain="nu.ca" />
+    <suffix domain="on.ca" />
+    <suffix domain="pe.ca" />
+    <suffix domain="qc.ca" />
+    <suffix domain="sk.ca" />
+    <suffix domain="yk.ca" />
+
+    <!--  cat : http://en.wikipedia.org/wiki/.cat-->
+
+    <!--  cc : http://en.wikipedia.org/wiki/.cc-->
+
+    <!--  cd : http://en.wikipedia.org/wiki/.cd-->
+
+    <!--  cf : http://en.wikipedia.org/wiki/.cf-->
+
+    <!--  cg : http://en.wikipedia.org/wiki/.cg-->
+
+    <!--  ch : http://en.wikipedia.org/wiki/.ch-->
+
+    <!--  ci : http://en.wikipedia.org/wiki/.ci-->
+    <!--  list of 2nd level tlds ?-->
+
+    <!--  ck : http://en.wikipedia.org/wiki/.ck-->
+
+    <!--  cl : http://en.wikipedia.org/wiki/.cl-->
+
+    <!--  cm : http://en.wikipedia.org/wiki/.cm-->
+
+    <!--  cn : http://en.wikipedia.org/wiki/.cn-->
+    <suffix domain="ac.cn" />
+    <suffix domain="com.cn" />
+    <suffix domain="edu.cn" />
+    <suffix domain="gov.cn" />
+    <suffix domain="net.cn" />
+    <suffix domain="org.cn" />
+    <!--  cn geographic names-->
+    <suffix domain="ah.cn" />
+    <suffix domain="bj.cn" />
+    <suffix domain="cq.cn" />
+    <suffix domain="fj.cn" />
+    <suffix domain="gd.cn" />
+    <suffix domain="gs.cn" />
+    <suffix domain="gz.cn" />
+    <suffix domain="gx.cn" />
+    <suffix domain="ha.cn" />
+    <suffix domain="hb.cn" />
+    <suffix domain="he.cn" />
+    <suffix domain="hi.cn" />
+    <suffix domain="hl.cn" />
+    <suffix domain="hn.cn" />
+    <suffix domain="jl.cn" />
+    <suffix domain="js.cn" />
+    <suffix domain="jx.cn" />
+    <suffix domain="ln.cn" />
+    <suffix domain="nm.cn" />
+    <suffix domain="nx.cn" />
+    <suffix domain="qh.cn" />
+    <suffix domain="sc.cn" />
+    <suffix domain="sd.cn" />
+    <suffix domain="sh.cn" />
+    <suffix domain="sn.cn" />
+    <suffix domain="sx.cn" />
+    <suffix domain="tj.cn" />
+    <suffix domain="xj.cn" />
+    <suffix domain="xz.cn" />
+    <suffix domain="yn.cn" />
+    <suffix domain="zj.cn" />
+
+    <!--  co : http://en.wikipedia.org/wiki/.co-->
+
+    <!--  com : http://en.wikipedia.org/wiki/.com-->
+
+    <!--  coop : http://en.wikipedia.org/wiki/.coop-->
+
+    <!--  cr : http://en.wikipedia.org/wiki/.cr-->
+
+    <!--  cu : http://en.wikipedia.org/wiki/.cu-->
+    <suffix domain="com.cu" />
+    <suffix domain="edu.cu" />
+    <suffix domain="org.cu" />
+    <suffix domain="net.cu" />
+    <suffix domain="gov.cu" />
+    <suffix domain="inf.cu" />
+
+    <!--  cv : http://en.wikipedia.org/wiki/.cv-->
+
+    <!--  cx : http://en.wikipedia.org/wiki/.cx-->
+
+    <!--  cy : http://en.wikipedia.org/wiki/.cy-->
+
+    <!--  cz : http://en.wikipedia.org/wiki/.cz-->
+
+    <!--  de : http://en.wikipedia.org/wiki/.de-->
+
+    <!--  dj : http://en.wikipedia.org/wiki/.dj-->
+
+    <!--  dk : http://en.wikipedia.org/wiki/.dk-->
+
+    <!--  dm : http://en.wikipedia.org/wiki/.dm-->
+    <suffix domain="com.dm" />
+    <suffix domain="net.dm" />
+    <suffix domain="org.dm" />
+
+    <!--  do : http://en.wikipedia.org/wiki/.do-->
+
+    <!--  dz : http://en.wikipedia.org/wiki/.dz-->
+    <suffix domain="com.dz" />
+    <suffix domain="org.dz" />
+    <suffix domain="net.dz" />
+    <suffix domain="gov.dz" />
+    <suffix domain="edu.dz" />
+    <suffix domain="asso.dz" />
+    <suffix domain="pol.dz" />
+    <suffix domain="art.dz" />
+
+    <!--  ec : http://www.nic.ec/reg/paso1.asp-->
+    <suffix domain="com.ec" />
+    <suffix domain="info.ec" />
+    <suffix domain="net.ec" />
+    <suffix domain="fin.ec" />
+    <suffix domain="med.ec" />
+    <suffix domain="pro.ec" />
+    <suffix domain="org.ec" />
+    <suffix domain="edu.ec" />
+    <suffix domain="gov.ec" />
+    <suffix domain="mil.ec" />
+
+    <!--  edu : http://en.wikipedia.org/wiki/.edu-->
+
+    <!--  ee : http://www3.eenet.ee/ee/application.html-->
+    <suffix domain="com.ee" />
+    <suffix domain="org.ee" />
+    <suffix domain="fie.ee" />
+    <suffix domain="pri.ee" />
+
+    <!--  eg : http://en.wikipedia.org/wiki/.eg-->
+
+    <!--  er : http://en.wikipedia.org/wiki/.er-->
+
+    <!--  es : https://www.nic.es/site_ingles/ingles/dominios/index.html-->
+    <suffix domain="com.es" />
+    <suffix domain="nom.es" />
+    <suffix domain="org.es" />
+    <suffix domain="gob.es" />
+    <suffix domain="edu.es" />
+
+    <!--  et : http://en.wikipedia.org/wiki/.et-->
+
+    <!--  eu : http://en.wikipedia.org/wiki/.eu-->
+
+    <!--  fi : http://en.wikipedia.org/wiki/.fi-->
+
+    <!--  fj : http://en.wikipedia.org/wiki/.fj-->
+
+    <!--  fk : http://en.wikipedia.org/wiki/.fk-->
+
+    <!--  fm : http://en.wikipedia.org/wiki/.fm-->
+
+    <!--  fo : http://en.wikipedia.org/wiki/.fo-->
+
+    <!--  fr : http://www.afnic.fr/-->
+    <!--  domaines descriptifs : http://www.afnic.fr/obtenir/chartes/nommage-fr/annexe-descriptifs-->
+    <suffix domain="com.fr" />
+    <suffix domain="asso.fr" />
+    <suffix domain="nom.fr" />
+    <suffix domain="prd.fr" />
+    <suffix domain="presse.fr" />
+    <suffix domain="tm.fr" />
+    <!--  domaines sectoriels : http://www.afnic.fr/obtenir/chartes/nommage-fr/annexe-sectoriels-->
+    <suffix domain="aeroport.fr" />
+    <suffix domain="assedic.fr" />
+    <suffix domain="avocat.fr" />
+    <suffix domain="avoues.fr" />
+    <suffix domain="cci.fr" />
+    <suffix domain="chambagri.fr" />
+    <suffix domain="chirurgiens-dentistes.fr" />
+    <suffix domain="experts-comptables.fr" />
+    <suffix domain="geometre-expert.fr" />
+    <suffix domain="gouv.fr" />
+    <suffix domain="greta.fr" />
+    <suffix domain="huissier-justice.fr" />
+    <suffix domain="medecin.fr" />
+    <suffix domain="notaires.fr" />
+    <suffix domain="pharmacien.fr" />
+    <suffix domain="port.fr" />
+    <suffix domain="veterinaire.fr" />
+
+    <!--  ga : http://en.wikipedia.org/wiki/.ga-->
+
+    <!--  gd : http://en.wikipedia.org/wiki/.gd-->
+
+    <!--  ge : http://www.nic.net.ge/policy_en.pdf-->
+    <suffix domain="com.ge" />
+    <suffix domain="edu.ge" />
+    <suffix domain="gov.ge" />
+    <suffix domain="org.ge" />
+    <suffix domain="mil.ge" />
+    <suffix domain="net.ge" />
+    <suffix domain="pvt.ge" />
+
+    <!--  gf : http://en.wikipedia.org/wiki/.gf-->
+
+    <!--  gg : http://www.channelisles.net/tandc.shtml-->
+    <suffix domain="co.gg" />
+    <suffix domain="org.gg" />
+    <suffix domain="net.gg" />
+    <suffix domain="sch.gg" />
+    <suffix domain="gov.gg" />
+
+    <!--  gh : http://www.ghana.com/domain.htm-->
+
+    <!--  gi : http://www.nic.gi/rules.html-->
+    <suffix domain="com.gi" />
+    <suffix domain="ltd.gi" />
+    <suffix domain="gov.gi" />
+    <suffix domain="mod.gi" />
+    <suffix domain="edu.gi" />
+    <suffix domain="org.gi" />
+
+    <!--  gl : http://en.wikipedia.org/wiki/.gl-->
+
+    <!--  gm : http://www.nic.gm/htmlpages%5Cgm-policy.htm-->
+
+    <!--  gn : http://psg.com/dns/gn/gn.txt-->
+
+    <!--  gov : http://en.wikipedia.org/wiki/.gov-->
+
+    <!--  gp : http://www.nic.gp/index_en.php?url=charte_en.php-->
+    <suffix domain="com.gp" />
+    <suffix domain="net.gp" />
+    <suffix domain="edu.gp" />
+    <suffix domain="org.gp" />
+
+    <!--  gq : http://en.wikipedia.org/wiki/.gq-->
+
+    <!--  gr : https://grweb.ics.forth.gr/english/1617-B-2002.html-->
+    <suffix domain="com.gr" />
+    <suffix domain="edu.gr" />
+    <suffix domain="net.gr" />
+    <suffix domain="org.gr" />
+    <suffix domain="gov.gr" />
+
+    <!--  gs : http://en.wikipedia.org/wiki/.gs-->
+
+    <!--  gt : http://www.gt/politicas.html-->
+
+    <!--  gu : http://gadao.gov.gu/registration.txt-->
+
+    <!--  gw : http://en.wikipedia.org/wiki/.gw-->
+
+    <!--  gy : http://en.wikipedia.org/wiki/.gy-->
+
+    <!--  hk : http://en.wikipedia.org/wiki/.hk-->
+    <suffix domain="com.hk" />
+    <suffix domain="edu.hk" />
+    <suffix domain="gov.hk" />
+    <suffix domain="idv.hk" />
+    <suffix domain="net.hk" />
+    <suffix domain="org.hk" />
+
+    <!--  hm : http://en.wikipedia.org/wiki/.hm-->
+
+    <!--  hn : http://www.nic.hn/politicas/ps02,,05.html-->
+    <suffix domain="com.hn" />
+    <suffix domain="edu.hn" />
+    <suffix domain="org.hn" />
+    <suffix domain="net.hn" />
+    <suffix domain="mil.hn" />
+    <suffix domain="gob.hn" />
+
+    <!--  hr : http://www.dns.hr/documents/pdf/HRTLD-regulations.pdf-->
+    <suffix domain="iz.hr" />
+    <suffix domain="from.hr" />
+    <suffix domain="name.hr" />
+    <suffix domain="com.hr" />
+
+    <!--  ht : http://www.nic.ht/info/charte.cfm-->
+    <suffix domain="com.ht" />
+    <suffix domain="shop.ht" />
+    <suffix domain="firm.ht" />
+    <suffix domain="info.ht" />
+    <suffix domain="adult.ht" />
+    <suffix domain="net.ht" />
+    <suffix domain="pro.ht" />
+    <suffix domain="org.ht" />
+    <suffix domain="med.ht" />
+    <suffix domain="art.ht" />
+    <suffix domain="coop.ht" />
+    <suffix domain="pol.ht" />
+    <suffix domain="asso.ht" />
+    <suffix domain="edu.ht" />
+    <suffix domain="rel.ht" />
+    <suffix domain="gouv.ht" />
+    <suffix domain="perso.ht" />
+
+    <!--  hu : http://www.domain.hu/domain/English/sld.html-->
+    <suffix domain="co.hu" />
+    <suffix domain="info.hu" />
+    <suffix domain="org.hu" />
+    <suffix domain="priv.hu" />
+    <suffix domain="sport.hu" />
+    <suffix domain="tm.hu" />
+    <suffix domain="2000.hu" />
+    <suffix domain="agrar.hu" />
+    <suffix domain="bolt.hu" />
+    <suffix domain="casino.hu" />
+    <suffix domain="city.hu" />
+    <suffix domain="erotica.hu" />
+    <suffix domain="erotika.hu" />
+    <suffix domain="film.hu" />
+    <suffix domain="forum.hu" />
+    <suffix domain="games.hu" />
+    <suffix domain="hotel.hu" />
+    <suffix domain="ingatlan.hu" />
+    <suffix domain="jogasz.hu" />
+    <suffix domain="konyvelo.hu" />
+    <suffix domain="lakas.hu" />
+    <suffix domain="media.hu" />
+    <suffix domain="news.hu" />
+    <suffix domain="reklam.hu" />
+    <suffix domain="sex.hu" />
+    <suffix domain="shop.hu" />
+    <suffix domain="suli.hu" />
+    <suffix domain="szex.hu" />
+    <suffix domain="tozsde.hu" />
+    <suffix domain="utazas.hu" />
+    <suffix domain="video.hu" />
+
+    <!--  id : http://en.wikipedia.org/wiki/.id-->
+
+    <!--  ie : http://en.wikipedia.org/wiki/.ie-->
+
+    <!--  il : http://en.wikipedia.org/wiki/.il-->
+
+    <!--  im : https://www.nic.im/pdfs/imfaqs.pdf-->
+    <suffix domain="co.im" />
+    <suffix domain="ltd.co.im" />
+    <suffix domain="plc.co.im" />
+    <suffix domain="net.im" />
+    <suffix domain="gov.im" />
+    <suffix domain="org.im" />
+    <suffix domain="nic.im" />
+    <suffix domain="ac.im" />
+
+    <!--  in : http://en.wikipedia.org/wiki/.in-->
+    <suffix domain="co.in" />
+    <suffix domain="firm.in" />
+    <suffix domain="net.in" />
+    <suffix domain="org.in" />
+    <suffix domain="gen.in" />
+    <suffix domain="ind.in" />
+    <suffix domain="nic.in" />
+    <suffix domain="ac.in" />
+    <suffix domain="edu.in" />
+    <suffix domain="res.in" />
+    <suffix domain="gov.in" />
+    <suffix domain="mil.in" />
+
+    <!--  info : http://en.wikipedia.org/wiki/.info-->
+
+    <!--  int : http://en.wikipedia.org/wiki/.int-->
+
+    <!--  io : http://www.nic.io/rules.html-->
+    <!--  list of 2nd level tlds ?-->
+
+    <!--  iq : http://en.wikipedia.org/wiki/.iq-->
+    <!--  no registrar website found, but google shows .gov.iq and .edu.iq websites-->
+    <suffix domain="gov.iq" />
+    <suffix domain="edu.iq" />
+
+    <!--  ir : http://www.nic.ir/ascii/Appendix1.htm-->
+    <suffix domain="ac.ir" />
+    <suffix domain="co.ir" />
+    <suffix domain="gov.ir" />
+    <suffix domain="id.ir" />
+    <suffix domain="net.ir" />
+    <suffix domain="org.ir" />
+    <suffix domain="sch.ir" />
+
+    <!--  is : http://www.isnic.is/domain/rules.php-->
+    <suffix domain="net.is" />
+    <suffix domain="com.is" />
+    <suffix domain="edu.is" />
+    <suffix domain="gov.is" />
+    <suffix domain="org.is" />
+    <suffix domain="int.is" />
+
+    <!--  it : http://en.wikipedia.org/wiki/.it-->
+    <suffix domain="gov.edu" />
+    <!--  geo-names found at http://www.nic.it/RA/en/domini/regole/nomi-riservati.pdf-->
+    <suffix domain="agrigento.it" />
+    <suffix domain="ag.it" />
+    <suffix domain="alessandria.it" />
+    <suffix domain="al.it" />
+    <suffix domain="ancona.it" />
+    <suffix domain="an.it" />
+    <suffix domain="aosta.it" />
+    <suffix domain="aoste.it" />
+    <suffix domain="ao.it" />
+    <suffix domain="arezzo.it" />
+    <suffix domain="ar.it" />
+    <suffix domain="ascoli-piceno.it" />
+    <suffix domain="ascolipiceno.it" />
+    <suffix domain="ap.it" />
+    <suffix domain="asti.it" />
+    <suffix domain="at.it" />
+    <suffix domain="avellino.it" />
+    <suffix domain="av.it" />
+    <suffix domain="bari.it" />
+    <suffix domain="ba.it" />
+    <suffix domain="barlettaandriatrani.it" />
+    <suffix domain="barletta-andria-trani.it" />
+    <suffix domain="belluno.it" />
+    <suffix domain="bl.it" />
+    <suffix domain="benevento.it" />
+    <suffix domain="bn.it" />
+    <suffix domain="bergamo.it" />
+    <suffix domain="bg.it" />
+    <suffix domain="biella.it" />
+    <suffix domain="bi.it" />
+    <suffix domain="bologna.it" />
+    <suffix domain="bo.it" />
+    <suffix domain="bolzano.it" />
+    <suffix domain="bozen.it" />
+    <suffix domain="balsan.it" />
+    <suffix domain="alto-adige.it" />
+    <suffix domain="altoadige.it" />
+    <suffix domain="suedtirol.it" />
+    <suffix domain="bz.it" />
+    <suffix domain="brescia.it" />
+    <suffix domain="bs.it" />
+    <suffix domain="brindisi.it" />
+    <suffix domain="br.it" />
+    <suffix domain="cagliari.it" />
+    <suffix domain="ca.it" />
+    <suffix domain="caltanissetta.it" />
+    <suffix domain="cl.it" />
+    <suffix domain="campobasso.it" />
+    <suffix domain="cb.it" />
+    <suffix domain="caserta.it" />
+    <suffix domain="ce.it" />
+    <suffix domain="catania.it" />
+    <suffix domain="ct.it" />
+    <suffix domain="catanzaro.it" />
+    <suffix domain="cz.it" />
+    <suffix domain="chieti.it" />
+    <suffix domain="ch.it" />
+    <suffix domain="como.it" />
+    <suffix domain="co.it" />
+    <suffix domain="cosenza.it" />
+    <suffix domain="cs.it" />
+    <suffix domain="cremona.it" />
+    <suffix domain="cr.it" />
+    <suffix domain="crotone.it" />
+    <suffix domain="kr.it" />
+    <suffix domain="cuneo.it" />
+    <suffix domain="cn.it" />
+    <suffix domain="enna.it" />
+    <suffix domain="en.it" />
+    <suffix domain="fermo.it" />
+    <suffix domain="ferrara.it" />
+    <suffix domain="fe.it" />
+    <suffix domain="firenze.it" />
+    <suffix domain="florence.it" />
+    <suffix domain="fi.it" />
+    <suffix domain="foggia.it" />
+    <suffix domain="fg.it" />
+    <suffix domain="forli-cesena.it" />
+    <suffix domain="forlicesena.it" />
+    <suffix domain="fc.it" />
+    <suffix domain="frosinone.it" />
+    <suffix domain="fr.it" />
+    <suffix domain="genova.it" />
+    <suffix domain="genoa.it" />
+    <suffix domain="ge.it" />
+    <suffix domain="gorizia.it" />
+    <suffix domain="go.it" />
+    <suffix domain="grosseto.it" />
+    <suffix domain="gr.it" />
+    <suffix domain="imperia.it" />
+    <suffix domain="im.it" />
+    <suffix domain="isernia.it" />
+    <suffix domain="is.it" />
+    <suffix domain="laquila.it" />
+    <suffix domain="aquila.it" />
+    <suffix domain="aq.it" />
+    <suffix domain="la-spezia.it" />
+    <suffix domain="laspezia.it" />
+    <suffix domain="sp.it" />
+    <suffix domain="latina.it" />
+    <suffix domain="lt.it" />
+    <suffix domain="lecce.it" />
+    <suffix domain="le.it" />
+    <suffix domain="lecco.it" />
+    <suffix domain="lc.it" />
+    <suffix domain="livorno.it" />
+    <suffix domain="li.it" />
+    <suffix domain="lodi.it" />
+    <suffix domain="lo.it" />
+    <suffix domain="lucca.it" />
+    <suffix domain="lu.it" />
+    <suffix domain="macerata.it" />
+    <suffix domain="mc.it" />
+    <suffix domain="mantova.it" />
+    <suffix domain="mn.it" />
+    <suffix domain="massa-carrara.it" />
+    <suffix domain="massacarrara.it" />
+    <suffix domain="ms.it" />
+    <suffix domain="matera.it" />
+    <suffix domain="mt.it" />
+    <suffix domain="messina.it" />
+    <suffix domain="me.it" />
+    <suffix domain="milano.it" />
+    <suffix domain="milan.it" />
+    <suffix domain="mi.it" />
+    <suffix domain="modena.it" />
+    <suffix domain="mo.it" />
+    <suffix domain="monza.it" />
+    <suffix domain="napoli.it" />
+    <suffix domain="naples.it" />
+    <suffix domain="na.it" />
+    <suffix domain="novara.it" />
+    <suffix domain="no.it" />
+    <suffix domain="nuoro.it" />
+    <suffix domain="nu.it" />
+    <suffix domain="oristano.it" />
+    <suffix domain="or.it" />
+    <suffix domain="padova.it" />
+    <suffix domain="padua.it" />
+    <suffix domain="pd.it" />
+    <suffix domain="palermo.it" />
+    <suffix domain="pa.it" />
+    <suffix domain="parma.it" />
+    <suffix domain="pr.it" />
+    <suffix domain="pavia.it" />
+    <suffix domain="pv.it" />
+    <suffix domain="perugia.it" />
+    <suffix domain="pg.it" />
+    <suffix domain="pescara.it" />
+    <suffix domain="pe.it" />
+    <suffix domain="pesaro-urbino.it" />
+    <suffix domain="pesarourbino.it" />
+    <suffix domain="pu.it" />
+    <suffix domain="piacenza.it" />
+    <suffix domain="pc.it" />
+    <suffix domain="pisa.it" />
+    <suffix domain="pi.it" />
+    <suffix domain="pistoia.it" />
+    <suffix domain="pt.it" />
+    <suffix domain="pordenone.it" />
+    <suffix domain="pn.it" />
+    <suffix domain="potenza.it" />
+    <suffix domain="pz.it" />
+    <suffix domain="prato.it" />
+    <suffix domain="po.it" />
+    <suffix domain="ragusa.it" />
+    <suffix domain="rg.it" />
+    <suffix domain="ravenna.it" />
+    <suffix domain="ra.it" />
+    <suffix domain="reggio-calabria.it" />
+    <suffix domain="reggiocalabria.it" />
+    <suffix domain="rc.it" />
+    <suffix domain="reggio-emilia.it" />
+    <suffix domain="reggioemilia.it" />
+    <suffix domain="re.it" />
+    <suffix domain="rieti.it" />
+    <suffix domain="ri.it" />
+    <suffix domain="rimini.it" />
+    <suffix domain="rn.it" />
+    <suffix domain="roma.it" />
+    <suffix domain="rome.it" />
+    <suffix domain="rm.it" />
+    <suffix domain="rovigo.it" />
+    <suffix domain="ro.it" />
+    <suffix domain="salerno.it" />
+    <suffix domain="sa.it" />
+    <suffix domain="sassari.it" />
+    <suffix domain="ss.it" />
+    <suffix domain="savona.it" />
+    <suffix domain="sv.it" />
+    <suffix domain="siena.it" />
+    <suffix domain="si.it" />
+    <suffix domain="siracusa.it" />
+    <suffix domain="sr.it" />
+    <suffix domain="sondrio.it" />
+    <suffix domain="so.it" />
+    <suffix domain="taranto.it" />
+    <suffix domain="ta.it" />
+    <suffix domain="teramo.it" />
+    <suffix domain="te.it" />
+    <suffix domain="terni.it" />
+    <suffix domain="tr.it" />
+    <suffix domain="torino.it" />
+    <suffix domain="turin.it" />
+    <suffix domain="to.it" />
+    <suffix domain="trapani.it" />
+    <suffix domain="tp.it" />
+    <suffix domain="trento.it" />
+    <suffix domain="trentino.it" />
+    <suffix domain="tn.it" />
+    <suffix domain="treviso.it" />
+    <suffix domain="tv.it" />
+    <suffix domain="trieste.it" />
+    <suffix domain="ts.it" />
+    <suffix domain="udine.it" />
+    <suffix domain="ud.it" />
+    <suffix domain="varese.it" />
+    <suffix domain="va.it" />
+    <suffix domain="venezia.it" />
+    <suffix domain="venice.it" />
+    <suffix domain="ve.it" />
+    <suffix domain="verbania.it" />
+    <suffix domain="vb.it" />
+    <suffix domain="vercelli.it" />
+    <suffix domain="vc.it" />
+    <suffix domain="verona.it" />
+    <suffix domain="vr.it" />
+    <suffix domain="vibo-valentia.it" />
+    <suffix domain="vibovalentia.it" />
+    <suffix domain="vv.it" />
+    <suffix domain="vicenza.it" />
+    <suffix domain="vi.it" />
+    <suffix domain="viterbo.it" />
+    <suffix domain="vt.it" />
+
+    <!--  je : http://www.channelisles.net/tandc.shtml-->
+    <suffix domain="co.je" />
+    <suffix domain="org.je" />
+    <suffix domain="net.je" />
+    <suffix domain="sch.je" />
+    <suffix domain="gov.je" />
+
+    <!--  jm : http://www.com.jm/register.html-->
+
+    <!--  jo : http://www.nis.gov.jo/dns/reg.html-->
+    <suffix domain="com.jo" />
+    <suffix domain="org.jo" />
+    <suffix domain="net.jo" />
+    <suffix domain="edu.jo" />
+    <suffix domain="gov.jo" />
+    <suffix domain="mil.jo" />
+    <suffix domain="myname.jo" />
+
+    <!--  jobs : http://en.wikipedia.org/wiki/.jobs-->
+
+    <!--  jp : http://en.wikipedia.org/wiki/.jp-->
+    <suffix domain="ac.jp" />
+    <suffix domain="ad.jp" />
+    <suffix domain="co.jp" />
+    <suffix domain="ed.jp" />
+    <suffix domain="go.jp" />
+    <suffix domain="gr.jp" />
+    <suffix domain="lg.jp" />
+    <suffix domain="ne.jp" />
+    <suffix domain="or.jp" />
+    <!--  jp geographical names-->
+    <!--  I can't find an official english explanantrion, but used https://bugzilla.mozilla.org/show_bug.cgi?id=252342#c31-->
+    <suffix domain="aichi.jp" />
+    <suffix domain="akita.jp" />
+    <suffix domain="aomori.jp" />
+    <suffix domain="chiba.jp" />
+    <suffix domain="ehime.jp" />
+    <suffix domain="fukui.jp" />
+    <suffix domain="fukuoka.jp" />
+    <suffix domain="fukushima.jp" />
+    <suffix domain="gifu.jp" />
+    <suffix domain="gunma.jp" />
+    <suffix domain="hiroshima.jp" />
+    <suffix domain="hokkaido.jp" />
+    <suffix domain="hyogo.jp" />
+    <suffix domain="ibaraki.jp" />
+    <suffix domain="ishikawa.jp" />
+    <suffix domain="iwate.jp" />
+    <suffix domain="kagawa.jp" />
+    <suffix domain="kagoshima.jp" />
+    <suffix domain="kanagawa.jp" />
+    <suffix domain="kawasaki.jp" />
+    <suffix domain="kitakyushu.jp" />
+    <suffix domain="kobe.jp" />
+    <suffix domain="kochi.jp" />
+    <suffix domain="kumamoto.jp" />
+    <suffix domain="kyoto.jp" />
+    <suffix domain="mie.jp" />
+    <suffix domain="miyagi.jp" />
+    <suffix domain="miyazaki.jp" />
+    <suffix domain="nagano.jp" />
+    <suffix domain="nagasaki.jp" />
+    <suffix domain="nagoya.jp" />
+    <suffix domain="nara.jp" />
+    <suffix domain="niigata.jp" />
+    <suffix domain="oita.jp" />
+    <suffix domain="okayama.jp" />
+    <suffix domain="okinawa.jp" />
+    <suffix domain="osaka.jp" />
+    <suffix domain="saga.jp" />
+    <suffix domain="saitama.jp" />
+    <suffix domain="sapporo.jp" />
+    <suffix domain="sendai.jp" />
+    <suffix domain="shiga.jp" />
+    <suffix domain="shimane.jp" />
+    <suffix domain="shizuoka.jp" />
+    <suffix domain="tochigi.jp" />
+    <suffix domain="tokushima.jp" />
+    <suffix domain="tokyo.jp" />
+    <suffix domain="tottori.jp" />
+    <suffix domain="toyama.jp" />
+    <suffix domain="wakayama.jp" />
+    <suffix domain="yamagata.jp" />
+    <suffix domain="yamaguchi.jp" />
+    <suffix domain="yamanashi.jp" />
+    <suffix domain="yokohama.jp" />
+    <suffix domain="metro.tokyo.jp" />
+    <suffix domain="pref.aichi.jp" />
+    <suffix domain="pref.akita.jp" />
+    <suffix domain="pref.aomori.jp" />
+    <suffix domain="pref.chiba.jp" />
+    <suffix domain="pref.ehime.jp" />
+    <suffix domain="pref.fukui.jp" />
+    <suffix domain="pref.fukuoka.jp" />
+    <suffix domain="pref.fukushima.jp" />
+    <suffix domain="pref.gifu.jp" />
+    <suffix domain="pref.gunma.jp" />
+    <suffix domain="pref.hiroshima.jp" />
+    <suffix domain="pref.hokkaido.jp" />
+    <suffix domain="pref.hyogo.jp" />
+    <suffix domain="pref.ibaraki.jp" />
+    <suffix domain="pref.ishikawa.jp" />
+    <suffix domain="pref.iwate.jp" />
+    <suffix domain="pref.kagawa.jp" />
+    <suffix domain="pref.kagoshima.jp" />
+    <suffix domain="pref.kanagawa.jp" />
+    <suffix domain="pref.kochi.jp" />
+    <suffix domain="pref.kumamoto.jp" />
+    <suffix domain="pref.kyoto.jp" />
+    <suffix domain="pref.mie.jp" />
+    <suffix domain="pref.miyagi.jp" />
+    <suffix domain="pref.miyazaki.jp" />
+    <suffix domain="pref.nagano.jp" />
+    <suffix domain="pref.nagasaki.jp" />
+    <suffix domain="pref.nara.jp" />
+    <suffix domain="pref.niigata.jp" />
+    <suffix domain="pref.oita.jp" />
+    <suffix domain="pref.okayama.jp" />
+    <suffix domain="pref.okinawa.jp" />
+    <suffix domain="pref.osaka.jp" />
+    <suffix domain="pref.saga.jp" />
+    <suffix domain="pref.saitama.jp" />
+    <suffix domain="pref.shiga.jp" />
+    <suffix domain="pref.shimane.jp" />
+    <suffix domain="pref.shizuoka.jp" />
+    <suffix domain="pref.tochigi.jp" />
+    <suffix domain="pref.tokushima.jp" />
+    <suffix domain="pref.tottori.jp" />
+    <suffix domain="pref.toyama.jp" />
+    <suffix domain="pref.wakayama.jp" />
+    <suffix domain="pref.yamagata.jp" />
+    <suffix domain="pref.yamaguchi.jp" />
+    <suffix domain="pref.yamanashi.jp" />
+    <suffix domain="city.chiba.jp" />
+    <suffix domain="city.fukuoka.jp" />
+    <suffix domain="city.hiroshima.jp" />
+    <suffix domain="city.kawasaki.jp" />
+    <suffix domain="city.kitakyushu.jp" />
+    <suffix domain="city.kobe.jp" />
+    <suffix domain="city.kyoto.jp" />
+    <suffix domain="city.nagoya.jp" />
+    <suffix domain="city.osaka.jp" />
+    <suffix domain="city.saitama.jp" />
+    <suffix domain="city.sapporo.jp" />
+    <suffix domain="city.sendai.jp" />
+    <suffix domain="city.shizuoka.jp" />
+    <suffix domain="city.yokohama.jp" />
+
+    <!--  ke : http://www.kenic.or.ke/index.php?option=com_content&task=view&id=117&Itemid=145-->
+
+    <!--  kg : http://www.domain.kg/dmn_n.html-->
+    <suffix domain="org.kg" />
+    <suffix domain="net.kg" />
+    <suffix domain="com.kg" />
+    <suffix domain="edu.kg" />
+    <suffix domain="gov.kg" />
+    <suffix domain="mil.kg" />
+
+    <!--  kh : http://www.mptc.gov.kh/dns_registration.htm-->
+
+    <!--  ki : http://www.ki/dns/index.html-->
+    <suffix domain="edu.ki" />
+    <suffix domain="biz.ki" />
+    <suffix domain="net.ki" />
+    <suffix domain="org.ki" />
+    <suffix domain="gov.ki" />
+    <suffix domain="info.ki" />
+    <suffix domain="com.ki" />
+
+    <!--  km : http://en.wikipedia.org/wiki/.km-->
+
+    <!--  kn : http://en.wikipedia.org/wiki/.kn-->
+
+    <!--  kr : http://domain.nida.or.kr/eng/structure.jsp-->
+    <suffix domain="ac.kr" />
+    <suffix domain="co.kr" />
+    <suffix domain="go.kr" />
+    <suffix domain="ne.kr" />
+    <suffix domain="or.kr" />
+    <suffix domain="re.kr" />
+    <suffix domain="pe.kr" />
+    <suffix domain="한글.kr" />
+
+    <!--  kw : http://en.wikipedia.org/wiki/.kw-->
+
+    <!--  ky : http://www.icta.ky/da_ky_reg_dom.php-->
+    <suffix domain="edu.ky" />
+    <suffix domain="gov.ky" />
+    <suffix domain="com.ky" />
+    <suffix domain="org.ky" />
+    <suffix domain="net.ky" />
+
+    <!--  kz : http://en.wikipedia.org/wiki/.kz-->
+    <suffix domain="org.kz" />
+    <suffix domain="edu.kz" />
+    <suffix domain="net.kz" />
+    <suffix domain="gov.kz" />
+    <suffix domain="mil.kz" />
+    <suffix domain="com.kz" />
+
+    <!--  la : http://en.wikipedia.org/wiki/.la-->
+
+    <!--  lb : http://en.wikipedia.org/wiki/.lb-->
+
+    <!--  lc : http://en.wikipedia.org/wiki/.lc-->
+    <suffix domain="com.lc" />
+    <suffix domain="org.lc" />
+    <suffix domain="edu.lc" />
+    <suffix domain="gov.lc" />
+
+    <!--  li : http://en.wikipedia.org/wiki/.li-->
+
+    <!--  lk : http://www.nic.lk/seclevpr.html-->
+    <suffix domain="gov.lk" />
+    <suffix domain="sch.lk" />
+    <suffix domain="net.lk" />
+    <suffix domain="int.lk" />
+    <suffix domain="com.lk" />
+    <suffix domain="org.lk" />
+    <suffix domain="edu.lk" />
+    <suffix domain="ngo.lk" />
+    <suffix domain="soc.lk" />
+    <suffix domain="web.lk" />
+    <suffix domain="ltd.lk" />
+    <suffix domain="assn.lk" />
+    <suffix domain="grp.lk" />
+    <suffix domain="hotel.lk" />
+
+    <!--  lr : http://psg.com/dns/lr/lr.txt-->
+
+    <!--  ls : http://en.wikipedia.org/wiki/.ls-->
+    <suffix domain="co.ls" />
+    <suffix domain="org.ls" />
+
+    <!--  lt : http://en.wikipedia.org/wiki/.lt-->
+
+    <!--  lu : http://www.dns.lu/en/-->
+
+    <!--  lv : http://www.nic.lv/DNS/En/generic.php-->
+    <suffix domain="com.lv" />
+    <suffix domain="edu.lv" />
+    <suffix domain="gov.lv" />
+    <suffix domain="org.lv" />
+    <suffix domain="mil.lv" />
+    <suffix domain="id.lv" />
+    <suffix domain="net.lv" />
+    <suffix domain="asn.lv" />
+    <suffix domain="conf.lv" />
+
+    <!--  ly : http://www.nic.ly/regulations.php-->
+    <suffix domain="com.ly" />
+    <suffix domain="net.ly" />
+    <suffix domain="gov.ly" />
+    <suffix domain="plc.ly" />
+    <suffix domain="edu.ly" />
+    <suffix domain="sch.ly" />
+    <suffix domain="med.ly" />
+    <suffix domain="org.ly" />
+    <suffix domain="id.ly" />
+
+    <!--  ma : http://en.wikipedia.org/wiki/.ma-->
+    <!--  list of 2nd level tlds ?-->
+    <suffix domain="co.ma" />
+    <suffix domain="net.ma" />
+    <suffix domain="gov.ma" />
+    <suffix domain="org.ma" />
+
+    <!--  mc : http://www.nic.mc/-->
+    <suffix domain="tm.mc" />
+    <suffix domain="asso.mc" />
+
+    <!--  md : http://en.wikipedia.org/wiki/.md-->
+
+    <!--  mg : http://www.nic.mg/tarif.htm-->
+    <suffix domain="org.mg" />
+    <suffix domain="nom.mg" />
+    <suffix domain="gov.mg" />
+    <suffix domain="prd.mg" />
+    <suffix domain="tm.mg" />
+    <suffix domain="edu.mg" />
+    <suffix domain="mil.mg" />
+    <suffix domain="com.mg" />
+
+    <!--  mh : http://en.wikipedia.org/wiki/.mh-->
+
+    <!--  mil : http://en.wikipedia.org/wiki/.mil-->
+
+    <!--  mk : http://en.wikipedia.org/wiki/.mk-->
+    <!--  list of 2nd level tlds ?-->
+    <suffix domain="com.mk" />
+    <suffix domain="gov.mk" />
+    <suffix domain="org.mk" />
+    <suffix domain="net.mk" />
+    <suffix domain="edu.mk" />
+
+    <!--  ml : http://www.gobin.info/domainname/ml-template.doc-->
+
+    <!--  mm : http://en.wikipedia.org/wiki/.mm-->
+
+    <!--  mn : http://en.wikipedia.org/wiki/.mn-->
+    <suffix domain="gov.mn" />
+    <suffix domain="edu.mn" />
+    <suffix domain="org.mn" />
+
+    <!--  mo : http://www.monic.net.mo/-->
+    <suffix domain="com.mo" />
+    <suffix domain="net.mo" />
+    <suffix domain="org.mo" />
+    <suffix domain="edu.mo" />
+    <suffix domain="gov.mo" />
+
+    <!--  mobi : http://en.wikipedia.org/wiki/.mobi-->
+
+    <!--  mp : http://www.dot.mp/-->
+
+    <!--  mq : http://en.wikipedia.org/wiki/.mq-->
+
+    <!--  mr : http://en.wikipedia.org/wiki/.mr-->
+
+    <!--  ms : http://en.wikipedia.org/wiki/.ms-->
+
+    <!--  mt : https://www.nic.org.mt/dotmt/-->
+
+    <!--  mu : http://en.wikipedia.org/wiki/.mu-->
+    <!--  list of 2nd level tlds ?-->
+
+    <!--  museum : http://about.museum/naming/-->
+    <!--  there are 2nd-level TLD's, but there's no list-->
+
+    <!--  mv : http://en.wikipedia.org/wiki/.mv-->
+
+    <!--  mw : http://www.registrar.mw/-->
+    <suffix domain="ac.mw" />
+    <suffix domain="biz.mw" />
+    <suffix domain="co.mw" />
+    <suffix domain="com.mw" />
+    <suffix domain="coop.mw" />
+    <suffix domain="edu.mw" />
+    <suffix domain="gov.mw" />
+    <suffix domain="int.mw" />
+    <suffix domain="net.mw" />
+    <suffix domain="org.mw" />
+
+    <!--  mx : http://www.nic.mx/-->
+
+    <!--  my : http://www.mynic.net.my/-->
+
+    <!--  mz : http://www.gobin.info/domainname/mz-template.doc-->
+
+    <!--  na : http://www.na-nic.com.na/-->
+    <!--  list of 2nd level tlds ?-->
+
+    <!--  name : has 2nd-level tlds, but there's no list of them-->
+
+    <!--  nc : http://www.cctld.nc/-->
+
+    <!--  ne : http://en.wikipedia.org/wiki/.ne-->
+
+    <!--  net : http://en.wikipedia.org/wiki/.net-->
+
+    <!--  nf : http://en.wikipedia.org/wiki/.nf-->
+    <suffix domain="com.nf" />
+    <suffix domain="net.nf" />
+    <suffix domain="per.nf" />
+    <suffix domain="rec.nf" />
+    <suffix domain="web.nf" />
+    <suffix domain="arts.nf" />
+    <suffix domain="firm.nf" />
+    <suffix domain="info.nf" />
+    <suffix domain="other.nf" />
+    <suffix domain="store.nf" />
+
+    <!--  ng : http://psg.com/dns/ng/-->
+
+    <!--  ni : http://www.nic.ni/dominios.htm-->
+
+    <!--  nl : http://www.domain-registry.nl/ace.php/c,728,122,,,,Home.html-->
+
+    <!--  no : http://www.norid.no/regelverk/index.en.html-->
+    <suffix domain="fhs.no" />
+    <suffix domain="vgs.no" />
+    <suffix domain="fylkesbibl.no" />
+    <suffix domain="folkebibl.no" />
+    <suffix domain="museum.no" />
+    <suffix domain="idrett.no" />
+    <suffix domain="mil.no" />
+    <suffix domain="stat.no" />
+    <suffix domain="dep.no" />
+    <suffix domain="kommune.no" />
+    <suffix domain="herad.no" />
+    <suffix domain="priv.no" />
+    <!--  no geographical names : http://www.norid.no/regelverk/vedlegg-b.en.html-->
+    <!--  counties-->
+    <suffix domain="aa.no" />
+    <suffix domain="ah.no" />
+    <suffix domain="bu.no" />
+    <suffix domain="fm.no" />
+    <suffix domain="hl.no" />
+    <suffix domain="hm.no" />
+    <suffix domain="jan-mayen.no" />
+    <suffix domain="mr.no" />
+    <suffix domain="nl.no" />
+    <suffix domain="nt.no" />
+    <suffix domain="of.no" />
+    <suffix domain="ol.no" />
+    <suffix domain="oslo.no" />
+    <suffix domain="rl.no" />
+    <suffix domain="sf.no" />
+    <suffix domain="st.no" />
+    <suffix domain="svalbard.no" />
+    <suffix domain="tm.no" />
+    <suffix domain="tr.no" />
+    <suffix domain="va.no" />
+    <suffix domain="vf.no" />
+    <!--  primary and lower secondary schools per county-->
+    <suffix domain="gs.aa.no" />
+    <suffix domain="gs.ah.no" />
+    <suffix domain="gs.bu.no" />
+    <suffix domain="gs.fm.no" />
+    <suffix domain="gs.hl.no" />
+    <suffix domain="gs.hm.no" />
+    <suffix domain="gs.jan-mayen.no" />
+    <suffix domain="gs.mr.no" />
+    <suffix domain="gs.nl.no" />
+    <suffix domain="gs.nt.no" />
+    <suffix domain="gs.of.no" />
+    <suffix domain="gs.ol.no" />
+    <suffix domain="gs.oslo.no" />
+    <suffix domain="gs.rl.no" />
+    <suffix domain="gs.sf.no" />
+    <suffix domain="gs.st.no" />
+    <suffix domain="gs.svalbard.no" />
+    <suffix domain="gs.tm.no" />
+    <suffix domain="gs.tr.no" />
+    <suffix domain="gs.va.no" />
+    <suffix domain="gs.vf.no" />
+    <!--  cities-->
+    <suffix domain="akrehamn.no" />
+    <suffix domain="åkrehamn.no" />
+    <suffix domain="algard.no" />
+    <suffix domain="ålgård.no" />
+    <suffix domain="arna.no" />
+    <suffix domain="brumunddal.no" />
+    <suffix domain="bryne.no" />
+    <suffix domain="bronnoysund.no" />
+    <suffix domain="brønnøysund.no" />
+    <suffix domain="drobak.no" />
+    <suffix domain="drøbak.no" />
+    <suffix domain="egersund.no" />
+    <suffix domain="fetsund.no" />
+    <suffix domain="floro.no" />
+    <suffix domain="florø.no" />
+    <suffix domain="fredrikstad.no" />
+    <suffix domain="hokksund.no" />
+    <suffix domain="honefoss.no" />
+    <suffix domain="hønefoss.no" />
+    <suffix domain="jessheim.no" />
+    <suffix domain="jorpeland.no" />
+    <suffix domain="jørpeland.no" />
+    <suffix domain="kirkenes.no" />
+    <suffix domain="kopervik.no" />
+    <suffix domain="krokstadelva.no" />
+    <suffix domain="langevag.no" />
+    <suffix domain="langevåg.no" />
+    <suffix domain="leirvik.no" />
+    <suffix domain="mjondalen.no" />
+    <suffix domain="mjøndalen.no" />
+    <suffix domain="mo-i-rana.no" />
+    <suffix domain="mosjoen.no" />
+    <suffix domain="mosjøen.no" />
+    <suffix domain="nesoddtangen.no" />
+    <suffix domain="orkanger.no" />
+    <suffix domain="osoyro.no" />
+    <suffix domain="osøyro.no" />
+    <suffix domain="raholt.no" />
+    <suffix domain="råholt.no" />
+    <suffix domain="sandnessjoen.no" />
+    <suffix domain="sandnessjøen.no" />
+    <suffix domain="skedsmokorset.no" />
+    <suffix domain="slattum.no" />
+    <suffix domain="spjelkavik.no" />
+    <suffix domain="stathelle.no" />
+    <suffix domain="stavern.no" />
+    <suffix domain="stjordalshalsen.no" />
+    <suffix domain="stjørdalshalsen.no" />
+    <suffix domain="tananger.no" />
+    <suffix domain="tranby.no" />
+    <suffix domain="vossevangen.no" />
+    <!--  communities-->
+    <suffix domain="afjord.no" />
+    <suffix domain="åfjord.no" />
+    <suffix domain="agdenes.no" />
+    <suffix domain="al.no" />
+    <suffix domain="ål.no" />
+    <suffix domain="alesund.no" />
+    <suffix domain="ålesund.no" />
+    <suffix domain="alstahaug.no" />
+    <suffix domain="alta.no" />
+    <suffix domain="áltá.no" />
+    <suffix domain="alaheadju.no" />
+    <suffix domain="álaheadju.no" />
+    <suffix domain="alvdal.no" />
+    <suffix domain="amli.no" />
+    <suffix domain="åmli.no" />
+    <suffix domain="amot.no" />
+    <suffix domain="åmot.no" />
+    <suffix domain="andebu.no" />
+    <suffix domain="andoy.no" />
+    <suffix domain="andøy.no" />
+    <suffix domain="andasuolo.no" />
+    <suffix domain="ardal.no" />
+    <suffix domain="årdal.no" />
+    <suffix domain="aremark.no" />
+    <suffix domain="arendal.no" />
+    <suffix domain="ås.no" />
+    <suffix domain="aseral.no" />
+    <suffix domain="åseral.no" />
+    <suffix domain="asker.no" />
+    <suffix domain="askim.no" />
+    <suffix domain="askvoll.no" />
+    <suffix domain="askoy.no" />
+    <suffix domain="askøy.no" />
+    <suffix domain="asnes.no" />
+    <suffix domain="åsnes.no" />
+    <suffix domain="audnedaln.no" />
+    <suffix domain="aukra.no" />
+    <suffix domain="aure.no" />
+    <suffix domain="aurland.no" />
+    <suffix domain="aurskog-holand.no" />
+    <suffix domain="aurskog-høland.no" />
+    <suffix domain="austevoll.no" />
+    <suffix domain="austrheim.no" />
+    <suffix domain="averoy.no" />
+    <suffix domain="averøy.no" />
+    <suffix domain="balestrand.no" />
+    <suffix domain="ballangen.no" />
+    <suffix domain="balat.no" />
+    <suffix domain="bálát.no" />
+    <suffix domain="balsfjord.no" />
+    <suffix domain="bahccavuotna.no" />
+    <suffix domain="báhccavuotna.no" />
+    <suffix domain="bamble.no" />
+    <suffix domain="bardu.no" />
+    <suffix domain="beardu.no" />
+    <suffix domain="beiarn.no" />
+    <suffix domain="bajddar.no" />
+    <suffix domain="bájddar.no" />
+    <suffix domain="baidar.no" />
+    <suffix domain="báidár.no" />
+    <suffix domain="berg.no" />
+    <suffix domain="bergen.no" />
+    <suffix domain="berlevag.no" />
+    <suffix domain="berlevåg.no" />
+    <suffix domain="bearalvahki.no" />
+    <suffix domain="bearalváhki.no" />
+    <suffix domain="bindal.no" />
+    <suffix domain="birkenes.no" />
+    <suffix domain="bjarkoy.no" />
+    <suffix domain="bjarkøy.no" />
+    <suffix domain="bjerkreim.no" />
+    <suffix domain="bjugn.no" />
+    <suffix domain="bodo.no" />
+    <suffix domain="bodø.no" />
+    <suffix domain="badaddja.no" />
+    <suffix domain="bådåddjå.no" />
+    <suffix domain="budejju.no" />
+    <suffix domain="bokn.no" />
+    <suffix domain="bremanger.no" />
+    <suffix domain="bronnoy.no" />
+    <suffix domain="brønnøy.no" />
+    <suffix domain="bygland.no" />
+    <suffix domain="bykle.no" />
+    <suffix domain="barum.no" />
+    <suffix domain="bærum.no" />
+    <suffix domain="bo.telemark.no" />
+    <suffix domain="bø.telemark.no" />
+    <suffix domain="bo.nordland.no" />
+    <suffix domain="bø.nordland.no" />
+    <suffix domain="bievat.no" />
+    <suffix domain="bievát.no" />
+    <suffix domain="bomlo.no" />
+    <suffix domain="bømlo.no" />
+    <suffix domain="batsfjord.no" />
+    <suffix domain="båtsfjord.no" />
+    <suffix domain="bahcavuotna.no" />
+    <suffix domain="báhcavuotna.no" />
+    <suffix domain="dovre.no" />
+    <suffix domain="drammen.no" />
+    <suffix domain="drangedal.no" />
+    <suffix domain="dyroy.no" />
+    <suffix domain="dyrøy.no" />
+    <suffix domain="donna.no" />
+    <suffix domain="dønna.no" />
+    <suffix domain="eid.no" />
+    <suffix domain="eidfjord.no" />
+    <suffix domain="eidsberg.no" />
+    <suffix domain="eidskog.no" />
+    <suffix domain="eidsvoll.no" />
+    <suffix domain="eigersund.no" />
+    <suffix domain="elverum.no" />
+    <suffix domain="enebakk.no" />
+    <suffix domain="engerdal.no" />
+    <suffix domain="etne.no" />
+    <suffix domain="etnedal.no" />
+    <suffix domain="evenes.no" />
+    <suffix domain="evenassi.no" />
+    <suffix domain="evenášši.no" />
+    <suffix domain="evje-og-hornnes.no" />
+    <suffix domain="farsund.no" />
+    <suffix domain="fauske.no" />
+    <suffix domain="fuossko.no" />
+    <suffix domain="fuoisku.no" />
+    <suffix domain="fedje.no" />
+    <suffix domain="fet.no" />
+    <suffix domain="finnoy.no" />
+    <suffix domain="finnøy.no" />
+    <suffix domain="fitjar.no" />
+    <suffix domain="fjaler.no" />
+    <suffix domain="fjell.no" />
+    <suffix domain="flakstad.no" />
+    <suffix domain="flatanger.no" />
+    <suffix domain="flekkefjord.no" />
+    <suffix domain="flesberg.no" />
+    <suffix domain="flora.no" />
+    <suffix domain="fla.no" />
+    <suffix domain="flå.no" />
+    <suffix domain="folldal.no" />
+    <suffix domain="forsand.no" />
+    <suffix domain="fosnes.no" />
+    <suffix domain="fredrikstad.no" />
+    <suffix domain="frei.no" />
+    <suffix domain="frogn.no" />
+    <suffix domain="froland.no" />
+    <suffix domain="frosta.no" />
+    <suffix domain="frana.no" />
+    <suffix domain="fræna.no" />
+    <suffix domain="froya.no" />
+    <suffix domain="frøya.no" />
+    <suffix domain="fusa.no" />
+    <suffix domain="fyresdal.no" />
+    <suffix domain="forde.no" />
+    <suffix domain="førde.no" />
+    <suffix domain="gamvik.no" />
+    <suffix domain="gangaviika.no" />
+    <suffix domain="gaular.no" />
+    <suffix domain="gausdal.no" />
+    <suffix domain="gildeskal.no" />
+    <suffix domain="gildeskål.no" />
+    <suffix domain="giske.no" />
+    <suffix domain="gjemnes.no" />
+    <suffix domain="gjerdrum.no" />
+    <suffix domain="gjerstad.no" />
+    <suffix domain="gjesdal.no" />
+    <suffix domain="gjovik.no" />
+    <suffix domain="gjøvik.no" />
+    <suffix domain="gloppen.no" />
+    <suffix domain="gol.no" />
+    <suffix domain="gran.no" />
+    <suffix domain="grane.no" />
+    <suffix domain="granvin.no" />
+    <suffix domain="gratangen.no" />
+    <suffix domain="grimstad.no" />
+    <suffix domain="grong.no" />
+    <suffix domain="kraanghke.no" />
+    <suffix domain="kråanghke.no" />
+    <suffix domain="grue.no" />
+    <suffix domain="gulen.no" />
+    <suffix domain="hadsel.no" />
+    <suffix domain="halden.no" />
+    <suffix domain="halsa.no" />
+    <suffix domain="hamar.no" />
+    <suffix domain="hamaroy.no" />
+    <suffix domain="habmer.no" />
+    <suffix domain="hábmer.no" />
+    <suffix domain="hapmir.no" />
+    <suffix domain="hápmir.no" />
+    <suffix domain="hammerfest.no" />
+    <suffix domain="hammarfeasta.no" />
+    <suffix domain="hámmárfeasta.no" />
+    <suffix domain="haram.no" />
+    <suffix domain="hareid.no" />
+    <suffix domain="harstad.no" />
+    <suffix domain="hasvik.no" />
+    <suffix domain="aknoluokta.no" />
+    <suffix domain="ákŋoluokta.no" />
+    <suffix domain="hattfjelldal.no" />
+    <suffix domain="aarborte.no" />
+    <suffix domain="haugesund.no" />
+    <suffix domain="hemne.no" />
+    <suffix domain="hemnes.no" />
+    <suffix domain="hemsedal.no" />
+    <suffix domain="heroy.more-og-romsdal.no" />
+    <suffix domain="herøy.møre-og-romsdal.no" />
+    <suffix domain="heroy.nordland.no" />
+    <suffix domain="herøy.nordland.no" />
+    <suffix domain="hitra.no" />
+    <suffix domain="hjartdal.no" />
+    <suffix domain="hjelmeland.no" />
+    <suffix domain="hobol.no" />
+    <suffix domain="hobøl.no" />
+    <suffix domain="hof.no" />
+    <suffix domain="hol.no" />
+    <suffix domain="hole.no" />
+    <suffix domain="holmestrand.no" />
+    <suffix domain="holtalen.no" />
+    <suffix domain="holtålen.no" />
+    <suffix domain="hornindal.no" />
+    <suffix domain="horten.no" />
+    <suffix domain="hurdal.no" />
+    <suffix domain="hurum.no" />
+    <suffix domain="hvaler.no" />
+    <suffix domain="hyllestad.no" />
+    <suffix domain="hagebostad.no" />
+    <suffix domain="hægebostad.no" />
+    <suffix domain="hoyanger.no" />
+    <suffix domain="høyanger.no" />
+    <suffix domain="hoylandet.no" />
+    <suffix domain="høylandet.no" />
+    <suffix domain="ha.no" />
+    <suffix domain="hå.no" />
+    <suffix domain="ibestad.no" />
+    <suffix domain="inderoy.no" />
+    <suffix domain="inderøy.no" />
+    <suffix domain="iveland.no" />
+    <suffix domain="jevnaker.no" />
+    <suffix domain="jondal.no" />
+    <suffix domain="jolster.no" />
+    <suffix domain="jølster.no" />
+    <suffix domain="karasjok.no" />
+    <suffix domain="karasjohka.no" />
+    <suffix domain="kárášjohka.no" />
+    <suffix domain="karlsoy.no" />
+    <suffix domain="galsa.no" />
+    <suffix domain="gálsá.no" />
+    <suffix domain="karmoy.no" />
+    <suffix domain="karmøy.no" />
+    <suffix domain="kautokeino.no" />
+    <suffix domain="guovdageaidnu.no" />
+    <suffix domain="klepp.no" />
+    <suffix domain="klabu.no" />
+    <suffix domain="klæbu.no" />
+    <suffix domain="kongsberg.no" />
+    <suffix domain="kongsvinger.no" />
+    <suffix domain="kragero.no" />
+    <suffix domain="kragerø.no" />
+    <suffix domain="kristiansand.no" />
+    <suffix domain="kristiansund.no" />
+    <suffix domain="krodsherad.no" />
+    <suffix domain="krødsherad.no" />
+    <suffix domain="kvalsund.no" />
+    <suffix domain="rahkkeravju.no" />
+    <suffix domain="ráhkkerávju.no" />
+    <suffix domain="kvam.no" />
+    <suffix domain="kvinesdal.no" />
+    <suffix domain="kvinnherad.no" />
+    <suffix domain="kviteseid.no" />
+    <suffix domain="kvitsoy.no" />
+    <suffix domain="kvitsøy.no" />
+    <suffix domain="kvafjord.no" />
+    <suffix domain="kvæfjord.no" />
+    <suffix domain="giehtavuoatna.no" />
+    <suffix domain="kvanangen.no" />
+    <suffix domain="kvænangen.no" />
+    <suffix domain="navuotna.no" />
+    <suffix domain="návuotna.no" />
+    <suffix domain="kafjord.no" />
+    <suffix domain="kåfjord.no" />
+    <suffix domain="gaivuotna.no" />
+    <suffix domain="gáivuotna.no" />
+    <suffix domain="larvik.no" />
+    <suffix domain="lavangen.no" />
+    <suffix domain="lavagis.no" />
+    <suffix domain="loabat.no" />
+    <suffix domain="loabát.no" />
+    <suffix domain="lebesby.no" />
+    <suffix domain="davvesiida.no" />
+    <suffix domain="leikanger.no" />
+    <suffix domain="leirfjord.no" />
+    <suffix domain="leka.no" />
+    <suffix domain="leksvik.no" />
+    <suffix domain="lenvik.no" />
+    <suffix domain="leangaviika.no" />
+    <suffix domain="lea?gaviika.no" />
+    <suffix domain="lesja.no" />
+    <suffix domain="levanger.no" />
+    <suffix domain="lier.no" />
+    <suffix domain="lierne.no" />
+    <suffix domain="lillehammer.no" />
+    <suffix domain="lillesand.no" />
+    <suffix domain="lindesnes.no" />
+    <suffix domain="lindas.no" />
+    <suffix domain="lindås.no" />
+    <suffix domain="lom.no" />
+    <suffix domain="loppa.no" />
+    <suffix domain="lahppi.no" />
+    <suffix domain="láhppi.no" />
+    <suffix domain="lund.no" />
+    <suffix domain="lunner.no" />
+    <suffix domain="luroy.no" />
+    <suffix domain="lurøy.no" />
+    <suffix domain="luster.no" />
+    <suffix domain="lyngdal.no" />
+    <suffix domain="lyngen.no" />
+    <suffix domain="ivgu.no" />
+    <suffix domain="lardal.no" />
+    <suffix domain="lerdal.no" />
+    <suffix domain="lærdal.no" />
+    <suffix domain="lodingen.no" />
+    <suffix domain="lødingen.no" />
+    <suffix domain="lorenskog.no" />
+    <suffix domain="lørenskog.no" />
+    <suffix domain="loten.no" />
+    <suffix domain="løten.no" />
+    <suffix domain="malvik.no" />
+    <suffix domain="masoy.no" />
+    <suffix domain="måsøy.no" />
+    <suffix domain="muosat.no" />
+    <suffix domain="muosát.no" />
+    <suffix domain="mandal.no" />
+    <suffix domain="marker.no" />
+    <suffix domain="marnardal.no" />
+    <suffix domain="masfjorden.no" />
+    <suffix domain="meland.no" />
+    <suffix domain="meldal.no" />
+    <suffix domain="melhus.no" />
+    <suffix domain="meloy.no" />
+    <suffix domain="meløy.no" />
+    <suffix domain="meraker.no" />
+    <suffix domain="meråker.no" />
+    <suffix domain="moareke.no" />
+    <suffix domain="moåreke.no" />
+    <suffix domain="midsund.no" />
+    <suffix domain="midtre-gauldal.no" />
+    <suffix domain="modalen.no" />
+    <suffix domain="modum.no" />
+    <suffix domain="molde.no" />
+    <suffix domain="moskenes.no" />
+    <suffix domain="moss.no" />
+    <suffix domain="mosvik.no" />
+    <suffix domain="malselv.no" />
+    <suffix domain="målselv.no" />
+    <suffix domain="malatvuopmi.no" />
+    <suffix domain="málatvuopmi.no" />
+    <suffix domain="namdalseid.no" />
+    <suffix domain="aejrie.no" />
+    <suffix domain="namsos.no" />
+    <suffix domain="namsskogan.no" />
+    <suffix domain="naamesjevuemie.no" />
+    <suffix domain="nååmesjevuemie.no" />
+    <suffix domain="laakesvuemie.no" />
+    <suffix domain="nannestad.no" />
+    <suffix domain="narvik.no" />
+    <suffix domain="narviika.no" />
+    <suffix domain="naustdal.no" />
+    <suffix domain="nedre-eiker.no" />
+    <suffix domain="nes.akershus.no" />
+    <suffix domain="nes.buskerud.no" />
+    <suffix domain="nesna.no" />
+    <suffix domain="nesodden.no" />
+    <suffix domain="nesseby.no" />
+    <suffix domain="unjarga.no" />
+    <suffix domain="unjárga.no" />
+    <suffix domain="nesset.no" />
+    <suffix domain="nissedal.no" />
+    <suffix domain="nittedal.no" />
+    <suffix domain="nord-aurdal.no" />
+    <suffix domain="nord-fron.no" />
+    <suffix domain="nord-odal.no" />
+    <suffix domain="norddal.no" />
+    <suffix domain="nordkapp.no" />
+    <suffix domain="davvenjarga.no" />
+    <suffix domain="davvenjárga.no" />
+    <suffix domain="nordre-land.no" />
+    <suffix domain="nordreisa.no" />
+    <suffix domain="raisa.no" />
+    <suffix domain="ráisa.no" />
+    <suffix domain="nore-og-uvdal.no" />
+    <suffix domain="notodden.no" />
+    <suffix domain="naroy.no" />
+    <suffix domain="nærøy.no" />
+    <suffix domain="notteroy.no" />
+    <suffix domain="nøtterøy.no" />
+    <suffix domain="odda.no" />
+    <suffix domain="oksnes.no" />
+    <suffix domain="`øksnes.no" />
+    <suffix domain="oppdal.no" />
+    <suffix domain="oppegard.no" />
+    <suffix domain="oppegård.no" />
+    <suffix domain="orkdal.no" />
+    <suffix domain="orland.no" />
+    <suffix domain="ørland.no" />
+    <suffix domain="orskog.no" />
+    <suffix domain="ørskog.no" />
+    <suffix domain="orsta.no" />
+    <suffix domain="ørsta.no" />
+    <suffix domain="os.hedmark.no" />
+    <suffix domain="os.hordaland.no" />
+    <suffix domain="osen.no" />
+    <suffix domain="osteroy.no" />
+    <suffix domain="osterøy.no" />
+    <suffix domain="ostre-toten.no" />
+    <suffix domain="østre-toten.no" />
+    <suffix domain="overhalla.no" />
+    <suffix domain="ovre-eiker.no" />
+    <suffix domain="øvre-eiker.no" />
+    <suffix domain="oyer.no" />
+    <suffix domain="øyer.no" />
+    <suffix domain="oygarden.no" />
+    <suffix domain="øygarden.no" />
+    <suffix domain="oystre-slidre.no" />
+    <suffix domain="øystre-slidre.no" />
+    <suffix domain="porsanger.no" />
+    <suffix domain="porsangu.no" />
+    <suffix domain="porsáŋgu.no" />
+    <suffix domain="porsgrunn.no" />
+    <suffix domain="radoy.no" />
+    <suffix domain="radøy.no" />
+    <suffix domain="rakkestad.no" />
+    <suffix domain="rana.no" />
+    <suffix domain="ruovat.no" />
+    <suffix domain="randaberg.no" />
+    <suffix domain="rauma.no" />
+    <suffix domain="rendalen.no" />
+    <suffix domain="rennebu.no" />
+    <suffix domain="rennesoy.no" />
+    <suffix domain="rennesøy.no" />
+    <suffix domain="rindal.no" />
+    <suffix domain="ringebu.no" />
+    <suffix domain="ringerike.no" />
+    <suffix domain="ringsaker.no" />
+    <suffix domain="rissa.no" />
+    <suffix domain="risor.no" />
+    <suffix domain="risør.no" />
+    <suffix domain="roan.no" />
+    <suffix domain="rollag.no" />
+    <suffix domain="rygge.no" />
+    <suffix domain="ralingen.no" />
+    <suffix domain="rælingen.no" />
+    <suffix domain="rodoy.no" />
+    <suffix domain="rødøy.no" />
+    <suffix domain="romskog.no" />
+    <suffix domain="rømskog.no" />
+    <suffix domain="roros.no" />
+    <suffix domain="røros.no" />
+    <suffix domain="rost.no" />
+    <suffix domain="røst.no" />
+    <suffix domain="royken.no" />
+    <suffix domain="røyken.no" />
+    <suffix domain="royrvik.no" />
+    <suffix domain="røyrvik.no" />
+    <suffix domain="rade.no" />
+    <suffix domain="råde.no" />
+    <suffix domain="salangen.no" />
+    <suffix domain="siellak.no" />
+    <suffix domain="saltdal.no" />
+    <suffix domain="sálát.no" />
+    <suffix domain="sálat.no" />
+    <suffix domain="samnanger.no" />
+    <suffix domain="sande.more-og-romsdal.no" />
+    <suffix domain="sande.møre-og-romsdal.no" />
+    <suffix domain="sande.vestfold.no" />
+    <suffix domain="sandefjord.no" />
+    <suffix domain="sandnes.no" />
+    <suffix domain="sandoy.no" />
+    <suffix domain="sandøy.no" />
+    <suffix domain="sarpsborg.no" />
+    <suffix domain="sauda.no" />
+    <suffix domain="sauherad.no" />
+    <suffix domain="sel.no" />
+    <suffix domain="selbu.no" />
+    <suffix domain="selje.no" />
+    <suffix domain="seljord.no" />
+    <suffix domain="sigdal.no" />
+    <suffix domain="siljan.no" />
+    <suffix domain="sirdal.no" />
+    <suffix domain="skaun.no" />
+    <suffix domain="skedsmo.no" />
+    <suffix domain="ski.no" />
+    <suffix domain="skien.no" />
+    <suffix domain="skiptvet.no" />
+    <suffix domain="skjervoy.no" />
+    <suffix domain="skjervøy.no" />
+    <suffix domain="skierva.no" />
+    <suffix domain="skiervá.no" />
+    <suffix domain="skjak.no" />
+    <suffix domain="skjåk.no" />
+    <suffix domain="skodje.no" />
+    <suffix domain="skanland.no" />
+    <suffix domain="skånland.no" />
+    <suffix domain="skanit.no" />
+    <suffix domain="skánit.no" />
+    <suffix domain="smola.no" />
+    <suffix domain="smøla.no" />
+    <suffix domain="snillfjord.no" />
+    <suffix domain="snasa.no" />
+    <suffix domain="snåsa.no" />
+    <suffix domain="snoasa.no" />
+    <suffix domain="snaase.no" />
+    <suffix domain="snåase.no" />
+    <suffix domain="sogndal.no" />
+    <suffix domain="sokndal.no" />
+    <suffix domain="sola.no" />
+    <suffix domain="solund.no" />
+    <suffix domain="songdalen.no" />
+    <suffix domain="sortland.no" />
+    <suffix domain="spydeberg.no" />
+    <suffix domain="stange.no" />
+    <suffix domain="stavanger.no" />
+    <suffix domain="steigen.no" />
+    <suffix domain="steinkjer.no" />
+    <suffix domain="stjordal.no" />
+    <suffix domain="stjørdal.no" />
+    <suffix domain="stokke.no" />
+    <suffix domain="stor-elvdal.no" />
+    <suffix domain="stord.no" />
+    <suffix domain="stordal.no" />
+    <suffix domain="storfjord.no" />
+    <suffix domain="omasvuotna.no" />
+    <suffix domain="strand.no" />
+    <suffix domain="stranda.no" />
+    <suffix domain="stryn.no" />
+    <suffix domain="sula.no" />
+    <suffix domain="suldal.no" />
+    <suffix domain="sund.no" />
+    <suffix domain="sunndal.no" />
+    <suffix domain="surnadal.no" />
+    <suffix domain="sveio.no" />
+    <suffix domain="svelvik.no" />
+    <suffix domain="sykkylven.no" />
+    <suffix domain="sogne.no" />
+    <suffix domain="søgne.no" />
+    <suffix domain="somna.no" />
+    <suffix domain="sømna.no" />
+    <suffix domain="sondre-land.no" />
+    <suffix domain="søndre-land.no" />
+    <suffix domain="sor-aurdal.no" />
+    <suffix domain="sør-aurdal.no" />
+    <suffix domain="sor-fron.no" />
+    <suffix domain="sør-fron.no" />
+    <suffix domain="sor-odal.no" />
+    <suffix domain="sør-odal.no" />
+    <suffix domain="sor-varanger.no" />
+    <suffix domain="sør-varanger.no" />
+    <suffix domain="matta-varjjat.no" />
+    <suffix domain="mátta-várjjat.no" />
+    <suffix domain="sorfold.no" />
+    <suffix domain="sørfold.no" />
+    <suffix domain="sorreisa.no" />
+    <suffix domain="sørreisa.no" />
+    <suffix domain="sorum.no" />
+    <suffix domain="sørum.no" />
+    <suffix domain="tana.no" />
+    <suffix domain="deatnu.no" />
+    <suffix domain="time.no" />
+    <suffix domain="tingvoll.no" />
+    <suffix domain="tinn.no" />
+    <suffix domain="tjeldsund.no" />
+    <suffix domain="dielddanuorri.no" />
+    <suffix domain="tjome.no" />
+    <suffix domain="tjøme.no" />
+    <suffix domain="tokke.no" />
+    <suffix domain="tolga.no" />
+    <suffix domain="torsken.no" />
+    <suffix domain="tranoy.no" />
+    <suffix domain="tranøy.no" />
+    <suffix domain="tromso.no" />
+    <suffix domain="tromsø.no" />
+    <suffix domain="tromsa.no" />
+    <suffix domain="romsa.no" />
+    <suffix domain="trondheim.no" />
+    <suffix domain="troandin.no" />
+    <suffix domain="trysil.no" />
+    <suffix domain="trana.no" />
+    <suffix domain="træna.no" />
+    <suffix domain="trogstad.no" />
+    <suffix domain="trøgstad.no" />
+    <suffix domain="tvedestrand.no" />
+    <suffix domain="tydal.no" />
+    <suffix domain="tynset.no" />
+    <suffix domain="tysfjord.no" />
+    <suffix domain="divtasvuodna.no" />
+    <suffix domain="divttasvuotna.no" />
+    <suffix domain="tysnes.no" />
+    <suffix domain="tysvar.no" />
+    <suffix domain="tysvær.no" />
+    <suffix domain="tonsberg.no" />
+    <suffix domain="tønsberg.no" />
+    <suffix domain="ullensaker.no" />
+    <suffix domain="ullensvang.no" />
+    <suffix domain="ulvik.no" />
+    <suffix domain="utsira.no" />
+    <suffix domain="vadso.no" />
+    <suffix domain="vadsø.no" />
+    <suffix domain="cahcesuolo.no" />
+    <suffix domain="cáhcesuolo.no" />
+    <suffix domain="vaksdal.no" />
+    <suffix domain="valle.no" />
+    <suffix domain="vang.no" />
+    <suffix domain="vanylven.no" />
+    <suffix domain="vardo.no" />
+    <suffix domain="vardø.no" />
+    <suffix domain="varggat.no" />
+    <suffix domain="várggát.no" />
+    <suffix domain="vefsn.no" />
+    <suffix domain="vaapste.no" />
+    <suffix domain="vega.no" />
+    <suffix domain="vegarshei.no" />
+    <suffix domain="vegårshei.no" />
+    <suffix domain="vennesla.no" />
+    <suffix domain="verdal.no" />
+    <suffix domain="verran.no" />
+    <suffix domain="vestby.no" />
+    <suffix domain="vestnes.no" />
+    <suffix domain="vestre-slidre.no" />
+    <suffix domain="vestre-toten.no" />
+    <suffix domain="vestvagoy.no" />
+    <suffix domain="vestvågøy.no" />
+    <suffix domain="vevelstad.no" />
+    <suffix domain="vik.no" />
+    <suffix domain="vikna.no" />
+    <suffix domain="vindafjord.no" />
+    <suffix domain="volda.no" />
+    <suffix domain="voss.no" />
+    <suffix domain="varoy.no" />
+    <suffix domain="værøy.no" />
+    <suffix domain="vagan.no" />
+    <suffix domain="vågan.no" />
+    <suffix domain="voagat.no" />
+    <suffix domain="vagsoy.no" />
+    <suffix domain="vågsøy.no" />
+    <suffix domain="vaga.no" />
+    <suffix domain="vågå.no" />
+    <suffix domain="valer.ostfold.no" />
+    <suffix domain="våler.østfold.no" />
+    <suffix domain="valer.hedmark.no" />
+    <suffix domain="våler.hedmark.no" />
+
+    <!--  np : http://www.mos.com.np/register.html-->
+
+    <!--  nr : http://cenpac.net.nr/dns/index.html-->
+    <suffix domain="biz.nr" />
+    <suffix domain="info.nr" />
+    <suffix domain="gov.nr" />
+    <suffix domain="edu.nr" />
+    <suffix domain="org.nr" />
+    <suffix domain="net.nr" />
+    <suffix domain="com.nr" />
+
+    <!--  nu : http://en.wikipedia.org/wiki/.nu-->
+
+    <!--  nz : http://en.wikipedia.org/wiki/.nz-->
+
+    <!--  om : http://en.wikipedia.org/wiki/.om-->
+
+    <!--  org : http://en.wikipedia.org/wiki/.og-->
+
+    <!--  pa : http://www.nic.pa/-->
+
+    <!--  pe : http://www.nic.pe/normas-proced-i.htm-->
+
+    <!--  pf : http://www.gobin.info/domainname/formulaire-pf.pdf-->
+    <suffix domain="com.pf" />
+    <suffix domain="org.pf" />
+    <suffix domain="edu.pf" />
+
+    <!--  pg : http://en.wikipedia.org/wiki/.pg-->
+
+    <!--  ph : http://www.domains.ph/FAQ2.asp-->
+    <!--  list of 2nd level tlds ?-->
+    <suffix domain="com.ph" />
+    <suffix domain="net.ph" />
+    <suffix domain="org.ph" />
+    <suffix domain="gov.ph" />
+    <suffix domain="edu.ph" />
+    <suffix domain="ngo.ph" />
+    <suffix domain="mil.ph" />
+
+    <!--  pk : http://pk5.pknic.net.pk/pk5/msgNamepk.PK-->
+    <suffix domain="com.pk" />
+    <suffix domain="net.pk" />
+    <suffix domain="edu.pk" />
+    <suffix domain="org.pk" />
+    <suffix domain="fam.pk" />
+    <suffix domain="biz.pk" />
+    <suffix domain="web.pk" />
+    <suffix domain="gov.pk" />
+    <suffix domain="gob.pk" />
+    <suffix domain="gok.pk" />
+    <suffix domain="gon.pk" />
+    <suffix domain="gop.pk" />
+    <suffix domain="gos.pk" />
+    <suffix domain="goa.pk" />
+    <suffix domain="info.pk" />
+
+    <!--  pl : http://www.dns.pl/english/-->
+    <!--  NASK functional domains (nask.pl / dns.pl) : http://www.dns.pl/english/dns-funk.html-->
+    <suffix domain="aid.pl" />
+    <suffix domain="agro.pl" />
+    <suffix domain="atm.pl" />
+    <suffix domain="auto.pl" />
+    <suffix domain="biz.pl" />
+    <suffix domain="com.pl" />
+    <suffix domain="edu.pl" />
+    <suffix domain="gmina.pl" />
+    <suffix domain="gsm.pl" />
+    <suffix domain="info.pl" />
+    <suffix domain="mail.pl" />
+    <suffix domain="miasta.pl" />
+    <suffix domain="media.pl" />
+    <suffix domain="mil.pl" />
+    <suffix domain="net.pl" />
+    <suffix domain="nieruchomosci.pl" />
+    <suffix domain="nom.pl" />
+    <suffix domain="org.pl" />
+    <suffix domain="pc.pl" />
+    <suffix domain="powiat.pl" />
+    <suffix domain="priv.pl" />
+    <suffix domain="realestate.pl" />
+    <suffix domain="rel.pl" />
+    <suffix domain="sex.pl" />
+    <suffix domain="shop.pl" />
+    <suffix domain="sklep.pl" />
+    <suffix domain="sos.pl" />
+    <suffix domain="szkola.pl" />
+    <suffix domain="targi.pl" />
+    <suffix domain="tm.pl" />
+    <suffix domain="tourism.pl" />
+    <suffix domain="travel.pl" />
+    <suffix domain="turystyka.pl" />
+    <!--  ICM functional domains (icm.edu.pl)-->
+    <suffix domain="6bone.pl" />
+    <suffix domain="art.pl" />
+    <suffix domain="mbone.pl" />
+    <!--  Government domains (administred by ippt.gov.pl)-->
+    <suffix domain="gov.pl" />
+    <suffix domain="uw.gov.pl" />
+    <suffix domain="um.gov.pl" />
+    <suffix domain="ug.gov.pl" />
+    <suffix domain="upow.gov.pl" />
+    <suffix domain="starostwo.gov.pl" />
+    <suffix domain="so.gov.pl" />
+    <suffix domain="sr.gov.pl" />
+    <suffix domain="po.gov.pl" />
+    <suffix domain="pa.gov.pl" />
+    <!--  other functional domains-->
+    <suffix domain="med.pl" />
+    <suffix domain="ngo.pl" />
+    <suffix domain="irc.pl" />
+    <suffix domain="usenet.pl" />
+    <!--  NASK geographical domains : http://www.dns.pl/english/dns-regiony.html-->
+    <suffix domain="augustow.pl" />
+    <suffix domain="babia-gora.pl" />
+    <suffix domain="bedzin.pl" />
+    <suffix domain="beskidy.pl" />
+    <suffix domain="bialowieza.pl" />
+    <suffix domain="bialystok.pl" />
+    <suffix domain="bielawa.pl" />
+    <suffix domain="bieszczady.pl" />
+    <suffix domain="boleslawiec.pl" />
+    <suffix domain="bydgoszcz.pl" />
+    <suffix domain="bytom.pl" />
+    <suffix domain="cieszyn.pl" />
+    <suffix domain="czeladz.pl" />
+    <suffix domain="czest.pl" />
+    <suffix domain="dlugoleka.pl" />
+    <suffix domain="elblag.pl" />
+    <suffix domain="elk.pl" />
+    <suffix domain="glogow.pl" />
+    <suffix domain="gniezno.pl" />
+    <suffix domain="gorlice.pl" />
+    <suffix domain="grajewo.pl" />
+    <suffix domain="ilawa.pl" />
+    <suffix domain="jaworzno.pl" />
+    <suffix domain="jelenia-gora.pl" />
+    <suffix domain="jgora.pl" />
+    <suffix domain="kalisz.pl" />
+    <suffix domain="kazimierz-dolny.pl" />
+    <suffix domain="karpacz.pl" />
+    <suffix domain="kartuzy.pl" />
+    <suffix domain="kaszuby.pl" />
+    <suffix domain="katowice.pl" />
+    <suffix domain="kepno.pl" />
+    <suffix domain="ketrzyn.pl" />
+    <suffix domain="klodzko.pl" />
+    <suffix domain="kobierzyce.pl" />
+    <suffix domain="kolobrzeg.pl" />
+    <suffix domain="konin.pl" />
+    <suffix domain="konskowola.pl" />
+    <suffix domain="kutno.pl" />
+    <suffix domain="lapy.pl" />
+    <suffix domain="lebork.pl" />
+    <suffix domain="legnica.pl" />
+    <suffix domain="lezajsk.pl" />
+    <suffix domain="limanowa.pl" />
+    <suffix domain="lomza.pl" />
+    <suffix domain="lowicz.pl" />
+    <suffix domain="lubin.pl" />
+    <suffix domain="lukow.pl" />
+    <suffix domain="malbork.pl" />
+    <suffix domain="malopolska.pl" />
+    <suffix domain="mazowsze.pl" />
+    <suffix domain="mazury.pl" />
+    <suffix domain="mielec.pl" />
+    <suffix domain="mielno.pl" />
+    <suffix domain="mragowo.pl" />
+    <suffix domain="naklo.pl" />
+    <suffix domain="nowaruda.pl" />
+    <suffix domain="nysa.pl" />
+    <suffix domain="olawa.pl" />
+    <suffix domain="olecko.pl" />
+    <suffix domain="olkusz.pl" />
+    <suffix domain="olsztyn.pl" />
+    <suffix domain="opoczno.pl" />
+    <suffix domain="opole.pl" />
+    <suffix domain="ostroda.pl" />
+    <suffix domain="ostroleka.pl" />
+    <suffix domain="ostrowiec.pl" />
+    <suffix domain="ostrowwlkp.pl" />
+    <suffix domain="pila.pl" />
+    <suffix domain="pisz.pl" />
+    <suffix domain="podhale.pl" />
+    <suffix domain="podlasie.pl" />
+    <suffix domain="polkowice.pl" />
+    <suffix domain="pomorze.pl" />
+    <suffix domain="pomorskie.pl" />
+    <suffix domain="prochowice.pl" />
+    <suffix domain="pruszkow.pl" />
+    <suffix domain="przeworsk.pl" />
+    <suffix domain="pulawy.pl" />
+    <suffix domain="radom.pl" />
+    <suffix domain="rawa-maz.pl" />
+    <suffix domain="rybnik.pl" />
+    <suffix domain="rzeszow.pl" />
+    <suffix domain="sanok.pl" />
+    <suffix domain="sejny.pl" />
+    <suffix domain="slask.pl" />
+    <suffix domain="slupsk.pl" />
+    <suffix domain="sosnowiec.pl" />
+    <suffix domain="stalowa-wola.pl" />
+    <suffix domain="skoczow.pl" />
+    <suffix domain="starachowice.pl" />
+    <suffix domain="stargard.pl" />
+    <suffix domain="suwalki.pl" />
+    <suffix domain="swidnica.pl" />
+    <suffix domain="swiebodzin.pl" />
+    <suffix domain="swinoujscie.pl" />
+    <suffix domain="szczecin.pl" />
+    <suffix domain="szczytno.pl" />
+    <suffix domain="tarnobrzeg.pl" />
+    <suffix domain="tgory.pl" />
+    <suffix domain="turek.pl" />
+    <suffix domain="tychy.pl" />
+    <suffix domain="ustka.pl" />
+    <suffix domain="walbrzych.pl" />
+    <suffix domain="warmia.pl" />
+    <suffix domain="warszawa.pl" />
+    <suffix domain="waw.pl" />
+    <suffix domain="wegrow.pl" />
+    <suffix domain="wielun.pl" />
+    <suffix domain="wlocl.pl" />
+    <suffix domain="wloclawek.pl" />
+    <suffix domain="wodzislaw.pl" />
+    <suffix domain="wolomin.pl" />
+    <suffix domain="wroclaw.pl" />
+    <suffix domain="zachpomor.pl" />
+    <suffix domain="zagan.pl" />
+    <suffix domain="zarow.pl" />
+    <suffix domain="zgora.pl" />
+    <suffix domain="zgorzelec.pl" />
+    <!--  TASK geographical domains (www.task.gda.pl/uslugi/dns)-->
+    <suffix domain="gda.pl" />
+    <suffix domain="gdansk.pl" />
+    <suffix domain="gdynia.pl" />
+    <suffix domain="sopot.pl" />
+    <!--  other geographical domains-->
+    <suffix domain="gliwice.pl" />
+    <suffix domain="krakow.pl" />
+    <suffix domain="poznan.pl" />
+    <suffix domain="wroc.pl" />
+    <suffix domain="zakopane.pl" />
+
+    <!--  pn : http://www.government.pn/PnRegistry/policies.htm-->
+    <suffix domain="gov.pn" />
+    <suffix domain="co.pn" />
+    <suffix domain="org.pn" />
+    <suffix domain="edu.pn" />
+    <suffix domain="net.pn" />
+
+    <!--  pr : http://www.nic.pr/index.asp?f=1-->
+    <suffix domain="com.pr" />
+    <suffix domain="net.pr" />
+    <suffix domain="org.pr" />
+    <suffix domain="gov.pr" />
+    <suffix domain="edu.pr" />
+    <suffix domain="isla.pr" />
+    <suffix domain="pro.pr" />
+    <suffix domain="biz.pr" />
+    <suffix domain="info.pr" />
+    <suffix domain="name.pr" />
+    <!--  these aren't mentioned on nic.pr, but on http://en.wikipedia.org/wiki/.pr-->
+    <suffix domain="est.pr" />
+    <suffix domain="prof.pr" />
+    <suffix domain="ac.pr" />
+
+    <!--  pro : http://www.nic.pro/support_faq.htm-->
+    <suffix domain="aca.pro" />
+    <suffix domain="bar.pro" />
+    <suffix domain="cpa.pro" />
+    <suffix domain="jur.pro" />
+    <suffix domain="law.pro" />
+    <suffix domain="med.pro" />
+    <suffix domain="eng.pro" />
+
+    <!--  ps : http://en.wikipedia.org/wiki/.ps-->
+    <!--  list of 2nd level tlds ?-->
+    <suffix domain="edu.ps" />
+    <suffix domain="gov.ps" />
+    <suffix domain="sec.ps" />
+    <suffix domain="plo.ps" />
+    <suffix domain="com.ps" />
+    <suffix domain="org.ps" />
+    <suffix domain="net.ps" />
+
+    <!--  pt : http://online.dns.pt/dns/start_dns-->
+    <suffix domain="net.pt" />
+    <suffix domain="gov.pt" />
+    <suffix domain="org.pt" />
+    <suffix domain="edu.pt" />
+    <suffix domain="int.pt" />
+    <suffix domain="publ.pt" />
+    <suffix domain="com.pt" />
+    <suffix domain="nome.pt" />
+
+    <!--  pw : http://en.wikipedia.org/wiki/.pw-->
+
+    <!--  py : http://www.nic.py/faq_a.html#faq_b-->
+
+    <!--  qa : http://www.qatar.net.qa/services/virtual.htm-->
+
+    <!--  re : http://www.afnic.re/obtenir/chartes/nommage-re/annexe-descriptifs-->
+    <suffix domain="com.re" />
+    <suffix domain="asso.re" />
+    <suffix domain="nom.re" />
+
+    <!--  ro : http://www.rotld.ro/-->
+    <suffix domain="com.ro" />
+    <suffix domain="org.ro" />
+    <suffix domain="tm.ro" />
+    <suffix domain="nt.ro" />
+    <suffix domain="nom.ro" />
+    <suffix domain="info.ro" />
+    <suffix domain="rec.ro" />
+    <suffix domain="arts.ro" />
+    <suffix domain="firm.ro" />
+    <suffix domain="store.ro" />
+    <suffix domain="www.ro" />
+
+    <!--  ru : http://en.wikipedia.org/wiki/.ru-->
+    <suffix domain="com.ru" />
+    <suffix domain="net.ru" />
+    <suffix domain="org.ru" />
+    <suffix domain="pp.ru" />
+    <suffix domain="int.ru" />
+    <!--  there should be geo-names like msk.ru, but I didn't find a list-->
+
+    <!--  rw : http://www.nic.rw/cgi-bin/policy.pl-->
+    <suffix domain="gov.rw" />
+    <suffix domain="net.rw" />
+    <suffix domain="edu.rw" />
+    <suffix domain="ac.rw" />
+    <suffix domain="com.rw" />
+    <suffix domain="co.rw" />
+    <suffix domain="int.rw" />
+    <suffix domain="mil.rw" />
+    <suffix domain="gouv.rw" />
+
+    <!--  sa : http://www.saudinic.net.sa/page.php?page=1&lang=1-->
+
+    <!--  sb : http://www.sbnic.net.sb/-->
+
+    <!--  sc : http://www.nic.sc/-->
+    <suffix domain="com.sc" />
+    <suffix domain="gov.sc" />
+    <suffix domain="net.sc" />
+    <suffix domain="org.sc" />
+    <suffix domain="edu.sc" />
+
+    <!--  sd : http://www.isoc.sd/sudanic.isoc.sd/billing_pricing.htm-->
+    <suffix domain="com.sd" />
+    <suffix domain="net.sd" />
+    <suffix domain="org.sd" />
+    <suffix domain="edu.sd" />
+    <suffix domain="med.sd" />
+    <suffix domain="tv.sd" />
+    <suffix domain="gov.sd" />
+    <suffix domain="info.sd" />
+
+    <!--  se : http://en.wikipedia.org/wiki/.se-->
+    <suffix domain="org.se" />
+    <suffix domain="pp.se" />
+    <suffix domain="tm.se" />
+    <suffix domain="parti.se" />
+    <suffix domain="press.se" />
+    <suffix domain="mil.se" />
+    <!--  se geographical names-->
+    <suffix domain="ab.se" />
+    <suffix domain="c.se" />
+    <suffix domain="d.se" />
+    <suffix domain="e.se" />
+    <suffix domain="f.se" />
+    <suffix domain="g.se" />
+    <suffix domain="h.se" />
+    <suffix domain="i.se" />
+    <suffix domain="k.se" />
+    <suffix domain="m.se" />
+    <suffix domain="n.se" />
+    <suffix domain="o.se" />
+    <suffix domain="s.se" />
+    <suffix domain="t.se" />
+    <suffix domain="u.se" />
+    <suffix domain="w.se" />
+    <suffix domain="x.se" />
+    <suffix domain="y.se" />
+    <suffix domain="z.se" />
+    <suffix domain="ac.se" />
+    <suffix domain="bd.se" />
+
+    <!--  sg : http://www.nic.net.sg/sub_policies_agreement/2ld.html-->
+    <suffix domain="com.sg" />
+    <suffix domain="net.sg" />
+    <suffix domain="org.sg" />
+    <suffix domain="gov.sg" />
+    <suffix domain="edu.sg" />
+    <suffix domain="per.sg" />
+
+    <!--  sh : http://www.nic.sh/rules.html-->
+    <!--  list of 2nd level domains ?-->
+
+    <!--  si : http://en.wikipedia.org/wiki/.si-->
+
+    <!--  sk : http://en.wikipedia.org/wiki/.sk-->
+
+    <!--  sl : http://en.wikipedia.org/wiki/.sl-->
+    <!--  list of 2nd level domains ?-->
+
+    <!--  sm : http://en.wikipedia.org/wiki/.sm-->
+
+    <!--  sn : http://en.wikipedia.org/wiki/.sn-->
+    <!--  list of 2nd level domains ?-->
+
+    <!--  sr : http://en.wikipedia.org/wiki/.sr-->
+
+    <!--  st : http://www.nic.st/html/policyrules/-->
+
+    <!--  su : http://en.wikipedia.org/wiki/.su-->
+
+    <!--  sv : http://www.svnet.org.sv/svpolicy.html-->
+
+    <!--  sy : http://www.gobin.info/domainname/sy.doc-->
+
+    <!--  sz : http://en.wikipedia.org/wiki/.sz-->
+    <!--  list of 2nd level domains ?-->
+
+    <!--  tc : http://en.wikipedia.org/wiki/.tc-->
+
+    <!--  td : http://en.wikipedia.org/wiki/.td-->
+
+    <!--  tf : http://en.wikipedia.org/wiki/.tf-->
+
+    <!--  tg : http://en.wikipedia.org/wiki/.tg-->
+    <!--  list of 2nd level domains ?-->
+
+    <!--  th : http://en.wikipedia.org/wiki/.th-->
+
+    <!--  tj : http://www.nic.tj/policy.htm-->
+    <suffix domain="ac.tj" />
+    <suffix domain="biz.tj" />
+    <suffix domain="com.tj" />
+    <suffix domain="co.tj" />
+    <suffix domain="edu.tj" />
+    <suffix domain="int.tj" />
+    <suffix domain="name.tj" />
+    <suffix domain="net.tj" />
+    <suffix domain="org.tj" />
+    <suffix domain="web.tj" />
+    <suffix domain="gov.tj" />
+    <suffix domain="go.tj" />
+    <suffix domain="mil.tj" />
+
+    <!--  tk : http://en.wikipedia.org/wiki/.tk-->
+
+    <!--  tl : http://en.wikipedia.org/wiki/.tl-->
+    <!--  list of 2nd level tlds ?-->
+
+    <!--  tm : http://www.nic.tm/rules.html-->
+    <!--  list of 2nd level tlds ?-->
+
+    <!--  tn : http://en.wikipedia.org/wiki/.tn-->
+    <!--  list of 2nd level tlds ?-->
+
+    <!--  to : http://en.wikipedia.org/wiki/.to-->
+    <!--  list of 2nd level tlds ?-->
+
+    <!--  tr : http://en.wikipedia.org/wiki/.tr-->
+
+    <!--  travel : http://en.wikipedia.org/wiki/.travel-->
+
+    <!--  tt : http://www.nic.tt/-->
+    <suffix domain="co.tt" />
+    <suffix domain="com.tt" />
+    <suffix domain="org.tt" />
+    <suffix domain="net.tt" />
+    <suffix domain="biz.tt" />
+    <suffix domain="info.tt" />
+    <suffix domain="pro.tt" />
+    <suffix domain="int.tt" />
+    <suffix domain="coop.tt" />
+    <suffix domain="jobs.tt" />
+    <suffix domain="mobi.tt" />
+    <suffix domain="travel.tt" />
+    <suffix domain="museum.tt" />
+    <suffix domain="aero.tt" />
+    <suffix domain="name.tt" />
+    <suffix domain="gov.tt" />
+    <suffix domain="edu.tt" />
+
+    <!--  tv : http://en.wikipedia.org/wiki/.tv-->
+    <!--  list of 2nd level tlds ?-->
+
+    <!--  tw : http://en.wikipedia.org/wiki/.tw-->
+    <suffix domain="edu.tw" />
+    <suffix domain="gov.tw" />
+    <suffix domain="mil.tw" />
+    <suffix domain="com.tw" />
+    <suffix domain="net.tw" />
+    <suffix domain="org.tw" />
+    <suffix domain="idv.tw" />
+    <suffix domain="game.tw" />
+    <suffix domain="ebiz.tw" />
+    <suffix domain="club.tw" />
+    <suffix domain="網路.tw" />
+    <suffix domain="組織.tw" />
+    <suffix domain="商業.tw" />
+
+    <!--  tz : http://en.wikipedia.org/wiki/.tz-->
+
+    <!--  ua : http://www.nic.net.ua/-->
+    <suffix domain="com.ua" />
+    <suffix domain="edu.ua" />
+    <suffix domain="gov.ua" />
+    <suffix domain="net.ua" />
+    <suffix domain="org.ua" />
+    <!--  ua geo-names-->
+    <suffix domain="cherkassy.ua" />
+    <suffix domain="chernigov.ua" />
+    <suffix domain="chernovtsy.ua" />
+    <suffix domain="ck.ua" />
+    <suffix domain="cn.ua" />
+    <suffix domain="crimea.ua" />
+    <suffix domain="cv.ua" />
+    <suffix domain="dn.ua" />
+    <suffix domain="dnepropetrovsk.ua" />
+    <suffix domain="donetsk.ua" />
+    <suffix domain="dp.ua" />
+    <suffix domain="if.ua" />
+    <suffix domain="ivano-frankivsk.ua" />
+    <suffix domain="kh.ua" />
+    <suffix domain="kharkov.ua" />
+    <suffix domain="kherson.ua" />
+    <suffix domain="kiev.ua" />
+    <suffix domain="kirovograd.ua" />
+    <suffix domain="km.ua" />
+    <suffix domain="kr.ua" />
+    <suffix domain="ks.ua" />
+    <suffix domain="lg.ua" />
+    <suffix domain="lugansk.ua" />
+    <suffix domain="lutsk.ua" />
+    <suffix domain="lviv.ua" />
+    <suffix domain="mk.ua" />
+    <suffix domain="nikolaev.ua" />
+    <suffix domain="od.ua" />
+    <suffix domain="odessa.ua" />
+    <suffix domain="pl.ua" />
+    <suffix domain="poltava.ua" />
+    <suffix domain="rovno.ua" />
+    <suffix domain="rv.ua" />
+    <suffix domain="sebastopol.ua" />
+    <suffix domain="sumy.ua" />
+    <suffix domain="te.ua" />
+    <suffix domain="ternopil.ua" />
+    <suffix domain="vinnica.ua" />
+    <suffix domain="vn.ua" />
+    <suffix domain="zaporizhzhe.ua" />
+    <suffix domain="zp.ua" />
+    <suffix domain="uz.ua" />
+    <suffix domain="uzhgorod.ua" />
+    <suffix domain="zhitomir.ua" />
+    <suffix domain="zt.ua" />
+
+    <!--  ug : http://www.registry.co.ug/-->
+    <suffix domain="co.ug" />
+    <suffix domain="ac.ug" />
+    <suffix domain="sc.ug" />
+    <suffix domain="go.ug" />
+    <suffix domain="ne.ug" />
+    <suffix domain="or.ug" />
+
+    <!--  uk : http://en.wikipedia.org/wiki/.uk-->
+    <suffix domain="sch.uk" />
+    <suffix domain="bl.uk" />
+    <suffix domain="british-library.uk" />
+    <suffix domain="icnet.uk" />
+    <suffix domain="jet.uk" />
+    <suffix domain="nel.uk" />
+    <suffix domain="nls.uk" />
+    <suffix domain="national-library-scotland.uk" />
+    <suffix domain="parliament.uk" />
+
+    <!--  us : http://en.wikipedia.org/wiki/.us-->
+    <suffix domain="dni.us" />
+    <suffix domain="fed.us" />
+    <suffix domain="isa.us" />
+    <suffix domain="kids.us" />
+    <suffix domain="nsn.us" />
+    <!--  us geographic names-->
+    <suffix domain="ak.us" />
+    <suffix domain="al.us" />
+    <suffix domain="ar.us" />
+    <suffix domain="az.us" />
+    <suffix domain="ca.us" />
+    <suffix domain="co.us" />
+    <suffix domain="ct.us" />
+    <suffix domain="dc.us" />
+    <suffix domain="de.us" />
+    <suffix domain="fl.us" />
+    <suffix domain="ga.us" />
+    <suffix domain="hi.us" />
+    <suffix domain="ia.us" />
+    <suffix domain="id.us" />
+    <suffix domain="il.us" />
+    <suffix domain="in.us" />
+    <suffix domain="ks.us" />
+    <suffix domain="ky.us" />
+    <suffix domain="la.us" />
+    <suffix domain="ma.us" />
+    <suffix domain="md.us" />
+    <suffix domain="me.us" />
+    <suffix domain="mi.us" />
+    <suffix domain="mn.us" />
+    <suffix domain="mo.us" />
+    <suffix domain="ms.us" />
+    <suffix domain="mt.us" />
+    <suffix domain="nc.us" />
+    <suffix domain="nd.us" />
+    <suffix domain="ne.us" />
+    <suffix domain="nh.us" />
+    <suffix domain="nj.us" />
+    <suffix domain="nm.us" />
+    <suffix domain="nv.us" />
+    <suffix domain="ny.us" />
+    <suffix domain="oh.us" />
+    <suffix domain="ok.us" />
+    <suffix domain="or.us" />
+    <suffix domain="pa.us" />
+    <suffix domain="ri.us" />
+    <suffix domain="sc.us" />
+    <suffix domain="sd.us" />
+    <suffix domain="tn.us" />
+    <suffix domain="tx.us" />
+    <suffix domain="ut.us" />
+    <suffix domain="vt.us" />
+    <suffix domain="va.us" />
+    <suffix domain="wa.us" />
+    <suffix domain="wi.us" />
+    <suffix domain="wv.us" />
+    <suffix domain="wy.us" />
+    <!--  the following rules would be only valid under the geo-name, but we can't express that-->
+    <!--  *.*.us          cities, counties, parishes, and townships (locality.state.us)-->
+    <!--  !ci.*.*.us       city government agencies (subdomain under locality)-->
+    <!--  !town.*.*.us     town government agencies (subdomain under locality)-->
+    <!--  !co.*.*.us       county government agencies (subdomain under locality)-->
+    <!--  k12.*.us      public school districts-->
+    <!--  pvt.k12.*.us  private schools-->
+    <!--  cc.*.us       community colleges-->
+    <!--  tec.*.us      technical and vocational schools-->
+    <!--  lib.*.us      state, regional, city, and county libraries-->
+    <!--  state.*.us    state government agencies-->
+    <!--  gen.*.us      general independent entities (groups not fitting into the above categories)-->
+
+    <!--  uy : http://www.antel.com.uy/-->
+
+    <!--  uz : http://www.reg.uz/registerr.html-->
+    <!--  are there other 2nd level tlds ?-->
+    <suffix domain="com.uz" />
+    <suffix domain="co.uz" />
+
+    <!--  va : http://en.wikipedia.org/wiki/.va-->
+
+    <!--  vc : http://en.wikipedia.org/wiki/.vc-->
+    <!--  list of 2nd level tlds ?-->
+
+    <!--  ve : http://registro.nic.ve/nicve/registro/index.html-->
+
+    <!--  vg : http://en.wikipedia.org/wiki/.vg-->
+
+    <!--  vi : http://www.nic.vi/Domain_Rules/body_domain_rules.html-->
+    <suffix domain="com.vi" />
+    <suffix domain="org.vi" />
+    <suffix domain="edu.vi" />
+    <suffix domain="gov.vi" />
+
+    <!--  vn : https://www.dot.vn/vnnic/vnnic/domainregistration.jsp-->
+    <suffix domain="com.vn" />
+    <suffix domain="net.vn" />
+    <suffix domain="org.vn" />
+    <suffix domain="edu.vn" />
+    <suffix domain="gov.vn" />
+    <suffix domain="int.vn" />
+    <suffix domain="ac.vn" />
+    <suffix domain="biz.vn" />
+    <suffix domain="info.vn" />
+    <suffix domain="name.vn" />
+    <suffix domain="pro.vn" />
+    <suffix domain="health.vn" />
+
+    <!--  vu : http://en.wikipedia.org/wiki/.vu-->
+    <!--  list of 2nd level tlds ?-->
+
+    <!--  ws : http://en.wikipedia.org/wiki/.ws-->
+
+    <!--  ye : http://www.y.net.ye/services/domain_name.htm-->
+
+    <!--  yu : http://www.nic.yu/pravilnik-e.html-->
+
+    <!--  za : http://www.zadna.org.za/slds.html-->
+
+    <!--  zm : http://en.wikipedia.org/wiki/.zm-->
+
+    <!--  zw : http://en.wikipedia.org/wiki/.zw-->
+
+  </suffixes>
+</domains>
Index: /nutchez-0.1/conf/domain-suffixes.xsd
===================================================================
--- /nutchez-0.1/conf/domain-suffixes.xsd	(revision 66)
+++ /nutchez-0.1/conf/domain-suffixes.xsd	(revision 66)
@@ -0,0 +1,130 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!--
+  Document   : domain-suffixes.xsd
+  Author     : Enis Soztutar - enis.soz.nutch@gmail.com
+  Description: This document is the schema for valid domain-suffixes
+  definitions. For successful parsing of domain-suffixes xml files, 
+  the xml file should be validated with this xsd. 
+  See        : org.apache.nutch.util.domain.DomainSuffixesReader.java
+-->
+
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  targetNamespace="http://lucene.apache.org/nutch"
+  xmlns="http://lucene.apache.org/nutch"
+  elementFormDefault="qualified">
+
+  <xs:element name="domains">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="tlds">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:element name="itlds">
+                <xs:complexType>
+                  <xs:sequence>
+                    <xs:element name="tld" maxOccurs="unbounded"
+                      type="gtld" />
+                  </xs:sequence>
+                </xs:complexType>
+              </xs:element>
+
+              <xs:element name="gtlds">
+                <xs:complexType>
+                  <xs:sequence>
+                    <xs:element name="tld" maxOccurs="unbounded"
+                      type="gtld" />
+                  </xs:sequence>
+                </xs:complexType>
+              </xs:element>
+
+              <xs:element name="cctlds">
+                <xs:complexType>
+                  <xs:sequence>
+                    <xs:element name="tld" maxOccurs="unbounded"
+                      type="cctld" />
+                  </xs:sequence>
+                </xs:complexType>
+              </xs:element>
+
+            </xs:sequence>
+          </xs:complexType>
+        </xs:element>
+
+        <xs:element name="suffixes">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:element name="suffix" maxOccurs="unbounded"
+                type="sldType" />
+            </xs:sequence>
+          </xs:complexType>
+        </xs:element>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:complexType name="gtld">
+    <xs:sequence>
+      <xs:element name="status" minOccurs="0">
+        <xs:simpleType>
+          <xs:restriction base="xs:string">
+            <xs:enumeration value="INFRASTRUCTURE" />
+            <xs:enumeration value="SPONSORED" />
+            <xs:enumeration value="UNSPONSORED" />
+            <xs:enumeration value="STARTUP" />
+            <xs:enumeration value="PROPOSED" />
+            <xs:enumeration value="DELETED" />
+            <xs:enumeration value="PSEUDO_DOMAIN" />
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:element>
+      <xs:element name="boost" type="xs:float" minOccurs="0" />
+      <xs:element name="description" type="xs:string" minOccurs="0" />
+    </xs:sequence>
+    <xs:attribute name="domain" type="xs:string" />
+  </xs:complexType>
+
+  <xs:complexType name="cctld">
+    <xs:sequence>
+      <xs:element name="country" type="xs:string" />
+      <xs:element name="status" type="statusType" minOccurs="0" />
+      <xs:element name="boost" type="xs:float" minOccurs="0" />
+      <xs:element name="description" type="xs:string" minOccurs="0" />
+    </xs:sequence>
+    <xs:attribute name="domain" type="xs:string" />
+  </xs:complexType>
+
+  <xs:complexType name="sldType">
+    <xs:sequence>
+      <xs:element name="status" type="statusType" minOccurs="0" />
+      <xs:element name="boost" type="xs:float" minOccurs="0" />
+      <xs:element name="description" type="xs:string" minOccurs="0" />
+    </xs:sequence>
+    <xs:attribute name="domain" type="xs:string" />
+  </xs:complexType>
+
+  <xs:simpleType name="statusType">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="IN_USE" />
+      <xs:enumeration value="NOT_IN_USE" />
+      <xs:enumeration value="DELETED" />
+    </xs:restriction>
+  </xs:simpleType>
+
+</xs:schema>
Index: /nutchez-0.1/conf/domain-urlfilter.txt
===================================================================
--- /nutchez-0.1/conf/domain-urlfilter.txt	(revision 66)
+++ /nutchez-0.1/conf/domain-urlfilter.txt	(revision 66)
@@ -0,0 +1,16 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# config file for urlfilter-domsin plugin
Index: /nutchez-0.1/conf/hadoop-default.xml
===================================================================
--- /nutchez-0.1/conf/hadoop-default.xml	(revision 66)
+++ /nutchez-0.1/conf/hadoop-default.xml	(revision 66)
@@ -0,0 +1,1271 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
+
+<!-- Do not modify this file directly.  Instead, copy entries that you -->
+<!-- wish to modify from this file into hadoop-site.xml and change them -->
+<!-- there.  If hadoop-site.xml does not already exist, create it.      -->
+
+<configuration>
+
+<!--- global properties -->
+
+<property>
+  <name>hadoop.tmp.dir</name>
+  <value>/tmp/hadoop-${user.name}</value>
+  <description>A base for other temporary directories.</description>
+</property>
+
+<property>
+  <name>hadoop.native.lib</name>
+  <value>true</value>
+  <description>Should native hadoop libraries, if present, be used.</description>
+</property>
+
+<!--- logging properties -->
+
+<property>
+  <name>hadoop.logfile.size</name>
+  <value>10000000</value>
+  <description>The max size of each log file</description>
+</property>
+
+<property>
+  <name>hadoop.logfile.count</name>
+  <value>10</value>
+  <description>The max number of log files</description>
+</property>
+
+<property>
+  <name>hadoop.job.history.location</name>
+  <value></value>
+  <description> If job tracker is static the history files are stored 
+  in this single well known place. If No value is set here, by default,
+  it is in the local file system at ${hadoop.log.dir}/history.
+  </description>
+</property>
+
+<property>
+  <name>hadoop.job.history.user.location</name>
+  <value></value>
+  <description> User can specify a location to store the history files of 
+  a particular job. If nothing is specified, the logs are stored in 
+  output directory. The files are stored in "_logs/history/" in the directory.
+  User can stop logging by giving the value "none". 
+  </description>
+</property>
+
+<property>
+  <name>dfs.namenode.logging.level</name>
+  <value>info</value>
+  <description>The logging level for dfs namenode. Other values are "dir"(trac
+e namespace mutations), "block"(trace block under/over replications and block
+creations/deletions), or "all".</description>
+</property>
+
+<!-- i/o properties -->
+
+<property>
+  <name>io.sort.factor</name>
+  <value>10</value>
+  <description>The number of streams to merge at once while sorting
+  files.  This determines the number of open file handles.</description>
+</property>
+
+<property>
+  <name>io.sort.mb</name>
+  <value>100</value>
+  <description>The total amount of buffer memory to use while sorting 
+  files, in megabytes.  By default, gives each merge stream 1MB, which
+  should minimize seeks.</description>
+</property>
+
+<property>
+  <name>io.sort.record.percent</name>
+  <value>0.05</value>
+  <description>The percentage of io.sort.mb dedicated to tracking record
+  boundaries. Let this value be r, io.sort.mb be x. The maximum number
+  of records collected before the collection thread must block is equal
+  to (r * x) / 4</description>
+</property>
+
+<property>
+  <name>io.sort.spill.percent</name>
+  <value>0.80</value>
+  <description>The soft limit in either the buffer or record collection
+  buffers. Once reached, a thread will begin to spill the contents to disk
+  in the background. Note that this does not imply any chunking of data to
+  the spill. A value less than 0.5 is not recommended.</description>
+</property>
+
+<property>
+  <name>io.file.buffer.size</name>
+  <value>4096</value>
+  <description>The size of buffer for use in sequence files.
+  The size of this buffer should probably be a multiple of hardware
+  page size (4096 on Intel x86), and it determines how much data is
+  buffered during read and write operations.</description>
+</property>
+  
+<property>
+  <name>io.bytes.per.checksum</name>
+  <value>512</value>
+  <description>The number of bytes per checksum.  Must not be larger than
+  io.file.buffer.size.</description>
+</property>
+
+<property>
+  <name>io.skip.checksum.errors</name>
+  <value>false</value>
+  <description>If true, when a checksum error is encountered while
+  reading a sequence file, entries are skipped, instead of throwing an
+  exception.</description>
+</property>
+  
+<property>
+  <name>io.map.index.skip</name>
+  <value>0</value>
+  <description>Number of index entries to skip between each entry.
+  Zero by default. Setting this to values larger than zero can
+  facilitate opening large map files using less memory.</description>
+</property>
+
+<property>
+  <name>io.compression.codecs</name>
+  <value>org.apache.hadoop.io.compress.DefaultCodec,org.apache.hadoop.io.compress.GzipCodec</value>
+  <description>A list of the compression codec classes that can be used 
+               for compression/decompression.</description>
+</property>
+
+<property>
+  <name>io.serializations</name>
+  <value>org.apache.hadoop.io.serializer.WritableSerialization</value>
+  <description>A list of serialization classes that can be used for
+  obtaining serializers and deserializers.</description>
+</property>
+
+<!-- file system properties -->
+
+<property>
+  <name>fs.default.name</name>
+  <value>file:///</value>
+  <description>The name of the default file system.  A URI whose
+  scheme and authority determine the FileSystem implementation.  The
+  uri's scheme determines the config property (fs.SCHEME.impl) naming
+  the FileSystem implementation class.  The uri's authority is used to
+  determine the host, port, etc. for a filesystem.</description>
+</property>
+
+<property>
+  <name>fs.trash.interval</name>
+  <value>0</value>
+  <description>Number of minutes between trash checkpoints.
+  If zero, the trash feature is disabled.
+  </description>
+</property>
+
+<property>
+  <name>fs.file.impl</name>
+  <value>org.apache.hadoop.fs.LocalFileSystem</value>
+  <description>The FileSystem for file: uris.</description>
+</property>
+
+<property>
+  <name>fs.hdfs.impl</name>
+  <value>org.apache.hadoop.dfs.DistributedFileSystem</value>
+  <description>The FileSystem for hdfs: uris.</description>
+</property>
+
+<property>
+  <name>fs.s3.impl</name>
+  <value>org.apache.hadoop.fs.s3.S3FileSystem</value>
+  <description>The FileSystem for s3: uris.</description>
+</property>
+
+<property>
+  <name>fs.s3n.impl</name>
+  <value>org.apache.hadoop.fs.s3native.NativeS3FileSystem</value>
+  <description>The FileSystem for s3n: (Native S3) uris.</description>
+</property>
+
+<property>
+  <name>fs.kfs.impl</name>
+  <value>org.apache.hadoop.fs.kfs.KosmosFileSystem</value>
+  <description>The FileSystem for kfs: uris.</description>
+</property>
+
+<property>
+  <name>fs.hftp.impl</name>
+  <value>org.apache.hadoop.dfs.HftpFileSystem</value>
+</property>
+
+<property>
+  <name>fs.hsftp.impl</name>
+  <value>org.apache.hadoop.dfs.HsftpFileSystem</value>
+</property>
+
+<property>
+  <name>fs.ftp.impl</name>
+  <value>org.apache.hadoop.fs.ftp.FTPFileSystem</value>
+  <description>The FileSystem for ftp: uris.</description>
+</property>
+
+<property>
+  <name>fs.ramfs.impl</name>
+  <value>org.apache.hadoop.fs.InMemoryFileSystem</value>
+  <description>The FileSystem for ramfs: uris.</description>
+</property>
+
+<property>
+  <name>fs.har.impl</name>
+  <value>org.apache.hadoop.fs.HarFileSystem</value>
+  <description>The filesystem for Hadoop archives. </description>
+</property>
+
+<property>
+  <name>fs.inmemory.size.mb</name>
+  <value>75</value>
+  <description>The size of the in-memory filsystem instance in MB</description>
+</property>
+
+<property>
+  <name>fs.checkpoint.dir</name>
+  <value>${hadoop.tmp.dir}/dfs/namesecondary</value>
+  <description>Determines where on the local filesystem the DFS secondary
+      name node should store the temporary images and edits to merge.
+      If this is a comma-delimited list of directories then the image is
+      replicated in all of the directories for redundancy.
+  </description>
+</property>
+
+<property>
+  <name>fs.checkpoint.period</name>
+  <value>3600</value>
+  <description>The number of seconds between two periodic checkpoints.
+  </description>
+</property>
+
+<property>
+  <name>fs.checkpoint.size</name>
+  <value>67108864</value>
+  <description>The size of the current edit log (in bytes) that triggers
+       a periodic checkpoint even if the fs.checkpoint.period hasn't expired.
+  </description>
+</property>
+
+<property>
+  <name>dfs.secondary.http.address</name>
+  <value>0.0.0.0:50090</value>
+  <description>
+    The secondary namenode http server address and port.
+    If the port is 0 then the server will start on a free port.
+  </description>
+</property>
+
+<property>
+  <name>dfs.datanode.address</name>
+  <value>0.0.0.0:50010</value>
+  <description>
+    The address where the datanode server will listen to.
+    If the port is 0 then the server will start on a free port.
+  </description>
+</property>
+
+<property>
+  <name>dfs.datanode.http.address</name>
+  <value>0.0.0.0:50075</value>
+  <description>
+    The datanode http server address and port.
+    If the port is 0 then the server will start on a free port.
+  </description>
+</property>
+
+<property>
+  <name>dfs.datanode.ipc.address</name>
+  <value>0.0.0.0:50020</value>
+  <description>
+    The datanode ipc server address and port.
+    If the port is 0 then the server will start on a free port.
+  </description>
+</property>
+
+<property>
+  <name>dfs.datanode.handler.count</name>
+  <value>3</value>
+  <description>The number of server threads for the datanode.</description>
+</property>
+
+<property>
+  <name>dfs.http.address</name>
+  <value>0.0.0.0:50070</value>
+  <description>
+    The address and the base port where the dfs namenode web ui will listen on.
+    If the port is 0 then the server will start on a free port.
+  </description>
+</property>
+
+<property>
+  <name>dfs.datanode.https.address</name>
+  <value>0.0.0.0:50475</value>
+</property>
+
+<property>
+  <name>dfs.https.address</name>
+  <value>0.0.0.0:50470</value>
+</property>
+
+<property>
+  <name>https.keystore.info.rsrc</name>
+  <value>sslinfo.xml</value>
+  <description>The name of the resource from which ssl keystore information
+  will be extracted
+  </description>
+</property>
+
+ <property>
+  <name>dfs.datanode.dns.interface</name>
+  <value>default</value>
+  <description>The name of the Network Interface from which a data node should 
+  report its IP address.
+  </description>
+ </property>
+ 
+<property>
+  <name>dfs.datanode.dns.nameserver</name>
+  <value>default</value>
+  <description>The host name or IP address of the name server (DNS)
+  which a DataNode should use to determine the host name used by the
+  NameNode for communication and display purposes.
+  </description>
+ </property>
+ 
+<property>
+  <name>dfs.replication.considerLoad</name>
+  <value>true</value>
+  <description>Decide if chooseTarget considers the target's load or not
+  </description>
+</property>
+<property>
+  <name>dfs.default.chunk.view.size</name>
+  <value>32768</value>
+  <description>The number of bytes to view for a file on the browser.
+  </description>
+</property>
+
+<property>
+  <name>dfs.datanode.du.reserved</name>
+  <value>0</value>
+  <description>Reserved space in bytes per volume. Always leave this much space free for non dfs use.
+  </description>
+</property>
+
+<property>
+  <name>dfs.datanode.du.pct</name>
+  <value>0.98f</value>
+  <description>When calculating remaining space, only use this percentage of the real available space
+  </description>
+</property>
+
+<property>
+  <name>dfs.name.dir</name>
+  <value>${hadoop.tmp.dir}/dfs/name</value>
+  <description>Determines where on the local filesystem the DFS name node
+      should store the name table.  If this is a comma-delimited list
+      of directories then the name table is replicated in all of the
+      directories, for redundancy. </description>
+</property>
+
+<property>
+  <name>dfs.web.ugi</name>
+  <value>webuser,webgroup</value>
+  <description>The user account used by the web interface.
+    Syntax: USERNAME,GROUP1,GROUP2, ...
+  </description>
+</property>
+
+<property>
+  <name>dfs.permissions</name>
+  <value>true</value>
+  <description>
+    If "true", enable permission checking in HDFS.
+    If "false", permission checking is turned off,
+    but all other behavior is unchanged.
+    Switching from one parameter value to the other does not change the mode,
+    owner or group of files or directories.
+  </description>
+</property>
+
+<property>
+  <name>dfs.permissions.supergroup</name>
+  <value>supergroup</value>
+  <description>The name of the group of super-users.</description>
+</property>
+
+<property>
+  <name>dfs.client.buffer.dir</name>
+  <value>${hadoop.tmp.dir}/dfs/tmp</value>
+  <description>Determines where on the local filesystem an DFS client
+  should store its blocks before it sends them to the datanode.
+  </description>
+</property>
+
+<property>
+  <name>dfs.data.dir</name>
+  <value>${hadoop.tmp.dir}/dfs/data</value>
+  <description>Determines where on the local filesystem an DFS data node
+  should store its blocks.  If this is a comma-delimited
+  list of directories, then data will be stored in all named
+  directories, typically on different devices.
+  Directories that do not exist are ignored.
+  </description>
+</property>
+
+<property>
+  <name>dfs.replication</name>
+  <value>3</value>
+  <description>Default block replication. 
+  The actual number of replications can be specified when the file is created.
+  The default is used if replication is not specified in create time.
+  </description>
+</property>
+
+<property>
+  <name>dfs.replication.max</name>
+  <value>512</value>
+  <description>Maximal block replication. 
+  </description>
+</property>
+
+<property>
+  <name>dfs.replication.min</name>
+  <value>1</value>
+  <description>Minimal block replication. 
+  </description>
+</property>
+
+<property>
+  <name>dfs.block.size</name>
+  <value>67108864</value>
+  <description>The default block size for new files.</description>
+</property>
+
+<property>
+  <name>dfs.df.interval</name>
+  <value>60000</value>
+  <description>Disk usage statistics refresh interval in msec.</description>
+</property>
+
+<property>
+  <name>dfs.client.block.write.retries</name>
+  <value>3</value>
+  <description>The number of retries for writing blocks to the data nodes, 
+  before we signal failure to the application.
+  </description>
+</property>
+
+<property>
+  <name>dfs.blockreport.intervalMsec</name>
+  <value>3600000</value>
+  <description>Determines block reporting interval in milliseconds.</description>
+</property>
+
+<property>
+  <name>dfs.blockreport.initialDelay</name>  <value>0</value>
+  <description>Delay for first block report in seconds.</description>
+</property>
+
+<property>
+  <name>dfs.heartbeat.interval</name>
+  <value>3</value>
+  <description>Determines datanode heartbeat interval in seconds.</description>
+</property>
+
+<property>
+  <name>dfs.namenode.handler.count</name>
+  <value>10</value>
+  <description>The number of server threads for the namenode.</description>
+</property>
+
+<property>
+  <name>dfs.safemode.threshold.pct</name>
+  <value>0.999f</value>
+  <description>
+  	Specifies the percentage of blocks that should satisfy 
+  	the minimal replication requirement defined by dfs.replication.min.
+  	Values less than or equal to 0 mean not to start in safe mode.
+  	Values greater than 1 will make safe mode permanent.
+ 	</description>
+</property>
+
+<property>
+  <name>dfs.safemode.extension</name>
+  <value>30000</value>
+  <description>
+  	Determines extension of safe mode in milliseconds 
+  	after the threshold level is reached.
+ 	</description>
+</property>
+
+<property>
+  <name>dfs.balance.bandwidthPerSec</name>
+  <value>1048576</value>
+  <description>
+        Specifies the maximum amount of bandwidth that each datanode
+        can utilize for the balancing purpose in term of
+        the number of bytes per second.
+  </description>
+</property>
+
+<property>
+  <name>dfs.hosts</name>
+  <value></value>
+  <description>Names a file that contains a list of hosts that are
+  permitted to connect to the namenode. The full pathname of the file
+  must be specified.  If the value is empty, all hosts are
+  permitted.</description>
+</property>
+
+<property>
+  <name>dfs.hosts.exclude</name>
+  <value></value>
+  <description>Names a file that contains a list of hosts that are
+  not permitted to connect to the namenode.  The full pathname of the
+  file must be specified.  If the value is empty, no hosts are
+  excluded.</description>
+</property> 
+
+<property>
+  <name>dfs.max.objects</name>
+  <value>0</value>
+  <description>The maximum number of files, directories and blocks
+  dfs supports. A value of zero indicates no limit to the number
+  of objects that dfs supports.
+  </description>
+</property>
+
+<property>
+  <name>dfs.namenode.decommission.interval</name>
+  <value>30</value>
+  <description>Namenode periodicity in seconds to check if decommission is complete.</description>
+</property>
+
+<property>
+  <name>dfs.namenode.decommission.nodes.per.interval</name>
+  <value>5</value>
+  <description>The number of nodes namenode checks if decommission is complete
+  in each dfs.namenode.decommission.interval.</description>
+</property>
+
+<property>
+  <name>dfs.replication.interval</name>
+  <value>3</value>
+  <description>The periodicity in seconds with which the namenode computes repliaction work for datanodes. </description>
+</property>
+
+<property>
+  <name>fs.s3.block.size</name>
+  <value>67108864</value>
+  <description>Block size to use when writing files to S3.</description>
+</property>
+
+<property>
+  <name>fs.s3.buffer.dir</name>
+  <value>${hadoop.tmp.dir}/s3</value>
+  <description>Determines where on the local filesystem the S3 filesystem
+  should store files before sending them to S3
+  (or after retrieving them from S3).
+  </description>
+</property>
+
+<property>
+  <name>fs.s3.maxRetries</name>
+  <value>4</value>
+  <description>The maximum number of retries for reading or writing files to S3, 
+  before we signal failure to the application.
+  </description>
+</property>
+
+<property>
+  <name>fs.s3.sleepTimeSeconds</name>
+  <value>10</value>
+  <description>The number of seconds to sleep between each S3 retry.
+  </description>
+</property>
+
+<!-- map/reduce properties -->
+
+<property>
+  <name>mapred.job.tracker</name>
+  <value>local</value>
+  <description>The host and port that the MapReduce job tracker runs
+  at.  If "local", then jobs are run in-process as a single map
+  and reduce task.
+  </description>
+</property>
+
+<property>
+  <name>mapred.job.tracker.http.address</name>
+  <value>0.0.0.0:50030</value>
+  <description>
+    The job tracker http server address and port the server will listen on.
+    If the port is 0 then the server will start on a free port.
+  </description>
+</property>
+
+<property>
+  <name>mapred.job.tracker.handler.count</name>
+  <value>10</value>
+  <description>
+    The number of server threads for the JobTracker. This should be roughly
+    4% of the number of tasktracker nodes.
+  </description>
+</property>
+
+<property>
+  <name>mapred.task.tracker.report.address</name>
+  <value>127.0.0.1:0</value>
+  <description>The interface and port that task tracker server listens on. 
+  Since it is only connected to by the tasks, it uses the local interface.
+  EXPERT ONLY. Should only be changed if your host does not have the loopback 
+  interface.</description>
+</property>
+
+<property>
+  <name>mapred.local.dir</name>
+  <value>${hadoop.tmp.dir}/mapred/local</value>
+  <description>The local directory where MapReduce stores intermediate
+  data files.  May be a comma-separated list of
+  directories on different devices in order to spread disk i/o.
+  Directories that do not exist are ignored.
+  </description>
+</property>
+
+<property>
+  <name>local.cache.size</name>
+  <value>10737418240</value>
+  <description>The limit on the size of cache you want to keep, set by default
+  to 10GB. This will act as a soft limit on the cache directory for out of band data.
+  </description>
+</property>
+            
+<property>
+  <name>mapred.system.dir</name>
+  <value>${hadoop.tmp.dir}/mapred/system</value>
+  <description>The shared directory where MapReduce stores control files.
+  </description>
+</property>
+
+<property>
+  <name>mapred.temp.dir</name>
+  <value>${hadoop.tmp.dir}/mapred/temp</value>
+  <description>A shared directory for temporary files.
+  </description>
+</property>
+
+<property>
+  <name>mapred.local.dir.minspacestart</name>
+  <value>0</value>
+  <description>If the space in mapred.local.dir drops under this, 
+  do not ask for more tasks.
+  Value in bytes.
+  </description>
+</property>
+
+<property>
+  <name>mapred.local.dir.minspacekill</name>
+  <value>0</value>
+  <description>If the space in mapred.local.dir drops under this, 
+  	do not ask more tasks until all the current ones have finished and 
+  	cleaned up. Also, to save the rest of the tasks we have running, 
+  	kill one of them, to clean up some space. Start with the reduce tasks,
+  	then go with the ones that have finished the least.
+  	Value in bytes.
+  </description>
+</property>
+
+<property>
+  <name>mapred.tasktracker.expiry.interval</name>
+  <value>600000</value>
+  <description>Expert: The time-interval, in miliseconds, after which
+  a tasktracker is declared 'lost' if it doesn't send heartbeats.
+  </description>
+</property>
+
+<property>
+  <name>mapred.map.tasks</name>
+  <value>2</value>
+  <description>The default number of map tasks per job.  Typically set
+  to a prime several times greater than number of available hosts.
+  Ignored when mapred.job.tracker is "local".  
+  </description>
+</property>
+
+<property>
+  <name>mapred.reduce.tasks</name>
+  <value>1</value>
+  <description>The default number of reduce tasks per job.  Typically set
+  to a prime close to the number of available hosts.  Ignored when
+  mapred.job.tracker is "local".
+  </description>
+</property>
+
+<property>
+  <name>mapred.map.max.attempts</name>
+  <value>4</value>
+  <description>Expert: The maximum number of attempts per map task.
+  In other words, framework will try to execute a map task these many number
+  of times before giving up on it.
+  </description>
+</property>
+
+<property>
+  <name>mapred.reduce.max.attempts</name>
+  <value>4</value>
+  <description>Expert: The maximum number of attempts per reduce task.
+  In other words, framework will try to execute a reduce task these many number
+  of times before giving up on it.
+  </description>
+</property>
+
+<property>
+  <name>mapred.reduce.parallel.copies</name>
+  <value>5</value>
+  <description>The default number of parallel transfers run by reduce
+  during the copy(shuffle) phase.
+  </description>
+</property>
+
+<property>
+  <name>mapred.reduce.copy.backoff</name>
+  <value>300</value>
+  <description>The maximum amount of time (in seconds) a reducer spends on 
+  fetching one map output before declaring it as failed.
+  </description>
+</property>
+
+<property>
+  <name>mapred.task.timeout</name>
+  <value>600000</value>
+  <description>The number of milliseconds before a task will be
+  terminated if it neither reads an input, writes an output, nor
+  updates its status string.
+  </description>
+</property>
+
+<property>
+  <name>mapred.tasktracker.map.tasks.maximum</name>
+  <value>2</value>
+  <description>The maximum number of map tasks that will be run
+  simultaneously by a task tracker.
+  </description>
+</property>
+
+<property>
+  <name>mapred.tasktracker.reduce.tasks.maximum</name>
+  <value>2</value>
+  <description>The maximum number of reduce tasks that will be run
+  simultaneously by a task tracker.
+  </description>
+</property>
+
+<property>
+  <name>mapred.jobtracker.completeuserjobs.maximum</name>
+  <value>100</value>
+  <description>The maximum number of complete jobs per user to keep around before delegating them to the job history.
+  </description>
+</property>
+
+<property>
+  <name>mapred.child.java.opts</name>
+  <value>-Xmx200m</value>
+  <description>Java opts for the task tracker child processes.  
+  The following symbol, if present, will be interpolated: @taskid@ is replaced 
+  by current TaskID. Any other occurrences of '@' will go unchanged.
+  For example, to enable verbose gc logging to a file named for the taskid in
+  /tmp and to set the heap maximum to be a gigabyte, pass a 'value' of:
+        -Xmx1024m -verbose:gc -Xloggc:/tmp/@taskid@.gc
+  
+  The configuration variable mapred.child.ulimit can be used to control the
+  maximum virtual memory of the child processes. 
+  </description>
+</property>
+
+<property>
+  <name>mapred.child.ulimit</name>
+  <value></value>
+  <description>The maximum virtual memory, in KB, of a process launched by the 
+  Map-Reduce framework. This can be used to control both the Mapper/Reducer 
+  tasks and applications using Hadoop Pipes, Hadoop Streaming etc. 
+  By default it is left unspecified to let cluster admins control it via 
+  limits.conf and other such relevant mechanisms.
+  
+  Note: mapred.child.ulimit must be greater than or equal to the -Xmx passed to
+  JavaVM, else the VM might not start. 
+  </description>
+</property>
+
+<property>
+  <name>mapred.child.tmp</name>
+  <value>./tmp</value>
+  <description> To set the value of tmp directory for map and reduce tasks.
+  If the value is an absolute path, it is directly assigned. Otherwise, it is
+  prepended with task's working directory. The java tasks are executed with
+  option -Djava.io.tmpdir='the absolute path of the tmp dir'. Pipes and
+  streaming are set with environment variable,
+   TMPDIR='the absolute path of the tmp dir'
+  </description>
+</property>
+
+<property>
+  <name>mapred.inmem.merge.threshold</name>
+  <value>1000</value>
+  <description>The threshold, in terms of the number of files 
+  for the in-memory merge process. When we accumulate threshold number of files
+  we initiate the in-memory merge and spill to disk. A value of 0 or less than
+  0 indicates we want to DON'T have any threshold and instead depend only on
+  the ramfs's memory consumption to trigger the merge.
+  </description>
+</property>
+
+<property>
+  <name>mapred.map.tasks.speculative.execution</name>
+  <value>true</value>
+  <description>If true, then multiple instances of some map tasks 
+               may be executed in parallel.</description>
+</property>
+
+<property>
+  <name>mapred.reduce.tasks.speculative.execution</name>
+  <value>true</value>
+  <description>If true, then multiple instances of some reduce tasks 
+               may be executed in parallel.</description>
+</property>
+
+<property>
+  <name>mapred.min.split.size</name>
+  <value>0</value>
+  <description>The minimum size chunk that map input should be split
+  into.  Note that some file formats may have minimum split sizes that
+  take priority over this setting.</description>
+</property>
+
+<property>
+  <name>mapred.submit.replication</name>
+  <value>10</value>
+  <description>The replication level for submitted job files.  This
+  should be around the square root of the number of nodes.
+  </description>
+</property>
+
+
+<property>
+  <name>mapred.tasktracker.dns.interface</name>
+  <value>default</value>
+  <description>The name of the Network Interface from which a task
+  tracker should report its IP address.
+  </description>
+ </property>
+ 
+<property>
+  <name>mapred.tasktracker.dns.nameserver</name>
+  <value>default</value>
+  <description>The host name or IP address of the name server (DNS)
+  which a TaskTracker should use to determine the host name used by
+  the JobTracker for communication and display purposes.
+  </description>
+ </property>
+ 
+<property>
+  <name>tasktracker.http.threads</name>
+  <value>40</value>
+  <description>The number of worker threads that for the http server. This is
+               used for map output fetching
+  </description>
+</property>
+
+<property>
+  <name>mapred.task.tracker.http.address</name>
+  <value>0.0.0.0:50060</value>
+  <description>
+    The task tracker http server address and port.
+    If the port is 0 then the server will start on a free port.
+  </description>
+</property>
+
+<property>
+  <name>keep.failed.task.files</name>
+  <value>false</value>
+  <description>Should the files for failed tasks be kept. This should only be 
+               used on jobs that are failing, because the storage is never
+               reclaimed. It also prevents the map outputs from being erased
+               from the reduce directory as they are consumed.</description>
+</property>
+
+<!-- 
+  <property>
+  <name>keep.task.files.pattern</name>
+  <value>.*_m_123456_0</value>
+  <description>Keep all files from tasks whose task names match the given
+               regular expression. Defaults to none.</description>
+  </property>
+-->
+
+<property>
+  <name>mapred.output.compress</name>
+  <value>false</value>
+  <description>Should the job outputs be compressed?
+  </description>
+</property>
+
+<property>
+  <name>mapred.output.compression.type</name>
+  <value>RECORD</value>
+  <description>If the job outputs are to compressed as SequenceFiles, how should
+               they be compressed? Should be one of NONE, RECORD or BLOCK.
+  </description>
+</property>
+
+<property>
+  <name>mapred.output.compression.codec</name>
+  <value>org.apache.hadoop.io.compress.DefaultCodec</value>
+  <description>If the job outputs are compressed, how should they be compressed?
+  </description>
+</property>
+
+<property>
+  <name>mapred.compress.map.output</name>
+  <value>false</value>
+  <description>Should the outputs of the maps be compressed before being
+               sent across the network. Uses SequenceFile compression.
+  </description>
+</property>
+
+<property>
+  <name>mapred.map.output.compression.codec</name>
+  <value>org.apache.hadoop.io.compress.DefaultCodec</value>
+  <description>If the map outputs are compressed, how should they be 
+               compressed?
+  </description>
+</property>
+
+<property>
+  <name>io.seqfile.compress.blocksize</name>
+  <value>1000000</value>
+  <description>The minimum block size for compression in block compressed 
+  				SequenceFiles.
+  </description>
+</property>
+
+<property>
+  <name>io.seqfile.lazydecompress</name>
+  <value>true</value>
+  <description>Should values of block-compressed SequenceFiles be decompressed
+  				only when necessary.
+  </description>
+</property>
+
+<property>
+  <name>io.seqfile.sorter.recordlimit</name>
+  <value>1000000</value>
+  <description>The limit on number of records to be kept in memory in a spill 
+  				in SequenceFiles.Sorter
+  </description>
+</property>
+
+<property>
+  <name>map.sort.class</name>
+  <value>org.apache.hadoop.util.QuickSort</value>
+  <description>The default sort class for sorting keys.
+  </description>
+</property>
+
+<property>
+  <name>mapred.userlog.limit.kb</name>
+  <value>0</value>
+  <description>The maximum size of user-logs of each task in KB. 0 disables the cap.
+  </description>
+</property>
+
+<property>
+  <name>mapred.userlog.retain.hours</name>
+  <value>24</value>
+  <description>The maximum time, in hours, for which the user-logs are to be 
+  				retained.
+  </description>
+</property>
+
+<property>
+  <name>mapred.hosts</name>
+  <value></value>
+  <description>Names a file that contains the list of nodes that may
+  connect to the jobtracker.  If the value is empty, all hosts are
+  permitted.</description>
+</property>
+
+<property>
+  <name>mapred.hosts.exclude</name>
+  <value></value>
+  <description>Names a file that contains the list of hosts that
+  should be excluded by the jobtracker.  If the value is empty, no
+  hosts are excluded.</description>
+</property> 
+
+<property>
+  <name>mapred.max.tracker.failures</name>
+  <value>4</value>
+  <description>The number of task-failures on a tasktracker of a given job 
+               after which new tasks of that job aren't assigned to it.
+  </description>
+</property>
+
+<property>
+  <name>jobclient.output.filter</name>
+  <value>FAILED</value>
+  <description>The filter for controlling the output of the task's userlogs sent
+               to the console of the JobClient. 
+               The permissible options are: NONE, KILLED, FAILED, SUCCEEDED and 
+               ALL.
+  </description>
+</property>
+
+  <property>
+    <name>mapred.job.tracker.persist.jobstatus.active</name>
+    <value>false</value>
+    <description>Indicates if persistency of job status information is
+      active or not.
+    </description>
+  </property>
+
+  <property>
+  <name>mapred.job.tracker.persist.jobstatus.hours</name>
+  <value>0</value>
+  <description>The number of hours job status information is persisted in DFS.
+    The job status information will be available after it drops of the memory
+    queue and between jobtracker restarts. With a zero value the job status
+    information is not persisted at all in DFS.
+  </description>
+</property>
+
+  <property>
+    <name>mapred.job.tracker.persist.jobstatus.dir</name>
+    <value>/jobtracker/jobsInfo</value>
+    <description>The directory where the job status information is persisted
+      in a file system to be available after it drops of the memory queue and
+      between jobtracker restarts.
+    </description>
+  </property>
+
+  <property>
+    <name>mapred.task.profile</name>
+    <value>false</value>
+    <description>To set whether the system should collect profiler
+     information for some of the tasks in this job? The information is stored
+     in the user log directory. The value is "true" if task profiling
+     is enabled.</description>
+  </property>
+
+  <property>
+    <name>mapred.task.profile.maps</name>
+    <value>0-2</value>
+    <description> To set the ranges of map tasks to profile.
+    mapred.task.profile has to be set to true for the value to be accounted.
+    </description>
+  </property>
+
+  <property>
+    <name>mapred.task.profile.reduces</name>
+    <value>0-2</value>
+    <description> To set the ranges of reduce tasks to profile.
+    mapred.task.profile has to be set to true for the value to be accounted.
+    </description>
+  </property>
+
+  <property>
+    <name>mapred.line.input.format.linespermap</name>
+    <value>1</value>
+    <description> Number of lines per split in NLineInputFormat.
+    </description>
+  </property>
+
+<!-- ipc properties -->
+
+<property>
+  <name>ipc.client.idlethreshold</name>
+  <value>4000</value>
+  <description>Defines the threshold number of connections after which
+               connections will be inspected for idleness.
+  </description>
+</property>
+
+<property>
+  <name>ipc.client.kill.max</name>
+  <value>10</value>
+  <description>Defines the maximum number of clients to disconnect in one go.
+  </description>
+</property>
+
+<property>
+  <name>ipc.client.connection.maxidletime</name>
+  <value>10000</value>
+  <description>The maximum time in msec after which a client will bring down the
+               connection to the server.
+  </description>
+</property>
+
+<property>
+  <name>ipc.client.connect.max.retries</name>
+  <value>10</value>
+  <description>Indicates the number of retries a client will make to establish
+               a server connection.
+  </description>
+</property>
+
+<property>
+  <name>ipc.server.listen.queue.size</name>
+  <value>128</value>
+  <description>Indicates the length of the listen queue for servers accepting
+               client connections.
+  </description>
+</property>
+
+<property>
+  <name>ipc.server.tcpnodelay</name>
+  <value>false</value>
+  <description>Turn on/off Nagle's algorithm for the TCP socket connection on 
+  the server. Setting to true disables the algorithm and may decrease latency
+  with a cost of more/smaller packets. 
+  </description>
+</property>
+
+<property>
+  <name>ipc.client.tcpnodelay</name>
+  <value>false</value>
+  <description>Turn on/off Nagle's algorithm for the TCP socket connection on 
+  the client. Setting to true disables the algorithm and may decrease latency
+  with a cost of more/smaller packets. 
+  </description>
+</property>
+
+<!-- Job Notification Configuration -->
+
+<!--
+<property>
+ <name>job.end.notification.url</name>
+ <value>http://localhost:8080/jobstatus.php?jobId=$jobId&amp;jobStatus=$jobStatus</value>
+ <description>Indicates url which will be called on completion of job to inform
+              end status of job.
+              User can give at most 2 variables with URI : $jobId and $jobStatus.
+              If they are present in URI, then they will be replaced by their
+              respective values.
+</description>
+</property>
+-->
+
+<property>
+  <name>job.end.retry.attempts</name>
+  <value>0</value>
+  <description>Indicates how many times hadoop should attempt to contact the
+               notification URL </description>
+</property>
+
+<property>
+  <name>job.end.retry.interval</name>
+   <value>30000</value>
+   <description>Indicates time in milliseconds between notification URL retry
+                calls</description>
+</property>
+
+<!-- Web Interface Configuration -->
+
+<property>
+  <name>webinterface.private.actions</name>
+  <value>false</value>
+  <description> If set to true, the web interfaces of JT and NN may contain 
+                actions, such as kill job, delete file, etc., that should 
+                not be exposed to public. Enable this option if the interfaces 
+                are only reachable by those who have the right authorization.
+  </description>
+</property>
+
+<!-- Proxy Configuration -->
+
+<property>
+  <name>hadoop.rpc.socket.factory.class.default</name>
+  <value>org.apache.hadoop.net.StandardSocketFactory</value>
+  <description> Default SocketFactory to use. This parameter is expected to be
+    formatted as "package.FactoryClassName".
+  </description>
+</property>
+
+<property>
+  <name>hadoop.rpc.socket.factory.class.ClientProtocol</name>
+  <value></value>
+  <description> SocketFactory to use to connect to a DFS. If null or empty, use
+    hadoop.rpc.socket.class.default. This socket factory is also used by
+    DFSClient to create sockets to DataNodes.
+  </description>
+</property>
+
+<property>
+  <name>hadoop.rpc.socket.factory.class.JobSubmissionProtocol</name>
+  <value></value>
+  <description> SocketFactory to use to connect to a Map/Reduce master
+    (JobTracker). If null or empty, then use hadoop.rpc.socket.class.default.
+  </description>
+</property>
+
+<property>
+  <name>hadoop.socks.server</name>
+  <value></value>
+  <description> Address (host:port) of the SOCKS server to be used by the
+    SocksSocketFactory.
+  </description>
+</property>
+
+<!-- Rack Configuration -->
+
+<property>
+  <name>topology.node.switch.mapping.impl</name>
+  <value>org.apache.hadoop.net.ScriptBasedMapping</value>
+  <description> The default implementation of the DNSToSwitchMapping. It
+    invokes a script specified in topology.script.file.name to resolve
+    node names. If the value for topology.script.file.name is not set, the
+    default value of DEFAULT_RACK is returned for all node names.
+  </description>
+</property>
+
+<property>
+  <name>topology.script.file.name</name>
+  <value></value>
+  <description> The script name that should be invoked to resolve DNS names to
+    NetworkTopology names. Example: the script would take host.foo.bar as an
+    argument, and return /rack1 as the output.
+  </description>
+</property>
+
+<property>
+  <name>topology.script.number.args</name>
+  <value>20</value>
+  <description> The max number of args that the script configured with 
+    topology.script.file.name should be run with. Each arg is an
+    IP address.
+  </description>
+</property>
+
+<property>
+  <name>mapred.task.cache.levels</name>
+  <value>2</value>
+  <description> This is the max level of the task cache. For example, if
+    the level is 2, the tasks cached are at the host level and at the rack
+    level.
+  </description>
+</property>
+
+<property>
+  <name>mapred.merge.recordsBeforeProgress</name>
+  <value>10000</value>
+  <description> The number of records to process during merge before
+   sending a progress notification to the TaskTracker.
+  </description>
+</property>
+
+</configuration>
Index: /nutchez-0.1/conf/hadoop-env.sh
===================================================================
--- /nutchez-0.1/conf/hadoop-env.sh	(revision 66)
+++ /nutchez-0.1/conf/hadoop-env.sh	(revision 66)
@@ -0,0 +1,55 @@
+# Set Hadoop-specific environment variables here.
+
+# The only required environment variable is JAVA_HOME.  All others are
+# optional.  When running a distributed configuration it is best to
+# set JAVA_HOME in this file, so that it is correctly defined on
+# remote nodes.
+
+# The java implementation to use.  Required.
+# export JAVA_HOME=/usr/lib/j2sdk1.5-sun
+export JAVA_HOME=/usr/lib/jvm/java-6-sun
+
+# Extra Java CLASSPATH elements.  Optional.
+# export HADOOP_CLASSPATH=
+
+# The maximum amount of heap to use, in MB. Default is 1000.
+# export HADOOP_HEAPSIZE=2000
+
+# Extra Java runtime options.  Empty by default.
+# export HADOOP_OPTS=-server
+
+# Command specific options appended to HADOOP_OPTS when specified
+export HADOOP_NAMENODE_OPTS="-Dcom.sun.management.jmxremote $HADOOP_NAMENODE_OPTS"
+export HADOOP_SECONDARYNAMENODE_OPTS="-Dcom.sun.management.jmxremote $HADOOP_SECONDARYNAMENODE_OPTS"
+export HADOOP_DATANODE_OPTS="-Dcom.sun.management.jmxremote $HADOOP_DATANODE_OPTS"
+export HADOOP_BALANCER_OPTS="-Dcom.sun.management.jmxremote $HADOOP_BALANCER_OPTS"
+export HADOOP_JOBTRACKER_OPTS="-Dcom.sun.management.jmxremote $HADOOP_JOBTRACKER_OPTS"
+# export HADOOP_TASKTRACKER_OPTS=
+# The following applies to multiple commands (fs, dfs, fsck, distcp etc)
+# export HADOOP_CLIENT_OPTS
+
+# Extra ssh options.  Empty by default.
+# export HADOOP_SSH_OPTS="-o ConnectTimeout=1 -o SendEnv=HADOOP_CONF_DIR"
+
+# Where log files are stored.  $HADOOP_HOME/logs by default.
+# export HADOOP_LOG_DIR=${HADOOP_HOME}/logs
+
+# File naming remote slave hosts.  $HADOOP_HOME/conf/slaves by default.
+# export HADOOP_SLAVES=${HADOOP_HOME}/conf/slaves
+
+# host:path where hadoop code should be rsync'd from.  Unset by default.
+# export HADOOP_MASTER=master:/home/$USER/src/hadoop
+
+# Seconds to sleep between slave commands.  Unset by default.  This
+# can be useful in large clusters, where, e.g., slave rsyncs can
+# otherwise arrive faster than the master can service them.
+# export HADOOP_SLAVE_SLEEP=0.1
+
+# The directory where pid files are stored. /tmp by default.
+# export HADOOP_PID_DIR=/var/hadoop/pids
+
+# A string representing this instance of hadoop. $USER by default.
+# export HADOOP_IDENT_STRING=$USER
+
+# The scheduling priority for daemon processes.  See 'man nice'.
+# export HADOOP_NICENESS=10
Index: /nutchez-0.1/conf/hadoop-metrics.properties
===================================================================
--- /nutchez-0.1/conf/hadoop-metrics.properties	(revision 66)
+++ /nutchez-0.1/conf/hadoop-metrics.properties	(revision 66)
@@ -0,0 +1,40 @@
+# Configuration of the "dfs" context for null
+dfs.class=org.apache.hadoop.metrics.spi.NullContext
+
+# Configuration of the "dfs" context for file
+#dfs.class=org.apache.hadoop.metrics.file.FileContext
+#dfs.period=10
+dfs.fileName=/tmp/nutch/dfsmetrics.log
+
+# Configuration of the "dfs" context for ganglia
+# dfs.class=org.apache.hadoop.metrics.ganglia.GangliaContext
+# dfs.period=10
+# dfs.servers=localhost:8649
+
+
+# Configuration of the "mapred" context for null
+mapred.class=org.apache.hadoop.metrics.spi.NullContext
+
+# Configuration of the "mapred" context for file
+#mapred.class=org.apache.hadoop.metrics.file.FileContext
+#mapred.period=10
+mapred.fileName=/tmp/nutch/mrmetrics.log
+
+# Configuration of the "mapred" context for ganglia
+# mapred.class=org.apache.hadoop.metrics.ganglia.GangliaContext
+# mapred.period=10
+# mapred.servers=localhost:8649
+
+
+# Configuration of the "jvm" context for null
+jvm.class=org.apache.hadoop.metrics.spi.NullContext
+
+# Configuration of the "jvm" context for file
+#jvm.class=org.apache.hadoop.metrics.file.FileContext
+#jvm.period=10
+jvm.fileName=/tmp/nutch/jvmmetrics.log
+
+# Configuration of the "jvm" context for ganglia
+# jvm.class=org.apache.hadoop.metrics.ganglia.GangliaContext
+# jvm.period=10
+# jvm.servers=localhost:8649
Index: /nutchez-0.1/conf/hadoop-site.xml
===================================================================
--- /nutchez-0.1/conf/hadoop-site.xml	(revision 66)
+++ /nutchez-0.1/conf/hadoop-site.xml	(revision 66)
@@ -0,0 +1,3 @@
+<configuration>
+</configuration>
+
Index: /nutchez-0.1/conf/httpclient-auth.xml
===================================================================
--- /nutchez-0.1/conf/httpclient-auth.xml	(revision 66)
+++ /nutchez-0.1/conf/httpclient-auth.xml	(revision 66)
@@ -0,0 +1,61 @@
+<?xml version="1.0"?>
+<!--
+  This is the authentication configuration file for protocol-httpclient.
+  Different credentials for different authentication scopes can be
+  configured in this file. If a set of credentials is configured for a 
+  particular authentication scope (i.e. particular host, port number,
+  scheme and realm), then that set of credentials would be sent only to
+  servers falling under the specified authentication scope. Apart from
+  this at most one set of credentials can be configured as 'default'.
+  
+  When authentication is required to fetch a resource from a web-server,
+  the authentication-scope is determined from the host, port, scheme and
+  realm (if present) obtained from the URL of the page and the
+  authentication headers in the HTTP response. If it matches any
+  'authscope' in this configuration file, then the 'credentials' for
+  that 'authscope' is used for authentication. Otherwise, it would use
+  the 'default' set of credentials (with an exception which is described
+  in the next paragraph), if present. If any attribute is missing, it
+  would match all values for that attribute.
+
+  If there are several pages having different authentication realms and
+  schemes on the same web-server (same host and port, but different
+  realms and schemes), and credentials for one or more of the realms and
+  schemes for that web-server is specified, then the 'default'
+  credentials would be ignored completely for that web-server (for that
+  host and port). So, credentials to handle all realms and schemes for
+  that server may be specified explicitly by adding an extra 'authscope'
+  tag with the 'realm' and 'scheme' attributes missing for that server.
+  This is demonstrated by the last 'authscope' tag for 'example:8080' in
+  the following example.
+
+  Example:-
+    <credentials username="susam" password="masus">
+      <default realm="sso"/>
+      <authscope host="192.168.101.33" port="80" realm="login"/>
+      <authscope host="example" port="8080" realm="blogs"/>
+      <authscope host="example" port="8080" realm="wiki"/>
+      <authscope host="example" port="80" realm="quiz" scheme="NTLM"/>
+    </credentials>
+    <credentials username="admin" password="nimda">
+      <authscope host="example" port="8080"/>
+    </credentials>
+
+  In the above example, 'example:8080' server has pages with multiple
+  authentication realms. The first set of credentials would be used for
+  'blogs' and 'wiki' authentication realms. The second set of
+  credentials would be used for all other realms. For 'login' realm of
+  '192.168.101.33', the first set of credentials would be used. For any
+  other realm of '192.168.101.33' authentication would not be done. For
+  the NTLM authentication required by 'example:80', the first set of
+  credentials would be used. For 'sso' realms of all other servers, the
+  first set of credentials would be used, since it is configured as
+  'default'.
+
+  NTLM does not use the notion of realms. The domain name may be
+  specified as the value for 'realm' attribute in case of NTLM.
+-->
+
+<auth-configuration>
+
+</auth-configuration>
Index: /nutchez-0.1/conf/log4j.properties
===================================================================
--- /nutchez-0.1/conf/log4j.properties	(revision 66)
+++ /nutchez-0.1/conf/log4j.properties	(revision 66)
@@ -0,0 +1,94 @@
+# Define some default values that can be overridden by system properties
+hadoop.root.logger=INFO,console
+hadoop.log.dir=.
+hadoop.log.file=hadoop.log
+
+# Define the root logger to the system property "hadoop.root.logger".
+log4j.rootLogger=${hadoop.root.logger}, EventCounter
+
+# Logging Threshold
+log4j.threshhold=ALL
+
+#
+# Daily Rolling File Appender
+#
+
+log4j.appender.DRFA=org.apache.log4j.DailyRollingFileAppender
+log4j.appender.DRFA.File=${hadoop.log.dir}/${hadoop.log.file}
+
+# Rollver at midnight
+log4j.appender.DRFA.DatePattern=.yyyy-MM-dd
+
+# 30-day backup
+#log4j.appender.DRFA.MaxBackupIndex=30
+log4j.appender.DRFA.layout=org.apache.log4j.PatternLayout
+
+# Pattern format: Date LogLevel LoggerName LogMessage
+log4j.appender.DRFA.layout.ConversionPattern=%d{ISO8601} %p %c: %m%n
+# Debugging Pattern format
+#log4j.appender.DRFA.layout.ConversionPattern=%d{ISO8601} %-5p %c{2} (%F:%M(%L)) - %m%n
+
+
+#
+# console
+# Add "console" to rootlogger above if you want to use this 
+#
+
+log4j.appender.console=org.apache.log4j.ConsoleAppender
+log4j.appender.console.target=System.err
+log4j.appender.console.layout=org.apache.log4j.PatternLayout
+log4j.appender.console.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{2}: %m%n
+
+#
+# TaskLog Appender
+#
+
+#Default values
+hadoop.tasklog.taskid=null
+hadoop.tasklog.noKeepSplits=4
+hadoop.tasklog.totalLogFileSize=100
+hadoop.tasklog.purgeLogSplits=true
+hadoop.tasklog.logsRetainHours=12
+
+log4j.appender.TLA=org.apache.hadoop.mapred.TaskLogAppender
+log4j.appender.TLA.taskId=${hadoop.tasklog.taskid}
+log4j.appender.TLA.totalLogFileSize=${hadoop.tasklog.totalLogFileSize}
+
+log4j.appender.TLA.layout=org.apache.log4j.PatternLayout
+log4j.appender.TLA.layout.ConversionPattern=%d{ISO8601} %p %c: %m%n
+
+#
+# Rolling File Appender
+#
+
+#log4j.appender.RFA=org.apache.log4j.RollingFileAppender
+#log4j.appender.RFA.File=${hadoop.log.dir}/${hadoop.log.file}
+
+# Logfile size and and 30-day backups
+#log4j.appender.RFA.MaxFileSize=1MB
+#log4j.appender.RFA.MaxBackupIndex=30
+
+#log4j.appender.RFA.layout=org.apache.log4j.PatternLayout
+#log4j.appender.RFA.layout.ConversionPattern=%d{ISO8601} %-5p %c{2} - %m%n
+#log4j.appender.RFA.layout.ConversionPattern=%d{ISO8601} %-5p %c{2} (%F:%M(%L)) - %m%n
+
+#
+# FSNamesystem Audit logging
+# All audit events are logged at INFO level
+#
+log4j.logger.org.apache.hadoop.fs.FSNamesystem.audit=WARN
+
+# Custom Logging levels
+
+#log4j.logger.org.apache.hadoop.mapred.JobTracker=DEBUG
+#log4j.logger.org.apache.hadoop.mapred.TaskTracker=DEBUG
+#log4j.logger.org.apache.hadoop.fs.FSNamesystem=DEBUG
+
+# Jets3t library
+log4j.logger.org.jets3t.service.impl.rest.httpclient.RestS3Service=ERROR
+
+#
+# Event Counter Appender
+# Sends counts of logging messages at different severity levels to Hadoop Metrics.
+#
+log4j.appender.EventCounter=org.apache.hadoop.metrics.jvm.EventCounter
Index: /nutchez-0.1/conf/masters
===================================================================
--- /nutchez-0.1/conf/masters	(revision 66)
+++ /nutchez-0.1/conf/masters	(revision 66)
@@ -0,0 +1,1 @@
+localhost
Index: /nutchez-0.1/conf/nutch-conf.xsl
===================================================================
--- /nutchez-0.1/conf/nutch-conf.xsl	(revision 66)
+++ /nutchez-0.1/conf/nutch-conf.xsl	(revision 66)
@@ -0,0 +1,24 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+<xsl:output method="html"/>
+<xsl:template match="nutch-conf">
+<html>
+<body>
+<table border="1">
+<tr>
+ <td>name</td>
+ <td>value</td>
+ <td>description</td>
+</tr>
+<xsl:for-each select="property">
+<tr>
+  <td><xsl:value-of select="name"/></td>
+  <td><xsl:value-of select="value"/></td>
+  <td><xsl:value-of select="description"/></td>
+</tr>
+</xsl:for-each>
+</table>
+</body>
+</html>
+</xsl:template>
+</xsl:stylesheet>
Index: /nutchez-0.1/conf/nutch-default.xml
===================================================================
--- /nutchez-0.1/conf/nutch-default.xml	(revision 66)
+++ /nutchez-0.1/conf/nutch-default.xml	(revision 66)
@@ -0,0 +1,1280 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!-- Do not modify this file directly.  Instead, copy entries that you -->
+<!-- wish to modify from this file into nutch-site.xml and change them -->
+<!-- there.  If nutch-site.xml does not already exist, create it.      -->
+
+<configuration>
+
+<!-- file properties -->
+
+<property>
+  <name>file.content.limit</name>
+  <value>65536</value>
+  <description>The length limit for downloaded content, in bytes.
+  If this value is nonnegative (>=0), content longer than it will be truncated;
+  otherwise, no truncation at all.
+  </description>
+</property>
+
+<property>
+  <name>file.content.ignored</name>
+  <value>true</value>
+  <description>If true, no file content will be saved during fetch.
+  And it is probably what we want to set most of time, since file:// URLs
+  are meant to be local and we can always use them directly at parsing
+  and indexing stages. Otherwise file contents will be saved.
+  !! NO IMPLEMENTED YET !!
+  </description>
+</property>
+
+<!-- HTTP properties -->
+
+<property>
+  <name>http.agent.name</name>
+  <value></value>
+  <description>HTTP 'User-Agent' request header. MUST NOT be empty - 
+  please set this to a single word uniquely related to your organization.
+
+  NOTE: You should also check other related properties:
+
+	http.robots.agents
+	http.agent.description
+	http.agent.url
+	http.agent.email
+	http.agent.version
+
+  and set their values appropriately.
+
+  </description>
+</property>
+
+<property>
+  <name>http.robots.agents</name>
+  <value>*</value>
+  <description>The agent strings we'll look for in robots.txt files,
+  comma-separated, in decreasing order of precedence. You should
+  put the value of http.agent.name as the first agent name, and keep the
+  default * at the end of the list. E.g.: BlurflDev,Blurfl,*
+  </description>
+</property>
+
+<property>
+  <name>http.robots.403.allow</name>
+  <value>true</value>
+  <description>Some servers return HTTP status 403 (Forbidden) if
+  /robots.txt doesn't exist. This should probably mean that we are
+  allowed to crawl the site nonetheless. If this is set to false,
+  then such sites will be treated as forbidden.</description>
+</property>
+
+<property>
+  <name>http.agent.description</name>
+  <value></value>
+  <description>Further description of our bot- this text is used in
+  the User-Agent header.  It appears in parenthesis after the agent name.
+  </description>
+</property>
+
+<property>
+  <name>http.agent.url</name>
+  <value></value>
+  <description>A URL to advertise in the User-Agent header.  This will 
+   appear in parenthesis after the agent name. Custom dictates that this
+   should be a URL of a page explaining the purpose and behavior of this
+   crawler.
+  </description>
+</property>
+
+<property>
+  <name>http.agent.email</name>
+  <value></value>
+  <description>An email address to advertise in the HTTP 'From' request
+   header and User-Agent header. A good practice is to mangle this
+   address (e.g. 'info at example dot com') to avoid spamming.
+  </description>
+</property>
+
+<property>
+  <name>http.agent.version</name>
+  <value>Nutch-1.0</value>
+  <description>A version string to advertise in the User-Agent 
+   header.</description>
+</property>
+
+<property>
+  <name>http.agent.host</name>
+  <value></value>
+  <description>Name or IP address of the host on which the Nutch crawler
+  would be running. Currently this is used by 'protocol-httpclient'
+  plugin.
+  </description>
+</property>
+
+<property>
+  <name>http.timeout</name>
+  <value>10000</value>
+  <description>The default network timeout, in milliseconds.</description>
+</property>
+
+<property>
+  <name>http.max.delays</name>
+  <value>100</value>
+  <description>The number of times a thread will delay when trying to
+  fetch a page.  Each time it finds that a host is busy, it will wait
+  fetcher.server.delay.  After http.max.delays attepts, it will give
+  up on the page for now.</description>
+</property>
+
+<property>
+  <name>http.content.limit</name>
+  <value>65536</value>
+  <description>The length limit for downloaded content, in bytes.
+  If this value is nonnegative (>=0), content longer than it will be truncated;
+  otherwise, no truncation at all.
+  </description>
+</property>
+
+<property>
+  <name>http.proxy.host</name>
+  <value></value>
+  <description>The proxy hostname.  If empty, no proxy is used.</description>
+</property>
+
+<property>
+  <name>http.proxy.port</name>
+  <value></value>
+  <description>The proxy port.</description>
+</property>
+
+<property>
+  <name>http.proxy.username</name>
+  <value></value>
+  <description>Username for proxy. This will be used by
+  'protocol-httpclient', if the proxy server requests basic, digest
+  and/or NTLM authentication. To use this, 'protocol-httpclient' must
+  be present in the value of 'plugin.includes' property.
+  NOTE: For NTLM authentication, do not prefix the username with the
+  domain, i.e. 'susam' is correct whereas 'DOMAIN\susam' is incorrect.
+  </description>
+</property>
+
+<property>
+  <name>http.proxy.password</name>
+  <value></value>
+  <description>Password for proxy. This will be used by
+  'protocol-httpclient', if the proxy server requests basic, digest
+  and/or NTLM authentication. To use this, 'protocol-httpclient' must
+  be present in the value of 'plugin.includes' property.
+  </description>
+</property>
+
+<property>
+  <name>http.proxy.realm</name>
+  <value></value>
+  <description>Authentication realm for proxy. Do not define a value
+  if realm is not required or authentication should take place for any
+  realm. NTLM does not use the notion of realms. Specify the domain name
+  of NTLM authentication as the value for this property. To use this,
+  'protocol-httpclient' must be present in the value of
+  'plugin.includes' property.
+  </description>
+</property>
+
+<property>
+  <name>http.auth.file</name>
+  <value>httpclient-auth.xml</value>
+  <description>Authentication configuration file for
+  'protocol-httpclient' plugin.
+  </description>
+</property>
+
+<property>
+  <name>http.verbose</name>
+  <value>false</value>
+  <description>If true, HTTP will log more verbosely.</description>
+</property>
+
+<property>
+  <name>http.redirect.max</name>
+  <value>0</value>
+  <description>The maximum number of redirects the fetcher will follow when
+  trying to fetch a page. If set to negative or 0, fetcher won't immediately
+  follow redirected URLs, instead it will record them for later fetching.
+  </description>
+</property>
+
+<property>
+  <name>http.useHttp11</name>
+  <value>false</value>
+  <description>NOTE: at the moment this works only for protocol-httpclient.
+  If true, use HTTP 1.1, if false use HTTP 1.0 .
+  </description>
+</property>
+
+<!-- FTP properties -->
+
+<property>
+  <name>ftp.username</name>
+  <value>anonymous</value>
+  <description>ftp login username.</description>
+</property>
+
+<property>
+  <name>ftp.password</name>
+  <value>anonymous@example.com</value>
+  <description>ftp login password.</description>
+</property>
+
+<property>
+  <name>ftp.content.limit</name>
+  <value>65536</value> 
+  <description>The length limit for downloaded content, in bytes.
+  If this value is nonnegative (>=0), content longer than it will be truncated;
+  otherwise, no truncation at all.
+  Caution: classical ftp RFCs never defines partial transfer and, in fact,
+  some ftp servers out there do not handle client side forced close-down very
+  well. Our implementation tries its best to handle such situations smoothly.
+  </description>
+</property>
+
+<property>
+  <name>ftp.timeout</name>
+  <value>60000</value>
+  <description>Default timeout for ftp client socket, in millisec.
+  Please also see ftp.keep.connection below.</description>
+</property>
+
+<property>
+  <name>ftp.server.timeout</name>
+  <value>100000</value>
+  <description>An estimation of ftp server idle time, in millisec.
+  Typically it is 120000 millisec for many ftp servers out there.
+  Better be conservative here. Together with ftp.timeout, it is used to
+  decide if we need to delete (annihilate) current ftp.client instance and
+  force to start another ftp.client instance anew. This is necessary because
+  a fetcher thread may not be able to obtain next request from queue in time
+  (due to idleness) before our ftp client times out or remote server
+  disconnects. Used only when ftp.keep.connection is true (please see below).
+  </description>
+</property>
+
+<property>
+  <name>ftp.keep.connection</name>
+  <value>false</value>
+  <description>Whether to keep ftp connection. Useful if crawling same host
+  again and again. When set to true, it avoids connection, login and dir list
+  parser setup for subsequent urls. If it is set to true, however, you must
+  make sure (roughly):
+  (1) ftp.timeout is less than ftp.server.timeout
+  (2) ftp.timeout is larger than (fetcher.threads.fetch * fetcher.server.delay)
+  Otherwise there will be too many "delete client because idled too long"
+  messages in thread logs.</description>
+</property>
+
+<property>
+  <name>ftp.follow.talk</name>
+  <value>false</value>
+  <description>Whether to log dialogue between our client and remote
+  server. Useful for debugging.</description>
+</property>
+
+<!-- web db properties -->
+
+<property>
+  <name>db.default.fetch.interval</name>
+  <value>30</value>
+  <description>(DEPRECATED) The default number of days between re-fetches of a page.
+  </description>
+</property>
+
+<property>
+  <name>db.fetch.interval.default</name>
+  <value>2592000</value>
+  <description>The default number of seconds between re-fetches of a page (30 days).
+  </description>
+</property>
+
+<property>
+  <name>db.fetch.interval.max</name>
+  <value>7776000</value>
+  <description>The maximum number of seconds between re-fetches of a page
+  (90 days). After this period every page in the db will be re-tried, no
+  matter what is its status.
+  </description>
+</property>
+
+<property>
+  <name>db.fetch.schedule.class</name>
+  <value>org.apache.nutch.crawl.DefaultFetchSchedule</value>
+  <description>The implementation of fetch schedule. DefaultFetchSchedule simply
+  adds the original fetchInterval to the last fetch time, regardless of
+  page changes.</description>
+</property>
+
+<property>
+  <name>db.fetch.schedule.adaptive.inc_rate</name>
+  <value>0.4</value>
+  <description>If a page is unmodified, its fetchInterval will be
+  increased by this rate. This value should not
+  exceed 0.5, otherwise the algorithm becomes unstable.</description>
+</property>
+
+<property>
+  <name>db.fetch.schedule.adaptive.dec_rate</name>
+  <value>0.2</value>
+  <description>If a page is modified, its fetchInterval will be
+  decreased by this rate. This value should not
+  exceed 0.5, otherwise the algorithm becomes unstable.</description>
+</property>
+
+<property>
+  <name>db.fetch.schedule.adaptive.min_interval</name>
+  <value>60.0</value>
+  <description>Minimum fetchInterval, in seconds.</description>
+</property>
+
+<property>
+  <name>db.fetch.schedule.adaptive.max_interval</name>
+  <value>31536000.0</value>
+  <description>Maximum fetchInterval, in seconds (365 days).
+  NOTE: this is limited by db.fetch.interval.max. Pages with
+  fetchInterval larger than db.fetch.interval.max
+  will be fetched anyway.</description>
+</property>
+
+<property>
+  <name>db.fetch.schedule.adaptive.sync_delta</name>
+  <value>true</value>
+  <description>If true, try to synchronize with the time of page change.
+  by shifting the next fetchTime by a fraction (sync_rate) of the difference
+  between the last modification time, and the last fetch time.</description>
+</property>
+
+<property>
+  <name>db.fetch.schedule.adaptive.sync_delta_rate</name>
+  <value>0.3</value>
+  <description>See sync_delta for description. This value should not
+  exceed 0.5, otherwise the algorithm becomes unstable.</description>
+</property>
+
+<property>
+  <name>db.update.additions.allowed</name>
+  <value>true</value>
+  <description>If true, updatedb will add newly discovered URLs, if false
+  only already existing URLs in the CrawlDb will be updated and no new
+  URLs will be added.
+  </description>
+</property>
+
+<property>
+  <name>db.ignore.internal.links</name>
+  <value>true</value>
+  <description>If true, when adding new links to a page, links from
+  the same host are ignored.  This is an effective way to limit the
+  size of the link database, keeping only the highest quality
+  links.
+  </description>
+</property>
+
+<property>
+  <name>db.ignore.external.links</name>
+  <value>false</value>
+  <description>If true, outlinks leading from a page to external hosts
+  will be ignored. This is an effective way to limit the crawl to include
+  only initially injected hosts, without creating complex URLFilters.
+  </description>
+</property>
+
+<property>
+  <name>db.score.injected</name>
+  <value>1.0</value>
+  <description>The score of new pages added by the injector.
+  </description>
+</property>
+
+<property>
+  <name>db.score.link.external</name>
+  <value>1.0</value>
+  <description>The score factor for new pages added due to a link from
+  another host relative to the referencing page's score. Scoring plugins
+  may use this value to affect initial scores of external links.
+  </description>
+</property>
+
+<property>
+  <name>db.score.link.internal</name>
+  <value>1.0</value>
+  <description>The score factor for pages added due to a link from the
+  same host, relative to the referencing page's score. Scoring plugins
+  may use this value to affect initial scores of internal links.
+  </description>
+</property>
+
+<property>
+  <name>db.score.count.filtered</name>
+  <value>false</value>
+  <description>The score value passed to newly discovered pages is
+  calculated as a fraction of the original page score divided by the
+  number of outlinks. If this option is false, only the outlinks that passed
+  URLFilters will count, if it's true then all outlinks will count.
+  </description>
+</property>
+
+<property>
+  <name>db.max.inlinks</name>
+  <value>10000</value>
+  <description>Maximum number of Inlinks per URL to be kept in LinkDb.
+  If "invertlinks" finds more inlinks than this number, only the first
+  N inlinks will be stored, and the rest will be discarded.
+  </description>
+</property>
+
+<property>
+  <name>db.max.outlinks.per.page</name>
+  <value>100</value>
+  <description>The maximum number of outlinks that we'll process for a page.
+  If this value is nonnegative (>=0), at most db.max.outlinks.per.page outlinks
+  will be processed for a page; otherwise, all outlinks will be processed.
+  </description>
+</property>
+
+<property>
+  <name>db.max.anchor.length</name>
+  <value>100</value>
+  <description>The maximum number of characters permitted in an anchor.
+  </description>
+</property>
+
+<property>
+  <name>db.fetch.retry.max</name>
+  <value>3</value>
+  <description>The maximum number of times a url that has encountered
+  recoverable errors is generated for fetch.</description>
+</property>
+
+<property>
+  <name>db.signature.class</name>
+  <value>org.apache.nutch.crawl.MD5Signature</value>
+  <description>The default implementation of a page signature. Signatures
+  created with this implementation will be used for duplicate detection
+  and removal.</description>
+</property>
+
+<property>
+  <name>db.signature.text_profile.min_token_len</name>
+  <value>2</value>
+  <description>Minimum token length to be included in the signature.
+  </description>
+</property>
+
+<property>
+  <name>db.signature.text_profile.quant_rate</name>
+  <value>0.01</value>
+  <description>Profile frequencies will be rounded down to a multiple of
+  QUANT = (int)(QUANT_RATE * maxFreq), where maxFreq is a maximum token
+  frequency. If maxFreq > 1 then QUANT will be at least 2, which means that
+  for longer texts tokens with frequency 1 will always be discarded.
+  </description>
+</property>
+
+<!-- generate properties -->
+
+<property>
+  <name>generate.max.per.host</name>
+  <value>-1</value>
+  <description>The maximum number of urls per host in a single
+  fetchlist.  -1 if unlimited.</description>
+</property>
+
+<property>
+  <name>generate.max.per.host.by.ip</name>
+  <value>false</value>
+  <description>If false, same host names are counted. If true,
+  hosts' IP addresses are resolved and the same IP-s are counted.
+  
+  -+-+-+- WARNING !!! -+-+-+-
+  When set to true, Generator will create a lot of DNS lookup
+  requests, rapidly. This may cause a DOS attack on
+  remote DNS servers, not to mention increased external traffic
+  and latency. For these reasons when using this option it is
+  required that a local caching DNS be used.</description>
+</property>
+
+<property>
+  <name>generate.update.crawldb</name>
+  <value>false</value>
+  <description>For highly-concurrent environments, where several
+  generate/fetch/update cycles may overlap, setting this to true ensures
+  that generate will create different fetchlists even without intervening
+  updatedb-s, at the cost of running an additional job to update CrawlDB.
+  If false, running generate twice without intervening
+  updatedb will generate identical fetchlists.</description>
+</property>
+
+<!-- fetcher properties -->
+
+<property>
+  <name>fetcher.server.delay</name>
+  <value>5.0</value>
+  <description>The number of seconds the fetcher will delay between 
+   successive requests to the same server.</description>
+</property>
+
+<property>
+  <name>fetcher.server.min.delay</name>
+  <value>0.0</value>
+  <description>The minimum number of seconds the fetcher will delay between 
+  successive requests to the same server. This value is applicable ONLY
+  if fetcher.threads.per.host is greater than 1 (i.e. the host blocking
+  is turned off).</description>
+</property>
+
+<property>
+ <name>fetcher.max.crawl.delay</name>
+ <value>30</value>
+ <description>
+ If the Crawl-Delay in robots.txt is set to greater than this value (in
+ seconds) then the fetcher will skip this page, generating an error report.
+ If set to -1 the fetcher will never skip such pages and will wait the
+ amount of time retrieved from robots.txt Crawl-Delay, however long that
+ might be.
+ </description>
+</property> 
+
+<property>
+  <name>fetcher.threads.fetch</name>
+  <value>10</value>
+  <description>The number of FetcherThreads the fetcher should use.
+    This is also determines the maximum number of requests that are 
+    made at once (each FetcherThread handles one connection).</description>
+</property>
+
+<property>
+  <name>fetcher.threads.per.host</name>
+  <value>1</value>
+  <description>This number is the maximum number of threads that
+    should be allowed to access a host at one time.</description>
+</property>
+
+<property>
+  <name>fetcher.threads.per.host.by.ip</name>
+  <value>true</value>
+  <description>If true, then fetcher will count threads by IP address,
+  to which the URL's host name resolves. If false, only host name will be
+  used. NOTE: this should be set to the same value as
+  "generate.max.per.host.by.ip" - default settings are different only for
+  reasons of backward-compatibility.</description>
+</property>
+
+<property>
+  <name>fetcher.verbose</name>
+  <value>false</value>
+  <description>If true, fetcher will log more verbosely.</description>
+</property>
+
+<property>
+  <name>fetcher.parse</name>
+  <value>true</value>
+  <description>If true, fetcher will parse content.</description>
+</property>
+
+<property>
+  <name>fetcher.store.content</name>
+  <value>true</value>
+  <description>If true, fetcher will store content.</description>
+</property>
+
+<!-- indexer properties -->
+
+<property>
+  <name>indexer.score.power</name>
+  <value>0.5</value>
+  <description>Determines the power of link analyis scores.  Each
+  pages's boost is set to <i>score<sup>scorePower</sup></i> where
+  <i>score</i> is its link analysis score and <i>scorePower</i> is the
+  value of this parameter.  This is compiled into indexes, so, when
+  this is changed, pages must be re-indexed for it to take
+  effect.</description>
+</property>
+
+<property>
+  <name>indexer.max.title.length</name>
+  <value>100</value>
+  <description>The maximum number of characters of a title that are indexed.
+  </description>
+</property>
+
+<property>
+  <name>indexer.max.tokens</name>
+  <value>10000</value>
+  <description>
+  The maximum number of tokens that will be indexed for a single field
+  in a document. This limits the amount of memory required for
+  indexing, so that collections with very large files will not crash
+  the indexing process by running out of memory.
+
+  Note that this effectively truncates large documents, excluding
+  from the index tokens that occur further in the document. If you
+  know your source documents are large, be sure to set this value
+  high enough to accomodate the expected size. If you set it to
+  -1, then the only limit is your memory, but you should anticipate
+  an OutOfMemoryError.
+  </description>
+</property>
+
+<property>
+  <name>indexer.mergeFactor</name>
+  <value>50</value>
+  <description>The factor that determines the frequency of Lucene segment
+  merges. This must not be less than 2, higher values increase indexing
+  speed but lead to increased RAM usage, and increase the number of
+  open file handles (which may lead to "Too many open files" errors).
+  NOTE: the "segments" here have nothing to do with Nutch segments, they
+  are a low-level data unit used by Lucene.
+  </description>
+</property>
+
+<property>
+  <name>indexer.minMergeDocs</name>
+  <value>50</value>
+  <description>This number determines the minimum number of Lucene
+  Documents buffered in memory between Lucene segment merges. Larger
+  values increase indexing speed and increase RAM usage.
+  </description>
+</property>
+
+<property>
+  <name>indexer.maxMergeDocs</name>
+  <value>2147483647</value>
+  <description>This number determines the maximum number of Lucene
+  Documents to be merged into a new Lucene segment. Larger values
+  increase batch indexing speed and reduce the number of Lucene segments,
+  which reduces the number of open file handles; however, this also
+  decreases incremental indexing performance.
+  </description>
+</property>
+
+<property>
+  <name>indexer.termIndexInterval</name>
+  <value>128</value>
+  <description>Determines the fraction of terms which Lucene keeps in
+  RAM when searching, to facilitate random-access.  Smaller values use
+  more memory but make searches somewhat faster.  Larger values use
+  less memory but make searches somewhat slower.
+  </description>
+</property>
+
+<!-- indexingfilter plugin properties -->
+
+<property>
+  <name>indexingfilter.order</name>
+  <value></value>
+  <description>The order by which index filters are applied.
+  If empty, all available index filters (as dictated by properties
+  plugin-includes and plugin-excludes above) are loaded and applied in system
+  defined order. If not empty, only named filters are loaded and applied
+  in given order. For example, if this property has value:
+  org.apache.nutch.indexer.basic.BasicIndexingFilter org.apache.nutch.indexer.more.MoreIndexingFilter
+  then BasicIndexingFilter is applied first, and MoreIndexingFilter second.
+  
+  Filter ordering might have impact on result if one filter depends on output of
+  another filter.
+  </description>
+</property>
+
+
+<!-- analysis properties -->
+
+<property>
+  <name>analysis.common.terms.file</name>
+  <value>common-terms.utf8</value>
+  <description>The name of a file containing a list of common terms
+  that should be indexed in n-grams.</description>
+</property>
+
+<!-- searcher properties -->
+
+<property>
+  <name>searcher.dir</name>
+  <value>crawl</value>
+  <description>
+  Path to root of crawl.  This directory is searched (in
+  order) for either the file search-servers.txt, containing a list of
+  distributed search servers, or the directory "index" containing
+  merged indexes, or the directory "segments" containing segment
+  indexes.
+  </description>
+</property>
+
+<property>
+  <name>searcher.filter.cache.size</name>
+  <value>16</value>
+  <description>
+  Maximum number of filters to cache.  Filters can accelerate certain
+  field-based queries, like language, document format, etc.  Each
+  filter requires one bit of RAM per page.  So, with a 10 million page
+  index, a cache size of 16 consumes two bytes per page, or 20MB.
+  </description>
+</property>
+
+<property>
+  <name>searcher.filter.cache.threshold</name>
+  <value>0.05</value>
+  <description>
+  Filters are cached when their term is matched by more than this
+  fraction of pages.  For example, with a threshold of 0.05, and 10
+  million pages, the term must match more than 1/20, or 50,000 pages.
+  So, if out of 10 million pages, 50% of pages are in English, and 2%
+  are in Finnish, then, with a threshold of 0.05, searches for
+  "lang:en" will use a cached filter, while searches for "lang:fi"
+  will score all 20,000 finnish documents.
+  </description>
+</property>
+
+<property>
+  <name>searcher.hostgrouping.rawhits.factor</name>
+  <value>2.0</value>
+  <description>
+  A factor that is used to determine the number of raw hits
+  initially fetched, before host grouping is done.
+  </description>
+</property>
+
+<property>
+  <name>searcher.summary.context</name>
+  <value>5</value>
+  <description>
+  The number of context terms to display preceding and following
+  matching terms in a hit summary.
+  </description>
+</property>
+
+<property>
+  <name>searcher.summary.length</name>
+  <value>20</value>
+  <description>
+  The total number of terms to display in a hit summary.
+  </description>
+</property>
+
+<property>
+  <name>searcher.max.hits</name>
+  <value>-1</value>
+  <description>If positive, search stops after this many hits are
+  found.  Setting this to small, positive values (e.g., 1000) can make
+  searches much faster.  With a sorted index, the quality of the hits
+  suffers little.</description>
+</property>
+
+<property>
+  <name>searcher.max.time.tick_count</name>
+  <value>-1</value>
+  <description>If positive value is defined here, limit search time for
+  every request to this number of elapsed ticks (see the tick_length
+  property below). The total maximum time for any search request will be
+  then limited to tick_count * tick_length milliseconds. When search time
+  is exceeded, partial results will be returned, and the total number of
+  hits will be estimated.
+  </description>
+</property>
+
+<property>
+  <name>searcher.max.time.tick_length</name>
+  <value>200</value>
+  <description>The number of milliseconds between ticks. Larger values
+  reduce the timer granularity (precision). Smaller values bring more
+  overhead.
+  </description>
+</property>
+
+<property>
+  <name>searcher.num.handlers</name>
+  <value>10</value>
+  <description>The number of handlers for the distributed search server.
+  </description>
+</property>
+
+<property>
+  <name>searcher.max.hits.per.page</name>
+  <value>1000</value>
+  <description> The maximum number of hits to show per page. -1 if
+    unlimited. If the number of hits requested by the user (via
+    hitsPerPage parameter in the query string) is more than the value
+    specified in this property, then this value is assumed as the number
+    of hits per page.
+  </description>
+</property>
+
+<!-- URL normalizer properties -->
+
+<property>
+  <name>urlnormalizer.order</name>
+  <value>org.apache.nutch.net.urlnormalizer.basic.BasicURLNormalizer org.apache.nutch.net.urlnormalizer.regex.RegexURLNormalizer</value>
+  <description>Order in which normalizers will run. If any of these isn't
+  activated it will be silently skipped. If other normalizers not on the
+  list are activated, they will run in random order after the ones
+  specified here are run.
+  </description>
+</property>
+
+<property>
+  <name>urlnormalizer.regex.file</name>
+  <value>regex-normalize.xml</value>
+  <description>Name of the config file used by the RegexUrlNormalizer class.
+  </description>
+</property>
+
+<property>
+  <name>urlnormalizer.loop.count</name>
+  <value>1</value>
+  <description>Optionally loop through normalizers several times, to make
+  sure that all transformations have been performed.
+  </description>
+</property>
+
+<!-- mime properties -->
+
+<property>
+  <name>mime.types.file</name>
+  <value>tika-mimetypes.xml</value>
+  <description>Name of file in CLASSPATH containing filename extension and
+  magic sequence to mime types mapping information</description>
+</property>
+
+<property>
+  <name>mime.type.magic</name>
+  <value>true</value>
+  <description>Defines if the mime content type detector uses magic resolution.
+  </description>
+</property>
+
+<!-- plugin properties -->
+
+<property>
+  <name>plugin.folders</name>
+  <value>plugins</value>
+  <description>Directories where nutch plugins are located.  Each
+  element may be a relative or absolute path.  If absolute, it is used
+  as is.  If relative, it is searched for on the classpath.</description>
+</property>
+
+<property>
+  <name>plugin.auto-activation</name>
+  <value>true</value>
+  <description>Defines if some plugins that are not activated regarding
+  the plugin.includes and plugin.excludes properties must be automaticaly
+  activated if they are needed by some actived plugins.
+  </description>
+</property>
+
+<property>
+  <name>plugin.includes</name>
+  <value>protocol-http|urlfilter-regex|parse-(text|html|js)|index-(basic|anchor)|query-(basic|site|url)|response-(json|xml)|summary-basic|scoring-opic|urlnormalizer-(pass|regex|basic)</value>
+  <description>Regular expression naming plugin directory names to
+  include.  Any plugin not matching this expression is excluded.
+  In any case you need at least include the nutch-extensionpoints plugin. By
+  default Nutch includes crawling just HTML and plain text via HTTP,
+  and basic indexing and search plugins. In order to use HTTPS please enable 
+  protocol-httpclient, but be aware of possible intermittent problems with the 
+  underlying commons-httpclient library.
+  </description>
+</property>
+
+<property>
+  <name>plugin.excludes</name>
+  <value></value>
+  <description>Regular expression naming plugin directory names to exclude.  
+  </description>
+</property>
+
+<!-- parser properties -->
+
+<property>
+  <name>parse.plugin.file</name>
+  <value>parse-plugins.xml</value>
+  <description>The name of the file that defines the associations between
+  content-types and parsers.</description>
+</property>
+
+<property>
+  <name>parser.character.encoding.default</name>
+  <value>windows-1252</value>
+  <description>The character encoding to fall back to when no other information
+  is available</description>
+</property>
+
+<property>
+  <name>encodingdetector.charset.min.confidence</name>
+  <value>-1</value>
+  <description>A integer between 0-100 indicating minimum confidence value
+  for charset auto-detection. Any negative value disables auto-detection.
+  </description>
+</property>
+
+<property>
+  <name>parser.caching.forbidden.policy</name>
+  <value>content</value>
+  <description>If a site (or a page) requests through its robot metatags
+  that it should not be shown as cached content, apply this policy. Currently
+  three keywords are recognized: "none" ignores any "noarchive" directives.
+  "content" doesn't show the content, but shows summaries (snippets).
+  "all" doesn't show either content or summaries.</description>
+</property>
+
+
+<property>
+  <name>parser.html.impl</name>
+  <value>neko</value>
+  <description>HTML Parser implementation. Currently the following keywords
+  are recognized: "neko" uses NekoHTML, "tagsoup" uses TagSoup.
+  </description>
+</property>
+
+<property>
+  <name>parser.html.form.use_action</name>
+  <value>false</value>
+  <description>If true, HTML parser will collect URLs from form action
+  attributes. This may lead to undesirable behavior (submitting empty
+  forms during next fetch cycle). If false, form action attribute will
+  be ignored.</description>
+</property>
+
+<property>
+  <name>parser.html.outlinks.ignore_tags</name>
+  <value></value>
+  <description>Comma separated list of HTML tags, from which outlinks 
+  shouldn't be extracted. Nutch takes links from: a, area, form, frame, 
+  iframe, script, link, img. If you add any of those tags here, it
+  won't be taken. Default is empty list. Probably reasonable value
+  for most people would be "img,script,link".</description>
+</property>
+
+
+<!-- urlfilter plugin properties -->
+
+<property>
+  <name>urlfilter.domain.file</name>
+  <value>domain-urlfilter.txt</value>
+  <description>Name of file on CLASSPATH containing either top level domains or
+  hostnames used by urlfilter-domain (DomainURLFilter) plugin.</description>
+</property>
+
+<property>
+  <name>urlfilter.regex.file</name>
+  <value>regex-urlfilter.txt</value>
+  <description>Name of file on CLASSPATH containing regular expressions
+  used by urlfilter-regex (RegexURLFilter) plugin.</description>
+</property>
+
+<property>
+  <name>urlfilter.automaton.file</name>
+  <value>automaton-urlfilter.txt</value>
+  <description>Name of file on CLASSPATH containing regular expressions
+  used by urlfilter-automaton (AutomatonURLFilter) plugin.</description>
+</property>
+
+<property>
+  <name>urlfilter.prefix.file</name>
+  <value>prefix-urlfilter.txt</value>
+  <description>Name of file on CLASSPATH containing url prefixes
+  used by urlfilter-prefix (PrefixURLFilter) plugin.</description>
+</property>
+
+<property>
+  <name>urlfilter.suffix.file</name>
+  <value>suffix-urlfilter.txt</value>
+  <description>Name of file on CLASSPATH containing url suffixes
+  used by urlfilter-suffix (SuffixURLFilter) plugin.</description>
+</property>
+
+<property>
+  <name>urlfilter.order</name>
+  <value></value>
+  <description>The order by which url filters are applied.
+  If empty, all available url filters (as dictated by properties
+  plugin-includes and plugin-excludes above) are loaded and applied in system
+  defined order. If not empty, only named filters are loaded and applied
+  in given order. For example, if this property has value:
+  org.apache.nutch.urlfilter.regex.RegexURLFilter org.apache.nutch.urlfilter.prefix.PrefixURLFilter
+  then RegexURLFilter is applied first, and PrefixURLFilter second.
+  Since all filters are AND'ed, filter ordering does not have impact
+  on end result, but it may have performance implication, depending
+  on relative expensiveness of filters.
+  </description>
+</property>
+
+<!-- scoring filters properties -->
+
+<property>
+  <name>scoring.filter.order</name>
+  <value></value>
+  <description>The order in which scoring filters are applied.
+  This may be left empty (in which case all available scoring
+  filters will be applied in the order defined in plugin-includes
+  and plugin-excludes), or a space separated list of implementation
+  classes.
+  </description>
+</property>
+
+<!-- clustering extension properties -->
+
+<property>
+  <name>extension.clustering.hits-to-cluster</name>
+  <value>100</value>
+  <description>Number of snippets retrieved for the clustering extension
+  if clustering extension is available and user requested results
+  to be clustered.</description>
+</property>
+
+<property>
+  <name>extension.clustering.extension-name</name>
+  <value></value>
+  <description>Use the specified online clustering extension. If empty,
+  the first available extension will be used. The "name" here refers to an 'id'
+  attribute of the 'implementation' element in the plugin descriptor XML
+  file.</description>
+</property>
+
+<!-- ontology extension properties -->
+
+<property>
+  <name>extension.ontology.extension-name</name>
+  <value></value>
+  <description>Use the specified online ontology extension. If empty,
+  the first available extension will be used. The "name" here refers to an 'id'
+  attribute of the 'implementation' element in the plugin descriptor XML
+  file.</description>
+</property>
+
+<property>
+  <name>extension.ontology.urls</name>
+  <value>
+  </value>
+  <description>Urls of owl files, separated by spaces, such as
+  http://www.example.com/ontology/time.owl
+  http://www.example.com/ontology/space.owl
+  http://www.example.com/ontology/wine.owl
+  Or
+  file:/ontology/time.owl
+  file:/ontology/space.owl
+  file:/ontology/wine.owl
+  You have to make sure each url is valid.
+  By default, there is no owl file, so query refinement based on ontology
+  is silently ignored.
+  </description>
+</property>
+
+<!-- query-basic plugin properties -->
+
+<property>
+  <name>query.url.boost</name>
+  <value>4.0</value>
+  <description> Used as a boost for url field in Lucene query.
+  </description>
+</property>
+
+<property>
+  <name>query.anchor.boost</name>
+  <value>2.0</value>
+  <description> Used as a boost for anchor field in Lucene query.
+  </description>
+</property>
+
+<property>
+  <name>query.title.boost</name>
+  <value>1.5</value>
+  <description> Used as a boost for title field in Lucene query.
+  </description>
+</property>
+
+<property>
+  <name>query.host.boost</name>
+  <value>2.0</value>
+  <description> Used as a boost for host field in Lucene query.
+  </description>
+</property>
+
+<property>
+  <name>query.phrase.boost</name>
+  <value>1.0</value>
+  <description> Used as a boost for phrase in Lucene query.
+  Multiplied by boost for field phrase is matched in.
+  </description>
+</property>
+
+<!--
+<property>
+  <name>query.basic.description.boost</name>
+  <value>1.0</value>
+  <description> Declares a custom field and its boost to be added to the default fields of the Lucene query.
+  </description>
+</property>
+-->
+
+<!-- creative-commons plugin properties -->
+
+<property>
+  <name>query.cc.boost</name>
+  <value>0.0</value>
+  <description> Used as a boost for cc field in Lucene query.
+  </description>
+</property>
+
+<!-- query-more plugin properties -->
+
+<property>
+  <name>query.type.boost</name>
+  <value>0.0</value>
+  <description> Used as a boost for type field in Lucene query.
+  </description>
+</property>
+
+<!-- query-site plugin properties -->
+
+<property>
+  <name>query.site.boost</name>
+  <value>0.0</value>
+  <description> Used as a boost for site field in Lucene query.
+  </description>
+</property>
+
+<!-- microformats-reltag plugin properties -->
+
+<property>
+  <name>query.tag.boost</name>
+  <value>1.0</value>
+  <description> Used as a boost for tag field in Lucene query.
+  </description>
+</property>
+
+<!-- language-identifier plugin properties -->
+
+<property>
+  <name>lang.ngram.min.length</name>
+  <value>1</value>
+  <description> The minimum size of ngrams to uses to identify
+  language (must be between 1 and lang.ngram.max.length).
+  The larger is the range between lang.ngram.min.length and
+  lang.ngram.max.length, the better is the identification, but
+  the slowest it is.
+  </description>
+</property>
+
+<property>
+  <name>lang.ngram.max.length</name>
+  <value>4</value>
+  <description> The maximum size of ngrams to uses to identify
+  language (must be between lang.ngram.min.length and 4).
+  The larger is the range between lang.ngram.min.length and
+  lang.ngram.max.length, the better is the identification, but
+  the slowest it is.
+  </description>
+</property>
+
+<property>
+  <name>lang.analyze.max.length</name>
+  <value>2048</value>
+  <description> The maximum bytes of data to uses to indentify
+  the language (0 means full content analysis).
+  The larger is this value, the better is the analysis, but the
+  slowest it is.
+  </description>
+</property>
+
+<property>
+  <name>query.lang.boost</name>
+  <value>0.0</value>
+  <description> Used as a boost for lang field in Lucene query.
+  </description>
+</property>
+
+<!-- Temporary Hadoop 0.17.x workaround. -->
+
+<property>
+  <name>hadoop.job.history.user.location</name>
+  <value>${hadoop.log.dir}/history/user</value>
+  <description>Hadoop 0.17.x comes with a default setting to create
+     user logs inside the output path of the job. This breaks some
+     Hadoop classes, which expect the output to contain only
+     part-XXXXX files. This setting changes the output to a
+     subdirectory of the regular log directory.
+  </description>
+</property>
+
+<!-- response writer properties -->
+
+<property>
+  <name>search.response.default.type</name>
+  <value>xml</value>
+  <description>
+  The default response type returned if none is specified.
+  </description>
+</property>
+
+<property>
+  <name>search.response.default.lang</name>
+  <value>en</value>
+  <description>
+  The default response language if none is specified.
+  </description>
+</property>
+
+<property>
+  <name>search.response.default.numrows</name>
+  <value>10</value>
+  <description>
+  The default number of rows to return if none is specified.
+  </description>
+</property>
+
+<property>
+  <name>search.response.default.dedupfield</name>
+  <value>site</value>
+  <description>
+  The default dedup field if none is specified.
+  </description>
+</property>
+
+<property>
+  <name>search.response.default.numdupes</name>
+  <value>1</value>
+  <description>
+  The default number of duplicates returned if none is specified.
+  </description>
+</property>
+
+<property>
+  <name>searcher.response.maxage</name>
+  <value>86400</value>
+  <description>
+  The maxage of a response in seconds. Used in caching headers.
+  </description>
+</property>
+
+<property>
+  <name>searcher.response.prettyprint</name>
+  <value>true</value>
+  <description>
+  Should the response output be pretty printed.  Setting to true enables better
+  debugging, false removes unneeded spaces and gives better throughput.
+  </description>
+</property>
+
+</configuration>
Index: /nutchez-0.1/conf/nutch-site.xml
===================================================================
--- /nutchez-0.1/conf/nutch-site.xml	(revision 66)
+++ /nutchez-0.1/conf/nutch-site.xml	(revision 66)
@@ -0,0 +1,65 @@
+<configuration>
+<property>
+  <name>http.agent.name</name>
+  <value>user</value>
+  <description>HTTP 'User-Agent' request header. </description> 
+</property>
+<property>
+  <name>http.agent.description</name>
+  <value>MyTest</value>
+  <description>Further description</description> 
+</property>
+<property>
+  <name>http.agent.url</name> 
+  <value>localhost</value> 
+  <description>A URL to advertise in the User-Agent header. </description> 
+</property>
+<property>
+  <name>http.agent.email</name>
+  <value>you@yous</value> 
+  <description>An email address 
+  </description> 
+</property>
+<property>
+  <name>plugin.includes</name>
+  <value>protocol-(http|httpclient)|urlfilter-regex|parse-(text|html|js|ext|msexcel|mspowerpoint|msword|oo|pdf|rss|swf|zip)|index-(more|basic|anchor)|query-(more|basic|site|url)|response-(json|xml)|summary-basic|scoring-opic|urlnormalizer-(pass|regex|basic)</value>
+  <description> Regular expression naming plugin directory names</description>
+ </property>
+ <property>
+  <name>parse.plugin.file</name>
+  <value>parse-plugins.xml</value>
+  <description>The name of the file that defines the associations between
+  content-types and parsers.</description>
+ </property>
+ <property>
+   <name>db.max.outlinks.per.page</name>
+   <value>-1</value>
+   <description> </description>
+ </property> 
+ <property>
+   <name>http.content.limit</name> 
+   <value>-1</value>
+ </property>
+<property>
+  <name>indexer.mergeFactor</name>
+  <value>500</value>
+  <description>The factor that determines the frequency of Lucene segment
+  merges. This must not be less than 2, higher values increase indexing
+  speed but lead to increased RAM usage, and increase the number of
+  open file handles (which may lead to "Too many open files" errors).
+  NOTE: the "segments" here have nothing to do with Nutch segments, they
+  are a low-level data unit used by Lucene.
+  </description>
+</property>
+
+<property>
+  <name>indexer.minMergeDocs</name>
+  <value>500</value>
+  <description>This number determines the minimum number of Lucene
+  Documents buffered in memory between Lucene segment merges. Larger
+  values increase indexing speed and increase RAM usage.
+  </description>
+</property>
+
+</configuration>
+
Index: /nutchez-0.1/conf/parse-plugins.dtd
===================================================================
--- /nutchez-0.1/conf/parse-plugins.dtd	(revision 66)
+++ /nutchez-0.1/conf/parse-plugins.dtd	(revision 66)
@@ -0,0 +1,12 @@
+<!ELEMENT parse-plugins  (mimeType+,aliases)>
+<!ELEMENT mimeType (plugin+)>
+<!ATTLIST mimeType name CDATA #REQUIRED>
+
+<!ELEMENT plugin EMPTY>
+<!ATTLIST plugin id CDATA #REQUIRED>
+<!ATTLIST plugin order CDATA ''>
+
+<!ELEMENT aliases (alias+)>
+<!ELEMENT alias EMPTY>
+<!ATTLIST alias name CDATA #REQUIRED>
+<!ATTLIST alias extension-id CDATA #REQUIRED>
Index: /nutchez-0.1/conf/parse-plugins.xml
===================================================================
--- /nutchez-0.1/conf/parse-plugins.xml	(revision 66)
+++ /nutchez-0.1/conf/parse-plugins.xml	(revision 66)
@@ -0,0 +1,221 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+	Licensed to the Apache Software Foundation (ASF) under one or more
+	contributor license agreements.  See the NOTICE file distributed with
+	this work for additional information regarding copyright ownership.
+	The ASF licenses this file to You under the Apache License, Version 2.0
+	(the "License"); you may not use this file except in compliance with
+	the License.  You may obtain a copy of the License at
+	
+	http://www.apache.org/licenses/LICENSE-2.0
+	
+	Unless required by applicable law or agreed to in writing, software
+	distributed under the License is distributed on an "AS IS" BASIS,
+	WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+	See the License for the specific language governing permissions and
+	limitations under the License.
+	
+	Author     : mattmann 
+	Description: This xml file represents a natural ordering for which parsing 
+	plugin should get called for a particular mimeType. 
+-->
+
+<parse-plugins>
+
+	<mimeType name="application/msword">
+		<plugin id="parse-msword" />
+	</mimeType>
+
+	<mimeType name="application/pdf">
+		<plugin id="parse-pdf" />
+	</mimeType>
+
+	<mimeType name="application/postscript">
+		<plugin id="parse-pdf" />
+	</mimeType>
+
+	<mimeType name="application/rss+xml">
+	    <plugin id="parse-rss" />
+	    <plugin id="feed" />
+	</mimeType>
+
+	<mimeType name="application/vnd.ms-excel">
+		<plugin id="parse-msexcel" />
+	</mimeType>
+
+	<mimeType name="application/vnd.ms-powerpoint">
+		<plugin id="parse-mspowerpoint" />
+	</mimeType>
+
+	<mimeType name="application/vnd.oasis.opendocument.text">
+		<plugin id="parse-oo" />
+	</mimeType>
+
+	<mimeType name="application/vnd.oasis.opendocument.text-template">
+		<plugin id="parse-oo" />
+	</mimeType>
+
+	<mimeType name="application/vnd.oasis.opendocument.text-master">
+		<plugin id="parse-oo" />
+	</mimeType>
+
+	<mimeType name="application/vnd.oasis.opendocument.text-web">
+		<plugin id="parse-oo" />
+	</mimeType>
+
+	<mimeType name="application/vnd.oasis.opendocument.presentation">
+		<plugin id="parse-oo" />
+	</mimeType>
+
+	<mimeType name="application/vnd.oasis.opendocument.presentation-template">
+		<plugin id="parse-oo" />
+	</mimeType>
+
+	<mimeType name="application/vnd.oasis.opendocument.spreadsheet">
+		<plugin id="parse-oo" />
+	</mimeType>
+
+	<mimeType name="application/vnd.oasis.opendocument.spreadsheet-template">
+		<plugin id="parse-oo" />
+	</mimeType>
+
+	<mimeType name="application/vnd.sun.xml.calc">
+		<plugin id="parse-oo" />
+	</mimeType>
+
+	<mimeType name="application/vnd.sun.xml.calc.template">
+		<plugin id="parse-oo" />
+	</mimeType>
+
+	<mimeType name="application/vnd.sun.xml.impress">
+		<plugin id="parse-oo" />
+	</mimeType>
+
+	<mimeType name="application/vnd.sun.xml.impress.template">
+		<plugin id="parse-oo" />
+	</mimeType>
+
+	<mimeType name="application/vnd.sun.xml.writer">
+		<plugin id="parse-oo" />
+	</mimeType>
+
+	<mimeType name="application/vnd.sun.xml.writer.template">
+		<plugin id="parse-oo" />
+	</mimeType>
+
+	<mimeType name="application/xhtml+xml">
+		<plugin id="parse-html" />
+	</mimeType>
+
+	<mimeType name="application/x-bzip2">
+		<!--  try and parse it with the zip parser -->
+		<plugin id="parse-zip" />
+	</mimeType>
+
+	<mimeType name="application/x-csh">
+		<plugin id="parse-text" />
+	</mimeType>
+
+	<mimeType name="application/x-gzip">
+		<!--  try and parse it with the zip parser -->
+		<plugin id="parse-zip" />
+	</mimeType>
+
+	<mimeType name="application/x-javascript">
+		<plugin id="parse-js" />
+	</mimeType>
+
+	<mimeType name="application/x-kword">
+		<!--  try and parse it with the word parser -->
+		<plugin id="parse-msword" />
+	</mimeType>
+
+	<mimeType name="application/x-kspread">
+		<!--  try and parse it with the msexcel parser -->
+		<plugin id="parse-msexcel" />
+	</mimeType>
+
+	<mimeType name="application/x-shockwave-flash">
+		<plugin id="parse-swf" />
+	</mimeType>
+
+	<mimeType name="application/zip">
+		<plugin id="parse-zip" />
+	</mimeType>
+
+	<mimeType name="text/html">
+		<plugin id="parse-html" />
+	</mimeType>
+
+	<mimeType name="text/plain">
+		<plugin id="parse-text" />
+	</mimeType>
+
+	<mimeType name="text/richtext">
+		<plugin id="parse-rtf" />
+		<plugin id="parse-msword" />
+	</mimeType>
+
+	<mimeType name="text/rtf">
+		<plugin id="parse-rtf" />
+		<plugin id="parse-msword" />
+	</mimeType>
+
+	<mimeType name="text/sgml">
+		<plugin id="parse-html" />
+	</mimeType>
+
+	<mimeType name="text/tab-separated-values">
+		<plugin id="parse-msexcel" />
+	</mimeType>
+
+	<mimeType name="text/xml">
+		<plugin id="parse-html" />
+		<plugin id="parse-rss" />
+        <plugin id="feed" />
+	</mimeType>
+
+       <!-- Types for parse-ext plugin: required for unit tests to pass. -->
+
+	<mimeType name="application/vnd.nutch.example.cat">
+		<plugin id="parse-ext" />
+	</mimeType>
+
+	<mimeType name="application/vnd.nutch.example.md5sum">
+		<plugin id="parse-ext" />
+	</mimeType>
+
+	<!--  alias mappings for parse-xxx names to the actual extension implementation 
+	ids described in each plugin's plugin.xml file -->
+	<aliases>
+		<alias name="parse-ext" extension-id="ExtParser" />
+		<alias name="parse-html"
+			extension-id="org.apache.nutch.parse.html.HtmlParser" />
+		<alias name="parse-js" extension-id="JSParser" />
+		<alias name="parse-mp3"
+			extension-id="org.apache.nutch.parse.mp3.MP3Parser" />
+		<alias name="parse-msexcel"
+			extension-id="org.apache.nutch.parse.msexcel.MSExcelParser" />
+		<alias name="parse-mspowerpoint"
+			extension-id="org.apache.nutch.parse.mspowerpoint.MSPowerPointParser" />
+		<alias name="parse-msword"
+			extension-id="org.apache.nutch.parse.msword.MSWordParser" />
+		<alias name="parse-oo"
+			extension-id="org.apache.nutch.parse.oo.OpenDocument.Text" />
+		<alias name="parse-pdf"
+			extension-id="org.apache.nutch.parse.pdf.PdfParser" />
+		<alias name="parse-rss"
+			extension-id="org.apache.nutch.parse.rss.RSSParser" />
+        <alias name="feed"
+            extension-id="org.apache.nutch.parse.feed.FeedParser" />
+		<alias name="parse-rtf"
+			extension-id="org.apache.nutch.parse.rtf.RTFParseFactory" />
+		<alias name="parse-swf"
+			extension-id="org.apache.nutch.parse.swf.SWFParser" />
+		<alias name="parse-text"
+			extension-id="org.apache.nutch.parse.text.TextParser" />
+		<alias name="parse-zip"
+			extension-id="org.apache.nutch.parse.zip.ZipParser" />
+	</aliases>
+	
+</parse-plugins>
Index: /nutchez-0.1/conf/prefix-urlfilter.txt
===================================================================
--- /nutchez-0.1/conf/prefix-urlfilter.txt	(revision 66)
+++ /nutchez-0.1/conf/prefix-urlfilter.txt	(revision 66)
@@ -0,0 +1,21 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# config file for urlfilter-prefix plugin
+
+http://
+https://
+ftp://
+file://
Index: /nutchez-0.1/conf/regex-normalize.xml
===================================================================
--- /nutchez-0.1/conf/regex-normalize.xml	(revision 66)
+++ /nutchez-0.1/conf/regex-normalize.xml	(revision 66)
@@ -0,0 +1,66 @@
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!-- This is the configuration file for the RegexUrlNormalize Class.
+     This is intended so that users can specify substitutions to be
+     done on URLs. The regex engine that is used is Perl5 compatible.
+     The rules are applied to URLs in the order they occur in this file.  -->
+
+<!-- WATCH OUT: an xml parser reads this file an ampersands must be
+     expanded to &amp; -->
+
+<!-- The following rules show how to strip out session IDs, default pages, 
+     interpage anchors, etc. Order does matter!  -->
+<regex-normalize>
+
+<!-- removes session ids from urls (such as jsessionid and PHPSESSID) -->
+<regex>
+  <pattern>([;_]?((?i)l|j|bv_)?((?i)sid|phpsessid|sessionid)=.*?)(\?|&amp;|#|$)</pattern>
+  <substitution>$4</substitution>
+</regex>
+
+<!-- changes default pages into standard for /index.html, etc. into /
+<regex>
+  <pattern>/((?i)index|default)\.((?i)js[pf]{1}?[afx]?|cgi|cfm|asp[x]?|[psx]?htm[l]?|php[3456]?)(\?|&amp;|#|$)</pattern>
+  <substitution>/$3</substitution>
+</regex> -->
+
+<!-- removes interpage href anchors such as site.com#location -->
+<regex>
+  <pattern>#.*?(\?|&amp;|$)</pattern>
+  <substitution>$1</substitution>
+</regex>
+
+<!-- cleans ?&amp;var=value into ?var=value -->
+<regex>
+  <pattern>\?&amp;</pattern>
+  <substitution>\?</substitution>
+</regex>
+
+<!-- cleans multiple sequential ampersands into a single ampersand -->
+<regex>
+  <pattern>&amp;{2,}</pattern>
+  <substitution>&amp;</substitution>
+</regex>
+
+<!-- removes trailing ? -->
+<regex>
+  <pattern>[\?&amp;\.]$</pattern>
+  <substitution></substitution>
+</regex>
+
+</regex-normalize>
Index: /nutchez-0.1/conf/regex-urlfilter.txt
===================================================================
--- /nutchez-0.1/conf/regex-urlfilter.txt	(revision 66)
+++ /nutchez-0.1/conf/regex-urlfilter.txt	(revision 66)
@@ -0,0 +1,48 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
+# The url filter file used by the crawl command.
+
+# Better for intranet crawling.
+# Be sure to change MY.DOMAIN.NAME to your domain name.
+
+# Each non-comment, non-blank line contains a regular expression
+# prefixed by '+' or '-'.  The first matching pattern in the file
+# determines whether a URL is included or ignored.  If no pattern
+# matches, the URL is ignored.
+
+# skip file:, ftp:, & mailto: urls
+-^(ftp|mailto):
+
+# skip image and other suffixes we can't yet parse
+-\.(gif|GIF|jpg|JPG|png|PNG|ico|ICO|css|sit|eps|wmf|mpg|xls|gz|rpm|tgz|mov|MOV|exe|jpeg|JPEG|bmp|BMP)$
+
+# skip URLs containing certain characters as probable queries, etc.
+#-[?*!@=]
+-[*!@]
+
+# skip URLs with slash-delimited segment that repeats 3+ times, to break loops
+#-.*(/[^/]+)/[^/]+\1/[^/]+\1/
+
+# accept hosts in MY.DOMAIN.NAME
+#+^http://([a-z0-9]*\.)*MY.DOMAIN.NAME/
+#+^http://([a-z0-9]*\.)*.*/
+
+# skip everything else
+#-.
+
+#accecpt anything else
++.*
Index: /nutchez-0.1/conf/regex-urlfilter.txt.bek
===================================================================
--- /nutchez-0.1/conf/regex-urlfilter.txt.bek	(revision 66)
+++ /nutchez-0.1/conf/regex-urlfilter.txt.bek	(revision 66)
@@ -0,0 +1,38 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
+# The default url filter.
+# Better for whole-internet crawling.
+
+# Each non-comment, non-blank line contains a regular expression
+# prefixed by '+' or '-'.  The first matching pattern in the file
+# determines whether a URL is included or ignored.  If no pattern
+# matches, the URL is ignored.
+
+# skip file: ftp: and mailto: urls
+-^(file|ftp|mailto):
+
+# skip image and other suffixes we can't yet parse
+-\.(gif|GIF|jpg|JPG|png|PNG|ico|ICO|css|sit|eps|wmf|zip|ppt|mpg|xls|gz|rpm|tgz|mov|MOV|exe|jpeg|JPEG|bmp|BMP)$
+
+# skip URLs containing certain characters as probable queries, etc.
+-[?*!@=]
+
+# skip URLs with slash-delimited segment that repeats 3+ times, to break loops
+-.*(/[^/]+)/[^/]+\1/[^/]+\1/
+
+# accept anything else
++.
Index: /nutchez-0.1/conf/schema.xml
===================================================================
--- /nutchez-0.1/conf/schema.xml	(revision 66)
+++ /nutchez-0.1/conf/schema.xml	(revision 66)
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+    <!--
+        Licensed to the Apache Software Foundation (ASF) under one or
+        more contributor license agreements. See the NOTICE file
+        distributed with this work for additional information regarding
+        copyright ownership. The ASF licenses this file to You under the
+        Apache License, Version 2.0 (the "License"); you may not use
+        this file except in compliance with the License. You may obtain
+        a copy of the License at
+        http://www.apache.org/licenses/LICENSE-2.0 Unless required by
+        applicable law or agreed to in writing, software distributed
+        under the License is distributed on an "AS IS" BASIS, WITHOUT
+        WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+        See the License for the specific language governing permissions
+        and limitations under the License.
+    -->
+    <!--
+        Description: This document contains solr schema definition to be
+        used with solr integration currently build into Nutch. See
+        https://issues.apache.org/jira/browse/NUTCH-442
+        https://issues.apache.org/jira/browse/NUTCH-699 for more info.
+    -->
+<schema name="nutch" version="1.1">
+    <types>
+        <fieldType name="string" class="solr.StrField"
+            sortMissingLast="true" omitNorms="true"/>
+        <fieldType name="long" class="solr.LongField"
+            omitNorms="true"/>
+        <fieldType name="float" class="solr.FloatField"
+            omitNorms="true"/>
+        <fieldType name="text" class="solr.TextField"
+            positionIncrementGap="100">
+            <analyzer>
+                <tokenizer class="solr.WhitespaceTokenizerFactory"/>
+                <filter class="solr.StopFilterFactory"
+                    ignoreCase="true" words="stopwords.txt"/>
+                <filter class="solr.WordDelimiterFilterFactory"
+                    generateWordParts="1" generateNumberParts="1"
+                    catenateWords="1" catenateNumbers="1" catenateAll="0"
+                    splitOnCaseChange="1"/>
+                <filter class="solr.LowerCaseFilterFactory"/>
+                <filter class="solr.EnglishPorterFilterFactory"
+                    protected="protwords.txt"/>
+                <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
+            </analyzer>
+        </fieldType>
+        <fieldType name="url" class="solr.TextField"
+            positionIncrementGap="100">
+            <analyzer>
+                <tokenizer class="solr.StandardTokenizerFactory"/>
+                <filter class="solr.LowerCaseFilterFactory"/>
+                <filter class="solr.WordDelimiterFilterFactory"
+                    generateWordParts="1" generateNumberParts="1"/>
+                <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
+            </analyzer>
+        </fieldType>
+    </types>
+    <fields>
+        <field name="id" type="string" stored="true" indexed="true"/>
+
+        <!-- core fields -->
+        <field name="segment" type="string" stored="true" indexed="false"/>
+        <field name="digest" type="string" stored="true" indexed="false"/>
+        <field name="boost" type="float" stored="true" indexed="false"/>
+
+        <!-- fields for index-basic plugin -->
+        <field name="host" type="url" stored="false" indexed="true"/>
+        <field name="site" type="string" stored="false" indexed="true"/>
+        <field name="url" type="url" stored="true" indexed="true"
+            required="true"/>
+        <field name="content" type="text" stored="false" indexed="true"/>
+        <field name="title" type="text" stored="true" indexed="true"/>
+        <field name="cache" type="string" stored="true" indexed="false"/>
+        <field name="tstamp" type="long" stored="true" indexed="false"/>
+
+        <!-- fields for index-anchor plugin -->
+        <field name="anchor" type="string" stored="true" indexed="true"
+            multiValued="true"/>
+
+        <!-- fields for index-more plugin -->
+        <field name="type" type="string" stored="true" indexed="true"
+            multiValued="true"/>
+        <field name="contentLength" type="long" stored="true"
+            indexed="false"/>
+        <field name="lastModified" type="long" stored="true"
+            indexed="false"/>
+        <field name="date" type="string" stored="true" indexed="true"/>
+
+        <!-- fields for languageidentifier plugin -->
+        <field name="lang" type="string" stored="true" indexed="true"/>
+
+        <!-- fields for subcollection plugin -->
+        <field name="subcollection" type="string" stored="true"
+            indexed="true"/>
+
+        <!-- fields for feed plugin -->
+        <field name="author" type="string" stored="true" indexed="true"/>
+        <field name="tag" type="string" stored="true" indexed="true"/>
+        <field name="feed" type="string" stored="true" indexed="true"/>
+        <field name="publishedDate" type="string" stored="true"
+            indexed="true"/>
+        <field name="updatedDate" type="string" stored="true"
+            indexed="true"/>
+    </fields>
+    <uniqueKey>id</uniqueKey>
+    <defaultSearchField>content</defaultSearchField>
+    <solrQueryParser defaultOperator="OR"/>
+    <copyField source="url" dest="id"/>
+</schema>
Index: /nutchez-0.1/conf/slaves
===================================================================
--- /nutchez-0.1/conf/slaves	(revision 66)
+++ /nutchez-0.1/conf/slaves	(revision 66)
@@ -0,0 +1,1 @@
+localhost
Index: /nutchez-0.1/conf/sslinfo.xml.example
===================================================================
--- /nutchez-0.1/conf/sslinfo.xml.example	(revision 66)
+++ /nutchez-0.1/conf/sslinfo.xml.example	(revision 66)
@@ -0,0 +1,21 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
+
+<configuration>
+
+<property>
+  <name>https.keystore.location</name>
+  <value>${user.home}/.keystore</value>
+</property>
+
+<property>
+  <name>https.keystore.password</name>
+  <value>changeme</value>
+</property>
+
+<property>
+  <name>https.keystore.keypassword</name>
+  <value>changeme</value>
+</property>
+
+</configuration>
Index: /nutchez-0.1/conf/subcollections.xml
===================================================================
--- /nutchez-0.1/conf/subcollections.xml	(revision 66)
+++ /nutchez-0.1/conf/subcollections.xml	(revision 66)
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<subcollections>
+	<subcollection>
+		<name>nutch</name>
+		<id>nutch</id>
+		<whitelist>
+http://lucene.apache.org/nutch/
+http://wiki.apache.org/nutch/
+                </whitelist>
+		<blacklist />
+	</subcollection>
+</subcollections>
Index: /nutchez-0.1/conf/suffix-urlfilter.txt
===================================================================
--- /nutchez-0.1/conf/suffix-urlfilter.txt	(revision 66)
+++ /nutchez-0.1/conf/suffix-urlfilter.txt	(revision 66)
@@ -0,0 +1,91 @@
+# config file for urlfilter-suffix plugin
+
+# case-insensitive, allow unknown suffixes
++I
+# uncomment the line below to filter on url path
+#+P
+
+### prohibit these
+# pictures
+.gif
+.jpg
+.jpeg
+.bmp
+.png
+.tif
+.tiff
+.ico
+.eps
+.ps
+.wmf
+.fpx
+.cur
+.ani
+.img
+.lwf
+.pcd
+.psp
+.psd
+.tga
+.xbm
+.xpm
+
+# web-formats
+.css
+
+# archives/packages
+.arj
+.arc
+.7z
+.cab
+.lzw
+.lha
+.lzh
+.zip
+.gz
+.tar
+.tgz
+.sit
+.rpm
+.deb
+.pkg
+
+# audio/video
+.mid
+.midi
+.rmi
+.mpeg
+.mpg
+.mpe
+.mp3
+.mp2
+.aac
+.mov
+.fla
+.flv
+.ra
+.ram
+.rm
+.rmv
+.wma
+.wmv
+.wav
+.wave
+.ogg
+.avi
+.au
+.snd
+
+# executables
+.exe
+.com
+
+# windows links
+.lnk
+
+# typo3-extensions
+.t3x
+
+# disc-images
+.iso
+.bin
Index: /nutchez-0.1/conf/tika-mimetypes.xml
===================================================================
--- /nutchez-0.1/conf/tika-mimetypes.xml	(revision 66)
+++ /nutchez-0.1/conf/tika-mimetypes.xml	(revision 66)
@@ -0,0 +1,367 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+	Licensed to the Apache Software Foundation (ASF) under one or more
+	contributor license agreements.  See the NOTICE file distributed with
+	this work for additional information regarding copyright ownership.
+	The ASF licenses this file to You under the Apache License, Version 2.0
+	(the "License"); you may not use this file except in compliance with
+	the License.  You may obtain a copy of the License at
+	
+	http://www.apache.org/licenses/LICENSE-2.0
+	
+	Unless required by applicable law or agreed to in writing, software
+	distributed under the License is distributed on an "AS IS" BASIS,
+	WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+	See the License for the specific language governing permissions and
+	limitations under the License.
+	
+	Description: This xml file defines the valid mime types used by Tika.
+	The mime types within this file are based on the types in the mime-types.xml 
+	file available in Apache Nutch.
+-->
+
+<mime-info>
+
+	<mime-type type="text/plain">
+		<magic priority="50">
+			<match value="This is TeX," type="string" offset="0" />
+			<match value="This is METAFONT," type="string" offset="0" />
+		</magic>
+		<glob pattern="*.txt" />
+		<glob pattern="*.asc" />
+	</mime-type>
+
+	<mime-type type="text/html">
+		<magic priority="50">
+			<match value="&lt;!DOCTYPE HTML" type="string"
+				offset="0:64" />
+			<match value="&lt;!doctype html" type="string"
+				offset="0:64" />
+			<match value="&lt;HEAD" type="string" offset="0:64" />
+			<match value="&lt;head" type="string" offset="0:64" />
+			<match value="&lt;TITLE" type="string" offset="0:64" />
+			<match value="&lt;title" type="string" offset="0:64" />
+			<match value="&lt;html" type="string" offset="0:64" />
+			<match value="&lt;HTML" type="string" offset="0:64" />
+			<match value="&lt;BODY" type="string" offset="0" />
+			<match value="&lt;body" type="string" offset="0" />
+			<match value="&lt;TITLE" type="string" offset="0" />
+			<match value="&lt;title" type="string" offset="0" />
+			<match value="&lt;!--" type="string" offset="0" />
+			<match value="&lt;h1" type="string" offset="0" />
+			<match value="&lt;H1" type="string" offset="0" />
+			<match value="&lt;!doctype HTML" type="string" offset="0" />
+			<match value="&lt;!DOCTYPE html" type="string" offset="0" />
+		</magic>
+		<glob pattern="*.html" />
+		<glob pattern="*.htm" />
+	</mime-type>
+
+	<mime-type type="application/xhtml+xml">
+		<glob pattern="*.xhtml" />
+		<root-XML namespaceURI='http://www.w3.org/1999/xhtml'
+			localName='html' />
+	</mime-type>
+
+	<mime-type type="application/vnd.ms-powerpoint">
+		<glob pattern="*.ppz" />
+		<glob pattern="*.ppt" />
+		<glob pattern="*.pps" />
+		<glob pattern="*.pot" />
+		<magic priority="50">
+			<match value="0xcfd0e011" type="little32" offset="0" />
+		</magic>
+	</mime-type>
+
+	<mime-type type="application/vnd.ms-excel">
+		<magic priority="50">
+			<match value="Microsoft Excel 5.0 Worksheet" type="string"
+				offset="2080" />
+		</magic>
+		<glob pattern="*.xls" />
+		<glob pattern="*.xlc" />
+		<glob pattern="*.xll" />
+		<glob pattern="*.xlm" />
+		<glob pattern="*.xlw" />
+		<glob pattern="*.xla" />
+		<glob pattern="*.xlt" />
+		<glob pattern="*.xld" />
+		<alias type="application/msexcel" />
+	</mime-type>
+
+	<mime-type type="application/vnd.oasis.opendocument.text">
+		<glob pattern="*.odt" />
+	</mime-type>
+
+
+	<mime-type type="application/zip">
+		<alias type="application/x-zip-compressed" />
+		<magic priority="40">
+			<match value="PK\003\004" type="string" offset="0" />
+		</magic>
+		<glob pattern="*.zip" />
+	</mime-type>
+
+	<mime-type type="application/vnd.oasis.opendocument.text">
+		<glob pattern="*.oth" />
+	</mime-type>
+
+	<mime-type type="application/msword">
+		<magic priority="50">
+			<match value="\x31\xbe\x00\x00" type="string" offset="0" />
+			<match value="PO^Q`" type="string" offset="0" />
+			<match value="\376\067\0\043" type="string" offset="0" />
+			<match value="\333\245-\0\0\0" type="string" offset="0" />
+			<match value="Microsoft Word 6.0 Document" type="string"
+				offset="2080" />
+			<match value="Microsoft Word document data" type="string"
+				offset="2112" />
+		</magic>
+		<glob pattern="*.doc" />
+		<alias type="application/vnd.ms-word" />
+	</mime-type>
+
+	<mime-type type="application/octet-stream">
+		<magic priority="50">
+			<match value="\037\036" type="string" offset="0" />
+			<match value="017437" type="host16" offset="0" />
+			<match value="0x1fff" type="host16" offset="0" />
+			<match value="\377\037" type="string" offset="0" />
+			<match value="0145405" type="host16" offset="0" />
+		</magic>
+		<glob pattern="*.bin" />
+	</mime-type>
+
+	<mime-type type="application/pdf">
+		<magic priority="50">
+			<match value="%PDF-" type="string" offset="0" />
+		</magic>
+		<glob pattern="*.pdf" />
+		<alias type="application/x-pdf" />
+	</mime-type>
+
+	<mime-type type="application/atom+xml">
+		<root-XML localName="feed"
+			namespaceURI="http://purl.org/atom/ns#" />
+	</mime-type>
+
+	<mime-type type="application/mac-binhex40">
+		<glob pattern="*.hqx" />
+	</mime-type>
+
+	<mime-type type="application/mac-compactpro">
+		<glob pattern="*.cpt" />
+	</mime-type>
+
+	<mime-type type="application/rtf">
+	    <glob pattern="*.rtf"/>
+		<alias type="text/rtf" />
+	</mime-type>
+
+	<mime-type type="application/rss+xml">
+		<alias type="text/rss" />
+		<root-XML localName="rss" />
+		<root-XML namespaceURI="http://purl.org/rss/1.0/" />
+		<glob pattern="*.rss" />
+	</mime-type>
+
+	<!--  added in by mattmann -->
+	<mime-type type="application/xml">
+		<alias type="text/xml" />
+		<glob pattern="*.xml" />
+	</mime-type>
+
+	<mime-type type="application/x-mif">
+		<alias type="application/vnd.mif" />
+	</mime-type>
+
+	<mime-type type="application/vnd.wap.wbxml">
+		<glob pattern="*.wbxml" />
+	</mime-type>
+
+	<mime-type type="application/vnd.wap.wmlc">
+		<_comment>Compiled WML Document</_comment>
+		<glob pattern="*.wmlc" />
+	</mime-type>
+
+	<mime-type type="application/vnd.wap.wmlscriptc">
+		<_comment>Compiled WML Script</_comment>
+		<glob pattern="*.wmlsc" />
+	</mime-type>
+
+	<mime-type type="text/vnd.wap.wmlscript">
+		<_comment>WML Script</_comment>
+		<glob pattern="*.wmls" />
+	</mime-type>
+
+	<mime-type type="application/x-bzip">
+		<alias type="application/x-bzip2" />
+	</mime-type>
+
+	<mime-type type="application/x-bzip-compressed-tar">
+		<glob pattern="*.tbz" />
+		<glob pattern="*.tbz2" />
+	</mime-type>
+
+	<mime-type type="application/x-cdlink">
+		<_comment>Virtual CD-ROM CD Image File</_comment>
+		<glob pattern="*.vcd" />
+	</mime-type>
+
+	<mime-type type="application/x-director">
+		<_comment>Shockwave Movie</_comment>
+		<glob pattern="*.dcr" />
+		<glob pattern="*.dir" />
+		<glob pattern="*.dxr" />
+	</mime-type>
+
+	<mime-type type="application/x-futuresplash">
+		<_comment>Macromedia FutureSplash File</_comment>
+		<glob pattern="*.spl" />
+	</mime-type>
+
+	<mime-type type="application/x-java">
+		<alias type="application/java" />
+	</mime-type>
+
+	<mime-type type="application/x-koan">
+		<_comment>SSEYO Koan File</_comment>
+		<glob pattern="*.skp" />
+		<glob pattern="*.skd" />
+		<glob pattern="*.skt" />
+		<glob pattern="*.skm" />
+	</mime-type>
+
+	<mime-type type="application/x-latex">
+		<_comment>LaTeX Source Document</_comment>
+		<glob pattern="*.latex" />
+	</mime-type>
+
+	<!-- JC CHANGED
+		<mime-type type="application/x-mif">
+		<_comment>FrameMaker MIF document</_comment>
+		<glob pattern="*.mif"/>
+		</mime-type> -->
+
+	<mime-type type="application/x-ms-dos-executable">
+		<alias type="application/x-dosexec" />
+	</mime-type>
+
+	<mime-type type="application/ogg">
+		<alias type="application/x-ogg" />
+	</mime-type>
+
+	<mime-type type="application/x-rar">
+		<alias type="application/x-rar-compressed" />
+	</mime-type>
+
+	<mime-type type="application/x-shellscript">
+		<alias type="application/x-sh" />
+	</mime-type>
+
+	<mime-type type="application/xhtml+xml">
+		<glob pattern="*.xht" />
+	</mime-type>
+
+	<mime-type type="audio/midi">
+		<glob pattern="*.kar" />
+	</mime-type>
+
+	<mime-type type="audio/x-pn-realaudio">
+		<alias type="audio/x-realaudio" />
+	</mime-type>
+
+	<mime-type type="image/tiff">
+		<magic priority="50">
+			<match value="0x4d4d2a00" type="string" offset="0" />
+			<match value="0x49492a00" type="string" offset="0" />
+		</magic>
+	</mime-type>
+
+	<mime-type type="message/rfc822">
+		<magic priority="50">
+			<match type="string" value="Relay-Version:" offset="0" />
+			<match type="string" value="#! rnews" offset="0" />
+			<match type="string" value="N#! rnews" offset="0" />
+			<match type="string" value="Forward to" offset="0" />
+			<match type="string" value="Pipe to" offset="0" />
+			<match type="string" value="Return-Path:" offset="0" />
+			<match type="string" value="From:" offset="0" />
+			<match type="string" value="Message-ID:" offset="0" />
+			<match type="string" value="Date:" offset="0" />
+		</magic>
+	</mime-type>
+	
+	<mime-type type="application/x-javascript">
+        <glob pattern="*.js" />
+    </mime-type>
+    
+
+	<mime-type type="image/vnd.wap.wbmp">
+		<_comment>Wireless Bitmap File Format</_comment>
+		<glob pattern="*.wbmp" />
+	</mime-type>
+
+	<mime-type type="image/x-psd">
+		<alias type="image/photoshop" />
+	</mime-type>
+
+	<mime-type type="image/x-xcf">
+		<alias type="image/xcf" />
+		<magic priority="50">
+			<match type="string" value="gimp xcf " offset="0" />
+		</magic>
+	</mime-type>
+	
+	<mime-type type="application/x-shockwave-flash">
+      <glob pattern="*.swf"/>
+      <magic priority="50">
+        <match type="string" value="FWS" offset="0"/>
+        <match type="string" value="CWS" offset="0"/>
+      </magic>
+    </mime-type>
+
+	<mime-type type="model/iges">
+		<_comment>
+			Initial Graphics Exchange Specification Format
+		</_comment>
+		<glob pattern="*.igs" />
+		<glob pattern="*.iges" />
+	</mime-type>
+
+	<mime-type type="model/mesh">
+		<glob pattern="*.msh" />
+		<glob pattern="*.mesh" />
+		<glob pattern="*.silo" />
+	</mime-type>
+
+	<mime-type type="model/vrml">
+		<glob pattern="*.vrml" />
+	</mime-type>
+
+	<mime-type type="text/x-tcl">
+		<alias type="application/x-tcl" />
+	</mime-type>
+
+	<mime-type type="text/x-tex">
+		<alias type="application/x-tex" />
+	</mime-type>
+
+	<mime-type type="text/x-texinfo">
+		<alias type="application/x-texinfo" />
+	</mime-type>
+
+	<mime-type type="text/x-troff-me">
+		<alias type="application/x-troff-me" />
+	</mime-type>
+
+	<mime-type type="video/vnd.mpegurl">
+		<glob pattern="*.mxu" />
+	</mime-type>
+
+	<mime-type type="x-conference/x-cooltalk">
+		<_comment>Cooltalk Audio</_comment>
+		<glob pattern="*.ice" />
+	</mime-type>
+
+</mime-info>
Index: /nutchez-0.1/debian/changelog
===================================================================
--- /nutchez-0.1/debian/changelog	(revision 66)
+++ /nutchez-0.1/debian/changelog	(revision 66)
@@ -0,0 +1,6 @@
+nutchez (0.1-1) unstable; urgency=low
+
+  * Initial release (Closes: #nnnn)  <nnnn is the bug number of your ITP>
+
+ -- Wei-Yu Chen <waue0920@gmail.com>  Tue, 12 May 2009 11:15:51 +0800
+
Index: /nutchez-0.1/debian/compat
===================================================================
--- /nutchez-0.1/debian/compat	(revision 66)
+++ /nutchez-0.1/debian/compat	(revision 66)
@@ -0,0 +1,1 @@
+5
Index: /nutchez-0.1/debian/control
===================================================================
--- /nutchez-0.1/debian/control	(revision 66)
+++ /nutchez-0.1/debian/control	(revision 66)
@@ -0,0 +1,15 @@
+Source: nutch
+Section:devel
+Priority: extra
+Maintainer: Wei-Yu Chen <waue0920@gmail.com>
+Build-Depends: debhelper (>= 5)
+Standards-Version: 0.1.0
+
+Package: nutchez
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, sun-java6-jre, sun-java6-bin
+Suggests: sun-java6-jdk, tomcat6
+Description: NutchEz
+   .
+   Apache Nutch is a software that search and crawl internet.
+   NutchEz is a Nutch related toolkit with gui.
Index: /nutchez-0.1/debian/copyright
===================================================================
--- /nutchez-0.1/debian/copyright	(revision 66)
+++ /nutchez-0.1/debian/copyright	(revision 66)
@@ -0,0 +1,22 @@
+This package was debianized by Wei-Yu Chen <waue0920@gmail.com> on
+Tue, 12 May 2009 11:15:51 +0800.
+
+It was downloaded from <http://hadoop.nchc.org.tw/~waue/tools/>
+
+Upstream Author(s): 
+
+    Wei-Yu Chen < waue0920@nchc.org.tw >
+
+Copyright: 
+
+    Free to Use.
+
+License:
+
+    As Nutch. 
+
+The Debian packaging is (C) 2009, Wei-Yu Chen <waue0920@gmail.com> and
+is licensed under the GPL, see `/usr/share/common-licenses/GPL'.
+
+# Please also look if there are files or directories which have a
+# different copyright/license attached and list them here.
Index: /nutchez-0.1/debian/docs
===================================================================
--- /nutchez-0.1/debian/docs	(revision 66)
+++ /nutchez-0.1/debian/docs	(revision 66)
@@ -0,0 +1,5 @@
+CHANGES.txt
+LICENSE.txt
+NOTICE.txt
+README.txt
+README.txt
Index: /nutchez-0.1/debian/files
===================================================================
--- /nutchez-0.1/debian/files	(revision 66)
+++ /nutchez-0.1/debian/files	(revision 66)
@@ -0,0 +1,1 @@
+nutch_1.0-1_i386.deb devel extra
Index: /nutchez-0.1/debian/nutchez.install
===================================================================
--- /nutchez-0.1/debian/nutchez.install	(revision 66)
+++ /nutchez-0.1/debian/nutchez.install	(revision 66)
@@ -0,0 +1,11 @@
+conf/*		etc/nutch
+bin		opt/nutch
+lib		opt/nutch
+webapps		opt/nutch
+tomcat		opt/nutch
+plugins		opt/nutch
+urls		opt/nutch
+*.jar		opt/nutch
+*.job		opt/nutch
+*.xml		opt/nutch
+default.properties	opt/nutch
Index: /nutchez-0.1/debian/nutchez.links
===================================================================
--- /nutchez-0.1/debian/nutchez.links	(revision 66)
+++ /nutchez-0.1/debian/nutchez.links	(revision 66)
@@ -0,0 +1,1 @@
+etc/nutch  opt/nutch/conf
Index: /nutchez-0.1/debian/nutchez.postinst
===================================================================
--- /nutchez-0.1/debian/nutchez.postinst	(revision 66)
+++ /nutchez-0.1/debian/nutchez.postinst	(revision 66)
@@ -0,0 +1,58 @@
+#!/bin/sh
+
+echo "$1"
+
+if [ "$1" != configure ]
+then
+  exit 0
+fi
+
+setup_hdfsadm_user() {
+  if ! getent passwd hdfsadm >/dev/null; then
+    useradd hdfsadm
+    mkdir -p /home/hdfsadm/.ssh
+    mkdir -p /var/log/nutch
+    ssh-keygen -t rsa -q -f /home/hdfsadm/.ssh/id_rsa -N ""
+    cp /home/hdfsadm/.ssh/id_rsa.pub /home/hdfsadm/.ssh/authorized_keys
+    chown hdfsadm:hdfsadm /var/log/nutch
+    chown -R hdfsadm:hdfsadm /opt/nutch
+    chown -R hdfsadm:hdfsadm /home/hdfsadm
+  fi
+}
+
+check_root() {
+  if ! test -e /root/.ssh/id_rsa ; then
+    ssh-keygen -t rsa -q -f /root/.ssh/id_rsa -N ""
+  fi
+  if test -e /root/.ssh/id_rsa.pub ; then
+    if ! test -e /root/.ssh/authorized_keys ; then
+      cp /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys
+    fi
+  else
+    ssh-keygen -t rsa -q -f /root/.ssh/id_rsa -N ""
+    cp /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys
+  fi
+
+}
+
+start_hadoop() {
+  if getent passwd hdfsadm >/dev/null; then
+    su -c "/opt/nutch/bin/hadoop namenode -format" hdfsadm -
+    su -c "/opt/nutch/bin/start-all.sh" hdfsadm -
+  else
+    /opt/nutch/conf/hadoop-env.sh
+    /opt/nutch/bin/hadoop namenode -format
+    /opt/nutch/bin/start-all.sh
+  fi
+}
+show_message() {
+  echo "You can quickly start by following ways [in /opt/nutch/ with root privilege]:"
+  echo "(1) Modify the urls/urls.txt file with indicate urls, one site one line."
+  echo "(2) Use this instruction \"bin/nutch crawl urls -dir search -depth 4 -topN 50\" to crawl web"
+  echo "(3) Type \" tomcat/bin/startup.sh \" and use browser to check the result in http://localhost:8080/"
+  echo "Enjoy !"
+}
+#setup_hdfsadm_user
+#check_root
+#start_hadoop
+show_message
Index: /nutchez-0.1/debian/nutchez.postrm
===================================================================
--- /nutchez-0.1/debian/nutchez.postrm	(revision 66)
+++ /nutchez-0.1/debian/nutchez.postrm	(revision 66)
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+echo "$1"
+
+if [ "$1" != remove ]
+then
+  exit 0
+fi
+
+setup_hdfsadm_user() {
+  if ! getent passwd hdfsadm >/dev/null; then
+    echo "no account found: 'hdfsadm'."
+  else
+    userdel hdfsadm
+    rm -rf /home/hdfsadm
+    rm -rf /opt/nutch
+    rm -rf /tmp/hadoop*
+    rm -rf /tmp/hsperfdata*
+  fi
+}
+
+setup_hdfsadm_user
Index: /nutchez-0.1/debian/nutchez.prerm
===================================================================
--- /nutchez-0.1/debian/nutchez.prerm	(revision 66)
+++ /nutchez-0.1/debian/nutchez.prerm	(revision 66)
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+/opt/nutch/bin/stop-all.sh
+#su -c /opt/nutch/bin/stop-all.sh hdfsadm -
Index: /nutchez-0.1/debian/rules
===================================================================
--- /nutchez-0.1/debian/rules	(revision 66)
+++ /nutchez-0.1/debian/rules	(revision 66)
@@ -0,0 +1,28 @@
+#!/usr/bin/make -f
+export DH_VERBOSE=0
+
+all:
+
+install:
+	dh_testdir
+	dh_testroot
+	dh_install -Xlicense.txt
+	dh_installdocs
+	dh_installchangelogs
+	#dh_installexamples
+	dh_compress
+	dh_fixperms
+	dh_installdeb
+	dh_link
+	dh_gencontrol
+	dh_md5sums
+	dh_builddeb
+
+clean:
+	dh_clean
+
+binary: install
+
+build:
+binary-arch:
+binary-indep:
Index: /nutchez-0.1/default.properties
===================================================================
--- /nutchez-0.1/default.properties	(revision 66)
+++ /nutchez-0.1/default.properties	(revision 66)
@@ -0,0 +1,152 @@
+Name=Nutch
+name=nutch
+version=1.0
+final.name=${name}-${version}
+year=2006
+
+basedir = ./
+src.dir = ./src/java
+lib.dir = ./lib
+conf.dir = ./conf
+plugins.dir = ./src/plugin
+docs.dir = ./docs
+docs.src = ${basedir}/src/web
+xmlcatalog.dir = ${basedir}/src/xmlcatalog
+
+build.dir = ./build
+build.classes = ${build.dir}/classes
+build.webapps = ${build.dir}/webapps
+build.plugins = ${build.dir}/plugins
+build.docs = ${build.dir}/docs
+build.javadoc = ${build.docs}/api
+build.encoding = UTF-8
+
+test.src.dir = ./src/test
+test.build.dir = ${build.dir}/test
+test.build.data =  ${test.build.dir}/data
+test.build.classes = ${test.build.dir}/classes
+test.build.javadoc = ${test.build.dir}/docs/api
+
+javacc.home=/usr/java/javacc
+
+web.src.dir = ./src/web
+src.webapps = ./src/webapps
+
+# Proxy Host and Port to use for building JavaDoc
+javadoc.proxy.host=-J-DproxyHost=
+javadoc.proxy.port=-J-DproxyPort=
+javadoc.link.java=http://java.sun.com/j2se/1.4.2/docs/api/
+javadoc.link.lucene=http://jakarta.apache.org/lucene/docs/api/
+javadoc.link.hadoop=http://lucene.apache.org/hadoop/docs/api/
+javadoc.packages=org.apache.nutch.*
+
+dist.dir=${build.dir}/${final.name}
+
+javac.debug=on
+javac.optimize=on
+javac.deprecation=off
+javac.version= 1.5
+
+#
+# Plugins API
+#
+plugins.api=\
+   org.apache.nutch.protocol.http.api*:\
+   org.apache.nutch.urlfilter.api*:\
+   org.apache.nutch.parse.ms*
+
+#
+# Protocol Plugins
+#
+plugins.protocol=\
+   org.apache.nutch.protocol.file*:\
+   org.apache.nutch.protocol.ftp*:\
+   org.apache.nutch.protocol.http*:\
+   org.apache.nutch.protocol.httpclient*
+
+#
+# URL Filter Plugins
+#
+plugins.urlfilter=\
+   org.apache.nutch.urlfilter.automaton*:\
+   org.apache.nutch.urlfilter.prefix*:\
+   org.apache.nutch.urlfilter.regex*
+
+#
+# Scoring Plugins
+#
+plugins.scoring=\
+   org.apache.nutch.scoring.opic*
+
+#
+# Parse Plugins
+#
+plugins.parse=\
+   org.apache.nutch.parse.ext*:\
+   org.apache.nutch.parse.html*:\
+   org.apache.nutch.parse.js:\
+   org.apache.nutch.parse.mp3*:\
+   org.apache.nutch.parse.msexcel*:\
+   org.apache.nutch.parse.mspowerpoint*:\
+   org.apache.nutch.parse.msword*:\
+   org.apache.nutch.parse.oo*:\
+   org.apache.nutch.parse.pdf*:\
+   org.apache.nutch.parse.rtf*:\
+   org.apache.nutch.parse.rss*:\
+   org.apache.nutch.parse.swf*:\
+   org.apache.nutch.parse.text:\
+   org.apache.nutch.parse.zip
+
+#
+# Analysis Plugins
+#
+plugins.analysis=\
+#  ${plugin.analysis-de}:\
+#  ${plugin.analysis-fr}
+
+#
+# Indexing Filter Plugins
+#
+plugins.index=\
+   org.apache.nutch.indexer.basic*:\
+   org.apache.nutch.indexer.more*
+
+#
+# Query Filter Plugins
+#
+plugins.query=\
+   org.apache.nutch.searcher.basic*:\
+   org.apache.nutch.searcher.more*:\
+   org.apache.nutch.searcher.site*:\
+   org.apache.nutch.searcher.url*
+
+#
+# Ontology Plugins
+#
+plugins.ontology=\
+   org.apache.nutch.ontology.jena*
+
+#
+# Online Clusterer Plugins
+#
+plugins.clustering=\
+   org.apache.nutch.clustering.carrot2*
+
+#
+# Summary Plugins
+#
+plugins.summary=\
+   org.apache.nutch.summary.basic*:\
+   org.apache.nutch.summary.lucene*
+
+#
+# Misc. Plugins
+#
+# (gathers plugins that cannot be dispatched
+# in any category, mainly because they contains
+# many extension points)
+#
+plugins.misc=\
+   org.apache.nutch.analysis.lang*:\
+   org.apache.nutch.microformats.reltag*:\
+   org.creativecommons.nutch*
Index: /nutchez-0.1/lib/icu4j-4_0_1.LICENSE.txt
===================================================================
--- /nutchez-0.1/lib/icu4j-4_0_1.LICENSE.txt	(revision 66)
+++ /nutchez-0.1/lib/icu4j-4_0_1.LICENSE.txt	(revision 66)
@@ -0,0 +1,38 @@
+ICU license - ICU 1.8.1 and later
+
+   COPYRIGHT AND PERMISSION NOTICE
+
+   Copyright (c) 1995-2006 International Business Machines Corporation and
+   others
+
+   All rights reserved.
+
+   Permission is hereby granted, free of charge, to any person obtaining a
+   copy of this software and associated documentation files (the "Software"),
+   to deal in the Software without restriction, including without limitation
+   the rights to use, copy, modify, merge, publish, distribute, and/or sell
+   copies of the Software, and to permit persons to whom the Software is
+   furnished to do so, provided that the above copyright notice(s) and this
+   permission notice appear in all copies of the Software and that both the
+   above copyright notice(s) and this permission notice appear in supporting
+   documentation.
+
+   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+   IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+   FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY
+   RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS
+   NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
+   DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
+   PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
+   ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
+   THIS SOFTWARE.
+
+   Except as contained in this notice, the name of a copyright holder shall
+   not be used in advertising or otherwise to promote the sale, use or other
+   dealings in this Software without prior written authorization of the
+   copyright holder.
+
+     ----------------------------------------------------------------------
+
+   All trademarks and registered trademarks mentioned herein are the property
+   of their respective owners.
Index: /nutchez-0.1/lib/jets3t-0.6.1.LICENSE.txt
===================================================================
--- /nutchez-0.1/lib/jets3t-0.6.1.LICENSE.txt	(revision 66)
+++ /nutchez-0.1/lib/jets3t-0.6.1.LICENSE.txt	(revision 66)
@@ -0,0 +1,202 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
Index: /nutchez-0.1/lib/jetty-5.1.4.LICENSE.txt
===================================================================
--- /nutchez-0.1/lib/jetty-5.1.4.LICENSE.txt	(revision 66)
+++ /nutchez-0.1/lib/jetty-5.1.4.LICENSE.txt	(revision 66)
@@ -0,0 +1,202 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
Index: /nutchez-0.1/lib/junit-3.8.1.LICENSE.txt
===================================================================
--- /nutchez-0.1/lib/junit-3.8.1.LICENSE.txt	(revision 66)
+++ /nutchez-0.1/lib/junit-3.8.1.LICENSE.txt	(revision 66)
@@ -0,0 +1,100 @@
+Common Public License Version 1.0
+
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+1. DEFINITIONS
+
+"Contribution" means:
+
+    a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and
+
+    b) in the case of each subsequent Contributor:
+
+    i) changes to the Program, and
+
+    ii) additions to the Program;
+
+    where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.
+
+"Contributor" means any person or entity that distributes the Program.
+
+"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.
+
+"Program" means the Contributions distributed in accordance with this Agreement.
+
+"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.
+
+2. GRANT OF RIGHTS
+
+    a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.
+
+    b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder.
+
+    c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.
+
+    d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement.
+
+3. REQUIREMENTS
+
+A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:
+
+    a) it complies with the terms and conditions of this Agreement; and
+
+    b) its license agreement:
+
+    i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose;
+
+    ii) effectively excludes on behalf of all Cntributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits;
+
+    iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and
+
+    iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange. 
+
+When the Program is made available in source code form:
+
+    a) it must be made available under this Agreement; and
+
+    b) a copy of this Agreement must be included with each copy of the Program. 
+
+Contributors may not remove or alter any copyright notices contained within the Program.
+
+Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.
+
+4. COMMERCIAL DISTRIBUTION
+
+Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense.
+
+For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.
+
+5. NO WARRANTY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.
+
+6. DISCLAIMER OF LIABILITY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PR LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. GENERAL
+
+If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed. In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed.
+
+All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.
+
+Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward. IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved.
+
+This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation.
+OFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. GENERAL
+
+If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed. In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed.
+
+All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.
+
+Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward. IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved.
+
+This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation.
Index: /nutchez-0.1/lib/taglibs-i18n.tld
===================================================================
--- /nutchez-0.1/lib/taglibs-i18n.tld	(revision 66)
+++ /nutchez-0.1/lib/taglibs-i18n.tld	(revision 66)
@@ -0,0 +1,406 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+
+
+
+
+
+<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
+<taglib>
+  <tlibversion>1.0</tlibversion>
+  <jspversion>1.1</jspversion>
+  <shortname>i18n</shortname>
+  <uri>http://jakarta.apache.org/taglibs/i18n-1.0</uri>
+  <info>
+The i18n custom tag library contains tags that help manage the complexity of creating internationalized web applications. These tags provide similar (though not identical) functionality to the internationalization available in the struts framework, but do not require adopting the entire struts framework.
+
+"i18n" is a common abbreviation for internationalization, because there are 18
+letters between the first "i" and the last "n".
+
+For more information on internationalization with Java, the java.sun.com site
+contains a good 
+tutorial written by Dale Green.
+</info>
+  <tag>
+    <name>bundle</name>
+    <tagclass>org.apache.taglibs.i18n.BundleTag</tagclass>
+    <teiclass>org.apache.taglibs.i18n.BundleTEI</teiclass>
+    <bodycontent>JSP</bodycontent>
+    <attribute>
+      <name>id</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>baseName</name>
+      <required>true</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>changeResponseLocale</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>scope</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>locale</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>localeAttribute</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>localeRef</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>debug</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+  </tag>
+  <tag>
+    <name>message</name>
+    <tagclass>org.apache.taglibs.i18n.MessageTag</tagclass>
+    <teiclass>org.apache.taglibs.i18n.MessageTEI</teiclass>
+    <bodycontent>JSP</bodycontent>
+    <attribute>
+      <name>id</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>key</name>
+      <required>true</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>args</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>bundle</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>bundleRef</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>debug</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+  </tag>
+  <tag>
+    <name>messageArg</name>
+    <tagclass>org.apache.taglibs.i18n.MessageArgumentTag</tagclass>
+    <bodycontent>empty</bodycontent>
+    <attribute>
+      <name>value</name>
+      <required>true</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+  </tag>
+  <tag>
+    <name>ifdef</name>
+    <tagclass>org.apache.taglibs.i18n.IfdefTag</tagclass>
+    <bodycontent>JSP</bodycontent>
+    <attribute>
+      <name>key</name>
+      <required>true</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>bundle</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>bundleRef</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+  </tag>
+  <tag>
+    <name>ifndef</name>
+    <tagclass>org.apache.taglibs.i18n.IfndefTag</tagclass>
+    <bodycontent>JSP</bodycontent>
+    <attribute>
+      <name>key</name>
+      <required>true</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>bundle</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>bundleRef</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+  </tag>
+  <tag>
+    <name>locale</name>
+    <tagclass>org.apache.taglibs.i18n.LocaleTag</tagclass>
+    <teiclass>org.apache.taglibs.i18n.LocaleTEI</teiclass>
+    <bodycontent>JSP</bodycontent>
+    <attribute>
+      <name>id</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>locale</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>localeRef</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>language</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>country</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>variant</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+  </tag>
+  <tag>
+    <name>formatString</name>
+    <tagclass>org.apache.taglibs.i18n.FormatStringTag</tagclass>
+    <teiclass>org.apache.taglibs.i18n.FormatStringTEI</teiclass>
+    <bodycontent>JSP</bodycontent>
+    <attribute>
+      <name>id</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>value</name>
+      <required>true</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>defaultText</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+  </tag>
+  <tag>
+    <name>formatNumber</name>
+    <tagclass>org.apache.taglibs.i18n.FormatNumberTag</tagclass>
+    <teiclass>org.apache.taglibs.i18n.FormatNumberTEI</teiclass>
+    <bodycontent>JSP</bodycontent>
+    <attribute>
+      <name>id</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>value</name>
+      <required>true</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>pattern</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>locale</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>defaultText</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+  </tag>
+  <tag>
+    <name>formatCurrency</name>
+    <tagclass>org.apache.taglibs.i18n.FormatCurrencyTag</tagclass>
+    <teiclass>org.apache.taglibs.i18n.FormatCurrencyTEI</teiclass>
+    <bodycontent>JSP</bodycontent>
+    <attribute>
+      <name>id</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>value</name>
+      <required>true</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>locale</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>defaultText</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+  </tag>
+  <tag>
+    <name>formatPercent</name>
+    <tagclass>org.apache.taglibs.i18n.FormatPercentTag</tagclass>
+    <teiclass>org.apache.taglibs.i18n.FormatPercentTEI</teiclass>
+    <bodycontent>JSP</bodycontent>
+    <attribute>
+      <name>id</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>value</name>
+      <required>true</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>locale</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>defaultText</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+  </tag>
+  <tag>
+    <name>formatDateTime</name>
+    <tagclass>org.apache.taglibs.i18n.FormatDateTimeTag</tagclass>
+    <teiclass>org.apache.taglibs.i18n.FormatDateTimeTEI</teiclass>
+    <bodycontent>JSP</bodycontent>
+    <attribute>
+      <name>id</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>value</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>locale</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>dateStyle</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>timeStyle</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>defaultText</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+  </tag>
+  <tag>
+    <name>formatDate</name>
+    <tagclass>org.apache.taglibs.i18n.FormatDateTag</tagclass>
+    <teiclass>org.apache.taglibs.i18n.FormatDateTEI</teiclass>
+    <bodycontent>JSP</bodycontent>
+    <attribute>
+      <name>id</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>value</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>locale</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>pattern</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>style</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>defaultText</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+  </tag>
+  <tag>
+    <name>formatTime</name>
+    <tagclass>org.apache.taglibs.i18n.FormatTimeTag</tagclass>
+    <teiclass>org.apache.taglibs.i18n.FormatTimeTEI</teiclass>
+    <bodycontent>JSP</bodycontent>
+    <attribute>
+      <name>id</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>value</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>locale</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>style</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>defaultText</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+  </tag>
+</taglib>
+
+
+
+
+
+
+
Index: /nutchez-0.1/plugins/clustering-carrot2/plugin.xml
===================================================================
--- /nutchez-0.1/plugins/clustering-carrot2/plugin.xml	(revision 66)
+++ /nutchez-0.1/plugins/clustering-carrot2/plugin.xml	(revision 66)
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="clustering-carrot2"
+   name="Online Search Results Clustering using Carrot2's components"
+   version="1.0.3"
+   provider-name="www.carrot2.org">
+
+   <runtime>
+      <library name="clustering-carrot2.jar">
+         <export name="*"/>
+      </library>
+
+      <!--
+	   The defaults for Lingo. If you plan to use another clustering
+	   algorithm from the Carrot2 project, you'll need all the JARs
+	   required for that algorithm.
+	-->
+      <library name="carrot2-filter-lingo.jar"/>
+      <library name="carrot2-local-core.jar"/>
+      <library name="carrot2-snowball-stemmers.jar"/>
+      <library name="carrot2-util-common.jar"/>
+      <library name="carrot2-util-tokenizer.jar"/>
+
+      <library name="commons-collections-3.2.jar"/>
+      <library name="commons-pool-1.3.jar"/>
+      <library name="Jama-1.0.2.jar"/>
+      <library name="violinstrings-1.0.2.jar"/>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.clustering.carrot2"
+              name="Carrot2 Clusterer"
+              point="org.apache.nutch.clustering.OnlineClusterer">
+      <implementation id="Carrot2"
+                      class="org.apache.nutch.clustering.carrot2.Clusterer"/>
+   </extension>
+</plugin>
Index: /nutchez-0.1/plugins/creativecommons/plugin.xml
===================================================================
--- /nutchez-0.1/plugins/creativecommons/plugin.xml	(revision 66)
+++ /nutchez-0.1/plugins/creativecommons/plugin.xml	(revision 66)
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="creativecommons"
+   name="Creative Commons Plugins"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+   <runtime>
+      <library name="creativecommons.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.creativecommons.nutch.CCParseFilter"
+              name="Creative Commons Metadata Filter"
+              point="org.apache.nutch.parse.HtmlParseFilter">
+      <implementation id="CCParseFilter"
+                      class="org.creativecommons.nutch.CCParseFilter"/>
+   </extension>
+
+   <extension id="org.creativecommons.nutch.CCIndexingFilter"
+              name="Creative Commons Indexing Filter"
+              point="org.apache.nutch.indexer.IndexingFilter">
+      <implementation id="CCIndexingFilter"
+                      class="org.creativecommons.nutch.CCIndexingFilter"/>
+   </extension>
+
+   <extension id="org.creativecommons.nutch.CCQueryFilter"
+              name="Creative Commmons Query Filter"
+              point="org.apache.nutch.searcher.QueryFilter">
+      <implementation id="CCQueryFilter"
+                      class="org.creativecommons.nutch.CCQueryFilter">
+        <parameter name="fields" value="cc"/>
+      </implementation>
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/plugins/feed/plugin.xml
===================================================================
--- /nutchez-0.1/plugins/feed/plugin.xml	(revision 66)
+++ /nutchez-0.1/plugins/feed/plugin.xml	(revision 66)
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<!--
+	Licensed to the Apache Software Foundation (ASF) under one or more
+	contributor license agreements.  See the NOTICE file distributed with
+	this work for additional information regarding copyright ownership.
+	The ASF licenses this file to You under the Apache License, Version 2.0
+	(the "License"); you may not use this file except in compliance with
+	the License.  You may obtain a copy of the License at
+	
+	http://www.apache.org/licenses/LICENSE-2.0
+	
+	Unless required by applicable law or agreed to in writing, software
+	distributed under the License is distributed on an "AS IS" BASIS,
+	WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+	See the License for the specific language governing permissions and
+	limitations under the License.
+-->
+<plugin id="feed" name="Feed Parse/Index/Query Plug-in" version="1.0.0"
+	 provider-name="nutch.org">
+    <runtime>
+      <library name="feed.jar">
+        <export name="*" />
+      </library>
+      <library name="rome-0.9.jar" />
+    </runtime>
+    
+    <requires>
+      <import plugin="nutch-extensionpoints" />
+      <import plugin="lib-xml" />
+    </requires>
+    
+    <extension id="org.apache.nutch.parse.feed" name="Feed Parser"
+      point="org.apache.nutch.parse.Parser">
+      
+      <implementation id="org.apache.nutch.parse.feed.FeedParser"
+         class="org.apache.nutch.parse.feed.FeedParser">
+         <parameter name="contentType" value="application/rss+xml" />
+         <parameter name="contentType" value="application/atom+xml" />
+         <parameter name="contentType" value="text/xml" />
+         <parameter name="pathSuffix" value="rss" />
+     </implementation>
+    </extension>
+    <extension id="org.apache.nutch.indexer.feed" name="Feed Indexer"
+       point="org.apache.nutch.indexer.IndexingFilter">
+     <implementation id="FeedIndexingFilter"
+       class="org.apache.nutch.indexer.feed.FeedIndexingFilter" />
+    </extension>
+</plugin>
Index: /nutchez-0.1/plugins/field-basic/plugin.xml
===================================================================
--- /nutchez-0.1/plugins/field-basic/plugin.xml	(revision 66)
+++ /nutchez-0.1/plugins/field-basic/plugin.xml	(revision 66)
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="field-basic"
+   name="Basic Field Filter"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+   <runtime>
+      <library name="field-basic.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.indexer.field.basic"
+              name="Nutch Basic Field Filter"
+              point="org.apache.nutch.indexer.field.FieldFilter">
+      <implementation id="BasicFieldFilter"
+        class="org.apache.nutch.indexer.field.basic.BasicFieldFilter"/>
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/plugins/field-boost/plugin.xml
===================================================================
--- /nutchez-0.1/plugins/field-boost/plugin.xml	(revision 66)
+++ /nutchez-0.1/plugins/field-boost/plugin.xml	(revision 66)
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="field-boost"
+   name="Boost Field Filter"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+   <runtime>
+      <library name="field-boost.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.indexer.field.boost"
+              name="Nutch Boost Field Filter"
+              point="org.apache.nutch.indexer.field.FieldFilter">
+      <implementation id="BoostFieldFilter"
+        class="org.apache.nutch.indexer.field.boost.BoostFieldFilter"/>
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/plugins/index-anchor/plugin.xml
===================================================================
--- /nutchez-0.1/plugins/index-anchor/plugin.xml	(revision 66)
+++ /nutchez-0.1/plugins/index-anchor/plugin.xml	(revision 66)
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<plugin id="index-anchor" name="Anchor Indexing Filter" version="1.0.0"
+  provider-name="nutch.org">
+
+  <runtime>
+    <library name="index-anchor.jar">
+      <export name="*" />
+    </library>
+  </runtime>
+
+  <requires>
+    <import plugin="nutch-extensionpoints" />
+  </requires>
+
+  <extension id="org.apache.nutch.indexer.anchor"
+    name="Nutch Anchor Indexing Filter"
+    point="org.apache.nutch.indexer.IndexingFilter">
+    <implementation id="AnchorIndexingFilter"
+      class="org.apache.nutch.indexer.anchor.AnchorIndexingFilter" />
+  </extension>
+
+</plugin>
Index: /nutchez-0.1/plugins/index-basic/plugin.xml
===================================================================
--- /nutchez-0.1/plugins/index-basic/plugin.xml	(revision 66)
+++ /nutchez-0.1/plugins/index-basic/plugin.xml	(revision 66)
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="index-basic"
+   name="Basic Indexing Filter"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+
+   <runtime>
+      <library name="index-basic.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.indexer.basic"
+              name="Nutch Basic Indexing Filter"
+              point="org.apache.nutch.indexer.IndexingFilter">
+      <implementation id="BasicIndexingFilter"
+                      class="org.apache.nutch.indexer.basic.BasicIndexingFilter"/>
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/plugins/index-more/plugin.xml
===================================================================
--- /nutchez-0.1/plugins/index-more/plugin.xml	(revision 66)
+++ /nutchez-0.1/plugins/index-more/plugin.xml	(revision 66)
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="index-more"
+   name="More Indexing Filter"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+
+   <runtime>
+      <library name="index-more.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.indexer.more"
+              name="Nutch More Indexing Filter"
+              point="org.apache.nutch.indexer.IndexingFilter">
+      <implementation id="MoreIndexingFilter"
+                      class="org.apache.nutch.indexer.more.MoreIndexingFilter"/>
+   </extension>
+
+   <!--
+   <extension id="org.apache.nutch.searcher.more.MoreQueryFilter"
+              name="Nutch More Query Filter"
+              point="org.apache.nutch.searcher.QueryFilter">
+      <implementation id="MoreQueryFilter"
+                      class="org.apache.nutch.searcher.more.MoreQueryFilter"
+                      raw-fields="more"/>
+   </extension>
+   -->
+
+</plugin>
Index: /nutchez-0.1/plugins/language-identifier/plugin.xml
===================================================================
--- /nutchez-0.1/plugins/language-identifier/plugin.xml	(revision 66)
+++ /nutchez-0.1/plugins/language-identifier/plugin.xml	(revision 66)
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="language-identifier"
+   name="Language Identification Parser/Filter"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+    <runtime>
+      <library name="language-identifier.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.analysis.lang.LanguageParser"
+              name="Nutch language Parser"
+              point="org.apache.nutch.parse.HtmlParseFilter">
+      <implementation id="LanguageParser"
+                      class="org.apache.nutch.analysis.lang.HTMLLanguageParser"/>
+   </extension>
+
+   <extension id="org.apache.nutch.analysis.lang"
+              name="Nutch language identifier filter"
+              point="org.apache.nutch.indexer.IndexingFilter">
+      <implementation id="LanguageIdentifier"
+                      class="org.apache.nutch.analysis.lang.LanguageIndexingFilter"/>
+   </extension>
+
+
+   <extension id="org.apache.nutch.analysis.lang.LanguageQueryFilter"
+              name="Nutch Language Query Filter"
+              point="org.apache.nutch.searcher.QueryFilter">
+      <implementation id="LanguageQueryFilter"
+                      class="org.apache.nutch.analysis.lang.LanguageQueryFilter">
+        <parameter name="raw-fields" value="lang"/>
+      </implementation>
+   </extension>
+
+
+</plugin>
+
Index: /nutchez-0.1/plugins/lib-http/plugin.xml
===================================================================
--- /nutchez-0.1/plugins/lib-http/plugin.xml	(revision 66)
+++ /nutchez-0.1/plugins/lib-http/plugin.xml	(revision 66)
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!--
+ ! A common framework for http protocol implementations
+ !-->
+<plugin
+   id="lib-http"
+   name="HTTP Framework"
+   version="1.0"
+   provider-name="org.apache.nutch">
+
+   <runtime>
+     <library name="lib-http.jar">
+        <export name="*"/>
+     </library>
+   </runtime>
+
+</plugin>
Index: /nutchez-0.1/plugins/lib-jakarta-poi/plugin.xml
===================================================================
--- /nutchez-0.1/plugins/lib-jakarta-poi/plugin.xml	(revision 66)
+++ /nutchez-0.1/plugins/lib-jakarta-poi/plugin.xml	(revision 66)
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!--
+ ! Jakarta POI - Java API To Access Microsoft Format Files
+ ! (http://jakarta.apache.org/poi/)
+ ! 
+ ! Dowload : http://www.apache.org/dyn/closer.cgi/jakarta/poi/
+ ! License : http://www.apache.org/licenses/LICENSE-2.0.txt
+ !-->
+<plugin
+   id="lib-jakarta-poi"
+   name="Jakarta POI - Java API To Access Microsoft Format Files"
+   version="2.5.1"
+   provider-name="jakarta.apache.org">
+
+   <runtime>
+     <library name="poi-3.5-beta4-20081128.jar">
+        <export name="*"/>
+     </library>
+     <library name="poi-scratchpad-3.5-beta4-20081128.jar">
+        <export name="*"/>
+     </library>
+   </runtime>
+
+</plugin>
Index: /nutchez-0.1/plugins/lib-lucene-analyzers/plugin.xml
===================================================================
--- /nutchez-0.1/plugins/lib-lucene-analyzers/plugin.xml	(revision 66)
+++ /nutchez-0.1/plugins/lib-lucene-analyzers/plugin.xml	(revision 66)
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!--
+ ! Lucene Analyzers
+ ! (http://lucene.apache.org/java/docs/lucene-sandbox/)
+ !
+ ! Dowload : http://www.apache.org/dyn/closer.cgi/jakarta/lucene/binaries/
+ ! License : http://www.apache.org/licenses/LICENSE-2.0.txt
+ !-->
+<plugin
+   id="lib-lucene-analyzers"
+   name="Lucene Analysers"
+   version="2.4.0"
+   provider-name="org.apache.lucene">
+
+   <runtime>
+     <library name="lucene-analyzers-2.4.0.jar">
+        <export name="*"/>
+     </library>
+   </runtime>
+
+</plugin>
Index: /nutchez-0.1/plugins/lib-nekohtml/plugin.xml
===================================================================
--- /nutchez-0.1/plugins/lib-nekohtml/plugin.xml	(revision 66)
+++ /nutchez-0.1/plugins/lib-nekohtml/plugin.xml	(revision 66)
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!--
+ ! NekoHTML is a simple HTML scanner and tag balancer.
+ ! (http://people.apache.org/~andyc/neko/doc/html/index.html)
+ ! 
+ ! Dowload : http://people.apache.org/~andyc/neko/doc/html/index.html
+ ! License : http://people.apache.org/~andyc/neko/LICENSE
+ !-->
+<plugin
+   id="lib-nekohtml"
+   name="CyberNeko HTML Parser"
+   version="1.9.11"
+   provider-name="org.cyberneko">
+
+   <runtime>
+     <library name="nekohtml-0.9.4.jar">
+        <export name="*"/>
+     </library>
+   </runtime>
+
+</plugin>
Index: /nutchez-0.1/plugins/lib-parsems/plugin.xml
===================================================================
--- /nutchez-0.1/plugins/lib-parsems/plugin.xml	(revision 66)
+++ /nutchez-0.1/plugins/lib-parsems/plugin.xml	(revision 66)
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!--
+ ! A common framework for microsoft documents parsers implementations
+ !-->
+<plugin
+   id="lib-parsems"
+   name="Parse MS Documents Framework"
+   version="1.0"
+   provider-name="org.apache.nutch">
+
+   <runtime>
+     <library name="lib-parsems.jar">
+        <export name="*"/>
+     </library>
+   </runtime>
+
+   <requires>
+      <import plugin="lib-jakarta-poi"/>
+   </requires>
+
+</plugin>
Index: /nutchez-0.1/plugins/lib-regex-filter/plugin.xml
===================================================================
--- /nutchez-0.1/plugins/lib-regex-filter/plugin.xml	(revision 66)
+++ /nutchez-0.1/plugins/lib-regex-filter/plugin.xml	(revision 66)
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!--
+ ! A common framework for RegExp based URL filters
+ !-->
+<plugin
+   id="lib-regex-filter"
+   name="Regex URL Filter Framework"
+   version="1.0"
+   provider-name="org.apache.nutch">
+
+   <runtime>
+     <library name="lib-regex-filter.jar">
+        <export name="*"/>
+     </library>
+   </runtime>
+
+</plugin>
Index: /nutchez-0.1/plugins/lib-xml/plugin.xml
===================================================================
--- /nutchez-0.1/plugins/lib-xml/plugin.xml	(revision 66)
+++ /nutchez-0.1/plugins/lib-xml/plugin.xml	(revision 66)
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!--
+ ! XML library - Gathers many XML related libraries:
+ !
+ ! * Jaxen
+ !     - Download : http://jaxen.org/releases.html
+ !     - License  : http://jaxen.org/license.html
+ !
+ !   * Xerces-J 2.6.1
+ !     - Download : http://xerces.apache.org/xerces2-j/download.cgi
+ !     - License  : http://www.apache.org/licenses/LICENSE-2.0
+ !
+ !   * SAXPath 1.0 FCS
+ !     - Note     : SAXPath has been incorporated into Jaxen.
+ !                  It has been merged into the Jaxen codebase
+ !                  and is no longer being maintained separately
+ !     - Download : http://sourceforge.net/project/showfiles.php?group_id=26014
+ !     - License  : OSI-Approved Open Source
+ !
+ !   * jdom 1.0 beta8-dev
+ !     - Download : http://www.jdom.org/downloads/index.html
+ !     - License  : http://www.jdom.org/docs/faq.html#a0030
+ !
+ !-->
+<plugin
+   id="lib-xml"
+   name="XML Libraries"
+   version="1.0"
+   provider-name="org.apache.nutch.xml">
+
+   <runtime>
+     <library name="jaxen-core.jar">
+       <export name="*"/>
+     </library>
+     <library name="jaxen-jdom.jar">
+       <export name="*"/>
+     </library>
+     <library name="xercesImpl.jar">
+       <export name="*"/>
+     </library>
+     <library name="saxpath.jar">
+       <export name="*"/>
+     </library>
+     <library name="jdom.jar">
+        <export name="*"/>
+     </library>
+   </runtime>
+
+</plugin>
Index: /nutchez-0.1/plugins/microformats-reltag/plugin.xml
===================================================================
--- /nutchez-0.1/plugins/microformats-reltag/plugin.xml	(revision 66)
+++ /nutchez-0.1/plugins/microformats-reltag/plugin.xml	(revision 66)
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="microformats-reltag"
+   name="Rel-Tag microformat Parser/Indexer/Querier"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+    <runtime>
+      <library name="microformats-reltag.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.microformats.reltag.RelTagParser"
+              name="Rel-Tag parser"
+              point="org.apache.nutch.parse.HtmlParseFilter">
+      <implementation id="RelTagParser"
+                      class="org.apache.nutch.microformats.reltag.RelTagParser"/>
+   </extension>
+
+   <extension id="org.apache.nutch.microformats.reltag.RelTagIndexingFilter"
+              name="Rel-Tag indexing filter"
+              point="org.apache.nutch.indexer.IndexingFilter">
+      <implementation id="RelTagIndexingFilter"
+                      class="org.apache.nutch.microformats.reltag.RelTagIndexingFilter"/>
+   </extension>
+
+
+   <extension id="org.apache.nutch.microformats.reltag.RelTagQueryFilter"
+              name="Rel-Tag query filter"
+              point="org.apache.nutch.searcher.QueryFilter">
+      <implementation id="RelTagQueryFilter"
+                      class="org.apache.nutch.microformats.reltag.RelTagQueryFilter">
+        <parameter name="raw-fields" value="tag"/>
+      </implementation>
+      
+   </extension>
+
+
+</plugin>
+
Index: /nutchez-0.1/plugins/nutch-extensionpoints/plugin.xml
===================================================================
--- /nutchez-0.1/plugins/nutch-extensionpoints/plugin.xml	(revision 66)
+++ /nutchez-0.1/plugins/nutch-extensionpoints/plugin.xml	(revision 66)
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="nutch-extensionpoints"
+   name="the nutch core extension points"
+   version="0.8.0"
+   provider-name="nutch.org">
+
+   <!-- this file hosts all extension points nutch core code offers. 
+   Please not that plugins can define extension points as well to be extendable.-->
+
+<extension-point
+      id="org.apache.nutch.clustering.OnlineClusterer"
+      name="Nutch Online Search Results Clustering Plugin"/>
+
+<extension-point
+      id="org.apache.nutch.indexer.field.FieldFilter"
+      name="Nutch Field Filter"/>
+      
+<extension-point
+      id="org.apache.nutch.indexer.IndexingFilter"
+      name="Nutch Indexing Filter"/>
+
+<extension-point
+      id="org.apache.nutch.ontology.Ontology"
+      name="Ontology Model Loader"/>
+
+<extension-point
+      id="org.apache.nutch.parse.Parser"
+      name="Nutch Content Parser"/>
+ 
+<extension-point
+      id="org.apache.nutch.parse.HtmlParseFilter"
+      name="HTML Parse Filter"/>
+
+<extension-point
+      id="org.apache.nutch.protocol.Protocol"
+      name="Nutch Protocol"/>
+
+<extension-point
+      id="org.apache.nutch.searcher.QueryFilter"
+      name="Nutch Query Filter"/>
+
+<extension-point
+      id="org.apache.nutch.net.URLFilter"
+      name="Nutch URL Filter"/>
+
+<extension-point
+      id="org.apache.nutch.net.URLNormalizer"
+      name="Nutch URL Normalizer"/>
+
+<extension-point
+      id="org.apache.nutch.analysis.NutchAnalyzer"
+      name="Nutch Analysis"/>
+
+<extension-point
+      id="org.apache.nutch.searcher.response.ResponseWriter"
+      name="Nutch Search Results Response Writer"/>
+      
+<extension-point
+      id="org.apache.nutch.searcher.Summarizer"
+      name="Nutch Summarizer"/>
+
+<extension-point
+      id="org.apache.nutch.scoring.ScoringFilter"
+      name="Nutch Scoring"/>
+
+</plugin>
Index: /nutchez-0.1/plugins/ontology/plugin.xml
===================================================================
--- /nutchez-0.1/plugins/ontology/plugin.xml	(revision 66)
+++ /nutchez-0.1/plugins/ontology/plugin.xml	(revision 66)
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="ontology"
+   name="Ontology Plug-in"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+
+   <runtime>
+      <library name="ontology.jar">
+         <export name="*"/>
+      </library>
+
+      <library name="commons-logging-1.0.3.jar"/>
+      <library name="jena-2.1.jar"/>
+
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <!-- attribute "point" is the plugin interface class -->
+   <!-- seems kinda redundant to have to define the point here too -->   
+   <extension id="org.apache.nutch.ontology.jena"
+              name="Ontology Model Loader"
+              point="org.apache.nutch.ontology.Ontology">
+
+      <!-- define all the classes that implement the point defined above -->
+      <implementation id="org.apache.nutch.ontology.jena.OntologyImpl"
+                      class="org.apache.nutch.ontology.jena.OntologyImpl">
+        <parameter name="pathSuffix" value=""/>
+      </implementation>
+
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/plugins/parse-ext/command
===================================================================
--- /nutchez-0.1/plugins/parse-ext/command	(revision 66)
+++ /nutchez-0.1/plugins/parse-ext/command	(revision 66)
@@ -0,0 +1,24 @@
+#!/bin/bash
+#
+# Sample bash script as external command invoked by parse-ext plugin
+#
+# 20040701, John Xing
+
+set -e
+
+if  [ $# -ne 1 ]; then
+  echo Usage:$0 mimeType >&2
+  exit 1
+fi
+
+case $1 in
+"application/vnd.nutch.example.cat")
+  cat
+  ;;
+"application/vnd.nutch.example.md5sum")
+  md5sum
+  ;;
+*)
+  echo "Can't parse mimeType $1" >&2
+  exit 1
+esac
Index: /nutchez-0.1/plugins/parse-ext/plugin.xml
===================================================================
--- /nutchez-0.1/plugins/parse-ext/plugin.xml	(revision 66)
+++ /nutchez-0.1/plugins/parse-ext/plugin.xml	(revision 66)
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="parse-ext"
+   name="External Parser Plug-in"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+   <runtime>
+      <library name="parse-ext.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.parse.ext"
+              name="ExtParse"
+              point="org.apache.nutch.parse.Parser">
+
+      <implementation id="ExtParser"
+                      class="org.apache.nutch.parse.ext.ExtParser">
+        <parameter name="contentType" value="application/vnd.nutch.example.cat"/>
+        <parameter name="pathSuffix"  value=""/>
+        <parameter name="command"     value="./build/plugins/parse-ext/command"/>
+        <parameter name="timeout"     value="10"/>
+      </implementation>
+
+      <implementation id="ExtParser"
+                      class="org.apache.nutch.parse.ext.ExtParser">
+        <parameter name="contentType" value="application/vnd.nutch.example.md5sum"/>
+        <parameter name="pathSuffix"  value=""/>
+        <parameter name="command"     value="./build/plugins/parse-ext/command"/>
+        <parameter name="timeout"     value="20"/>
+      </implementation>
+
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/plugins/parse-html/plugin.xml
===================================================================
--- /nutchez-0.1/plugins/parse-html/plugin.xml	(revision 66)
+++ /nutchez-0.1/plugins/parse-html/plugin.xml	(revision 66)
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="parse-html"
+   name="Html Parse Plug-in"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+   <runtime>
+      <library name="parse-html.jar">
+         <export name="*"/>
+      </library>
+      <library name="tagsoup-1.2.jar"/>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+      <import plugin="lib-nekohtml"/>
+   </requires>
+
+   <extension id="org.apache.nutch.parse.html"
+              name="HtmlParse"
+              point="org.apache.nutch.parse.Parser">
+
+      <implementation id="org.apache.nutch.parse.html.HtmlParser"
+                      class="org.apache.nutch.parse.html.HtmlParser">
+        <parameter name="contentType" value="text/html"/>
+        <parameter name="pathSuffix" value=""/>
+      </implementation>
+
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/plugins/parse-js/plugin.xml
===================================================================
--- /nutchez-0.1/plugins/parse-js/plugin.xml	(revision 66)
+++ /nutchez-0.1/plugins/parse-js/plugin.xml	(revision 66)
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="parse-js"
+   name="JavaScript Parser"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+   <runtime>
+      <library name="parse-js.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.parse.js"
+              name="JS Parser"
+              point="org.apache.nutch.parse.Parser">
+      <implementation id="JSParser"
+         class="org.apache.nutch.parse.js.JSParseFilter">
+        <parameter name="contentType" value="application/x-javascript"/>
+        <parameter name="pathSuffix"  value="js"/>
+      </implementation>
+   </extension>
+   <extension id="org.apache.nutch.parse.js.JSParseFilter"
+              name="Parse JS Filter"
+              point="org.apache.nutch.parse.HtmlParseFilter">
+      <implementation id="JSParseFilter"
+         class="org.apache.nutch.parse.js.JSParseFilter">
+        <parameter name="contentType" value="application/x-javascript"/>
+        <parameter name="pathSuffix"  value=""/>
+      </implementation>
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/plugins/parse-msexcel/plugin.xml
===================================================================
--- /nutchez-0.1/plugins/parse-msexcel/plugin.xml	(revision 66)
+++ /nutchez-0.1/plugins/parse-msexcel/plugin.xml	(revision 66)
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="parse-msexcel"
+   name="MSExcel Parse Plug-in"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+   <runtime>
+      <library name="parse-msexcel.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+     <import plugin="nutch-extensionpoints"/>
+     <import plugin="lib-jakarta-poi"/>
+     <import plugin="lib-parsems"/>
+   </requires>
+
+   <extension id="org.apache.nutch.parse.msexcel"
+              name="MSExcelParser" 
+              point="org.apache.nutch.parse.Parser">
+
+      <implementation id="org.apache.nutch.parse.msexcel.MSExcelParser"
+                      class="org.apache.nutch.parse.msexcel.MSExcelParser">
+        <parameter name="contentType" value="application/vnd.ms-excel"/>
+        <parameter name="pathSuffix"  value="xls"/>
+      </implementation>
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/plugins/parse-mspowerpoint/plugin.xml
===================================================================
--- /nutchez-0.1/plugins/parse-mspowerpoint/plugin.xml	(revision 66)
+++ /nutchez-0.1/plugins/parse-mspowerpoint/plugin.xml	(revision 66)
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="parse-mspowerpoint"
+   name="MSPowerPoint Parse Plug-in"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+   <runtime>
+      <library name="parse-mspowerpoint.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="lib-jakarta-poi"/>
+      <import plugin="nutch-extensionpoints"/>
+      <import plugin="lib-parsems"/>
+   </requires>
+
+   <extension id="net.nutch.parse.mspowerpoint"
+              name="MSPowerPointParse" 
+              point="org.apache.nutch.parse.Parser">
+      <implementation id="org.apache.nutch.parse.mspowerpoint.MSPowerPointParser" 
+                      class="org.apache.nutch.parse.mspowerpoint.MSPowerPointParser">
+        <parameter name="contentType" value="application/vnd.ms-powerpoint"/>
+        <parameter name="pathSuffix"  value=""/>
+      </implementation>
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/plugins/parse-msword/plugin.xml
===================================================================
--- /nutchez-0.1/plugins/parse-msword/plugin.xml	(revision 66)
+++ /nutchez-0.1/plugins/parse-msword/plugin.xml	(revision 66)
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="parse-msword"
+   name="MSWord Parse Plug-in"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+   <runtime>
+      <library name="parse-msword.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+      <import plugin="lib-jakarta-poi"/>
+      <import plugin="lib-parsems"/>
+   </requires>
+
+   <extension id="org.apache.nutch.parse.msword"
+              name="MSWordParse"
+              point="org.apache.nutch.parse.Parser">
+
+      <implementation id="org.apache.nutch.parse.msword.MSWordParser"
+                      class="org.apache.nutch.parse.msword.MSWordParser">
+        <parameter name="contentType" value="application/msword"/>
+        <parameter name="pathSuffix"  value=""/>
+      </implementation>
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/plugins/parse-oo/plugin.xml
===================================================================
--- /nutchez-0.1/plugins/parse-oo/plugin.xml	(revision 66)
+++ /nutchez-0.1/plugins/parse-oo/plugin.xml	(revision 66)
@@ -0,0 +1,134 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="parse-oo"
+   name="OpenOffice/OpenDocument Parse Plug-in"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+
+   <runtime>
+      <library name="parse-oo.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+      <import plugin="lib-xml"/>
+   </requires>
+
+   <extension id="org.apache.nutch.parse.oo"
+              name="OOParse"
+              point="org.apache.nutch.parse.Parser">
+
+      <!-- Text / Writer -->
+      <implementation id="org.apache.nutch.parse.oo.OpenDocument.Text"
+                      class="org.apache.nutch.parse.oo.OOParser">
+        <parameter name="contentType" value="application/vnd.oasis.opendocument.text"/>
+        <parameter name="pathSuffix"  value="odt"/>
+      </implementation>
+
+      <implementation id="org.apache.nutch.parse.oo.StarOffice.Writer"
+                      class="org.apache.nutch.parse.oo.OOParser">
+        <parameter name="contentType" value="application/vnd.sun.xml.writer"/>
+        <parameter name="pathSuffix"  value="sxw"/>
+      </implementation>
+
+      <!-- Text / Writer Template -->
+      <implementation id="org.apache.nutch.parse.oo.OpenDocument.TextTemplate"
+                      class="org.apache.nutch.parse.oo.OOParser">
+        <parameter name="contentType" value="application/vnd.oasis.opendocument.text-template"/>
+        <parameter name="pathSuffix"  value="ott"/>
+      </implementation>
+
+      <implementation id="org.apache.nutch.parse.oo.StarOffice.WriterTemplate"
+                      class="org.apache.nutch.parse.oo.OOParser">
+        <parameter name="contentType" value="application/vnd.sun.xml.writer.template"/>
+        <parameter name="pathSuffix"  value="stw"/>
+      </implementation>
+
+      <!-- Text-Web -->
+      <implementation id="org.apache.nutch.parse.oo.OpenDocument.TextWeb"
+                      class="org.apache.nutch.parse.oo.OOParser">
+        <parameter name="contentType" value="application/vnd.oasis.opendocument.text-web"/>
+        <parameter name="pathSuffix"  value="odh"/>
+      </implementation>
+
+      <!-- Text-Master -->
+      <implementation id="org.apache.nutch.parse.oo.OpenDocument.TextMaster"
+                      class="org.apache.nutch.parse.oo.OOParser">
+        <parameter name="contentType" value="application/vnd.oasis.opendocument.text-master"/>
+        <parameter name="pathSuffix"  value="odm"/>
+      </implementation>
+
+      <!-- Spreadsheet / Calc -->
+      <implementation id="org.apache.nutch.parse.oo.OpenDocument.Spreadsheet"
+                      class="org.apache.nutch.parse.oo.OOParser">
+        <parameter name="contentType" value="application/vnd.oasis.opendocument.spreadsheet"/>
+        <parameter name="pathSuffix"  value="ods"/>
+      </implementation>
+
+      <implementation id="org.apache.nutch.parse.oo.StarOffice.Calc"
+                      class="org.apache.nutch.parse.oo.OOParser">
+        <parameter name="contentType" value="application/vnd.sun.xml.calc"/>
+        <parameter name="pathSuffix"  value="sxc"/>
+      </implementation>
+
+      <!-- Spreadsheet / Calc Template -->
+      <implementation id="org.apache.nutch.parse.oo.OpenDocument.SpreadsheetTemplate"
+                      class="org.apache.nutch.parse.oo.OOParser">
+        <parameter name="contentType" value="application/vnd.oasis.opendocument.spreadsheet-template"/>
+        <parameter name="pathSuffix"  value="ots"/>
+      </implementation>
+
+      <implementation id="org.apache.nutch.parse.oo.StarOffice.CalcTemplate"
+                      class="org.apache.nutch.parse.oo.OOParser">
+        <parameter name="contentType" value="application/vnd.sun.xml.calc.template"/>
+        <parameter name="pathSuffix"  value="stc"/>
+      </implementation>
+
+      <!-- Presentation / Impress -->
+      <implementation id="org.apache.nutch.parse.oo.OpenDocument.Presentation"
+                      class="org.apache.nutch.parse.oo.OOParser">
+        <parameter name="contentType" value="application/vnd.oasis.opendocument.presentation"/>
+        <parameter name="pathSuffix"  value="odp"/>
+      </implementation>
+
+      <implementation id="org.apache.nutch.parse.oo.StarOffice.Impress"
+                      class="org.apache.nutch.parse.oo.OOParser">
+        <parameter name="contentType" value="application/vnd.sun.xml.impress"/>
+        <parameter name="pathSuffix"  value="sxi"/>
+      </implementation>
+
+      <!-- Presentation / Impress Template -->
+      <implementation id="org.apache.nutch.parse.oo.OpenDocument.PresentationTemplate"
+                      class="org.apache.nutch.parse.oo.OOParser">
+        <parameter name="contentType" value="application/vnd.oasis.opendocument.presentation-template"/>
+        <parameter name="pathSuffix"  value="otp"/>
+      </implementation>
+
+      <implementation id="org.apache.nutch.parse.oo.StarOffice.ImpressTemplate"
+                      class="org.apache.nutch.parse.oo.OOParser">
+        <parameter name="contentType" value="application/vnd.sun.xml.impress.template"/>
+        <parameter name="pathSuffix"  value="sti"/>
+      </implementation>
+
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/plugins/parse-pdf/plugin.xml
===================================================================
--- /nutchez-0.1/plugins/parse-pdf/plugin.xml	(revision 66)
+++ /nutchez-0.1/plugins/parse-pdf/plugin.xml	(revision 66)
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="parse-pdf"
+   name="Pdf Parse Plug-in"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+
+   <runtime>
+      <library name="parse-pdf.jar">
+         <export name="*"/>
+      </library>
+      <library name="PDFBox-0.7.4-dev.jar"/>
+      <library name="FontBox-0.2.0-dev.jar"/>
+      <library name="JempBox-0.2.0-dev.jar"/>
+      <library name="bcprov-jdk14-132.jar"/>
+      <!-- Uncomment the following two lines after you have downloaded the
+           libraries, see README.txt for more details.-->
+      <!--
+      <library name="jai_codec.jar"/>
+      <library name="jai_core.jar"/>
+      -->
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.parse.pdf"
+              name="PdfParse"
+              point="org.apache.nutch.parse.Parser">
+
+      <implementation id="org.apache.nutch.parse.pdf.PdfParser"
+                      class="org.apache.nutch.parse.pdf.PdfParser">
+        <parameter name="contentType" value="application/pdf"/>
+        <parameter name="pathSuffix"  value=""/>
+      </implementation>
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/plugins/parse-rss/plugin.xml
===================================================================
--- /nutchez-0.1/plugins/parse-rss/plugin.xml	(revision 66)
+++ /nutchez-0.1/plugins/parse-rss/plugin.xml	(revision 66)
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="parse-rss"
+   name="RSS Parse Plug-in"
+   version="1.0.0"
+   provider-name="edu.usc.cs.cs599">
+
+
+   <runtime>
+      <library name="parse-rss.jar">
+         <export name="*"/>
+      </library>
+      <library name="commons-feedparser-0.6-fork.jar"/>
+      <library name="xml-rpc-1.2.jar"/>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+      <import plugin="lib-xml"/>
+   </requires>
+
+   <extension id="org.apache.nutch.parse.rss"
+              name="RssParse"
+              point="org.apache.nutch.parse.Parser">
+
+      <implementation id="org.apache.nutch.parse.rss.RSSParser"
+                      class="org.apache.nutch.parse.rss.RSSParser">
+        <parameter name="contentType" value="application/rss+xml"/>
+        <parameter name="pathSuffix"  value="rss"/>
+      </implementation>
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/plugins/parse-swf/plugin.xml
===================================================================
--- /nutchez-0.1/plugins/parse-swf/plugin.xml	(revision 66)
+++ /nutchez-0.1/plugins/parse-swf/plugin.xml	(revision 66)
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="parse-swf"
+   name="SWF Parse Plug-in"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+
+   <runtime>
+      <library name="parse-swf.jar">
+         <export name="*"/>
+      </library>
+      <library name="javaswf.jar"/>
+   </runtime>
+
+   <extension id="org.apache.nutch.parse.swf"
+              name="SWFParse"
+              point="org.apache.nutch.parse.Parser">
+
+      <implementation id="org.apache.nutch.parse.swf.SWFParser"
+                      class="org.apache.nutch.parse.swf.SWFParser">
+        <parameter name="contentType" value="application/x-shockwave-flash"/>
+        <parameter name="pathSuffix"  value="swf"/>
+      </implementation>
+      
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/plugins/parse-text/plugin.xml
===================================================================
--- /nutchez-0.1/plugins/parse-text/plugin.xml	(revision 66)
+++ /nutchez-0.1/plugins/parse-text/plugin.xml	(revision 66)
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="parse-text"
+   name="Text Parse Plug-in"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+
+   <runtime>
+      <library name="parse-text.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.parse.text"
+              name="TextParse"
+              point="org.apache.nutch.parse.Parser">
+
+      <implementation id="org.apache.nutch.parse.text.TextParser"
+                      class="org.apache.nutch.parse.text.TextParser">
+        <parameter name="contentType" value="text/plain"/>
+        <parameter name="pathSuffix"  value="txt"/>
+      </implementation>
+
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/plugins/parse-zip/plugin.xml
===================================================================
--- /nutchez-0.1/plugins/parse-zip/plugin.xml	(revision 66)
+++ /nutchez-0.1/plugins/parse-zip/plugin.xml	(revision 66)
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="parse-zip"
+   name="Zip Parse Plug-in"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+   <runtime>
+      <library name="parse-zip.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.parse.zip"
+              name="ZipParser" 
+              point="org.apache.nutch.parse.Parser">
+
+      <implementation id="org.apache.nutch.parse.zip.ZipParser" 
+                      class="org.apache.nutch.parse.zip.ZipParser">
+        <parameter name="contentType" value="application/zip"/>
+        <parameter name="pathSuffix"  value="zip"/>
+      </implementation>
+      
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/plugins/protocol-file/plugin.xml
===================================================================
--- /nutchez-0.1/plugins/protocol-file/plugin.xml	(revision 66)
+++ /nutchez-0.1/plugins/protocol-file/plugin.xml	(revision 66)
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="protocol-file"
+   name="File Protocol Plug-in"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+
+   <runtime>
+      <library name="protocol-file.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.protocol.file"
+              name="FileProtocol"
+              point="org.apache.nutch.protocol.Protocol">
+
+      <implementation id="org.apache.nutch.protocol.file.File"
+                      class="org.apache.nutch.protocol.file.File">
+        <parameter name="protocolName" value="file"/>
+      </implementation>
+
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/plugins/protocol-ftp/plugin.xml
===================================================================
--- /nutchez-0.1/plugins/protocol-ftp/plugin.xml	(revision 66)
+++ /nutchez-0.1/plugins/protocol-ftp/plugin.xml	(revision 66)
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="protocol-ftp"
+   name="Ftp Protocol Plug-in"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+   <runtime>
+      <library name="protocol-ftp.jar">
+         <export name="*"/>
+      </library>
+      <library name="commons-net-1.2.0-dev.jar"/>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.protocol.ftp"
+              name="FtpProtocol"
+              point="org.apache.nutch.protocol.Protocol">
+
+      <implementation id="org.apache.nutch.protocol.ftp.Ftp"
+                      class="org.apache.nutch.protocol.ftp.Ftp">
+        <parameter name="protocolName" value="ftp"/>
+      </implementation>
+      
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/plugins/protocol-http/plugin.xml
===================================================================
--- /nutchez-0.1/plugins/protocol-http/plugin.xml	(revision 66)
+++ /nutchez-0.1/plugins/protocol-http/plugin.xml	(revision 66)
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="protocol-http"
+   name="Http Protocol Plug-in"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+   <runtime>
+      <library name="protocol-http.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+      <import plugin="lib-http"/>
+   </requires>
+
+   <extension id="org.apache.nutch.protocol.http"
+              name="HttpProtocol"
+              point="org.apache.nutch.protocol.Protocol">
+
+      <implementation id="org.apache.nutch.protocol.http.Http"
+                      class="org.apache.nutch.protocol.http.Http">
+        <parameter name="protocolName" value="http"/>
+      </implementation>
+
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/plugins/protocol-httpclient/plugin.xml
===================================================================
--- /nutchez-0.1/plugins/protocol-httpclient/plugin.xml	(revision 66)
+++ /nutchez-0.1/plugins/protocol-httpclient/plugin.xml	(revision 66)
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="protocol-httpclient"
+   name="Http / Https Protocol Plug-in"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+   <runtime>
+      <library name="protocol-httpclient.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+      <import plugin="lib-http"/>
+   </requires>
+
+   <extension id="org.apache.nutch.protocol.httpclient"
+              name="HttpProtocol"
+              point="org.apache.nutch.protocol.Protocol">
+
+      <implementation id="org.apache.nutch.protocol.httpclient.Http"
+                      class="org.apache.nutch.protocol.httpclient.Http">
+        <parameter name="protocolName" value="http"/>
+      </implementation>
+
+   </extension>
+
+   <extension id="org.apache.nutch.protocol.https"
+              name="HttpsProtocol"
+              point="org.apache.nutch.protocol.Protocol">
+
+      <implementation id="org.apache.nutch.protocol.httpclient.Http"
+                      class="org.apache.nutch.protocol.httpclient.Http">
+        <parameter name="protocolName" value="https"/>
+      </implementation>
+
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/plugins/query-basic/plugin.xml
===================================================================
--- /nutchez-0.1/plugins/query-basic/plugin.xml	(revision 66)
+++ /nutchez-0.1/plugins/query-basic/plugin.xml	(revision 66)
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="query-basic"
+   name="Basic Query Filter"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+   <runtime>
+      <library name="query-basic.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.searcher.basic"
+              name="Nutch Basic Query Filter"
+              point="org.apache.nutch.searcher.QueryFilter">
+      <implementation id="BasicQueryFilter"
+                      class="org.apache.nutch.searcher.basic.BasicQueryFilter">
+        <parameter name="fields" value="DEFAULT"/>
+      </implementation>
+      
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/plugins/query-custom/plugin.xml
===================================================================
--- /nutchez-0.1/plugins/query-custom/plugin.xml	(revision 66)
+++ /nutchez-0.1/plugins/query-custom/plugin.xml	(revision 66)
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="query-custom"
+   name="Custom Query Filter"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+   <runtime>
+      <library name="query-custom.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+   
+   <extension id="org.apache.nutch.searcher.custom"
+              name="Nutch Custom Field Query Filter"
+              point="org.apache.nutch.searcher.QueryFilter">
+      <implementation id="CustomQueryFilter"
+        class="org.apache.nutch.searcher.custom.CustomFieldQueryFilter">
+        <parameter name="fields" value="lang" />
+      </implementation>
+      
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/plugins/query-more/plugin.xml
===================================================================
--- /nutchez-0.1/plugins/query-more/plugin.xml	(revision 66)
+++ /nutchez-0.1/plugins/query-more/plugin.xml	(revision 66)
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="query-more"
+   name="More Query Filter"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+   <runtime>
+      <library name="query-more.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.searcher.more"
+              name="Nutch More Query Filter"
+              point="org.apache.nutch.searcher.QueryFilter">
+      <implementation id="TypeQueryFilter"
+                      class="org.apache.nutch.searcher.more.TypeQueryFilter">
+        <parameter name="raw-fields" value="type"/>
+      </implementation>
+      
+   </extension>
+
+   <extension id="org.apache.nutch.searcher.more"
+              name="Nutch More Query Filter"
+              point="org.apache.nutch.searcher.QueryFilter">
+      <implementation id="DateQueryFilter"
+                      class="org.apache.nutch.searcher.more.DateQueryFilter">
+        <parameter name="raw-fields" value="date"/>
+      </implementation>
+      
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/plugins/query-site/plugin.xml
===================================================================
--- /nutchez-0.1/plugins/query-site/plugin.xml	(revision 66)
+++ /nutchez-0.1/plugins/query-site/plugin.xml	(revision 66)
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="query-site"
+   name="Site Query Filter"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+   <runtime>
+      <library name="query-site.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.searcher.site.SiteQueryFilter"
+              name="Nutch Site Query Filter"
+              point="org.apache.nutch.searcher.QueryFilter">
+      <implementation id="SiteQueryFilter"
+                      class="org.apache.nutch.searcher.site.SiteQueryFilter">
+        <parameter name="raw-fields" value="site"/>
+      </implementation>
+      
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/plugins/query-url/plugin.xml
===================================================================
--- /nutchez-0.1/plugins/query-url/plugin.xml	(revision 66)
+++ /nutchez-0.1/plugins/query-url/plugin.xml	(revision 66)
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="query-url"
+   name="URL Query Filter"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+   <runtime>
+      <library name="query-url.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.searcher.url.URLQueryFilter"
+              name="Nutch URL Query Filter"
+              point="org.apache.nutch.searcher.QueryFilter">
+      <implementation id="URLQueryFilter"
+                      class="org.apache.nutch.searcher.url.URLQueryFilter">
+        <parameter name="fields" value="url"/>
+      </implementation>
+      
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/plugins/response-json/plugin.xml
===================================================================
--- /nutchez-0.1/plugins/response-json/plugin.xml	(revision 66)
+++ /nutchez-0.1/plugins/response-json/plugin.xml	(revision 66)
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!--
+ ! JSON-lib is a java library for transforming beans, maps, collections, java 
+ ! arrays and XML to JSON and back again.  EZMorph is one of its dependencies.
+ ! Both are licensed under the apache license.
+ ! 
+ ! JSON-lib Project: http://json-lib.sourceforge.net/index.html 
+ ! JSON-lib Download: http://sourceforge.net/project/showfiles.php?group_id=171425
+ ! License: http://json-lib.sourceforge.net/license.html
+ !
+ ! EZMorph Project: http://ezmorph.sourceforge.net/license.html
+ ! EZMorph Download: http://sourceforge.net/project/showfiles.php?group_id=174866
+ ! License: http://ezmorph.sourceforge.net/license.html
+ !-->
+<plugin
+   id="response-json"
+   name="JSON Response Writer Plug-in"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+   <runtime>
+      <library name="response-json.jar">
+         <export name="*"/>
+      </library>
+      <library name="ezmorph-1.0.6.jar"/>
+      <library name="json-lib-2.2.2-jdk15.jar"/>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.searcher.response"
+              name="ResponseWriter"
+              point="org.apache.nutch.searcher.response.ResponseWriter">
+
+      <implementation id="org.apache.nutch.searcher.response.json.JSONResponseWriter"
+        class="org.apache.nutch.searcher.response.json.JSONResponseWriter">
+        <parameter name="responseType" value="json"/>
+        <!--<parameter name="contentType" value="application/json"/>-->
+        <parameter name="contentType" value="text/plain"/>
+      </implementation>
+
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/plugins/response-xml/plugin.xml
===================================================================
--- /nutchez-0.1/plugins/response-xml/plugin.xml	(revision 66)
+++ /nutchez-0.1/plugins/response-xml/plugin.xml	(revision 66)
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="response-xml"
+   name="XML Response Writer Plug-in"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+   <runtime>
+      <library name="response-xml.jar">
+         <export name="*"/>
+      </library>    
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.searcher.response"
+              name="ResponseWriter"
+              point="org.apache.nutch.searcher.response.ResponseWriter">
+
+      <implementation id="org.apache.nutch.searcher.response.xml.XMLResponseWriter"
+        class="org.apache.nutch.searcher.response.xml.XMLResponseWriter">
+        <parameter name="responseType" value="xml"/>
+        <parameter name="contentType" value="text/xml"/>
+      </implementation>
+
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/plugins/scoring-link/plugin.xml
===================================================================
--- /nutchez-0.1/plugins/scoring-link/plugin.xml	(revision 66)
+++ /nutchez-0.1/plugins/scoring-link/plugin.xml	(revision 66)
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="scoring-link"
+   name="Link Analysis Scoring Plug-in"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+
+   <runtime>
+      <library name="scoring-link.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <extension id="org.apache.nutch.scoring.link"
+              name="LinkAnalysisScoring"
+              point="org.apache.nutch.scoring.ScoringFilter">
+
+      <implementation id="org.apache.nutch.scoring.link.LinkAnalysisScoringFilter"
+        class="org.apache.nutch.scoring.link.LinkAnalysisScoringFilter" />
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/plugins/scoring-opic/plugin.xml
===================================================================
--- /nutchez-0.1/plugins/scoring-opic/plugin.xml	(revision 66)
+++ /nutchez-0.1/plugins/scoring-opic/plugin.xml	(revision 66)
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="scoring-opic"
+   name="OPIC Scoring Plug-in"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+
+   <runtime>
+      <library name="scoring-opic.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <extension id="org.apache.nutch.scoring.opic"
+              name="OPICScoring"
+              point="org.apache.nutch.scoring.ScoringFilter">
+
+      <implementation id="org.apache.nutch.scoring.opic.OPICScoringFilter"
+                      class="org.apache.nutch.scoring.opic.OPICScoringFilter" />
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/plugins/subcollection/plugin.xml
===================================================================
--- /nutchez-0.1/plugins/subcollection/plugin.xml	(revision 66)
+++ /nutchez-0.1/plugins/subcollection/plugin.xml	(revision 66)
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="subcollection"
+   name="Subcollection indexing and query filter"
+   version="1.0.0"
+   provider-name="apache.org">
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <runtime>
+      <library name="subcollection.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+   
+   <extension id="org.apache.nutch.searcher.subcollection.query"
+              name="Subcollection Query Filter"
+              point="org.apache.nutch.searcher.QueryFilter">
+    <implementation id="SubcollectionQueryFilter"
+               class="org.apache.nutch.searcher.subcollection.SubcollectionQueryFilter">
+         <parameter name="raw-fields" value="subcollection"/>
+         </implementation>
+               
+   </extension>      
+
+   <extension id="org.apache.nutch.indexer.subcollection.indexing"
+              name="Subcollection Indexing Filter"
+              point="org.apache.nutch.indexer.IndexingFilter">
+      <implementation id="SubcollectionIndexingFilter"
+                      class="org.apache.nutch.indexer.subcollection.SubcollectionIndexingFilter"/>
+                      
+   </extension>
+</plugin>
Index: /nutchez-0.1/plugins/summary-basic/plugin.xml
===================================================================
--- /nutchez-0.1/plugins/summary-basic/plugin.xml	(revision 66)
+++ /nutchez-0.1/plugins/summary-basic/plugin.xml	(revision 66)
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="summary-basic"
+   name="Basic Summarizer Plug-in"
+   version="1.0.0"
+   provider-name="org.apache.nutch">
+
+   <runtime>
+      <library name="summary-basic.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.summary.basic"
+              name="Basic Summarizer"
+              point="org.apache.nutch.searcher.Summarizer">
+
+      <implementation id="Basic Summarizer"
+                      class="org.apache.nutch.summary.basic.BasicSummarizer"/>
+
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/plugins/summary-lucene/plugin.xml
===================================================================
--- /nutchez-0.1/plugins/summary-lucene/plugin.xml	(revision 66)
+++ /nutchez-0.1/plugins/summary-lucene/plugin.xml	(revision 66)
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="summary-lucene"
+   name="Lucene Highlighter Summary Plug-in"
+   version="1.0.0"
+   provider-name="org.apache.nutch">
+
+   <runtime>
+      <library name="summary-lucene.jar">
+         <export name="*"/>
+      </library>
+      <library name="lucene-highlighter-2.4.0.jar"/>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.summary.basic"
+              name="Lucene Highlighter Summarizer"
+              point="org.apache.nutch.searcher.Summarizer">
+
+      <implementation id="Basic Summarizer"
+                      class="org.apache.nutch.summary.lucene.LuceneSummarizer"/>
+
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/plugins/tld/plugin.xml
===================================================================
--- /nutchez-0.1/plugins/tld/plugin.xml	(revision 66)
+++ /nutchez-0.1/plugins/tld/plugin.xml	(revision 66)
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="tld"
+   name="Top Level Domain Plugin"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+
+   <runtime>
+      <library name="tld.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.indexer.tld"
+              name="Top Level Domain Indexing Filter"
+              point="org.apache.nutch.indexer.IndexingFilter">
+      <implementation id="TLDIndexingFilter"
+                      class="org.apache.nutch.indexer.tld.TLDIndexingFilter"/>
+   </extension>
+
+   <extension id="org.apache.nutch.scoring.tld"
+              name="Top Level Domain Scoring Filter"
+              point="org.apache.nutch.scoring.ScoringFilter">
+
+      <implementation id="org.apache.nutch.scoring.tld.TLDScoringFilter"
+                      class="org.apache.nutch.scoring.tld.TLDScoringFilter" />
+   </extension>
+
+
+</plugin>
Index: /nutchez-0.1/plugins/urlfilter-automaton/plugin.xml
===================================================================
--- /nutchez-0.1/plugins/urlfilter-automaton/plugin.xml	(revision 66)
+++ /nutchez-0.1/plugins/urlfilter-automaton/plugin.xml	(revision 66)
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="urlfilter-automaton"
+   name="Automaton URL Filter"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+   <runtime>
+      <library name="urlfilter-automaton.jar">
+         <export name="*"/>
+      </library>
+      <library name="automaton.jar"/>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+      <import plugin="lib-regex-filter"/>
+   </requires>
+
+   <extension id="org.apache.nutch.net.urlfilter.automaton"
+              name="Nutch Automaton URL Filter"
+              point="org.apache.nutch.net.URLFilter">
+      <implementation id="AutomatonURLFilter"
+                      class="org.apache.nutch.urlfilter.automaton.AutomatonURLFilter"/>
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/plugins/urlfilter-domain/plugin.xml
===================================================================
--- /nutchez-0.1/plugins/urlfilter-domain/plugin.xml	(revision 66)
+++ /nutchez-0.1/plugins/urlfilter-domain/plugin.xml	(revision 66)
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="urlfilter-domain"
+   name="Domain URL Filter"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+   <runtime>
+      <library name="urlfilter-domain.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.net.urlfilter.domain"
+              name="Nutch Domain URL Filter"
+              point="org.apache.nutch.net.URLFilter">
+      <implementation id="DomainURLFilter"
+        class="org.apache.nutch.urlfilter.domain.DomainURLFilter">
+        <!-- <parameter name="file" value="domain-urlfilter.txt"/> -->
+      </implementation>
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/plugins/urlfilter-prefix/plugin.xml
===================================================================
--- /nutchez-0.1/plugins/urlfilter-prefix/plugin.xml	(revision 66)
+++ /nutchez-0.1/plugins/urlfilter-prefix/plugin.xml	(revision 66)
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="urlfilter-prefix"
+   name="Prefix URL Filter"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+   <runtime>
+      <library name="urlfilter-prefix.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.net.urlfilter.prefix"
+              name="Nutch Prefix URL Filter"
+              point="org.apache.nutch.net.URLFilter">
+      <implementation id="PrefixURLFilter"
+                      class="org.apache.nutch.urlfilter.prefix.PrefixURLFilter"/>
+      <!-- by default, attribute "file" is undefined, to keep classic behavior.
+      <implementation id="PrefixURLFilter"
+                      class="org.apache.nutch.net.PrefixURLFilter">
+        <parameter name="file" value="urlfilter-prefix.txt"/>
+      </implementation>
+      -->
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/plugins/urlfilter-regex/plugin.xml
===================================================================
--- /nutchez-0.1/plugins/urlfilter-regex/plugin.xml	(revision 66)
+++ /nutchez-0.1/plugins/urlfilter-regex/plugin.xml	(revision 66)
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="urlfilter-regex"
+   name="Regex URL Filter"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+   <runtime>
+      <library name="urlfilter-regex.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+      <import plugin="lib-regex-filter"/>
+   </requires>
+
+   <extension id="org.apache.nutch.net.urlfilter.regex"
+              name="Nutch Regex URL Filter"
+              point="org.apache.nutch.net.URLFilter">
+      <implementation id="RegexURLFilter"
+                      class="org.apache.nutch.urlfilter.regex.RegexURLFilter"/>
+      <!-- by default, attribute "file" is undefined, to keep classic behavior.
+      <implementation id="RegexURLFilter"
+                      class="org.apache.nutch.net.RegexURLFilter">
+        <parameter name="file" value="urlfilter-regex.txt"/>
+      </implementation>
+      -->
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/plugins/urlfilter-suffix/plugin.xml
===================================================================
--- /nutchez-0.1/plugins/urlfilter-suffix/plugin.xml	(revision 66)
+++ /nutchez-0.1/plugins/urlfilter-suffix/plugin.xml	(revision 66)
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="urlfilter-suffix"
+   name="Suffix URL Filter"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+   <runtime>
+      <library name="urlfilter-suffix.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.net.urlfilter.suffix"
+              name="Nutch Suffix URL Filter"
+              point="org.apache.nutch.net.URLFilter">
+      <implementation id="SuffixURLFilter"
+                      class="org.apache.nutch.urlfilter.suffix.SuffixURLFilter"/>
+      <!-- by default, attribute "file" is undefined, to keep classic behavior.
+      <implementation id="SuffixURLFilter"
+                      class="org.apache.nutch.net.SuffixURLFilter">
+        <parameter name="file" value="urlfilter-suffix.txt"/>
+      </implementation>
+      -->
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/plugins/urlfilter-validator/plugin.xml
===================================================================
--- /nutchez-0.1/plugins/urlfilter-validator/plugin.xml	(revision 66)
+++ /nutchez-0.1/plugins/urlfilter-validator/plugin.xml	(revision 66)
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="urlfilter-validator"
+   name="URL Validator"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+   <runtime>
+      <library name="urlfilter-validator.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.net.urlfilter.validator"
+              name="Nutch URL Validatorr"
+              point="org.apache.nutch.net.URLFilter">
+      <implementation id="URLValidator"
+                      class="org.apache.nutch.urlfilter.validator.UrlValidator"/>
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/plugins/urlnormalizer-basic/plugin.xml
===================================================================
--- /nutchez-0.1/plugins/urlnormalizer-basic/plugin.xml	(revision 66)
+++ /nutchez-0.1/plugins/urlnormalizer-basic/plugin.xml	(revision 66)
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="urlnormalizer-basic"
+   name="Basic URL Normalizer"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+   <runtime>
+      <library name="urlnormalizer-basic.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.net.urlnormalizer.basic"
+              name="Nutch Basic URL Normalizer"
+              point="org.apache.nutch.net.URLNormalizer">
+      <implementation id="BasicURLNormalizer"
+                      class="org.apache.nutch.net.urlnormalizer.basic.BasicURLNormalizer"/>
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/plugins/urlnormalizer-pass/plugin.xml
===================================================================
--- /nutchez-0.1/plugins/urlnormalizer-pass/plugin.xml	(revision 66)
+++ /nutchez-0.1/plugins/urlnormalizer-pass/plugin.xml	(revision 66)
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="urlnormalizer-pass"
+   name="Pass-through URL Normalizer"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+   <runtime>
+      <library name="urlnormalizer-pass.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.net.urlnormalizer.pass"
+              name="Nutch Pass-through URL Normalizer"
+              point="org.apache.nutch.net.URLNormalizer">
+      <implementation id="PassURLNormalizer"
+                      class="org.apache.nutch.net.urlnormalizer.pass.PassURLNormalizer"/>
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/plugins/urlnormalizer-regex/plugin.xml
===================================================================
--- /nutchez-0.1/plugins/urlnormalizer-regex/plugin.xml	(revision 66)
+++ /nutchez-0.1/plugins/urlnormalizer-regex/plugin.xml	(revision 66)
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="urlnormalizer-regex"
+   name="Regex URL Normalizer"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+   <runtime>
+      <library name="urlnormalizer-regex.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.net.urlnormalizer.regex"
+              name="Nutch Regex URL Normalizer"
+              point="org.apache.nutch.net.URLNormalizer">
+      <implementation id="RegexURLNormalizer"
+                      class="org.apache.nutch.net.urlnormalizer.regex.RegexURLNormalizer"/>
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/tomcat/LICENSE
===================================================================
--- /nutchez-0.1/tomcat/LICENSE	(revision 66)
+++ /nutchez-0.1/tomcat/LICENSE	(revision 66)
@@ -0,0 +1,707 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+
+
+APACHE TOMCAT SUBCOMPONENTS: 
+
+Apache Tomcat includes a number of subcomponents with separate copyright notices
+and license terms. Your use of these subcomponents is subject to the terms and
+conditions of the following licenses. 
+
+
+For the jasper-jdt.jar component:
+
+Eclipse Public License - v 1.0
+
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC
+LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM
+CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+1. DEFINITIONS
+
+"Contribution" means:
+
+a) in the case of the initial Contributor, the initial code and documentation
+distributed under this Agreement, and
+
+b) in the case of each subsequent Contributor:
+
+i) changes to the Program, and
+
+ii) additions to the Program;
+
+where such changes and/or additions to the Program originate from and are
+distributed by that particular Contributor. A Contribution 'originates' from a
+Contributor if it was added to the Program by such Contributor itself or anyone
+acting on such Contributor's behalf. Contributions do not include additions to
+the Program which: (i) are separate modules of software distributed in
+conjunction with the Program under their own license agreement, and (ii) are not
+derivative works of the Program.
+
+"Contributor" means any person or entity that distributes the Program.
+
+"Licensed Patents" mean patent claims licensable by a Contributor which are
+necessarily infringed by the use or sale of its Contribution alone or when
+combined with the Program.
+
+"Program" means the Contributions distributed in accordance with this Agreement.
+
+"Recipient" means anyone who receives the Program under this Agreement,
+including all Contributors.
+
+2. GRANT OF RIGHTS
+
+a) Subject to the terms of this Agreement, each Contributor hereby grants
+Recipient a non-exclusive, worldwide, royalty-free copyright license to
+reproduce, prepare derivative works of, publicly display, publicly perform,
+distribute and sublicense the Contribution of such Contributor, if any, and such
+derivative works, in source code and object code form.
+
+b) Subject to the terms of this Agreement, each Contributor hereby grants
+Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed
+Patents to make, use, sell, offer to sell, import and otherwise transfer the
+Contribution of such Contributor, if any, in source code and object code form.
+This patent license shall apply to the combination of the Contribution and the
+Program if, at the time the Contribution is added by the Contributor, such
+addition of the Contribution causes such combination to be covered by the
+Licensed Patents. The patent license shall not apply to any other combinations
+which include the Contribution. No hardware per se is licensed hereunder.
+
+c) Recipient understands that although each Contributor grants the licenses to
+its Contributions set forth herein, no assurances are provided by any
+Contributor that the Program does not infringe the patent or other intellectual
+property rights of any other entity. Each Contributor disclaims any liability to
+Recipient for claims brought by any other entity based on infringement of
+intellectual property rights or otherwise. As a condition to exercising the
+rights and licenses granted hereunder, each Recipient hereby assumes sole
+responsibility to secure any other intellectual property rights needed, if any.
+For example, if a third party patent license is required to allow Recipient to
+distribute the Program, it is Recipient's responsibility to acquire that license
+before distributing the Program.
+
+d) Each Contributor represents that to its knowledge it has sufficient copyright
+rights in its Contribution, if any, to grant the copyright license set forth in
+this Agreement.
+
+3. REQUIREMENTS
+
+A Contributor may choose to distribute the Program in object code form under its
+own license agreement, provided that:
+
+a) it complies with the terms and conditions of this Agreement; and
+
+b) its license agreement:
+
+i) effectively disclaims on behalf of all Contributors all warranties and
+conditions, express and implied, including warranties or conditions of title and
+non-infringement, and implied warranties or conditions of merchantability and
+fitness for a particular purpose;
+
+ii) effectively excludes on behalf of all Contributors all liability for
+damages, including direct, indirect, special, incidental and consequential
+damages, such as lost profits;
+
+iii) states that any provisions which differ from this Agreement are offered by
+that Contributor alone and not by any other party; and
+
+iv) states that source code for the Program is available from such Contributor,
+and informs licensees how to obtain it in a reasonable manner on or through a
+medium customarily used for software exchange.
+
+When the Program is made available in source code form:
+
+a) it must be made available under this Agreement; and
+
+b) a copy of this Agreement must be included with each copy of the Program.
+
+Contributors may not remove or alter any copyright notices contained within the
+Program.
+
+Each Contributor must identify itself as the originator of its Contribution, if
+any, in a manner that reasonably allows subsequent Recipients to identify the
+originator of the Contribution.
+
+4. COMMERCIAL DISTRIBUTION
+
+Commercial distributors of software may accept certain responsibilities with
+respect to end users, business partners and the like. While this license is
+intended to facilitate the commercial use of the Program, the Contributor who
+includes the Program in a commercial product offering should do so in a manner
+which does not create potential liability for other Contributors. Therefore, if
+a Contributor includes the Program in a commercial product offering, such
+Contributor ("Commercial Contributor") hereby agrees to defend and indemnify
+every other Contributor ("Indemnified Contributor") against any losses, damages
+and costs (collectively "Losses") arising from claims, lawsuits and other legal
+actions brought by a third party against the Indemnified Contributor to the
+extent caused by the acts or omissions of such Commercial Contributor in
+connection with its distribution of the Program in a commercial product
+offering. The obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In order
+to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
+Contributor in writing of such claim, and b) allow the Commercial Contributor
+to control, and cooperate with the Commercial Contributor in, the defense and
+any related settlement negotiations. The Indemnified Contributor may
+participate in any such claim at its own expense.
+
+For example, a Contributor might include the Program in a commercial product
+offering, Product X. That Contributor is then a Commercial Contributor. If that
+Commercial Contributor then makes performance claims, or offers warranties
+related to Product X, those performance claims and warranties are such
+Commercial Contributor's responsibility alone. Under this section, the
+Commercial Contributor would have to defend claims against the other
+Contributors related to those performance claims and warranties, and if a court
+requires any other Contributor to pay any damages as a result, the Commercial
+Contributor must pay those damages.
+
+5. NO WARRANTY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR
+IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE,
+NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each
+Recipient is solely responsible for determining the appropriateness of using and
+distributing the Program and assumes all risks associated with its exercise of
+rights under this Agreement , including but not limited to the risks and costs
+of program errors, compliance with applicable laws, damage to or loss of data,
+programs or equipment, and unavailability or interruption of operations.
+
+6. DISCLAIMER OF LIABILITY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY
+CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST
+PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS
+GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. GENERAL
+
+If any provision of this Agreement is invalid or unenforceable under applicable
+law, it shall not affect the validity or enforceability of the remainder of the
+terms of this Agreement, and without further action by the parties hereto, such
+provision shall be reformed to the minimum extent necessary to make such
+provision valid and enforceable.
+
+If Recipient institutes patent litigation against any entity (including a
+cross-claim or counterclaim in a lawsuit) alleging that the Program itself
+(excluding combinations of the Program with other software or hardware)
+infringes such Recipient's patent(s), then such Recipient's rights granted under
+Section 2(b) shall terminate as of the date such litigation is filed.
+
+All Recipient's rights under this Agreement shall terminate if it fails to
+comply with any of the material terms or conditions of this Agreement and does
+not cure such failure in a reasonable period of time after becoming aware of
+such noncompliance. If all Recipient's rights under this Agreement terminate,
+Recipient agrees to cease use and distribution of the Program as soon as
+reasonably practicable. However, Recipient's obligations under this Agreement
+and any licenses granted by Recipient relating to the Program shall continue and
+survive.
+
+Everyone is permitted to copy and distribute copies of this Agreement, but in
+order to avoid inconsistency the Agreement is copyrighted and may only be
+modified in the following manner. The Agreement Steward reserves the right to
+publish new versions (including revisions) of this Agreement from time to time.
+No one other than the Agreement Steward has the right to modify this Agreement.
+The Eclipse Foundation is the initial Agreement Steward. The Eclipse Foundation
+may assign the responsibility to serve as the Agreement Steward to a suitable
+separate entity. Each new version of the Agreement will be given a
+distinguishing version number. The Program (including Contributions) may always
+be distributed subject to the version of the Agreement under which it was
+received. In addition, after a new version of the Agreement is published,
+Contributor may elect to distribute the Program (including its Contributions)
+under the new version. Except as expressly stated in Sections 2(a) and 2(b)
+above, Recipient receives no rights or licenses to the intellectual property of
+any Contributor under this Agreement, whether expressly, by implication,
+estoppel or otherwise. All rights in the Program not expressly granted under
+this Agreement are reserved.
+
+This Agreement is governed by the laws of the State of New York and the
+intellectual property laws of the United States of America. No party to this
+Agreement will bring a legal action under this Agreement more than one year
+after the cause of action arose. Each party waives its rights to a jury trial in
+any resulting litigation.
+
+
+For the Windows Installer component:
+
+    * All NSIS source code, plug-ins, documentation, examples, header files and
+       graphics, with the exception of the compression modules and where
+       otherwise noted, are licensed under the zlib/libpng license.
+    * The zlib compression module for NSIS is licensed under the zlib/libpng
+       license.
+    * The bzip2 compression module for NSIS is licensed under the bzip2 license.
+    * The lzma compression module for NSIS is licensed under the Common Public
+       License version 1.0. 
+
+zlib/libpng license
+
+This software is provided 'as-is', without any express or implied warranty. In
+no event will the authors be held liable for any damages arising from the use of
+this software.
+
+Permission is granted to anyone to use this software for any purpose, including
+commercial applications, and to alter it and redistribute it freely, subject to
+the following restrictions:
+
+   1. The origin of this software must not be misrepresented; you must not claim
+       that you wrote the original software. If you use this software in a
+       product, an acknowledgment in the product documentation would be
+       appreciated but is not required.
+   2. Altered source versions must be plainly marked as such, and must not be
+       misrepresented as being the original software.
+   3. This notice may not be removed or altered from any source distribution. 
+
+bzip2 license
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+   1. Redistributions of source code must retain the above copyright notice,
+       this list of conditions and the following disclaimer.
+   2. The origin of this software must not be misrepresented; you must not claim
+       that you wrote the original software. If you use this software in a
+       product, an acknowledgment in the product documentation would be
+       appreciated but is not required.
+   3. Altered source versions must be plainly marked as such, and must not be
+       misrepresented as being the original software.
+   4. The name of the author may not be used to endorse or promote products
+       derived from this software without specific prior written permission. 
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED
+WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
+SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
+OF SUCH DAMAGE.
+
+Julian Seward, Cambridge, UK.
+
+jseward@acm.org
+Common Public License version 1.0
+
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC
+LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM
+CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+1. DEFINITIONS
+
+"Contribution" means:
+
+a) in the case of the initial Contributor, the initial code and documentation
+distributed under this Agreement, and b) in the case of each subsequent
+Contributor:
+
+i) changes to the Program, and
+
+ii) additions to the Program;
+
+where such changes and/or additions to the Program originate from and are
+distributed by that particular Contributor. A Contribution 'originates' from a
+Contributor if it was added to the Program by such Contributor itself or anyone
+acting on such Contributor's behalf. Contributions do not include additions to
+the Program which: (i) are separate modules of software distributed in
+conjunction with the Program under their own license agreement, and (ii) are not
+derivative works of the Program.
+
+"Contributor" means any person or entity that distributes the Program.
+
+"Licensed Patents " mean patent claims licensable by a Contributor which are
+necessarily infringed by the use or sale of its Contribution alone or when
+combined with the Program.
+
+"Program" means the Contributions distributed in accordance with this Agreement.
+
+"Recipient" means anyone who receives the Program under this Agreement,
+including all Contributors.
+
+2. GRANT OF RIGHTS
+
+a) Subject to the terms of this Agreement, each Contributor hereby grants
+Recipient a non-exclusive, worldwide, royalty-free copyright license to
+reproduce, prepare derivative works of, publicly display, publicly perform,
+distribute and sublicense the Contribution of such Contributor, if any, and such
+derivative works, in source code and object code form.
+
+b) Subject to the terms of this Agreement, each Contributor hereby grants
+Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed
+Patents to make, use, sell, offer to sell, import and otherwise transfer the
+Contribution of such Contributor, if any, in source code and object code form.
+This patent license shall apply to the combination of the Contribution and the
+Program if, at the time the Contribution is added by the Contributor, such
+addition of the Contribution causes such combination to be covered by the
+Licensed Patents. The patent license shall not apply to any other combinations
+which include the Contribution. No hardware per se is licensed hereunder.
+
+c) Recipient understands that although each Contributor grants the licenses to
+its Contributions set forth herein, no assurances are provided by any
+Contributor that the Program does not infringe the patent or other intellectual
+property rights of any other entity. Each Contributor disclaims any liability to
+Recipient for claims brought by any other entity based on infringement of
+intellectual property rights or otherwise. As a condition to exercising the
+rights and licenses granted hereunder, each Recipient hereby assumes sole
+responsibility to secure any other intellectual property rights needed, if any.
+For example, if a third party patent license is required to allow Recipient to
+distribute the Program, it is Recipient's responsibility to acquire that license
+before distributing the Program.
+
+d) Each Contributor represents that to its knowledge it has sufficient copyright
+rights in its Contribution, if any, to grant the copyright license set forth in
+this Agreement.
+
+3. REQUIREMENTS
+
+A Contributor may choose to distribute the Program in object code form under its
+own license agreement, provided that:
+
+a) it complies with the terms and conditions of this Agreement; and
+
+b) its license agreement:
+
+i) effectively disclaims on behalf of all Contributors all warranties and
+conditions, express and implied, including warranties or conditions of title and
+non-infringement, and implied warranties or conditions of merchantability and
+fitness for a particular purpose;
+
+ii) effectively excludes on behalf of all Contributors all liability for
+damages, including direct, indirect, special, incidental and consequential
+damages, such as lost profits;
+
+iii) states that any provisions which differ from this Agreement are offered by
+that Contributor alone and not by any other party; and
+
+iv) states that source code for the Program is available from such Contributor,
+and informs licensees how to obtain it in a reasonable manner on or through a
+medium customarily used for software exchange.
+
+When the Program is made available in source code form:
+
+a) it must be made available under this Agreement; and
+
+b) a copy of this Agreement must be included with each copy of the Program.
+
+Contributors may not remove or alter any copyright notices contained within the
+Program.
+
+Each Contributor must identify itself as the originator of its Contribution, if
+any, in a manner that reasonably allows subsequent Recipients to identify the
+originator of the Contribution.
+
+4. COMMERCIAL DISTRIBUTION
+
+Commercial distributors of software may accept certain responsibilities with
+respect to end users, business partners and the like. While this license is
+intended to facilitate the commercial use of the Program, the Contributor who
+includes the Program in a commercial product offering should do so in a manner
+which does not create potential liability for other Contributors. Therefore, if
+a Contributor includes the Program in a commercial product offering, such
+Contributor ("Commercial Contributor") hereby agrees to defend and indemnify
+every other Contributor ("Indemnified Contributor") against any losses, damages
+and costs (collectively "Losses") arising from claims, lawsuits and other legal
+actions brought by a third party against the Indemnified Contributor to the
+extent caused by the acts or omissions of such Commercial Contributor in
+connection with its distribution of the Program in a commercial product
+offering. The obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In order
+to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
+Contributor in writing of such claim, and b) allow the Commercial Contributor to
+control, and cooperate with the Commercial Contributor in, the defense and any
+related settlement negotiations. The Indemnified Contributor may participate in
+any such claim at its own expense.
+
+For example, a Contributor might include the Program in a commercial product
+offering, Product X. That Contributor is then a Commercial Contributor. If that
+Commercial Contributor then makes performance claims, or offers warranties
+related to Product X, those performance claims and warranties are such
+Commercial Contributor's responsibility alone. Under this section, the
+Commercial Contributor would have to defend claims against the other
+Contributors related to those performance claims and warranties, and if a court
+requires any other Contributor to pay any damages as a result, the Commercial
+Contributor must pay those damages.
+
+5. NO WARRANTY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR
+IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE,
+NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each
+Recipient is solely responsible for determining the appropriateness of using and
+distributing the Program and assumes all risks associated with its exercise of
+rights under this Agreement, including but not limited to the risks and costs of
+program errors, compliance with applicable laws, damage to or loss of data,
+programs or equipment, and unavailability or interruption of operations.
+
+6. DISCLAIMER OF LIABILITY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY
+CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST
+PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS
+GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. GENERAL
+
+If any provision of this Agreement is invalid or unenforceable under applicable
+law, it shall not affect the validity or enforceability of the remainder of the
+terms of this Agreement, and without further action by the parties hereto, such
+provision shall be reformed to the minimum extent necessary to make such
+provision valid and enforceable.
+
+If Recipient institutes patent litigation against a Contributor with respect to
+a patent applicable to software (including a cross-claim or counterclaim in a
+lawsuit), then any patent licenses granted by that Contributor to such Recipient
+under this Agreement shall terminate as of the date such litigation is filed. In
+addition, if Recipient institutes patent litigation against any entity
+(including a cross-claim or counterclaim in a lawsuit) alleging that the Program
+itself (excluding combinations of the Program with other software or hardware)
+infringes such Recipient's patent(s), then such Recipient's rights granted under
+Section 2(b) shall terminate as of the date such litigation is filed.
+
+All Recipient's rights under this Agreement shall terminate if it fails to
+comply with any of the material terms or conditions of this Agreement and does
+not cure such failure in a reasonable period of time after becoming aware of
+such noncompliance. If all Recipient's rights under this Agreement terminate,
+Recipient agrees to cease use and distribution of the Program as soon as
+reasonably practicable. However, Recipient's obligations under this Agreement
+and any licenses granted by Recipient relating to the Program shall continue and
+survive.
+
+Everyone is permitted to copy and distribute copies of this Agreement, but in
+order to avoid inconsistency the Agreement is copyrighted and may only be
+modified in the following manner. The Agreement Steward reserves the right to
+publish new versions (including revisions) of this Agreement from time to time.
+No one other than the Agreement Steward has the right to modify this Agreement.
+IBM is the initial Agreement Steward. IBM may assign the responsibility to serve
+as the Agreement Steward to a suitable separate entity. Each new version of the
+Agreement will be given a distinguishing version number. The Program (including
+Contributions) may always be distributed subject to the version of the Agreement
+under which it was received. In addition, after a new version of the Agreement
+is published, Contributor may elect to distribute the Program (including its
+Contributions) under the new version. Except as expressly stated in Sections
+2(a) and 2(b) above, Recipient receives no rights or licenses to the
+intellectual property of any Contributor under this Agreement, whether
+expressly, by implication, estoppel or otherwise. All rights in the Program not
+expressly granted under this Agreement are reserved.
+
+This Agreement is governed by the laws of the State of New York and the
+intellectual property laws of the United States of America. No party to this
+Agreement will bring a legal action under this Agreement more than one year
+after the cause of action arose. Each party waives its rights to a jury trial in
+any resulting litigation.
+
+Special exception for LZMA compression module
+
+Igor Pavlov and Amir Szekely, the authors of the LZMA compression module for
+NSIS, expressly permit you to statically or dynamically link your code (or bind
+by name) to the files from the LZMA compression module for NSIS without
+subjecting your linked code to the terms of the Common Public license version
+1.0. Any modifications or additions to files from the LZMA compression module
+for NSIS, however, are subject to the terms of the Common Public License version
+1.0. 
Index: /nutchez-0.1/tomcat/NOTICE
===================================================================
--- /nutchez-0.1/tomcat/NOTICE	(revision 66)
+++ /nutchez-0.1/tomcat/NOTICE	(revision 66)
@@ -0,0 +1,16 @@
+Apache Tomcat
+Copyright 1999-2007 The Apache Software Foundation
+
+This product includes software developed by
+The Apache Software Foundation (http://www.apache.org/).
+
+The Windows Installer is built with the Nullsoft
+Scriptable Install Sysem (NSIS), which is
+open source software.  The original software and
+related information is available at
+http://nsis.sourceforge.net.
+
+Java compilation software for JSP pages is provided by Eclipse, 
+which is open source software.  The orginal software and 
+related infomation is available at
+http://www.eclipse.org.
Index: /nutchez-0.1/tomcat/RELEASE-NOTES
===================================================================
--- /nutchez-0.1/tomcat/RELEASE-NOTES	(revision 66)
+++ /nutchez-0.1/tomcat/RELEASE-NOTES	(revision 66)
@@ -0,0 +1,191 @@
+================================================================================
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+================================================================================
+
+$Id: RELEASE-NOTES 612940 2008-01-17 19:22:26Z markt $
+
+
+                     Apache Tomcat Version 6.0.18
+                            Release Notes
+
+
+=============================
+KNOWN ISSUES IN THIS RELEASE:
+=============================
+
+* Dependency Changes
+* JNI Based Applications
+* Bundled APIs
+* Web application reloading and static fields in shared libraries
+* Tomcat on Linux
+* Enabling SSI and CGI Support
+* Security manager URLs
+* Symlinking static resources
+* Enabling invoker servlet
+* Viewing the Tomcat Change Log
+* When all else fails
+
+
+===================
+Dependency Changes:
+===================
+Tomcat 6.0 is designed to run on JSE 5.0 and later.
+
+In addition, Tomcat 6.0 uses the Eclipse JDT Java compiler for compiling
+JSP pages.  This means you no longer need to have the complete
+Java Development Kit (JDK) to run Tomcat, but a Java Runtime Environment
+(JRE) is sufficient.  The Eclipse JDT Java compiler is bundled with the 
+binary Tomcat distributions.  Tomcat can also be configured to use the
+compiler from the JDK to compile JSPs, or any other Java compiler supported 
+by Apache Ant.
+
+
+=======================
+JNI Based Applications:
+=======================
+Applications that require native libraries must ensure that the libraries have
+been loaded prior to use.  Typically, this is done with a call like:
+
+  static {
+    System.loadLibrary("path-to-library-file");
+  }
+
+in some class.  However, the application must also ensure that the library is
+not loaded more than once.  If the above code were placed in a class inside
+the web application (i.e. under /WEB-INF/classes or /WEB-INF/lib), and the
+application were reloaded, the loadLibrary() call would be attempted a second
+time.
+
+To avoid this problem, place classes that load native libraries outside of the
+web application, and ensure that the loadLibrary() call is executed only once
+during the lifetime of a particular JVM.
+
+
+=============
+Bundled APIs:
+=============
+A standard installation of Tomcat 6.0 makes all of the following APIs available
+for use by web applications (by placing them in "lib"):
+* annotations-api.jar (Annotations package)
+* catalina.jar (Tomcat Catalina implementation)
+* catalina-ant.jar (Tomcat Catalina Ant tasks)
+* catalina-ha.jar (High availability package)
+* catalina-tribes.jar (Group communication)
+* el-api.jar (EL 2.1 API)
+* jasper.jar (Jasper 2 Compiler and Runtime)
+* jasper-el.jar (Jasper 2 EL implementation)
+* jasper-jdt.jar (Eclipse JDT 3.3 Java compiler)
+* jsp-api.jar (JSP 2.1 API)
+* servlet-api.jar (Servlet 2.5 API)
+* tomcat-coyote.jar (Tomcat connectors and utility classes)
+* tomcat-dbcp.jar (package renamed database connection pool based on Commons DBCP)
+
+You can make additional APIs available to all of your web applications by
+putting unpacked classes into a "classes" directory (not created by default),
+or by placing them in JAR files in the "lib" directory.
+
+To override the XML parser implementation or interfaces, use the endorsed
+mechanism of the JVM. The default configuration defines JARs located in 
+"endorsed" as endorsed.
+
+
+================================================================
+Web application reloading and static fields in shared libraries:
+================================================================
+Some shared libraries (many are part of the JDK) keep references to objects
+instantiated by the web application. To avoid class loading related problems
+(ClassCastExceptions, messages indicating that the classloader
+is stopped, etc.), the shared libraries state should be reinitialized.
+
+Something which might help is to avoid putting classes which would be
+referenced by a shared static field in the web application classloader,
+and putting them in the shared classloader instead (JARs should be put in the
+"lib" folder, and classes should be put in the "classes" folder).
+
+
+================
+Tomcat on Linux:
+================
+GLIBC 2.2 / Linux 2.4 users should define an environment variable:
+export LD_ASSUME_KERNEL=2.2.5
+
+Redhat Linux 9.0 users should use the following setting to avoid
+stability problems:
+export LD_ASSUME_KERNEL=2.4.1
+
+There are some Linux bugs reported against the NIO sendfile behavior, make sure you
+have a JDK that is up to date, or disable sendfile behavior in the Connector.<br/>
+6427312: (fc) FileChannel.transferTo() throws IOException "system call interrupted"<br/>
+5103988: (fc) FileChannel.transferTo should return -1 for EAGAIN instead throws IOException<br/>
+6253145: (fc) FileChannel.transferTo on Linux fails when going beyond 2GB boundary<br/>
+6470086: (fc) FileChannel.transferTo(2147483647, 1, channel) cause "Value too large" exception<br/>
+
+
+=============================
+Enabling SSI and CGI Support:
+=============================
+Because of the security risks associated with CGI and SSI available
+to web applications, these features are disabled by default.  
+
+To enable and configure CGI support, please see the cgi-howto.html page.
+
+To enable and configue SSI support, please see the ssi-howto.html page.
+
+
+======================
+Security manager URLs:
+======================
+In order to grant security permissions to JARs located inside the
+web application repository, use URLs of of the following format
+in your policy file:
+
+file:${catalina.home}/webapps/examples/WEB-INF/lib/driver.jar
+
+
+============================
+Symlinking static resources:
+============================
+By default, Unix symlinks will not work when used in a web application to link
+resources located outside the web application root directory.
+
+This behavior is optional, and the "allowLinking" flag may be used to disable
+the check.
+
+
+=========================
+Enabling invoker servlet:
+=========================
+Starting with Tomcat 4.1.12, the invoker servlet is no longer available by
+default in all webapps. Enabling it for all webapps is possible by editing
+$CATALINA_HOME/conf/web.xml to uncomment the "/servlet/*" servlet-mapping
+definition.
+
+Using the invoker servlet in a production environment is not recommended and
+is unsupported.  More details are available on the Tomcat FAQ at
+http://tomcat.apache.org/faq/misc.html#invoker.
+
+
+==============================
+Viewing the Tomcat Change Log:
+==============================
+See changelog.html in this directory.
+
+
+====================
+When all else fails:
+====================
+See the FAQ
+http://tomcat.apache.org/faq/
Index: /nutchez-0.1/tomcat/RUNNING.txt
===================================================================
--- /nutchez-0.1/tomcat/RUNNING.txt	(revision 66)
+++ /nutchez-0.1/tomcat/RUNNING.txt	(revision 66)
@@ -0,0 +1,163 @@
+================================================================================
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+================================================================================
+
+$Id: RUNNING.txt 354430 2005-12-06 13:44:26Z yoavs $
+
+            ===================================================
+            Running The Apache Tomcat 6.0 Servlet/JSP Container
+            ===================================================
+
+Apache Tomcat 6.0 requires the Java 2 Standard Edition Runtime
+Environment (JRE) version 5.0 or later.
+
+=============================
+Running With JRE 5.0 Or Later
+=============================
+
+(1) Download and Install the J2SE Runtime Environment (JRE)
+
+(1.1) Download the Java 2 Standard Edition Runtime Environment (JRE),
+      release version 5.0 or later, from http://java.sun.com/j2se.
+
+(1.2) Install the JRE according to the instructions included with the
+      release.
+(1.3) Set an environment variable named JRE_HOME to the pathname of
+      the directory into which you installed the JRE, e.g. c:\jre5.0
+      or /usr/local/java/jre5.0.
+
+NOTE: You may also use the full JDK rather than just the JRE. In this
+      case set your JAVA_HOME environment variable to the pathname of
+      the directory into which you installed the JDK, e.g. c:\j2sdk5.0
+      or /usr/local/java/j2sdk5.0.
+
+
+(2) Download and Install the Tomcat Binary Distribution
+
+NOTE:  As an alternative to downloading a binary distribution, you can create
+your own from the Tomcat source repository, as described in "BUILDING.txt".
+If you do this, the value to use for "${catalina.home}" will be the "dist"
+subdirectory of your source distribution.
+
+(2.1) Download a binary distribution of Tomcat from:
+
+      http://tomcat.apache.org
+
+(2.2) Unpack the binary distribution into a convenient location so that the
+      distribution resides in its own directory (conventionally named
+      "apache-tomcat-[version]").  For the purposes of the remainder of this document,
+      the symbolic name "$CATALINA_HOME" is used to refer to the full
+      pathname of the release directory.
+
+
+(3) Start Up Tomcat
+
+(3.1) Tomcat can be started by executing the following commands:
+
+      $CATALINA_HOME\bin\startup.bat          (Windows)
+
+      $CATALINA_HOME/bin/startup.sh           (Unix)
+
+(3.2) After startup, the default web applications included with Tomcat will be
+      available by visiting:
+
+      http://localhost:8080/
+
+(3.3) Further information about configuring and running Tomcat can be found in
+      the documentation included here, as well as on the Tomcat web site:
+
+      http://tomcat.apache.org
+
+
+(4) Shut Down Tomcat
+
+(4.1) Tomcat can be shut down by executing the following command:
+
+      $CATALINA_HOME\bin\shutdown            (Windows)
+
+      $CATALINA_HOME/bin/shutdown.sh         (Unix)
+
+
+==================================================
+Advanced Configuration - Multiple Tomcat Instances
+==================================================
+
+In many circumstances, it is desirable to have a single copy of a Tomcat
+binary distribution shared among multiple users on the same server.  To make
+this possible, you can pass a "-Dcatalina.base=$CATALINA_BASE" argument when
+executing the startup command (see (2)). In this
+"-Dcatalina.base=$CATALINA_BASE" argument, replace $CATALINA_BASE with the
+directory that contains the files for your 'personal' Tomcat instance.
+
+When you use this "-Dcatalina.base=$CATALINA_BASE" argument, Tomcat will
+calculate all relative references for files in the following directories based
+on the value of $CATALINA_BASE instead of $CATALINA_HOME:
+
+* bin  - Only setenv.sh (*nix) and setenv.bat (windows)
+
+* conf - Server configuration files (including server.xml)
+
+* logs - Log and output files
+
+* webapps - Automatically loaded web applications
+
+* work - Temporary working directories for web applications
+
+* temp - Directory used by the JVM for temporary files (java.io.tmpdir)
+
+If you do not pass the "-Dcatalina.base=$CATALINA_BASE" argument to the
+startup command, $CATALINA_BASE will default to the same value as $CATALINA_HOME,
+ which means that the same directory is used for all relative path resolutions.
+
+
+================
+Troubleshooting
+================
+
+There are only really 3 things likely to go wrong during the stand-alone
+Tomcat install:
+
+(1) The most common hiccup is when another web server (or any process for that
+    matter) has laid claim to port 8080.  This is the default HTTP port that
+    Tomcat attempts to bind to at startup.  To change this, open the file:
+
+       $CATALINA_HOME/conf/server.xml
+
+    and search for '8080'.  Change it to a port that isn't in use, and is
+    greater than 1024, as ports less than or equal to 1024 require superuser
+    access to bind under UNIX.
+
+   Restart Tomcat and you're in business.  Be sure that you replace the "8080"
+   in the URL you're using to access Tomcat.  For example, if you change the
+   port to 1977, you would request the URL http://localhost:1977/ in your browser.
+
+(2) An "out of environment space" error when running the batch files in
+    Windows 95, 98, or ME operating systems.
+
+    Right-click on the STARTUP.BAT and SHUTDOWN.BAT files.  Click on
+    "Properties", then on the "Memory" tab.  For the "Initial environment" field,
+    enter in something like 4096.
+
+    After you click apply, Windows will create shortcuts which you can use
+    to start and stop the container.
+
+(3) The 'localhost' machine isn't found.  This could happen if you're behind a
+    proxy.  If that's the case, make sure the proxy configuration for your
+    browser knows that you shouldn't be going through the proxy to access the
+    "localhost".
+
+    In Netscape, this is under Edit/Preferences -> Advanced/Proxies, and in
+    Internet Explorer, Tools -> Internet Options -> Connections -> LAN Settings.
Index: /nutchez-0.1/tomcat/bin/catalina-tasks.xml
===================================================================
--- /nutchez-0.1/tomcat/bin/catalina-tasks.xml	(revision 66)
+++ /nutchez-0.1/tomcat/bin/catalina-tasks.xml	(revision 66)
@@ -0,0 +1,58 @@
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!--
+  XML file for importing Catalina ant tasks.
+  <import file="${catalina.home}/bin/catalina-tasks.xml"/>
+-->
+
+<project name="catalina-tasks">
+  <description>Catalina Ant Manager, JMX and JSPC Tasks</description>
+  <!-- set catalina.home if it's not already set -->
+  <dirname property="catalina.home.bin.dir" file="${ant.file.catalina-tasks}"/>
+  <property name="catalina.home" value="${catalina.home.bin.dir}/.."/>
+  <taskdef resource="org/apache/catalina/ant/catalina.tasks">
+    <classpath>
+      <fileset file="${catalina.home}/bin/tomcat-juli.jar"/>
+      <fileset file="${catalina.home}/lib/jasper.jar"/>
+      <fileset file="${catalina.home}/lib/jasper-el.jar"/>
+      <fileset file="${catalina.home}/lib/el-api.jar"/>
+      <fileset file="${catalina.home}/lib/jsp-api.jar"/>
+      <fileset file="${catalina.home}/lib/servlet-api.jar"/>
+      <fileset file="${catalina.home}/lib/catalina-ant.jar"/>
+    </classpath>
+  </taskdef>
+  <taskdef resource="org/apache/catalina/ant/jmx/jmxaccessor.tasks">
+    <classpath>
+      <fileset file="${catalina.home}/lib/catalina-ant.jar"/>
+    </classpath>
+  </taskdef>
+  <typedef
+        name="jmxEquals"
+        classname="org.apache.catalina.ant.jmx.JMXAccessorEqualsCondition">
+    <classpath>
+      <fileset file="${catalina.home}/lib/catalina-ant.jar"/>
+    </classpath>
+  </typedef>
+  <typedef
+        name="jmxCondition"
+        classname="org.apache.catalina.ant.jmx.JMXAccessorCondition">
+    <classpath>
+      <fileset file="${catalina.home}/lib/catalina-ant.jar"/>
+    </classpath>
+  </typedef>
+</project>
Index: /nutchez-0.1/tomcat/bin/catalina.bat
===================================================================
--- /nutchez-0.1/tomcat/bin/catalina.bat	(revision 66)
+++ /nutchez-0.1/tomcat/bin/catalina.bat	(revision 66)
@@ -0,0 +1,245 @@
+@echo off
+rem Licensed to the Apache Software Foundation (ASF) under one or more
+rem contributor license agreements.  See the NOTICE file distributed with
+rem this work for additional information regarding copyright ownership.
+rem The ASF licenses this file to You under the Apache License, Version 2.0
+rem (the "License"); you may not use this file except in compliance with
+rem the License.  You may obtain a copy of the License at
+rem
+rem     http://www.apache.org/licenses/LICENSE-2.0
+rem
+rem Unless required by applicable law or agreed to in writing, software
+rem distributed under the License is distributed on an "AS IS" BASIS,
+rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+rem See the License for the specific language governing permissions and
+rem limitations under the License.
+
+if "%OS%" == "Windows_NT" setlocal
+rem ---------------------------------------------------------------------------
+rem Start/Stop Script for the CATALINA Server
+rem
+rem Environment Variable Prequisites
+rem
+rem   CATALINA_HOME   May point at your Catalina "build" directory.
+rem
+rem   CATALINA_BASE   (Optional) Base directory for resolving dynamic portions
+rem                   of a Catalina installation.  If not present, resolves to
+rem                   the same directory that CATALINA_HOME points to.
+rem
+rem   CATALINA_OPTS   (Optional) Java runtime options used when the "start",
+rem                   or "run" command is executed.
+rem
+rem   CATALINA_TMPDIR (Optional) Directory path location of temporary directory
+rem                   the JVM should use (java.io.tmpdir).  Defaults to
+rem                   %CATALINA_BASE%\temp.
+rem
+rem   JAVA_HOME       Must point at your Java Development Kit installation.
+rem                   Required to run the with the "debug" argument.
+rem
+rem   JRE_HOME        Must point at your Java Runtime installation.
+rem                   Defaults to JAVA_HOME if empty.
+rem
+rem   JAVA_OPTS       (Optional) Java runtime options used when the "start",
+rem                   "stop", or "run" command is executed.
+rem
+rem   JSSE_HOME       (Optional) May point at your Java Secure Sockets Extension
+rem                   (JSSE) installation, whose JAR files will be added to the
+rem                   system class path used to start Tomcat.
+rem
+rem   JPDA_TRANSPORT  (Optional) JPDA transport used when the "jpda start"
+rem                   command is executed. The default is "dt_shmem".
+rem
+rem   JPDA_ADDRESS    (Optional) Java runtime options used when the "jpda start"
+rem                   command is executed. The default is "jdbconn".
+rem
+rem   JPDA_SUSPEND    (Optional) Java runtime options used when the "jpda start"
+rem                   command is executed. Specifies whether JVM should suspend
+rem                   execution immediately after startup. Default is "n".
+rem
+rem   JPDA_OPTS       (Optional) Java runtime options used when the "jpda start"
+rem                   command is executed. If used, JPDA_TRANSPORT, JPDA_ADDRESS,
+rem                   and JPDA_SUSPEND are ignored. Thus, all required jpda
+rem                   options MUST be specified. The default is:
+rem
+rem                   -Xdebug -Xrunjdwp:transport=%JPDA_TRANSPORT%,
+rem                       address=%JPDA_ADDRESS%,server=y,suspend=%JPDA_SUSPEND%
+rem
+rem $Id: catalina.bat 656834 2008-05-15 21:04:04Z markt $
+rem ---------------------------------------------------------------------------
+
+rem Guess CATALINA_HOME if not defined
+set CURRENT_DIR=%cd%
+if not "%CATALINA_HOME%" == "" goto gotHome
+set CATALINA_HOME=%CURRENT_DIR%
+if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
+cd ..
+set CATALINA_HOME=%cd%
+cd %CURRENT_DIR%
+:gotHome
+if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
+echo The CATALINA_HOME environment variable is not defined correctly
+echo This environment variable is needed to run this program
+goto end
+:okHome
+
+rem Get standard environment variables
+if "%CATALINA_BASE%" == "" goto gotSetenvHome
+if exist "%CATALINA_BASE%\bin\setenv.bat" call "%CATALINA_BASE%\bin\setenv.bat"
+goto gotSetenvBase
+:gotSetenvHome
+if exist "%CATALINA_HOME%\bin\setenv.bat" call "%CATALINA_HOME%\bin\setenv.bat"
+:gotSetenvBase
+
+rem Get standard Java environment variables
+if exist "%CATALINA_HOME%\bin\setclasspath.bat" goto okSetclasspath
+echo Cannot find %CATALINA_HOME%\bin\setclasspath.bat
+echo This file is needed to run this program
+goto end
+:okSetclasspath
+set BASEDIR=%CATALINA_HOME%
+call "%CATALINA_HOME%\bin\setclasspath.bat" %1
+if errorlevel 1 goto end
+
+rem Add on extra jar files to CLASSPATH
+if "%JSSE_HOME%" == "" goto noJsse
+set CLASSPATH=%CLASSPATH%;%JSSE_HOME%\lib\jcert.jar;%JSSE_HOME%\lib\jnet.jar;%JSSE_HOME%\lib\jsse.jar
+:noJsse
+set CLASSPATH=%CLASSPATH%;%CATALINA_HOME%\bin\bootstrap.jar
+
+if not "%CATALINA_BASE%" == "" goto gotBase
+set CATALINA_BASE=%CATALINA_HOME%
+:gotBase
+
+if not "%CATALINA_TMPDIR%" == "" goto gotTmpdir
+set CATALINA_TMPDIR=%CATALINA_BASE%\temp
+:gotTmpdir
+
+if not exist "%CATALINA_BASE%\conf\logging.properties" goto noJuli
+set JAVA_OPTS=%JAVA_OPTS% -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file="%CATALINA_BASE%\conf\logging.properties"
+:noJuli
+
+rem ----- Execute The Requested Command ---------------------------------------
+
+echo Using CATALINA_BASE:   %CATALINA_BASE%
+echo Using CATALINA_HOME:   %CATALINA_HOME%
+echo Using CATALINA_TMPDIR: %CATALINA_TMPDIR%
+if ""%1"" == ""debug"" goto use_jdk
+echo Using JRE_HOME:        %JRE_HOME%
+goto java_dir_displayed
+:use_jdk
+echo Using JAVA_HOME:       %JAVA_HOME%
+:java_dir_displayed
+
+set _EXECJAVA=%_RUNJAVA%
+set MAINCLASS=org.apache.catalina.startup.Bootstrap
+set ACTION=start
+set SECURITY_POLICY_FILE=
+set DEBUG_OPTS=
+set JPDA=
+
+if not ""%1"" == ""jpda"" goto noJpda
+set JPDA=jpda
+if not "%JPDA_TRANSPORT%" == "" goto gotJpdaTransport
+set JPDA_TRANSPORT=dt_shmem
+:gotJpdaTransport
+if not "%JPDA_ADDRESS%" == "" goto gotJpdaAddress
+set JPDA_ADDRESS=jdbconn
+:gotJpdaAddress
+if not "%JPDA_SUSPEND%" == "" goto gotJpdaSuspend
+set JPDA_SUSPEND=n
+:gotJpdaSuspend
+if not "%JPDA_OPTS%" == "" goto gotJpdaOpts
+set JPDA_OPTS=-agentlib:jdwp=transport=%JPDA_TRANSPORT%,address=%JPDA_ADDRESS%,server=y,suspend=%JPDA_SUSPEND%
+:gotJpdaOpts
+shift
+:noJpda
+
+if ""%1"" == ""debug"" goto doDebug
+if ""%1"" == ""run"" goto doRun
+if ""%1"" == ""start"" goto doStart
+if ""%1"" == ""stop"" goto doStop
+if ""%1"" == ""version"" goto doVersion
+
+echo Usage:  catalina ( commands ... )
+echo commands:
+echo   debug             Start Catalina in a debugger
+echo   debug -security   Debug Catalina with a security manager
+echo   jpda start        Start Catalina under JPDA debugger
+echo   run               Start Catalina in the current window
+echo   run -security     Start in the current window with security manager
+echo   start             Start Catalina in a separate window
+echo   start -security   Start in a separate window with security manager
+echo   stop              Stop Catalina
+echo   version           What version of tomcat are you running?
+goto end
+
+:doDebug
+shift
+set _EXECJAVA=%_RUNJDB%
+set DEBUG_OPTS=-sourcepath "%CATALINA_HOME%\..\..\java"
+if not ""%1"" == ""-security"" goto execCmd
+shift
+echo Using Security Manager
+set SECURITY_POLICY_FILE=%CATALINA_BASE%\conf\catalina.policy
+goto execCmd
+
+:doRun
+shift
+if not ""%1"" == ""-security"" goto execCmd
+shift
+echo Using Security Manager
+set SECURITY_POLICY_FILE=%CATALINA_BASE%\conf\catalina.policy
+goto execCmd
+
+:doStart
+shift
+if not "%OS%" == "Windows_NT" goto noTitle
+set _EXECJAVA=start "Tomcat" %_RUNJAVA%
+goto gotTitle
+:noTitle
+set _EXECJAVA=start %_RUNJAVA%
+:gotTitle
+if not ""%1"" == ""-security"" goto execCmd
+shift
+echo Using Security Manager
+set SECURITY_POLICY_FILE=%CATALINA_BASE%\conf\catalina.policy
+goto execCmd
+
+:doStop
+shift
+set ACTION=stop
+set CATALINA_OPTS=
+goto execCmd
+
+:doVersion
+%_EXECJAVA% -classpath "%CATALINA_HOME%\lib\catalina.jar" org.apache.catalina.util.ServerInfo
+goto end
+
+
+:execCmd
+rem Get remaining unshifted command line arguments and save them in the
+set CMD_LINE_ARGS=
+:setArgs
+if ""%1""=="""" goto doneSetArgs
+set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1
+shift
+goto setArgs
+:doneSetArgs
+
+rem Execute Java with the applicable properties
+if not "%JPDA%" == "" goto doJpda
+if not "%SECURITY_POLICY_FILE%" == "" goto doSecurity
+%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION%
+goto end
+:doSecurity
+%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Djava.security.manager -Djava.security.policy=="%SECURITY_POLICY_FILE%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION%
+goto end
+:doJpda
+if not "%SECURITY_POLICY_FILE%" == "" goto doSecurityJpda
+%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %JPDA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION%
+goto end
+:doSecurityJpda
+%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %JPDA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Djava.security.manager -Djava.security.policy=="%SECURITY_POLICY_FILE%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION%
+goto end
+
+:end
Index: /nutchez-0.1/tomcat/bin/catalina.sh
===================================================================
--- /nutchez-0.1/tomcat/bin/catalina.sh	(revision 66)
+++ /nutchez-0.1/tomcat/bin/catalina.sh	(revision 66)
@@ -0,0 +1,357 @@
+#!/bin/sh
+
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# -----------------------------------------------------------------------------
+# Start/Stop Script for the CATALINA Server
+#
+# Environment Variable Prequisites
+#
+#   CATALINA_HOME   May point at your Catalina "build" directory.
+#
+#   CATALINA_BASE   (Optional) Base directory for resolving dynamic portions
+#                   of a Catalina installation.  If not present, resolves to
+#                   the same directory that CATALINA_HOME points to.
+#
+#   CATALINA_OPTS   (Optional) Java runtime options used when the "start",
+#                   or "run" command is executed.
+#
+#   CATALINA_TMPDIR (Optional) Directory path location of temporary directory
+#                   the JVM should use (java.io.tmpdir).  Defaults to
+#                   $CATALINA_BASE/temp.
+#
+#   JAVA_HOME       Must point at your Java Development Kit installation.
+#                   Required to run the with the "debug" or "javac" argument.
+#
+#   JRE_HOME        Must point at your Java Development Kit installation.
+#                   Defaults to JAVA_HOME if empty.
+#
+#   JAVA_OPTS       (Optional) Java runtime options used when the "start",
+#                   "stop", or "run" command is executed.
+#
+#   JPDA_TRANSPORT  (Optional) JPDA transport used when the "jpda start"
+#                   command is executed. The default is "dt_socket".
+#
+#   JPDA_ADDRESS    (Optional) Java runtime options used when the "jpda start"
+#                   command is executed. The default is 8000.
+#
+#   JPDA_SUSPEND    (Optional) Java runtime options used when the "jpda start"
+#                   command is executed. Specifies whether JVM should suspend
+#                   execution immediately after startup. Default is "n".
+#
+#   JPDA_OPTS       (Optional) Java runtime options used when the "jpda start"
+#                   command is executed. If used, JPDA_TRANSPORT, JPDA_ADDRESS,
+#                   and JPDA_SUSPEND are ignored. Thus, all required jpda
+#                   options MUST be specified. The default is:
+#
+#                   -Xdebug -Xrunjdwp:transport=$JPDA_TRANSPORT,
+#                       address=$JPDA_ADDRESS,server=y,suspend=$JPDA_SUSPEND
+#
+#   JSSE_HOME       (Optional) May point at your Java Secure Sockets Extension
+#                   (JSSE) installation, whose JAR files will be added to the
+#                   system class path used to start Tomcat.
+#
+#   CATALINA_PID    (Optional) Path of the file which should contains the pid
+#                   of catalina startup java process, when start (fork) is used
+#
+# $Id: catalina.sh 656834 2008-05-15 21:04:04Z markt $
+# -----------------------------------------------------------------------------
+
+# OS specific support.  $var _must_ be set to either true or false.
+cygwin=false
+os400=false
+darwin=false
+case "`uname`" in
+CYGWIN*) cygwin=true;;
+OS400*) os400=true;;
+Darwin*) darwin=true;;
+esac
+
+# resolve links - $0 may be a softlink
+PRG="$0"
+
+while [ -h "$PRG" ]; do
+  ls=`ls -ld "$PRG"`
+  link=`expr "$ls" : '.*-> \(.*\)$'`
+  if expr "$link" : '/.*' > /dev/null; then
+    PRG="$link"
+  else
+    PRG=`dirname "$PRG"`/"$link"
+  fi
+done
+
+# Get standard environment variables
+PRGDIR=`dirname "$PRG"`
+
+# Only set CATALINA_HOME if not already set
+[ -z "$CATALINA_HOME" ] && CATALINA_HOME=`cd "$PRGDIR/.." ; pwd`
+
+if [ -r "$CATALINA_BASE"/bin/setenv.sh ]; then
+  . "$CATALINA_BASE"/bin/setenv.sh
+elif [ -r "$CATALINA_HOME"/bin/setenv.sh ]; then
+  . "$CATALINA_HOME"/bin/setenv.sh
+fi
+
+# For Cygwin, ensure paths are in UNIX format before anything is touched
+if $cygwin; then
+  [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
+  [ -n "$JRE_HOME" ] && JRE_HOME=`cygpath --unix "$JRE_HOME"`
+  [ -n "$CATALINA_HOME" ] && CATALINA_HOME=`cygpath --unix "$CATALINA_HOME"`
+  [ -n "$CATALINA_BASE" ] && CATALINA_BASE=`cygpath --unix "$CATALINA_BASE"`
+  [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
+  [ -n "$JSSE_HOME" ] && JSSE_HOME=`cygpath --absolute --unix "$JSSE_HOME"`
+fi
+
+# For OS400
+if $os400; then
+  # Set job priority to standard for interactive (interactive - 6) by using
+  # the interactive priority - 6, the helper threads that respond to requests
+  # will be running at the same priority as interactive jobs.
+  COMMAND='chgjob job('$JOBNAME') runpty(6)'
+  system $COMMAND
+
+  # Enable multi threading
+  export QIBM_MULTI_THREADED=Y
+fi
+
+# Get standard Java environment variables
+if $os400; then
+  # -r will Only work on the os400 if the files are:
+  # 1. owned by the user
+  # 2. owned by the PRIMARY group of the user
+  # this will not work if the user belongs in secondary groups
+  BASEDIR="$CATALINA_HOME"
+  . "$CATALINA_HOME"/bin/setclasspath.sh 
+else
+  if [ -r "$CATALINA_HOME"/bin/setclasspath.sh ]; then
+    BASEDIR="$CATALINA_HOME"
+    . "$CATALINA_HOME"/bin/setclasspath.sh
+  else
+    echo "Cannot find $CATALINA_HOME/bin/setclasspath.sh"
+    echo "This file is needed to run this program"
+    exit 1
+  fi
+fi
+
+# Add on extra jar files to CLASSPATH
+if [ -n "$JSSE_HOME" ]; then
+  CLASSPATH="$CLASSPATH":"$JSSE_HOME"/lib/jcert.jar:"$JSSE_HOME"/lib/jnet.jar:"$JSSE_HOME"/lib/jsse.jar
+fi
+CLASSPATH="$CLASSPATH":"$CATALINA_HOME"/bin/bootstrap.jar
+
+if [ -z "$CATALINA_BASE" ] ; then
+  CATALINA_BASE="$CATALINA_HOME"
+fi
+
+if [ -z "$CATALINA_TMPDIR" ] ; then
+  # Define the java.io.tmpdir to use for Catalina
+  CATALINA_TMPDIR="$CATALINA_BASE"/temp
+fi
+
+# Bugzilla 37848: When no TTY is available, don't output to console
+have_tty=0
+if [ "`tty`" != "not a tty" ]; then
+    have_tty=1
+fi
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin; then
+  JAVA_HOME=`cygpath --absolute --windows "$JAVA_HOME"`
+  JRE_HOME=`cygpath --absolute --windows "$JRE_HOME"`
+  CATALINA_HOME=`cygpath --absolute --windows "$CATALINA_HOME"`
+  CATALINA_BASE=`cygpath --absolute --windows "$CATALINA_BASE"`
+  CATALINA_TMPDIR=`cygpath --absolute --windows "$CATALINA_TMPDIR"`
+  CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
+  [ -n "$JSSE_HOME" ] && JSSE_HOME=`cygpath --absolute --windows "$JSSE_HOME"`
+  JAVA_ENDORSED_DIRS=`cygpath --path --windows "$JAVA_ENDORSED_DIRS"`
+fi
+
+# Set juli LogManager if it is present
+if [ -r "$CATALINA_BASE"/conf/logging.properties ]; then
+  JAVA_OPTS="$JAVA_OPTS -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager"
+  LOGGING_CONFIG="-Djava.util.logging.config.file=$CATALINA_BASE/conf/logging.properties"
+fi
+
+# ----- Execute The Requested Command -----------------------------------------
+
+# Bugzilla 37848: only output this if we have a TTY
+if [ $have_tty -eq 1 ]; then
+  echo "Using CATALINA_BASE:   $CATALINA_BASE"
+  echo "Using CATALINA_HOME:   $CATALINA_HOME"
+  echo "Using CATALINA_TMPDIR: $CATALINA_TMPDIR"
+  if [ "$1" = "debug" -o "$1" = "javac" ] ; then
+    echo "Using JAVA_HOME:       $JAVA_HOME"
+  else
+    echo "Using JRE_HOME:       $JRE_HOME"
+  fi
+fi
+
+if [ "$1" = "jpda" ] ; then
+  if [ -z "$JPDA_TRANSPORT" ]; then
+    JPDA_TRANSPORT="dt_socket"
+  fi
+  if [ -z "$JPDA_ADDRESS" ]; then
+    JPDA_ADDRESS="8000"
+  fi
+  if [ -z "$JPDA_SUSPEND" ]; then
+    JPDA_SUSPEND="n"
+  fi
+  if [ -z "$JPDA_OPTS" ]; then
+    JPDA_OPTS="-agentlib:jdwp=transport=$JPDA_TRANSPORT,address=$JPDA_ADDRESS,server=y,suspend=$JPDA_SUSPEND"
+  fi
+  CATALINA_OPTS="$CATALINA_OPTS $JPDA_OPTS"
+  shift
+fi
+
+if [ "$1" = "debug" ] ; then
+  if $os400; then
+    echo "Debug command not available on OS400"
+    exit 1
+  else
+    shift
+    if [ "$1" = "-security" ] ; then
+      echo "Using Security Manager"
+      shift
+      exec "$_RUNJDB" $JAVA_OPTS "$LOGGING_CONFIG" $CATALINA_OPTS \
+        -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
+        -sourcepath "$CATALINA_HOME"/../../java \
+        -Djava.security.manager \
+        -Djava.security.policy=="$CATALINA_BASE"/conf/catalina.policy \
+        -Dcatalina.base="$CATALINA_BASE" \
+        -Dcatalina.home="$CATALINA_HOME" \
+        -Djava.io.tmpdir="$CATALINA_TMPDIR" \
+        org.apache.catalina.startup.Bootstrap "$@" start
+    else
+      exec "$_RUNJDB" $JAVA_OPTS "$LOGGING_CONFIG" $CATALINA_OPTS \
+        -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
+        -sourcepath "$CATALINA_HOME"/../../java \
+        -Dcatalina.base="$CATALINA_BASE" \
+        -Dcatalina.home="$CATALINA_HOME" \
+        -Djava.io.tmpdir="$CATALINA_TMPDIR" \
+        org.apache.catalina.startup.Bootstrap "$@" start
+    fi
+  fi
+
+elif [ "$1" = "run" ]; then
+
+  shift
+  if [ "$1" = "-security" ] ; then
+    echo "Using Security Manager"
+    shift
+    exec "$_RUNJAVA" $JAVA_OPTS "$LOGGING_CONFIG" $CATALINA_OPTS \
+      -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
+      -Djava.security.manager \
+      -Djava.security.policy=="$CATALINA_BASE"/conf/catalina.policy \
+      -Dcatalina.base="$CATALINA_BASE" \
+      -Dcatalina.home="$CATALINA_HOME" \
+      -Djava.io.tmpdir="$CATALINA_TMPDIR" \
+      org.apache.catalina.startup.Bootstrap "$@" start
+  else
+    exec "$_RUNJAVA" $JAVA_OPTS "$LOGGING_CONFIG" $CATALINA_OPTS \
+      -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
+      -Dcatalina.base="$CATALINA_BASE" \
+      -Dcatalina.home="$CATALINA_HOME" \
+      -Djava.io.tmpdir="$CATALINA_TMPDIR" \
+      org.apache.catalina.startup.Bootstrap "$@" start
+  fi
+
+elif [ "$1" = "start" ] ; then
+
+  shift
+  touch "$CATALINA_BASE"/logs/catalina.out
+  if [ "$1" = "-security" ] ; then
+    echo "Using Security Manager"
+    shift
+    "$_RUNJAVA" $JAVA_OPTS "$LOGGING_CONFIG" $CATALINA_OPTS \
+      -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
+      -Djava.security.manager \
+      -Djava.security.policy=="$CATALINA_BASE"/conf/catalina.policy \
+      -Dcatalina.base="$CATALINA_BASE" \
+      -Dcatalina.home="$CATALINA_HOME" \
+      -Djava.io.tmpdir="$CATALINA_TMPDIR" \
+      org.apache.catalina.startup.Bootstrap "$@" start \
+      >> "$CATALINA_BASE"/logs/catalina.out 2>&1 &
+
+      if [ ! -z "$CATALINA_PID" ]; then
+        echo $! > $CATALINA_PID
+      fi
+  else
+    "$_RUNJAVA" $JAVA_OPTS "$LOGGING_CONFIG" $CATALINA_OPTS \
+      -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
+      -Dcatalina.base="$CATALINA_BASE" \
+      -Dcatalina.home="$CATALINA_HOME" \
+      -Djava.io.tmpdir="$CATALINA_TMPDIR" \
+      org.apache.catalina.startup.Bootstrap "$@" start \
+      >> "$CATALINA_BASE"/logs/catalina.out 2>&1 &
+
+      if [ ! -z "$CATALINA_PID" ]; then
+        echo $! > $CATALINA_PID
+      fi
+  fi
+
+elif [ "$1" = "stop" ] ; then
+
+  shift
+  FORCE=0
+  if [ "$1" = "-force" ]; then
+    shift
+    FORCE=1
+  fi
+
+  "$_RUNJAVA" $JAVA_OPTS \
+    -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
+    -Dcatalina.base="$CATALINA_BASE" \
+    -Dcatalina.home="$CATALINA_HOME" \
+    -Djava.io.tmpdir="$CATALINA_TMPDIR" \
+    org.apache.catalina.startup.Bootstrap "$@" stop
+
+  if [ $FORCE -eq 1 ]; then
+    if [ ! -z "$CATALINA_PID" ]; then
+       echo "Killing: `cat $CATALINA_PID`"
+       kill -9 `cat $CATALINA_PID`
+    else
+       echo "Kill failed: \$CATALINA_PID not set"
+    fi
+  fi
+
+elif [ "$1" = "version" ] ; then
+
+    "$_RUNJAVA"   \
+      -classpath "$CATALINA_HOME/lib/catalina.jar" \
+      org.apache.catalina.util.ServerInfo
+
+else
+
+  echo "Usage: catalina.sh ( commands ... )"
+  echo "commands:"
+  if $os400; then
+    echo "  debug             Start Catalina in a debugger (not available on OS400)"
+    echo "  debug -security   Debug Catalina with a security manager (not available on OS400)"
+  else
+    echo "  debug             Start Catalina in a debugger"
+    echo "  debug -security   Debug Catalina with a security manager"
+  fi
+  echo "  jpda start        Start Catalina under JPDA debugger"
+  echo "  run               Start Catalina in the current window"
+  echo "  run -security     Start in the current window with security manager"
+  echo "  start             Start Catalina in a separate window"
+  echo "  start -security   Start in a separate window with security manager"
+  echo "  stop              Stop Catalina"
+  echo "  stop -force       Stop Catalina (followed by kill -KILL)"
+  echo "  version           What version of tomcat are you running?"
+  exit 1
+
+fi
Index: /nutchez-0.1/tomcat/bin/cpappend.bat
===================================================================
--- /nutchez-0.1/tomcat/bin/cpappend.bat	(revision 66)
+++ /nutchez-0.1/tomcat/bin/cpappend.bat	(revision 66)
@@ -0,0 +1,35 @@
+@echo off
+rem Licensed to the Apache Software Foundation (ASF) under one or more
+rem contributor license agreements.  See the NOTICE file distributed with
+rem this work for additional information regarding copyright ownership.
+rem The ASF licenses this file to You under the Apache License, Version 2.0
+rem (the "License"); you may not use this file except in compliance with
+rem the License.  You may obtain a copy of the License at
+rem
+rem     http://www.apache.org/licenses/LICENSE-2.0
+rem
+rem Unless required by applicable law or agreed to in writing, software
+rem distributed under the License is distributed on an "AS IS" BASIS,
+rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+rem See the License for the specific language governing permissions and
+rem limitations under the License.
+
+rem ---------------------------------------------------------------------------
+rem Append to CLASSPATH
+rem
+rem $Id: cpappend.bat 562770 2007-08-04 22:13:58Z markt $
+rem ---------------------------------------------------------------------------
+
+rem Process the first argument
+if ""%1"" == """" goto end
+set CLASSPATH=%CLASSPATH%;%1
+shift
+
+rem Process the remaining arguments
+:setArgs
+if ""%1"" == """" goto doneSetArgs
+set CLASSPATH=%CLASSPATH% %1
+shift
+goto setArgs
+:doneSetArgs
+:end
Index: /nutchez-0.1/tomcat/bin/digest.bat
===================================================================
--- /nutchez-0.1/tomcat/bin/digest.bat	(revision 66)
+++ /nutchez-0.1/tomcat/bin/digest.bat	(revision 66)
@@ -0,0 +1,56 @@
+@echo off
+rem Licensed to the Apache Software Foundation (ASF) under one or more
+rem contributor license agreements.  See the NOTICE file distributed with
+rem this work for additional information regarding copyright ownership.
+rem The ASF licenses this file to You under the Apache License, Version 2.0
+rem (the "License"); you may not use this file except in compliance with
+rem the License.  You may obtain a copy of the License at
+rem
+rem     http://www.apache.org/licenses/LICENSE-2.0
+rem
+rem Unless required by applicable law or agreed to in writing, software
+rem distributed under the License is distributed on an "AS IS" BASIS,
+rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+rem See the License for the specific language governing permissions and
+rem limitations under the License.
+
+if "%OS%" == "Windows_NT" setlocal
+rem ---------------------------------------------------------------------------
+rem Script to digest password using the algorithm specified
+rem
+rem $Id: digest.bat 562770 2007-08-04 22:13:58Z markt $
+rem ---------------------------------------------------------------------------
+
+rem Guess CATALINA_HOME if not defined
+if not "%CATALINA_HOME%" == "" goto gotHome
+set CATALINA_HOME=.
+if exist "%CATALINA_HOME%\bin\tool-wrapper.bat" goto okHome
+set CATALINA_HOME=..
+:gotHome
+if exist "%CATALINA_HOME%\bin\tool-wrapper.bat" goto okHome
+echo The CATALINA_HOME environment variable is not defined correctly
+echo This environment variable is needed to run this program
+goto end
+:okHome
+
+set EXECUTABLE=%CATALINA_HOME%\bin\tool-wrapper.bat
+
+rem Check that target executable exists
+if exist "%EXECUTABLE%" goto okExec
+echo Cannot find %EXECUTABLE%
+echo This file is needed to run this program
+goto end
+:okExec
+
+rem Get remaining unshifted command line arguments and save them in the
+set CMD_LINE_ARGS=
+:setArgs
+if ""%1""=="""" goto doneSetArgs
+set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1
+shift
+goto setArgs
+:doneSetArgs
+
+call "%EXECUTABLE%" -server org.apache.catalina.realm.RealmBase %CMD_LINE_ARGS%
+
+:end
Index: /nutchez-0.1/tomcat/bin/digest.sh
===================================================================
--- /nutchez-0.1/tomcat/bin/digest.sh	(revision 66)
+++ /nutchez-0.1/tomcat/bin/digest.sh	(revision 66)
@@ -0,0 +1,47 @@
+#!/bin/sh
+
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# -----------------------------------------------------------------------------
+# Script to digest password using the algorithm specified
+#
+# $Id: digest.sh 562770 2007-08-04 22:13:58Z markt $
+# -----------------------------------------------------------------------------
+
+# resolve links - $0 may be a softlink
+PRG="$0"
+
+while [ -h "$PRG" ] ; do
+  ls=`ls -ld "$PRG"`
+  link=`expr "$ls" : '.*-> \(.*\)$'`
+  if expr "$link" : '/.*' > /dev/null; then
+    PRG="$link"
+  else
+    PRG=`dirname "$PRG"`/"$link"
+  fi
+done
+ 
+PRGDIR=`dirname "$PRG"`
+EXECUTABLE=tool-wrapper.sh
+
+# Check that target executable exists
+if [ ! -x "$PRGDIR"/"$EXECUTABLE" ]; then
+  echo "Cannot find $PRGDIR/$EXECUTABLE"
+  echo "This file is needed to run this program"
+  exit 1
+fi
+
+exec "$PRGDIR"/"$EXECUTABLE" -server org.apache.catalina.realm.RealmBase "$@"
Index: /nutchez-0.1/tomcat/bin/service.bat
===================================================================
--- /nutchez-0.1/tomcat/bin/service.bat	(revision 66)
+++ /nutchez-0.1/tomcat/bin/service.bat	(revision 66)
@@ -0,0 +1,127 @@
+@echo off
+rem Licensed to the Apache Software Foundation (ASF) under one or more
+rem contributor license agreements.  See the NOTICE file distributed with
+rem this work for additional information regarding copyright ownership.
+rem The ASF licenses this file to You under the Apache License, Version 2.0
+rem (the "License"); you may not use this file except in compliance with
+rem the License.  You may obtain a copy of the License at
+rem
+rem     http://www.apache.org/licenses/LICENSE-2.0
+rem
+rem Unless required by applicable law or agreed to in writing, software
+rem distributed under the License is distributed on an "AS IS" BASIS,
+rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+rem See the License for the specific language governing permissions and
+rem limitations under the License.
+
+if "%OS%" == "Windows_NT" setlocal
+rem ---------------------------------------------------------------------------
+rem NT Service Install/Uninstall script
+rem
+rem Options
+rem install                Install the service using Tomcat6 as service name.
+rem                        Service is installed using default settings.
+rem remove                 Remove the service from the System.
+rem
+rem name        (optional) If the second argument is present it is considered
+rem                        to be new service name                                           
+rem
+rem $Id: service.bat 600659 2007-12-03 20:15:09Z jim $
+rem ---------------------------------------------------------------------------
+
+rem Guess CATALINA_HOME if not defined
+set CURRENT_DIR=%cd%
+if not "%CATALINA_HOME%" == "" goto gotHome
+set CATALINA_HOME=%cd%
+if exist "%CATALINA_HOME%\bin\tomcat6.exe" goto okHome
+rem CD to the upper dir
+cd ..
+set CATALINA_HOME=%cd%
+:gotHome
+if exist "%CATALINA_HOME%\bin\tomcat6.exe" goto okHome
+echo The tomcat.exe was not found...
+echo The CATALINA_HOME environment variable is not defined correctly.
+echo This environment variable is needed to run this program
+goto end
+rem Make sure prerequisite environment variables are set
+if not "%JAVA_HOME%" == "" goto okHome
+echo The JAVA_HOME environment variable is not defined
+echo This environment variable is needed to run this program
+goto end 
+:okHome
+if not "%CATALINA_BASE%" == "" goto gotBase
+set CATALINA_BASE=%CATALINA_HOME%
+:gotBase
+ 
+set EXECUTABLE=%CATALINA_HOME%\bin\tomcat6.exe
+
+rem Set default Service name
+set SERVICE_NAME=Tomcat6
+set PR_DISPLAYNAME=Apache Tomcat
+
+if "%1" == "" goto displayUsage
+if "%2" == "" goto setServiceName
+set SERVICE_NAME=%2
+set PR_DISPLAYNAME=Apache Tomcat %2
+:setServiceName
+if %1 == install goto doInstall
+if %1 == remove goto doRemove
+if %1 == uninstall goto doRemove
+echo Unknown parameter "%1"
+:displayUsage
+echo.
+echo Usage: service.bat install/remove [service_name]
+goto end
+
+:doRemove
+rem Remove the service
+"%EXECUTABLE%" //DS//%SERVICE_NAME%
+echo The service '%SERVICE_NAME%' has been removed
+goto end
+
+:doInstall
+rem Install the service
+echo Installing the service '%SERVICE_NAME%' ...
+echo Using CATALINA_HOME:    %CATALINA_HOME%
+echo Using CATALINA_BASE:    %CATALINA_BASE%
+echo Using JAVA_HOME:        %JAVA_HOME%
+
+rem Use the environment variables as an example
+rem Each command line option is prefixed with PR_
+
+set PR_DESCRIPTION=Apache Tomcat Server - http://tomcat.apache.org/
+set PR_INSTALL=%EXECUTABLE%
+set PR_LOGPATH=%CATALINA_BASE%\logs
+set PR_CLASSPATH=%CATALINA_HOME%\bin\bootstrap.jar
+rem Set the server jvm from JAVA_HOME
+set PR_JVM=%JAVA_HOME%\jre\bin\server\jvm.dll
+if exist "%PR_JVM%" goto foundJvm
+rem Set the client jvm from JAVA_HOME
+set PR_JVM=%JAVA_HOME%\jre\bin\client\jvm.dll
+if exist "%PR_JVM%" goto foundJvm
+set PR_JVM=auto
+:foundJvm
+echo Using JVM:              %PR_JVM%
+"%EXECUTABLE%" //IS//%SERVICE_NAME% --StartClass org.apache.catalina.startup.Bootstrap --StopClass org.apache.catalina.startup.Bootstrap --StartParams start --StopParams stop
+if not errorlevel 1 goto installed
+echo Failed installing '%SERVICE_NAME%' service
+goto end
+:installed
+rem Clear the environment variables. They are not needed any more.
+set PR_DISPLAYNAME=
+set PR_DESCRIPTION=
+set PR_INSTALL=
+set PR_LOGPATH=
+set PR_CLASSPATH=
+set PR_JVM=
+rem Set extra parameters
+"%EXECUTABLE%" //US//%SERVICE_NAME% --JvmOptions "-Dcatalina.base=%CATALINA_BASE%;-Dcatalina.home=%CATALINA_HOME%;-Djava.endorsed.dirs=%CATALINA_HOME%\endorsed" --StartMode jvm --StopMode jvm
+rem More extra parameters
+set PR_LOGPATH=%CATALINA_BASE%\logs
+set PR_STDOUTPUT=auto
+set PR_STDERROR=auto
+"%EXECUTABLE%" //US//%SERVICE_NAME% ++JvmOptions "-Djava.io.tmpdir=%CATALINA_BASE%\temp;-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager;-Djava.util.logging.config.file=%CATALINA_BASE%\conf\logging.properties" --JvmMs 128 --JvmMx 256
+echo The service '%SERVICE_NAME%' has been installed.
+
+:end
+cd %CURRENT_DIR%
Index: /nutchez-0.1/tomcat/bin/setclasspath.bat
===================================================================
--- /nutchez-0.1/tomcat/bin/setclasspath.bat	(revision 66)
+++ /nutchez-0.1/tomcat/bin/setclasspath.bat	(revision 66)
@@ -0,0 +1,87 @@
+@echo off
+rem Licensed to the Apache Software Foundation (ASF) under one or more
+rem contributor license agreements.  See the NOTICE file distributed with
+rem this work for additional information regarding copyright ownership.
+rem The ASF licenses this file to You under the Apache License, Version 2.0
+rem (the "License"); you may not use this file except in compliance with
+rem the License.  You may obtain a copy of the License at
+rem
+rem     http://www.apache.org/licenses/LICENSE-2.0
+rem
+rem Unless required by applicable law or agreed to in writing, software
+rem distributed under the License is distributed on an "AS IS" BASIS,
+rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+rem See the License for the specific language governing permissions and
+rem limitations under the License.
+
+rem ---------------------------------------------------------------------------
+rem Set CLASSPATH and Java options
+rem
+rem $Id: setclasspath.bat 562770 2007-08-04 22:13:58Z markt $
+rem ---------------------------------------------------------------------------
+
+rem Make sure prerequisite environment variables are set
+if not "%JAVA_HOME%" == "" goto gotJdkHome
+if not "%JRE_HOME%" == "" goto gotJreHome
+echo Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
+echo At least one of these environment variable is needed to run this program
+goto exit
+
+:gotJreHome
+if not exist "%JRE_HOME%\bin\java.exe" goto noJavaHome
+if not exist "%JRE_HOME%\bin\javaw.exe" goto noJavaHome
+if not ""%1"" == ""debug"" goto okJavaHome
+echo JAVA_HOME should point to a JDK in order to run in debug mode.
+goto exit
+
+:gotJdkHome
+if not exist "%JAVA_HOME%\bin\java.exe" goto noJavaHome
+if not exist "%JAVA_HOME%\bin\javaw.exe" goto noJavaHome
+if not exist "%JAVA_HOME%\bin\jdb.exe" goto noJavaHome
+if not exist "%JAVA_HOME%\bin\javac.exe" goto noJavaHome
+if not "%JRE_HOME%" == "" goto okJavaHome
+set JRE_HOME=%JAVA_HOME%
+goto okJavaHome
+
+:noJavaHome
+echo The JAVA_HOME environment variable is not defined correctly
+echo This environment variable is needed to run this program
+echo NB: JAVA_HOME should point to a JDK not a JRE
+goto exit
+:okJavaHome
+
+if not "%BASEDIR%" == "" goto gotBasedir
+echo The BASEDIR environment variable is not defined
+echo This environment variable is needed to run this program
+goto exit
+:gotBasedir
+if exist "%BASEDIR%\bin\setclasspath.bat" goto okBasedir
+echo The BASEDIR environment variable is not defined correctly
+echo This environment variable is needed to run this program
+goto exit
+:okBasedir
+
+rem Set the default -Djava.endorsed.dirs argument
+set JAVA_ENDORSED_DIRS=%BASEDIR%\endorsed
+
+rem Set standard CLASSPATH
+rem Note that there are no quotes as we do not want to introduce random
+rem quotes into the CLASSPATH
+if not exist "%JAVA_HOME%\lib\tools.jar" goto noJavac
+set CLASSPATH=%JAVA_HOME%\lib\tools.jar
+:noJavac
+
+rem Set standard command for invoking Java.
+rem Note that NT requires a window name argument when using start.
+rem Also note the quoting as JAVA_HOME may contain spaces.
+set _RUNJAVA="%JRE_HOME%\bin\java"
+set _RUNJAVAW="%JRE_HOME%\bin\javaw"
+set _RUNJDB="%JAVA_HOME%\bin\jdb"
+set _RUNJAVAC="%JAVA_HOME%\bin\javac"
+
+goto end
+
+:exit
+exit /b 1
+
+:end
Index: /nutchez-0.1/tomcat/bin/setclasspath.sh
===================================================================
--- /nutchez-0.1/tomcat/bin/setclasspath.sh	(revision 66)
+++ /nutchez-0.1/tomcat/bin/setclasspath.sh	(revision 66)
@@ -0,0 +1,131 @@
+#!/bin/sh
+
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# -----------------------------------------------------------------------------
+#  Set CLASSPATH and Java options
+#
+#  $Id: setclasspath.sh 589060 2007-10-27 08:19:24Z jfclere $
+# -----------------------------------------------------------------------------
+
+# First clear out the user classpath
+CLASSPATH=
+
+# Make sure prerequisite environment variables are set
+if [ -z "$JAVA_HOME" -a -z "$JRE_HOME" ]; then
+  # Bugzilla 37284 (reviewed).
+  if $darwin; then
+    if [ -d "/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home" ]; then
+      export JAVA_HOME="/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home"
+    fi
+  else
+    JAVA_PATH=`which java 2>/dev/null`
+    if [ "x$JAVA_PATH" != "x" ]; then
+      JAVA_PATH=`dirname $JAVA_PATH 2>/dev/null`
+      JRE_HOME=`dirname $JAVA_PATH 2>/dev/null`
+    fi
+    if [ "x$JRE_HOME" = "x" ]; then
+      # XXX: Should we try other locations?
+      if [ -x /usr/bin/java ]; then
+        JRE_HOME=/usr
+      fi
+    fi
+  fi
+  if [ -z "$JAVA_HOME" -a -z "$JRE_HOME" ]; then
+    echo "Neither the JAVA_HOME nor the JRE_HOME environment variable is defined"
+    echo "At least one of these environment variable is needed to run this program"
+    exit 1
+  fi
+fi
+if [ -z "$JAVA_HOME" -a "$1" = "debug" ]; then
+  echo "JAVA_HOME should point to a JDK in order to run in debug mode."
+  exit 1
+fi
+if [ -z "$JRE_HOME" ]; then
+  JRE_HOME="$JAVA_HOME"
+fi
+
+# If we're running under jdb, we need a full jdk.
+if [ "$1" = "debug" -o "$1" = "javac" ] ; then
+  if [ "$os400" = "true" ]; then
+    if [ ! -x "$JAVA_HOME"/bin/java -o ! -x "$JAVA_HOME"/bin/javac ]; then
+      echo "The JAVA_HOME environment variable is not defined correctly"
+      echo "This environment variable is needed to run this program"
+      echo "NB: JAVA_HOME should point to a JDK not a JRE"
+      exit 1
+    fi
+  else
+    if [ ! -x "$JAVA_HOME"/bin/java -o ! -x "$JAVA_HOME"/bin/jdb -o ! -x "$JAVA_HOME"/bin/javac ]; then
+      echo "The JAVA_HOME environment variable is not defined correctly"
+      echo "This environment variable is needed to run this program"
+      echo "NB: JAVA_HOME should point to a JDK not a JRE"
+      exit 1
+    fi
+  fi
+fi
+if [ -z "$BASEDIR" ]; then
+  echo "The BASEDIR environment variable is not defined"
+  echo "This environment variable is needed to run this program"
+  exit 1
+fi
+if [ ! -x "$BASEDIR"/bin/setclasspath.sh ]; then
+  if $os400; then
+    # -x will Only work on the os400 if the files are:
+    # 1. owned by the user
+    # 2. owned by the PRIMARY group of the user
+    # this will not work if the user belongs in secondary groups
+    eval
+  else
+    echo "The BASEDIR environment variable is not defined correctly"
+    echo "This environment variable is needed to run this program"
+    exit 1
+  fi
+fi
+
+# Set the default -Djava.endorsed.dirs argument
+JAVA_ENDORSED_DIRS="$BASEDIR"/endorsed
+
+# Set standard CLASSPATH
+if [ "$1" = "javac" ] ; then
+  if [ ! -f "$JAVA_HOME"/lib/tools.jar ]; then
+    echo "Can't find tools.jar in JAVA_HOME"
+    echo "Need a JDK to run javac"
+    exit 1
+  fi
+fi
+if [ "$1" = "debug" -o "$1" = "javac" ] ; then
+  if [ -f "$JAVA_HOME"/lib/tools.jar ]; then
+    CLASSPATH="$JAVA_HOME"/lib/tools.jar
+  fi
+fi
+
+# OSX hack to CLASSPATH
+JIKESPATH=
+if [ `uname -s` = "Darwin" ]; then
+  OSXHACK="/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Classes"
+  if [ -d "$OSXHACK" ]; then
+    for i in "$OSXHACK"/*.jar; do
+      JIKESPATH="$JIKESPATH":"$i"
+    done
+  fi
+fi
+
+# Set standard commands for invoking Java.
+  _RUNJAVA="$JRE_HOME"/bin/java
+if [ "$os400" != "true" ]; then
+  _RUNJDB="$JAVA_HOME"/bin/jdb
+fi
+_RUNJAVAC="$JAVA_HOME"/bin/javac
Index: /nutchez-0.1/tomcat/bin/shutdown.bat
===================================================================
--- /nutchez-0.1/tomcat/bin/shutdown.bat	(revision 66)
+++ /nutchez-0.1/tomcat/bin/shutdown.bat	(revision 66)
@@ -0,0 +1,59 @@
+@echo off
+rem Licensed to the Apache Software Foundation (ASF) under one or more
+rem contributor license agreements.  See the NOTICE file distributed with
+rem this work for additional information regarding copyright ownership.
+rem The ASF licenses this file to You under the Apache License, Version 2.0
+rem (the "License"); you may not use this file except in compliance with
+rem the License.  You may obtain a copy of the License at
+rem
+rem     http://www.apache.org/licenses/LICENSE-2.0
+rem
+rem Unless required by applicable law or agreed to in writing, software
+rem distributed under the License is distributed on an "AS IS" BASIS,
+rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+rem See the License for the specific language governing permissions and
+rem limitations under the License.
+
+if "%OS%" == "Windows_NT" setlocal
+rem ---------------------------------------------------------------------------
+rem Stop script for the CATALINA Server
+rem
+rem $Id: shutdown.bat 562770 2007-08-04 22:13:58Z markt $
+rem ---------------------------------------------------------------------------
+
+rem Guess CATALINA_HOME if not defined
+set CURRENT_DIR=%cd%
+if not "%CATALINA_HOME%" == "" goto gotHome
+set CATALINA_HOME=%CURRENT_DIR%
+if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
+cd ..
+set CATALINA_HOME=%cd%
+cd %CURRENT_DIR%
+:gotHome
+if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
+echo The CATALINA_HOME environment variable is not defined correctly
+echo This environment variable is needed to run this program
+goto end
+:okHome
+
+set EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat
+
+rem Check that target executable exists
+if exist "%EXECUTABLE%" goto okExec
+echo Cannot find %EXECUTABLE%
+echo This file is needed to run this program
+goto end
+:okExec
+
+rem Get remaining unshifted command line arguments and save them in the
+set CMD_LINE_ARGS=
+:setArgs
+if ""%1""=="""" goto doneSetArgs
+set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1
+shift
+goto setArgs
+:doneSetArgs
+
+call "%EXECUTABLE%" stop %CMD_LINE_ARGS%
+
+:end
Index: /nutchez-0.1/tomcat/bin/shutdown.sh
===================================================================
--- /nutchez-0.1/tomcat/bin/shutdown.sh	(revision 66)
+++ /nutchez-0.1/tomcat/bin/shutdown.sh	(revision 66)
@@ -0,0 +1,47 @@
+#!/bin/sh
+
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# -----------------------------------------------------------------------------
+# Stop script for the CATALINA Server
+#
+# $Id: shutdown.sh 562770 2007-08-04 22:13:58Z markt $
+# -----------------------------------------------------------------------------
+
+# resolve links - $0 may be a softlink
+PRG="$0"
+
+while [ -h "$PRG" ] ; do
+  ls=`ls -ld "$PRG"`
+  link=`expr "$ls" : '.*-> \(.*\)$'`
+  if expr "$link" : '/.*' > /dev/null; then
+    PRG="$link"
+  else
+    PRG=`dirname "$PRG"`/"$link"
+  fi
+done
+ 
+PRGDIR=`dirname "$PRG"`
+EXECUTABLE=catalina.sh
+
+# Check that target executable exists
+if [ ! -x "$PRGDIR"/"$EXECUTABLE" ]; then
+  echo "Cannot find $PRGDIR/$EXECUTABLE"
+  echo "This file is needed to run this program"
+  exit 1
+fi
+
+exec "$PRGDIR"/"$EXECUTABLE" stop "$@"
Index: /nutchez-0.1/tomcat/bin/startup.bat
===================================================================
--- /nutchez-0.1/tomcat/bin/startup.bat	(revision 66)
+++ /nutchez-0.1/tomcat/bin/startup.bat	(revision 66)
@@ -0,0 +1,59 @@
+@echo off
+rem Licensed to the Apache Software Foundation (ASF) under one or more
+rem contributor license agreements.  See the NOTICE file distributed with
+rem this work for additional information regarding copyright ownership.
+rem The ASF licenses this file to You under the Apache License, Version 2.0
+rem (the "License"); you may not use this file except in compliance with
+rem the License.  You may obtain a copy of the License at
+rem
+rem     http://www.apache.org/licenses/LICENSE-2.0
+rem
+rem Unless required by applicable law or agreed to in writing, software
+rem distributed under the License is distributed on an "AS IS" BASIS,
+rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+rem See the License for the specific language governing permissions and
+rem limitations under the License.
+
+if "%OS%" == "Windows_NT" setlocal
+rem ---------------------------------------------------------------------------
+rem Start script for the CATALINA Server
+rem
+rem $Id: startup.bat 562770 2007-08-04 22:13:58Z markt $
+rem ---------------------------------------------------------------------------
+
+rem Guess CATALINA_HOME if not defined
+set CURRENT_DIR=%cd%
+if not "%CATALINA_HOME%" == "" goto gotHome
+set CATALINA_HOME=%CURRENT_DIR%
+if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
+cd ..
+set CATALINA_HOME=%cd%
+cd %CURRENT_DIR%
+:gotHome
+if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
+echo The CATALINA_HOME environment variable is not defined correctly
+echo This environment variable is needed to run this program
+goto end
+:okHome
+
+set EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat
+
+rem Check that target executable exists
+if exist "%EXECUTABLE%" goto okExec
+echo Cannot find %EXECUTABLE%
+echo This file is needed to run this program
+goto end
+:okExec
+
+rem Get remaining unshifted command line arguments and save them in the
+set CMD_LINE_ARGS=
+:setArgs
+if ""%1""=="""" goto doneSetArgs
+set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1
+shift
+goto setArgs
+:doneSetArgs
+
+call "%EXECUTABLE%" start %CMD_LINE_ARGS%
+
+:end
Index: /nutchez-0.1/tomcat/bin/startup.sh
===================================================================
--- /nutchez-0.1/tomcat/bin/startup.sh	(revision 66)
+++ /nutchez-0.1/tomcat/bin/startup.sh	(revision 66)
@@ -0,0 +1,64 @@
+#!/bin/sh
+
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# -----------------------------------------------------------------------------
+# Start Script for the CATALINA Server
+#
+# $Id: startup.sh 562770 2007-08-04 22:13:58Z markt $
+# -----------------------------------------------------------------------------
+
+# Better OS/400 detection: see Bugzilla 31132
+os400=false
+darwin=false
+case "`uname`" in
+CYGWIN*) cygwin=true;;
+OS400*) os400=true;;
+Darwin*) darwin=true;;
+esac
+
+# resolve links - $0 may be a softlink
+PRG="$0"
+
+while [ -h "$PRG" ] ; do
+  ls=`ls -ld "$PRG"`
+  link=`expr "$ls" : '.*-> \(.*\)$'`
+  if expr "$link" : '/.*' > /dev/null; then
+    PRG="$link"
+  else
+    PRG=`dirname "$PRG"`/"$link"
+  fi
+done
+ 
+PRGDIR=`dirname "$PRG"`
+EXECUTABLE=catalina.sh
+
+# Check that target executable exists
+if $os400; then
+  # -x will Only work on the os400 if the files are: 
+  # 1. owned by the user
+  # 2. owned by the PRIMARY group of the user
+  # this will not work if the user belongs in secondary groups
+  eval
+else
+  if [ ! -x "$PRGDIR"/"$EXECUTABLE" ]; then
+    echo "Cannot find $PRGDIR/$EXECUTABLE"
+    echo "This file is needed to run this program"
+    exit 1
+  fi
+fi 
+
+exec "$PRGDIR"/"$EXECUTABLE" start "$@"
Index: /nutchez-0.1/tomcat/bin/tool-wrapper.bat
===================================================================
--- /nutchez-0.1/tomcat/bin/tool-wrapper.bat	(revision 66)
+++ /nutchez-0.1/tomcat/bin/tool-wrapper.bat	(revision 66)
@@ -0,0 +1,79 @@
+@echo off
+rem Licensed to the Apache Software Foundation (ASF) under one or more
+rem contributor license agreements.  See the NOTICE file distributed with
+rem this work for additional information regarding copyright ownership.
+rem The ASF licenses this file to You under the Apache License, Version 2.0
+rem (the "License"); you may not use this file except in compliance with
+rem the License.  You may obtain a copy of the License at
+rem
+rem     http://www.apache.org/licenses/LICENSE-2.0
+rem
+rem Unless required by applicable law or agreed to in writing, software
+rem distributed under the License is distributed on an "AS IS" BASIS,
+rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+rem See the License for the specific language governing permissions and
+rem limitations under the License.
+
+if "%OS%" == "Windows_NT" setlocal
+rem ---------------------------------------------------------------------------
+rem Wrapper script for command line tools
+rem
+rem Environment Variable Prequisites
+rem
+rem   CATALINA_HOME May point at your Catalina "build" directory.
+rem
+rem   TOOL_OPTS     (Optional) Java runtime options used when the "start",
+rem                 "stop", or "run" command is executed.
+rem
+rem   JAVA_HOME     Must point at your Java Development Kit installation.
+rem
+rem   JAVA_OPTS     (Optional) Java runtime options used when the "start",
+rem                 "stop", or "run" command is executed.
+rem
+rem $Id: tool-wrapper.bat 562770 2007-08-04 22:13:58Z markt $
+rem ---------------------------------------------------------------------------
+
+rem Guess CATALINA_HOME if not defined
+if not "%CATALINA_HOME%" == "" goto gotHome
+set CATALINA_HOME=.
+if exist "%CATALINA_HOME%\bin\tool-wrapper.bat" goto okHome
+set CATALINA_HOME=..
+:gotHome
+if exist "%CATALINA_HOME%\bin\tool-wrapper.bat" goto okHome
+echo The CATALINA_HOME environment variable is not defined correctly
+echo This environment variable is needed to run this program
+goto end
+:okHome
+
+rem Get standard environment variables
+if exist "%CATALINA_HOME%\bin\setenv.bat" call "%CATALINA_HOME%\bin\setenv.bat"
+
+rem Get standard Java environment variables
+if exist "%CATALINA_HOME%\bin\setclasspath.bat" goto okSetclasspath
+echo Cannot find %CATALINA_HOME%\bin\setclasspath.bat
+echo This file is needed to run this program
+goto end
+:okSetclasspath
+set BASEDIR=%CATALINA_HOME%
+call "%CATALINA_HOME%\bin\setclasspath.bat"
+
+rem Add on extra jar files to CLASSPATH
+if "%CLASSPATH%" == "" goto noclasspath
+set CLASSPATH=%CLASSPATH%;%CATALINA_HOME%\bin\bootstrap.jar;"%BASEDIR%"\lib\servlet-api.jar
+goto :okclasspath
+:noclasspath
+set CLASSPATH=%CATALINA_HOME%\bin\bootstrap.jar;"%BASEDIR%"\lib\servlet-api.jar
+:okclasspath
+
+rem Get remaining unshifted command line arguments and save them in the
+set CMD_LINE_ARGS=
+:setArgs
+if ""%1""=="""" goto doneSetArgs
+set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1
+shift
+goto setArgs
+:doneSetArgs
+
+%_RUNJAVA% %JAVA_OPTS% %TOOL_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Dcatalina.home="%CATALINA_HOME%" org.apache.catalina.startup.Tool %CMD_LINE_ARGS%
+
+:end
Index: /nutchez-0.1/tomcat/bin/tool-wrapper.sh
===================================================================
--- /nutchez-0.1/tomcat/bin/tool-wrapper.sh	(revision 66)
+++ /nutchez-0.1/tomcat/bin/tool-wrapper.sh	(revision 66)
@@ -0,0 +1,94 @@
+#!/bin/sh
+
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# -----------------------------------------------------------------------------
+# Wrapper script for command line tools
+#
+# Environment Variable Prequisites
+#
+#   CATALINA_HOME May point at your Catalina "build" directory.
+#
+#   TOOL_OPTS     (Optional) Java runtime options used when the "start",
+#                 "stop", or "run" command is executed.
+#
+#   JAVA_HOME     Must point at your Java Development Kit installation.
+#
+#   JAVA_OPTS     (Optional) Java runtime options used when the "start",
+#                 "stop", or "run" command is executed.
+#
+# $Id: tool-wrapper.sh 562770 2007-08-04 22:13:58Z markt $
+# -----------------------------------------------------------------------------
+
+# OS specific support.  $var _must_ be set to either true or false.
+cygwin=false
+case "`uname`" in
+CYGWIN*) cygwin=true;;
+esac
+
+# resolve links - $0 may be a softlink
+PRG="$0"
+
+while [ -h "$PRG" ]; do
+  ls=`ls -ld "$PRG"`
+  link=`expr "$ls" : '.*-> \(.*\)$'`
+  if expr "$link" : '/.*' > /dev/null; then
+    PRG="$link"
+  else
+    PRG=`dirname "$PRG"`/"$link"
+  fi
+done
+
+# Get standard environment variables
+PRGDIR=`dirname "$PRG"`
+CATALINA_HOME=`cd "$PRGDIR/.." ; pwd`
+if [ -r "$CATALINA_HOME"/bin/setenv.sh ]; then
+  . "$CATALINA_HOME"/bin/setenv.sh
+fi
+
+# For Cygwin, ensure paths are in UNIX format before anything is touched
+if $cygwin; then
+  [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
+  [ -n "$CATALINA_HOME" ] && CATALINA_HOME=`cygpath --unix "$CATALINA_HOME"`
+  [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
+fi
+
+# Get standard Java environment variables
+if [ -r "$CATALINA_HOME"/bin/setclasspath.sh ]; then
+  BASEDIR="$CATALINA_HOME"
+  . "$CATALINA_HOME"/bin/setclasspath.sh
+else
+  echo "Cannot find $CATALINA_HOME/bin/setclasspath.sh"
+  echo "This file is needed to run this program"
+  exit 1
+fi
+
+# Add on extra jar files to CLASSPATH
+CLASSPATH="$CLASSPATH":"$CATALINA_HOME"/bin/bootstrap.jar:"$BASEDIR"/lib/servlet-api.jar
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin; then
+  JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
+  CATALINA_HOME=`cygpath --path --windows "$CATALINA_HOME"`
+  CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
+fi
+
+# ----- Execute The Requested Command -----------------------------------------
+
+exec "$_RUNJAVA" $JAVA_OPTS $TOOL_OPTS \
+  -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
+  -Dcatalina.home="$CATALINA_HOME" \
+  org.apache.catalina.startup.Tool "$@"
Index: /nutchez-0.1/tomcat/bin/version.bat
===================================================================
--- /nutchez-0.1/tomcat/bin/version.bat	(revision 66)
+++ /nutchez-0.1/tomcat/bin/version.bat	(revision 66)
@@ -0,0 +1,59 @@
+@echo off
+rem Licensed to the Apache Software Foundation (ASF) under one or more
+rem contributor license agreements.  See the NOTICE file distributed with
+rem this work for additional information regarding copyright ownership.
+rem The ASF licenses this file to You under the Apache License, Version 2.0
+rem (the "License"); you may not use this file except in compliance with
+rem the License.  You may obtain a copy of the License at
+rem
+rem     http://www.apache.org/licenses/LICENSE-2.0
+rem
+rem Unless required by applicable law or agreed to in writing, software
+rem distributed under the License is distributed on an "AS IS" BASIS,
+rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+rem See the License for the specific language governing permissions and
+rem limitations under the License.
+
+if "%OS%" == "Windows_NT" setlocal
+rem ---------------------------------------------------------------------------
+rem Version script for the CATALINA Server
+rem
+rem $Id: version.bat 562770 2007-08-04 22:13:58Z markt $
+rem ---------------------------------------------------------------------------
+
+rem Guess CATALINA_HOME if not defined
+set CURRENT_DIR=%cd%
+if not "%CATALINA_HOME%" == "" goto gotHome
+set CATALINA_HOME=%CURRENT_DIR%
+if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
+cd ..
+set CATALINA_HOME=%cd%
+cd %CURRENT_DIR%
+:gotHome
+if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
+echo The CATALINA_HOME environment variable is not defined correctly
+echo This environment variable is needed to run this program
+goto end
+:okHome
+
+set EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat
+
+rem Check that target executable exists
+if exist "%EXECUTABLE%" goto okExec
+echo Cannot find %EXECUTABLE%
+echo This file is needed to run this program
+goto end
+:okExec
+
+rem Get remaining unshifted command line arguments and save them in the
+set CMD_LINE_ARGS=
+:setArgs
+if ""%1""=="""" goto doneSetArgs
+set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1
+shift
+goto setArgs
+:doneSetArgs
+
+call "%EXECUTABLE%" version %CMD_LINE_ARGS%
+
+:end
Index: /nutchez-0.1/tomcat/bin/version.sh
===================================================================
--- /nutchez-0.1/tomcat/bin/version.sh	(revision 66)
+++ /nutchez-0.1/tomcat/bin/version.sh	(revision 66)
@@ -0,0 +1,47 @@
+#!/bin/sh
+
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# -----------------------------------------------------------------------------
+# Version Script for the CATALINA Server
+#
+# $Id: version.sh 562770 2007-08-04 22:13:58Z markt $
+# -----------------------------------------------------------------------------
+
+# resolve links - $0 may be a softlink
+PRG="$0"
+
+while [ -h "$PRG" ] ; do
+  ls=`ls -ld "$PRG"`
+  link=`expr "$ls" : '.*-> \(.*\)$'`
+  if expr "$link" : '/.*' > /dev/null; then
+    PRG="$link"
+  else
+    PRG=`dirname "$PRG"`/"$link"
+  fi
+done
+
+PRGDIR=`dirname "$PRG"`
+EXECUTABLE=catalina.sh
+
+# Check that target executable exists
+if [ ! -x "$PRGDIR"/"$EXECUTABLE" ]; then
+  echo "Cannot find $PRGDIR/$EXECUTABLE"
+  echo "This file is needed to run this program"
+  exit 1
+fi
+
+exec "$PRGDIR"/"$EXECUTABLE" version "$@"
Index: /nutchez-0.1/tomcat/conf/catalina.policy
===================================================================
--- /nutchez-0.1/tomcat/conf/catalina.policy	(revision 66)
+++ /nutchez-0.1/tomcat/conf/catalina.policy	(revision 66)
@@ -0,0 +1,178 @@
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements.  See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License.  You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// ============================================================================
+// catalina.corepolicy - Security Policy Permissions for Tomcat 6
+//
+// This file contains a default set of security policies to be enforced (by the
+// JVM) when Catalina is executed with the "-security" option.  In addition
+// to the permissions granted here, the following additional permissions are
+// granted to the codebase specific to each web application:
+//
+// * Read access to the document root directory
+//
+// $Id: catalina.policy 648343 2008-04-15 17:21:29Z markt $
+// ============================================================================
+
+
+// ========== SYSTEM CODE PERMISSIONS =========================================
+
+
+// These permissions apply to javac
+grant codeBase "file:${java.home}/lib/-" {
+        permission java.security.AllPermission;
+};
+
+// These permissions apply to all shared system extensions
+grant codeBase "file:${java.home}/jre/lib/ext/-" {
+        permission java.security.AllPermission;
+};
+
+// These permissions apply to javac when ${java.home] points at $JAVA_HOME/jre
+grant codeBase "file:${java.home}/../lib/-" {
+        permission java.security.AllPermission;
+};
+
+// These permissions apply to all shared system extensions when
+// ${java.home} points at $JAVA_HOME/jre
+grant codeBase "file:${java.home}/lib/ext/-" {
+        permission java.security.AllPermission;
+};
+
+
+// ========== CATALINA CODE PERMISSIONS =======================================
+
+
+// These permissions apply to the daemon code
+grant codeBase "file:${catalina.home}/bin/commons-daemon.jar" {
+        permission java.security.AllPermission;
+};
+
+// These permissions apply to the logging API
+grant codeBase "file:${catalina.home}/bin/tomcat-juli.jar" {
+        permission java.util.PropertyPermission "java.util.logging.config.class", "read";
+        permission java.util.PropertyPermission "java.util.logging.config.file", "read";
+        permission java.io.FilePermission "${java.home}${file.separator}lib${file.separator}logging.properties", "read"; 
+        permission java.lang.RuntimePermission "shutdownHooks";
+        permission java.io.FilePermission "${catalina.base}${file.separator}conf${file.separator}logging.properties", "read";
+        permission java.util.PropertyPermission "catalina.base", "read";
+        permission java.util.logging.LoggingPermission "control";
+        permission java.io.FilePermission "${catalina.base}${file.separator}logs", "read, write";
+        permission java.io.FilePermission "${catalina.base}${file.separator}logs${file.separator}*", "read, write";
+        permission java.lang.RuntimePermission "getClassLoader";
+        // To enable per context logging configuration, permit read access to the appropriate file.
+        // Be sure that the logging configuration is secure before enabling such access
+        // eg for the examples web application:
+        // permission java.io.FilePermission "${catalina.base}${file.separator}webapps${file.separator}examples${file.separator}WEB-INF${file.separator}classes${file.separator}logging.properties", "read";
+};
+
+// These permissions apply to the server startup code
+grant codeBase "file:${catalina.home}/bin/bootstrap.jar" {
+        permission java.security.AllPermission;
+};
+
+// These permissions apply to the servlet API classes
+// and those that are shared across all class loaders
+// located in the "lib" directory
+grant codeBase "file:${catalina.home}/lib/-" {
+        permission java.security.AllPermission;
+};
+
+
+// ========== WEB APPLICATION PERMISSIONS =====================================
+
+
+// These permissions are granted by default to all web applications
+// In addition, a web application will be given a read FilePermission
+// and JndiPermission for all files and directories in its document root.
+grant { 
+    // Required for JNDI lookup of named JDBC DataSource's and
+    // javamail named MimePart DataSource used to send mail
+    permission java.util.PropertyPermission "java.home", "read";
+    permission java.util.PropertyPermission "java.naming.*", "read";
+    permission java.util.PropertyPermission "javax.sql.*", "read";
+
+    // OS Specific properties to allow read access
+    permission java.util.PropertyPermission "os.name", "read";
+    permission java.util.PropertyPermission "os.version", "read";
+    permission java.util.PropertyPermission "os.arch", "read";
+    permission java.util.PropertyPermission "file.separator", "read";
+    permission java.util.PropertyPermission "path.separator", "read";
+    permission java.util.PropertyPermission "line.separator", "read";
+
+    // JVM properties to allow read access
+    permission java.util.PropertyPermission "java.version", "read";
+    permission java.util.PropertyPermission "java.vendor", "read";
+    permission java.util.PropertyPermission "java.vendor.url", "read";
+    permission java.util.PropertyPermission "java.class.version", "read";
+    permission java.util.PropertyPermission "java.specification.version", "read";
+    permission java.util.PropertyPermission "java.specification.vendor", "read";
+    permission java.util.PropertyPermission "java.specification.name", "read";
+
+    permission java.util.PropertyPermission "java.vm.specification.version", "read";
+    permission java.util.PropertyPermission "java.vm.specification.vendor", "read";
+    permission java.util.PropertyPermission "java.vm.specification.name", "read";
+    permission java.util.PropertyPermission "java.vm.version", "read";
+    permission java.util.PropertyPermission "java.vm.vendor", "read";
+    permission java.util.PropertyPermission "java.vm.name", "read";
+
+    // Required for OpenJMX
+    permission java.lang.RuntimePermission "getAttribute";
+
+    // Allow read of JAXP compliant XML parser debug
+    permission java.util.PropertyPermission "jaxp.debug", "read";
+
+    // Precompiled JSPs need access to this package.
+    permission java.lang.RuntimePermission "accessClassInPackage.org.apache.jasper.runtime";
+    permission java.lang.RuntimePermission "accessClassInPackage.org.apache.jasper.runtime.*";
+    
+    // Precompiled JSPs need access to this system property.
+    permission java.util.PropertyPermission "org.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER", "read";
+
+};
+
+
+// You can assign additional permissions to particular web applications by
+// adding additional "grant" entries here, based on the code base for that
+// application, /WEB-INF/classes/, or /WEB-INF/lib/ jar files.
+//
+// Different permissions can be granted to JSP pages, classes loaded from
+// the /WEB-INF/classes/ directory, all jar files in the /WEB-INF/lib/
+// directory, or even to individual jar files in the /WEB-INF/lib/ directory.
+//
+// For instance, assume that the standard "examples" application
+// included a JDBC driver that needed to establish a network connection to the
+// corresponding database and used the scrape taglib to get the weather from
+// the NOAA web server.  You might create a "grant" entries like this:
+//
+// The permissions granted to the context root directory apply to JSP pages.
+// grant codeBase "file:${catalina.home}/webapps/examples/-" {
+//      permission java.net.SocketPermission "dbhost.mycompany.com:5432", "connect";
+//      permission java.net.SocketPermission "*.noaa.gov:80", "connect";
+// };
+//
+// The permissions granted to the context WEB-INF/classes directory
+// grant codeBase "file:${catalina.home}/webapps/examples/WEB-INF/classes/-" {
+// };
+//
+// The permission granted to your JDBC driver
+// grant codeBase "jar:file:${catalina.home}/webapps/examples/WEB-INF/lib/driver.jar!/-" {
+//      permission java.net.SocketPermission "dbhost.mycompany.com:5432", "connect";
+// };
+// The permission granted to the scrape taglib
+// grant codeBase "jar:file:${catalina.home}/webapps/examples/WEB-INF/lib/scrape.jar!/-" {
+//      permission java.net.SocketPermission "*.noaa.gov:80", "connect";
+// };
+
Index: /nutchez-0.1/tomcat/conf/catalina.properties
===================================================================
--- /nutchez-0.1/tomcat/conf/catalina.properties	(revision 66)
+++ /nutchez-0.1/tomcat/conf/catalina.properties	(revision 66)
@@ -0,0 +1,81 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#
+# List of comma-separated packages that start with or equal this string
+# will cause a security exception to be thrown when
+# passed to checkPackageAccess unless the
+# corresponding RuntimePermission ("accessClassInPackage."+package) has
+# been granted.
+package.access=sun.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,org.apache.jasper.,sun.beans.
+#
+# List of comma-separated packages that start with or equal this string
+# will cause a security exception to be thrown when
+# passed to checkPackageDefinition unless the
+# corresponding RuntimePermission ("defineClassInPackage."+package) has
+# been granted.
+#
+# by default, no packages are restricted for definition, and none of
+# the class loaders supplied with the JDK call checkPackageDefinition.
+#
+package.definition=sun.,java.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,org.apache.jasper.
+
+#
+#
+# List of comma-separated paths defining the contents of the "common" 
+# classloader. Prefixes should be used to define what is the repository type.
+# Path may be relative to the CATALINA_HOME or CATALINA_BASE path or absolute.
+# If left as blank,the JVM system loader will be used as Catalina's "common" 
+# loader.
+# Examples:
+#     "foo": Add this folder as a class repository
+#     "foo/*.jar": Add all the JARs of the specified folder as class 
+#                  repositories
+#     "foo/bar.jar": Add bar.jar as a class repository
+common.loader=${catalina.home}/lib,${catalina.home}/lib/*.jar
+
+#
+# List of comma-separated paths defining the contents of the "server" 
+# classloader. Prefixes should be used to define what is the repository type.
+# Path may be relative to the CATALINA_HOME or CATALINA_BASE path or absolute.
+# If left as blank, the "common" loader will be used as Catalina's "server" 
+# loader.
+# Examples:
+#     "foo": Add this folder as a class repository
+#     "foo/*.jar": Add all the JARs of the specified folder as class 
+#                  repositories
+#     "foo/bar.jar": Add bar.jar as a class repository
+server.loader=
+
+#
+# List of comma-separated paths defining the contents of the "shared" 
+# classloader. Prefixes should be used to define what is the repository type.
+# Path may be relative to the CATALINA_BASE path or absolute. If left as blank,
+# the "common" loader will be used as Catalina's "shared" loader.
+# Examples:
+#     "foo": Add this folder as a class repository
+#     "foo/*.jar": Add all the JARs of the specified folder as class 
+#                  repositories
+#     "foo/bar.jar": Add bar.jar as a class repository 
+# Please note that for single jars, e.g. bar.jar, you need the URL form
+# starting with file:.
+shared.loader=
+
+#
+# String cache configuration.
+tomcat.util.buf.StringCache.byte.enabled=true
+#tomcat.util.buf.StringCache.char.enabled=true
+#tomcat.util.buf.StringCache.trainThreshold=500000
+#tomcat.util.buf.StringCache.cacheSize=5000
Index: /nutchez-0.1/tomcat/conf/context.xml
===================================================================
--- /nutchez-0.1/tomcat/conf/context.xml	(revision 66)
+++ /nutchez-0.1/tomcat/conf/context.xml	(revision 66)
@@ -0,0 +1,35 @@
+<?xml version='1.0' encoding='utf-8'?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!-- The contents of this file will be loaded for each web application -->
+<Context>
+
+    <!-- Default set of monitored resources -->
+    <WatchedResource>WEB-INF/web.xml</WatchedResource>
+	
+    <!-- Uncomment this to disable session persistence across Tomcat restarts -->
+    <!--
+    <Manager pathname="" />
+    -->
+
+    <!-- Uncomment this to enable Comet connection tacking (provides events
+         on session expiration as well as webapp lifecycle) -->
+    <!--
+    <Valve className="org.apache.catalina.valves.CometConnectionManagerValve" />
+    -->
+
+</Context>
Index: /nutchez-0.1/tomcat/conf/logging.properties
===================================================================
--- /nutchez-0.1/tomcat/conf/logging.properties	(revision 66)
+++ /nutchez-0.1/tomcat/conf/logging.properties	(revision 66)
@@ -0,0 +1,71 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+handlers = 1catalina.org.apache.juli.FileHandler, 2localhost.org.apache.juli.FileHandler, 3manager.org.apache.juli.FileHandler, 4admin.org.apache.juli.FileHandler, 5host-manager.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
+
+.handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
+
+############################################################
+# Handler specific properties.
+# Describes specific configuration info for Handlers.
+############################################################
+
+1catalina.org.apache.juli.FileHandler.level = FINE
+1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
+1catalina.org.apache.juli.FileHandler.prefix = catalina.
+
+2localhost.org.apache.juli.FileHandler.level = FINE
+2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
+2localhost.org.apache.juli.FileHandler.prefix = localhost.
+
+3manager.org.apache.juli.FileHandler.level = FINE
+3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
+3manager.org.apache.juli.FileHandler.prefix = manager.
+
+4admin.org.apache.juli.FileHandler.level = FINE
+4admin.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
+4admin.org.apache.juli.FileHandler.prefix = admin.
+
+5host-manager.org.apache.juli.FileHandler.level = FINE
+5host-manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
+5host-manager.org.apache.juli.FileHandler.prefix = host-manager.
+
+java.util.logging.ConsoleHandler.level = FINE
+java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
+
+
+############################################################
+# Facility specific properties.
+# Provides extra control for each logger.
+############################################################
+
+org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO
+org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.FileHandler
+
+org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = INFO
+org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers = 3manager.org.apache.juli.FileHandler
+
+org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/admin].level = INFO
+org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/admin].handlers = 4admin.org.apache.juli.FileHandler
+
+org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].level = INFO
+org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].handlers = 5host-manager.org.apache.juli.FileHandler
+
+# For example, set the com.xyz.foo logger to only log SEVERE
+# messages:
+#org.apache.catalina.startup.ContextConfig.level = FINE
+#org.apache.catalina.startup.HostConfig.level = FINE
+#org.apache.catalina.session.ManagerBase.level = FINE
+#org.apache.catalina.core.AprLifecycleListener.level=FINE
Index: /nutchez-0.1/tomcat/conf/server.xml
===================================================================
--- /nutchez-0.1/tomcat/conf/server.xml	(revision 66)
+++ /nutchez-0.1/tomcat/conf/server.xml	(revision 66)
@@ -0,0 +1,147 @@
+<?xml version='1.0' encoding='utf-8'?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!-- Note:  A "Server" is not itself a "Container", so you may not
+     define subcomponents such as "Valves" at this level.
+     Documentation at /docs/config/server.html
+ -->
+<Server port="8005" shutdown="SHUTDOWN">
+
+  <!--APR library loader. Documentation at /docs/apr.html -->
+  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
+  <!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html -->
+  <Listener className="org.apache.catalina.core.JasperListener" />
+  <!-- JMX Support for the Tomcat server. Documentation at /docs/non-existent.html -->
+  <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
+  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
+
+  <!-- Global JNDI resources
+       Documentation at /docs/jndi-resources-howto.html
+  -->
+  <GlobalNamingResources>
+    <!-- Editable user database that can also be used by
+         UserDatabaseRealm to authenticate users
+    -->
+    <Resource name="UserDatabase" auth="Container"
+              type="org.apache.catalina.UserDatabase"
+              description="User database that can be updated and saved"
+              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
+              pathname="conf/tomcat-users.xml" />
+  </GlobalNamingResources>
+
+  <!-- A "Service" is a collection of one or more "Connectors" that share
+       a single "Container" Note:  A "Service" is not itself a "Container", 
+       so you may not define subcomponents such as "Valves" at this level.
+       Documentation at /docs/config/service.html
+   -->
+  <Service name="Catalina">
+  
+    <!--The connectors can use a shared executor, you can define one or more named thread pools-->
+    <!--
+    <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" 
+        maxThreads="150" minSpareThreads="4"/>
+    -->
+    
+    
+    <!-- A "Connector" represents an endpoint by which requests are received
+         and responses are returned. Documentation at :
+         Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)
+         Java AJP  Connector: /docs/config/ajp.html
+         APR (HTTP/AJP) Connector: /docs/apr.html
+         Define a non-SSL HTTP/1.1 Connector on port 8080
+    -->
+    <Connector port="8080" protocol="HTTP/1.1" 
+               connectionTimeout="20000" 
+               redirectPort="8443" URIEncoding="UTF-8"
+               useBodyEncodingForURI="true" />
+    <!-- A "Connector" using the shared thread pool-->
+    <!--
+    <Connector executor="tomcatThreadPool"
+               port="8080" protocol="HTTP/1.1" 
+               connectionTimeout="20000" 
+               redirectPort="8443" />
+    -->           
+    <!-- Define a SSL HTTP/1.1 Connector on port 8443
+         This connector uses the JSSE configuration, when using APR, the 
+         connector should be using the OpenSSL style configuration
+         described in the APR documentation -->
+    <!--
+    <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
+               maxThreads="150" scheme="https" secure="true"
+               clientAuth="false" sslProtocol="TLS" URIEncoding="UTF-8"/>
+    -->
+
+    <!-- Define an AJP 1.3 Connector on port 8009 -->
+    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
+
+
+    <!-- An Engine represents the entry point (within Catalina) that processes
+         every request.  The Engine implementation for Tomcat stand alone
+         analyzes the HTTP headers included with the request, and passes them
+         on to the appropriate Host (virtual host).
+         Documentation at /docs/config/engine.html -->
+
+    <!-- You should set jvmRoute to support load-balancing via AJP ie :
+    <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">         
+    --> 
+    <Engine name="Catalina" defaultHost="localhost">
+
+      <!--For clustering, please take a look at documentation at:
+          /docs/cluster-howto.html  (simple how to)
+          /docs/config/cluster.html (reference documentation) -->
+      <!--
+      <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
+      -->        
+
+      <!-- The request dumper valve dumps useful debugging information about
+           the request and response data received and sent by Tomcat.
+           Documentation at: /docs/config/valve.html -->
+      <!--
+      <Valve className="org.apache.catalina.valves.RequestDumperValve"/>
+      -->
+
+      <!-- This Realm uses the UserDatabase configured in the global JNDI
+           resources under the key "UserDatabase".  Any edits
+           that are performed against this UserDatabase are immediately
+           available for use by the Realm.  -->
+      <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
+             resourceName="UserDatabase"/>
+
+      <!-- Define the default virtual host
+           Note: XML Schema validation will not work with Xerces 2.2.
+       -->
+      <Host name="localhost"  appBase="webapps"
+            unpackWARs="true" autoDeploy="true"
+            xmlValidation="false" xmlNamespaceAware="false">
+
+        <!-- SingleSignOn valve, share authentication between web applications
+             Documentation at: /docs/config/valve.html -->
+        <!--
+        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
+        -->
+
+        <!-- Access log processes all example.
+             Documentation at: /docs/config/valve.html -->
+        <!--
+        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"  
+               prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>
+        -->
+
+      </Host>
+    </Engine>
+  </Service>
+</Server>
Index: /nutchez-0.1/tomcat/conf/tomcat-users.xml
===================================================================
--- /nutchez-0.1/tomcat/conf/tomcat-users.xml	(revision 66)
+++ /nutchez-0.1/tomcat/conf/tomcat-users.xml	(revision 66)
@@ -0,0 +1,3 @@
+<?xml version='1.0' encoding='utf-8'?>
+<tomcat-users>
+</tomcat-users>
Index: /nutchez-0.1/tomcat/conf/web.xml
===================================================================
--- /nutchez-0.1/tomcat/conf/web.xml	(revision 66)
+++ /nutchez-0.1/tomcat/conf/web.xml	(revision 66)
@@ -0,0 +1,1186 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<web-app xmlns="http://java.sun.com/xml/ns/javaee"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
+    version="2.5">
+
+  <!-- ======================== Introduction ============================== -->
+  <!-- This document defines default values for *all* web applications      -->
+  <!-- loaded into this instance of Tomcat.  As each application is         -->
+  <!-- deployed, this file is processed, followed by the                    -->
+  <!-- "/WEB-INF/web.xml" deployment descriptor from your own               -->
+  <!-- applications.                                                        -->
+  <!--                                                                      -->
+  <!-- WARNING:  Do not configure application-specific resources here!      -->
+  <!-- They should go in the "/WEB-INF/web.xml" file in your application.   -->
+
+
+  <!-- ================== Built In Servlet Definitions ==================== -->
+
+
+  <!-- The default servlet for all web applications, that serves static     -->
+  <!-- resources.  It processes all requests that are not mapped to other   -->
+  <!-- servlets with servlet mappings (defined either here or in your own   -->
+  <!-- web.xml file.  This servlet supports the following initialization    -->
+  <!-- parameters (default values are in square brackets):                  -->
+  <!--                                                                      -->
+  <!--   debug               Debugging detail level for messages logged     -->
+  <!--                       by this servlet.  [0]                          -->
+  <!--                                                                      -->
+  <!--   fileEncoding        Encoding to be used to read static resources   -->
+  <!--                       [platform default]                             -->
+  <!--                                                                      -->
+  <!--   input               Input buffer size (in bytes) when reading      -->
+  <!--                       resources to be served.  [2048]                -->
+  <!--                                                                      -->
+  <!--   listings            Should directory listings be produced if there -->
+  <!--                       is no welcome file in this directory?  [false] -->
+  <!--                       WARNING: Listings for directories with many    -->
+  <!--                       entries can be slow and may consume            -->
+  <!--                       significant proportions of server resources.   -->
+  <!--                                                                      -->
+  <!--   output              Output buffer size (in bytes) when writing     -->
+  <!--                       resources to be served.  [2048]                -->
+  <!--                                                                      -->
+  <!--   readonly            Is this context "read only", so HTTP           -->
+  <!--                       commands like PUT and DELETE are               -->
+  <!--                       rejected?  [true]                              -->
+  <!--                                                                      -->
+  <!--   readmeFile          File name to display with the directory        -->
+  <!--                       contents. [null]                               -->
+  <!--                                                                      -->
+  <!--   sendfileSize        If the connector used supports sendfile, this  -->
+  <!--                       represents the minimal file size in KB for     -->
+  <!--                       which sendfile will be used. Use a negative    -->
+  <!--                       value to always disable sendfile.  [48]        -->
+  <!--                                                                      -->
+  <!--  For directory listing customization. Checks localXsltFile, then     -->
+  <!--  globalXsltFile, then defaults to original behavior.                 -->
+  <!--                                                                      -->
+  <!--   localXsltFile       Make directory listings an XML doc and         -->
+  <!--                       pass the result to this style sheet residing   -->
+  <!--                       in that directory. This overrides              -->
+  <!--                        globalXsltFile[null]                          -->
+  <!--                                                                      -->
+  <!--   globalXsltFile      Site wide configuration version of             -->
+  <!--                       localXsltFile This argument is expected        -->
+  <!--                       to be a physical file. [null]                  -->
+  <!--                                                                      -->
+  <!--                                                                      -->
+
+    <servlet>
+        <servlet-name>default</servlet-name>
+        <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
+        <init-param>
+            <param-name>debug</param-name>
+            <param-value>0</param-value>
+        </init-param>
+        <init-param>
+            <param-name>listings</param-name>
+            <param-value>false</param-value>
+        </init-param>
+        <load-on-startup>1</load-on-startup>
+    </servlet>
+
+
+  <!-- The "invoker" servlet, which executes anonymous servlet classes      -->
+  <!-- that have not been defined in a web.xml file.  Traditionally, this   -->
+  <!-- servlet is mapped to the URL pattern "/servlet/*", but you can map   -->
+  <!-- it to other patterns as well.  The extra path info portion of such a -->
+  <!-- request must be the fully qualified class name of a Java class that  -->
+  <!-- implements Servlet (or extends HttpServlet), or the servlet name     -->
+  <!-- of an existing servlet definition.     This servlet supports the     -->
+  <!-- following initialization parameters (default values are in square    -->
+  <!-- brackets):                                                           -->
+  <!--                                                                      -->
+  <!--   debug               Debugging detail level for messages logged     -->
+  <!--                       by this servlet.  [0]                          -->
+
+<!--
+    <servlet>
+        <servlet-name>invoker</servlet-name>
+        <servlet-class>
+          org.apache.catalina.servlets.InvokerServlet
+        </servlet-class>
+        <init-param>
+            <param-name>debug</param-name>
+            <param-value>0</param-value>
+        </init-param>
+        <load-on-startup>2</load-on-startup>
+    </servlet>
+-->
+
+
+  <!-- The JSP page compiler and execution servlet, which is the mechanism  -->
+  <!-- used by Tomcat to support JSP pages.  Traditionally, this servlet    -->
+  <!-- is mapped to the URL pattern "*.jsp".  This servlet supports the     -->
+  <!-- following initialization parameters (default values are in square    -->
+  <!-- brackets):                                                           -->
+  <!--                                                                      -->
+  <!--   checkInterval       If development is false and checkInterval is   -->
+  <!--                       greater than zero, background compilations are -->
+  <!--                       enabled. checkInterval is the time in seconds  -->
+  <!--                       between checks to see if a JSP page (and its   -->
+  <!--                       dependent files) needs to  be recompiled. [0]  -->
+  <!--                                                                      -->
+  <!--   classdebuginfo      Should the class file be compiled with         -->
+  <!--                       debugging information?  [true]                 -->
+  <!--                                                                      -->
+  <!--   classpath           What class path should I use while compiling   -->
+  <!--                       generated servlets?  [Created dynamically      -->
+  <!--                       based on the current web application]          -->
+  <!--                                                                      -->
+  <!--   compiler            Which compiler Ant should use to compile JSP   -->
+  <!--                       pages.  See the jasper documentation for more  -->
+  <!--                       information.                                   -->
+  <!--                                                                      -->
+  <!--   compilerSourceVM    Compiler source VM                             -->
+  <!--                       default is System.properties                   -->
+  <!--                        java.specification.version > 1.4              -->
+  <!--                        [1.5] else [1.4]                              -->
+  <!--                                                                      -->
+  <!--   compilerTargetVM    Compiler target VM                             -->  
+  <!--                       default is System.properties                   -->
+  <!--                        java.specification.version > 1.4              -->
+  <!--                        [1.5] else [1.4]                              -->
+  <!--                                                                      -->
+  <!--   development         Is Jasper used in development mode? If true,   -->
+  <!--                       the frequency at which JSPs are checked for    -->
+  <!--                       modification may be specified via the          -->
+  <!--                       modificationTestInterval parameter. [true]     -->
+  <!--                                                                      -->
+  <!--   displaySourceFragment                                              -->
+  <!--                       Should a source fragment be included in        -->
+  <!--                       exception messages? [true]                     -->
+  <!--                                                                      -->
+  <!--   dumpSmap            Should the SMAP info for JSR45 debugging be    -->
+  <!--                       dumped to a file? [false]                      -->
+  <!--                       False if suppressSmap is true                  -->
+  <!--                                                                      -->
+  <!--   enablePooling       Determines whether tag handler pooling is      -->
+  <!--                       enabled  [true]                                -->
+  <!--                                                                      -->
+  <!--   engineOptionsClass  Allows specifying the Options class used to    -->
+  <!--                       configure Jasper. If not present, the default  -->
+  <!--                       EmbeddedServletOptions will be used.           -->
+  <!--                                                                      -->
+  <!--   errorOnUseBeanInvalidClassAttribute                                -->
+  <!--                       Should Jasper issue an error when the value of -->
+  <!--                       the class attribute in an useBean action is    -->
+  <!--                       not a valid bean class?  [true]                -->
+  <!--                                                                      -->
+  <!--   fork                Tell Ant to fork compiles of JSP pages so that -->
+  <!--                       a separate JVM is used for JSP page compiles   -->
+  <!--                       from the one Tomcat is running in. [true]      -->
+  <!--                                                                      -->
+  <!--   genStrAsCharArray   Should text strings be generated as char       -->
+  <!--                       arrays, to improve performance in some cases?  -->
+  <!--                       [false]                                        -->
+  <!--                                                                      -->
+  <!--   ieClassId           The class-id value to be sent to Internet      -->
+  <!--                       Explorer when using <jsp:plugin> tags.         -->
+  <!--                       [clsid:8AD9C840-044E-11D1-B3E9-00805F499D93]   -->
+  <!--                                                                      -->
+  <!--   javaEncoding        Java file encoding to use for generating java  -->
+  <!--                       source files. [UTF8]                           -->
+  <!--                                                                      -->
+  <!--   keepgenerated       Should we keep the generated Java source code  -->
+  <!--                       for each page instead of deleting it? [true]   -->
+  <!--                                                                      -->
+  <!--   mappedfile          Should we generate static content with one     -->
+  <!--                       print statement per input line, to ease        -->
+  <!--                       debugging?  [true]                             -->
+  <!--                                                                      -->
+  <!--   modificationTestInterval                                           -->
+  <!--                       Causes a JSP (and its dependent files) to not  -->
+  <!--                       be checked for modification during the         -->
+  <!--                       specified time interval (in seconds) from the  -->
+  <!--                       last time the JSP was checked for              -->
+  <!--                       modification. A value of 0 will cause the JSP  -->
+  <!--                       to be checked on every access.                 -->
+  <!--                       Used in development mode only. [4]             -->
+  <!--                                                                      -->
+  <!--   scratchdir          What scratch directory should we use when      -->
+  <!--                       compiling JSP pages?  [default work directory  -->
+  <!--                       for the current web application]               -->
+  <!--                                                                      -->
+  <!--   suppressSmap        Should the generation of SMAP info for JSR45   -->
+  <!--                       debugging be suppressed?  [false]              -->
+  <!--                                                                      -->
+  <!--   trimSpaces          Should white spaces in template text between   -->
+  <!--                       actions or directives be trimmed?  [false]     -->
+  <!--                                                                      -->
+  <!--   xpoweredBy          Determines whether X-Powered-By response       -->
+  <!--                       header is added by generated servlet  [false]  -->
+  <!--                                                                      -->
+  <!-- If you wish to use Jikes to compile JSP pages:                       -->
+  <!--   Please see the "Using Jikes" section of the Jasper-HowTo           -->
+  <!--   page in the Tomcat documentation.                                  -->
+
+    <servlet>
+        <servlet-name>jsp</servlet-name>
+        <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
+        <init-param>
+            <param-name>fork</param-name>
+            <param-value>false</param-value>
+        </init-param>
+        <init-param>
+            <param-name>xpoweredBy</param-name>
+            <param-value>false</param-value>
+        </init-param>
+        <load-on-startup>3</load-on-startup>
+    </servlet>
+
+
+  <!-- NOTE: An SSI Filter is also available as an alternative SSI          -->
+  <!-- implementation. Use either the Servlet or the Filter but NOT both.   -->
+  <!--                                                                      -->
+  <!-- Server Side Includes processing servlet, which processes SSI         -->
+  <!-- directives in HTML pages consistent with similar support in web      -->
+  <!-- servers like Apache.  Traditionally, this servlet is mapped to the   -->
+  <!-- URL pattern "*.shtml".  This servlet supports the following          -->
+  <!-- initialization parameters (default values are in square brackets):   -->
+  <!--                                                                      -->
+  <!--   buffered            Should output from this servlet be buffered?   -->
+  <!--                       (0=false, 1=true)  [0]                         -->
+  <!--                                                                      -->
+  <!--   debug               Debugging detail level for messages logged     -->
+  <!--                       by this servlet.  [0]                          -->
+  <!--                                                                      -->
+  <!--   expires             The number of seconds before a page with SSI   -->
+  <!--                       directives will expire.  [No default]          -->
+  <!--                                                                      -->
+  <!--   isVirtualWebappRelative                                            -->
+  <!--                       Should "virtual" paths be interpreted as       -->
+  <!--                       relative to the context root, instead of       -->
+  <!--                       the server root?  (0=false, 1=true) [0]        -->
+  <!--                                                                      -->
+  <!--   inputEncoding       The encoding to assume for SSI resources if    -->
+  <!--                       one is not available from the resource.        -->
+  <!--                       [Platform default]                             -->
+  <!--                                                                      -->
+  <!--   outputEncoding      The encoding to use for the page that results  -->
+  <!--                       from the SSI processing. [UTF-8]               -->
+
+<!--
+    <servlet>
+        <servlet-name>ssi</servlet-name>
+        <servlet-class>
+          org.apache.catalina.ssi.SSIServlet
+        </servlet-class>
+        <init-param>
+          <param-name>buffered</param-name>
+          <param-value>1</param-value>
+        </init-param>
+        <init-param>
+          <param-name>debug</param-name>
+          <param-value>0</param-value>
+        </init-param>
+        <init-param>
+          <param-name>expires</param-name>
+          <param-value>666</param-value>
+        </init-param>
+        <init-param>
+          <param-name>isVirtualWebappRelative</param-name>
+          <param-value>0</param-value>
+        </init-param>
+        <load-on-startup>4</load-on-startup>
+    </servlet>
+-->
+
+
+  <!-- Common Gateway Includes (CGI) processing servlet, which supports     -->
+  <!-- execution of external applications that conform to the CGI spec      -->
+  <!-- requirements.  Typically, this servlet is mapped to the URL pattern  -->
+  <!-- "/cgi-bin/*", which means that any CGI applications that are         -->
+  <!-- executed must be present within the web application.  This servlet   -->
+  <!-- supports the following initialization parameters (default values     -->
+  <!-- are in square brackets):                                             -->
+  <!--                                                                      -->
+  <!--   cgiPathPrefix        The CGI search path will start at             -->
+  <!--                        webAppRootDir + File.separator + this prefix. -->
+  <!--                        [WEB-INF/cgi]                                 -->
+  <!--                                                                      -->
+  <!--   debug                Debugging detail level for messages logged    -->
+  <!--                        by this servlet.  [0]                         -->
+  <!--                                                                      -->
+  <!--   executable           Name of the exectuable used to run the        -->
+  <!--                        script. [perl]                                -->
+  <!--                                                                      -->
+  <!--   parameterEncoding    Name of parameter encoding to be used with    -->
+  <!--                        CGI servlet.                                  -->
+  <!--                        [System.getProperty("file.encoding","UTF-8")] -->
+  <!--                                                                      -->
+  <!--   passShellEnvironment Should the shell environment variables (if    -->
+  <!--                        any) be passed to the CGI script? [false]     -->
+
+<!--
+    <servlet>
+        <servlet-name>cgi</servlet-name>
+        <servlet-class>org.apache.catalina.servlets.CGIServlet</servlet-class>
+        <init-param>
+          <param-name>debug</param-name>
+          <param-value>0</param-value>
+        </init-param>
+        <init-param>
+          <param-name>cgiPathPrefix</param-name>
+          <param-value>WEB-INF/cgi</param-value>
+        </init-param>
+         <load-on-startup>5</load-on-startup>
+    </servlet>
+-->
+
+
+  <!-- ================ Built In Servlet Mappings ========================= -->
+
+
+  <!-- The servlet mappings for the built in servlets defined above.  Note  -->
+  <!-- that, by default, the CGI and SSI servlets are *not* mapped.  You    -->
+  <!-- must uncomment these mappings (or add them to your application's own -->
+  <!-- web.xml deployment descriptor) to enable these services              -->
+
+    <!-- The mapping for the default servlet -->
+    <servlet-mapping>
+        <servlet-name>default</servlet-name>
+        <url-pattern>/</url-pattern>
+    </servlet-mapping>
+
+    <!-- The mapping for the invoker servlet -->
+<!--
+    <servlet-mapping>
+        <servlet-name>invoker</servlet-name>
+        <url-pattern>/servlet/*</url-pattern>
+    </servlet-mapping>
+-->
+
+    <!-- The mapping for the JSP servlet -->
+    <servlet-mapping>
+        <servlet-name>jsp</servlet-name>
+        <url-pattern>*.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>jsp</servlet-name>
+        <url-pattern>*.jspx</url-pattern>
+    </servlet-mapping>
+
+    <!-- The mapping for the SSI servlet -->
+<!--
+    <servlet-mapping>
+        <servlet-name>ssi</servlet-name>
+        <url-pattern>*.shtml</url-pattern>
+    </servlet-mapping>
+-->
+
+    <!-- The mapping for the CGI Gateway servlet -->
+
+<!--
+    <servlet-mapping>
+        <servlet-name>cgi</servlet-name>
+        <url-pattern>/cgi-bin/*</url-pattern>
+    </servlet-mapping>
+-->
+
+
+  <!-- ================== Built In Filter Definitions ===================== -->
+
+  <!-- NOTE: An SSI Servlet is also available as an alternative SSI         -->
+  <!-- implementation. Use either the Servlet or the Filter but NOT both.   -->
+  <!--                                                                      -->
+  <!-- Server Side Includes processing filter, which processes SSI          -->
+  <!-- directives in HTML pages consistent with similar support in web      -->
+  <!-- servers like Apache.  Traditionally, this filter is mapped to the    -->
+  <!-- URL pattern "*.shtml", though it can be mapped to "*" as it will     -->
+  <!-- selectively enable/disable SSI processing based on mime types. For   -->
+  <!-- this to work you will need to uncomment the .shtml mime type         -->
+  <!-- definition towards the bottom of this file.                          -->
+  <!-- The contentType init param allows you to apply SSI processing to JSP -->
+  <!-- pages, javascript, or any other content you wish.  This filter       -->
+  <!-- supports the following initialization parameters (default values are -->
+  <!-- in square brackets):                                                 -->
+  <!--                                                                      -->
+  <!--   contentType         A regex pattern that must be matched before    -->
+  <!--                       SSI processing is applied.                     -->
+  <!--                       [text/x-server-parsed-html(;.*)?]              -->
+  <!--                                                                      -->
+  <!--   debug               Debugging detail level for messages logged     -->
+  <!--                       by this servlet.  [0]                          -->
+  <!--                                                                      -->
+  <!--   expires             The number of seconds before a page with SSI   -->
+  <!--                       directives will expire.  [No default]          -->
+  <!--                                                                      -->
+  <!--   isVirtualWebappRelative                                            -->
+  <!--                       Should "virtual" paths be interpreted as       -->
+  <!--                       relative to the context root, instead of       -->
+  <!--                       the server root?  (0=false, 1=true) [0]        -->
+
+<!--
+    <filter>
+        <filter-name>ssi</filter-name>
+        <filter-class>
+          org.apache.catalina.ssi.SSIFilter
+        </filter-class>
+        <init-param>
+          <param-name>contentType</param-name>
+          <param-value>text/x-server-parsed-html(;.*)?</param-value>
+        </init-param>
+        <init-param>
+          <param-name>debug</param-name>
+          <param-value>0</param-value>
+        </init-param>
+        <init-param>
+          <param-name>expires</param-name>
+          <param-value>666</param-value>
+        </init-param>
+        <init-param>
+          <param-name>isVirtualWebappRelative</param-name>
+          <param-value>0</param-value>
+        </init-param>
+    </filter>
+-->
+
+
+  <!-- ==================== Built In Filter Mappings ====================== -->
+
+  <!-- The mapping for the SSI Filter -->
+<!--
+    <filter-mapping>
+        <filter-name>ssi</filter-name>
+        <url-pattern>*.shtml</url-pattern>
+    </filter-mapping>
+-->
+
+
+  <!-- ==================== Default Session Configuration ================= -->
+  <!-- You can set the default session timeout (in minutes) for all newly   -->
+  <!-- created sessions by modifying the value below.                       -->
+
+    <session-config>
+        <session-timeout>30</session-timeout>
+    </session-config>
+
+
+  <!-- ===================== Default MIME Type Mappings =================== -->
+  <!-- When serving static resources, Tomcat will automatically generate    -->
+  <!-- a "Content-Type" header based on the resource's filename extension,  -->
+  <!-- based on these mappings.  Additional mappings can be added here (to  -->
+  <!-- apply to all web applications), or in your own application's web.xml -->
+  <!-- deployment descriptor.                                               -->
+
+    <mime-mapping>
+        <extension>abs</extension>
+        <mime-type>audio/x-mpeg</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>ai</extension>
+        <mime-type>application/postscript</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>aif</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>aiff</extension>
+        <mime-type>audio/x-aiff</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>aim</extension>
+        <mime-type>application/x-aim</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>art</extension>
+        <mime-type>image/x-jg</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>asf</extension>
+        <mime-type>video/x-ms-asf</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>asx</extension>
+        <mime-type>video/x-ms-asf</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>au</extension>
+        <mime-type>audio/basic</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>avi</extension>
+        <mime-type>video/x-msvideo</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>avx</extension>
+        <mime-type>video/x-rad-screenplay</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>bcpio</extension>
+        <mime-type>application/x-bcpio</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>bin</extension>
+        <mime-type>application/octet-stream</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>bmp</extension>
+        <mime-type>image/bmp</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>body</extension>
+        <mime-type>text/html</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>cdf</extension>
+        <mime-type>application/x-cdf</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>cer</extension>
+        <mime-type>application/x-x509-ca-cert</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>class</extension>
+        <mime-type>application/java</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>cpio</extension>
+        <mime-type>application/x-cpio</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>csh</extension>
+        <mime-type>application/x-csh</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>css</extension>
+        <mime-type>text/css</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>dib</extension>
+        <mime-type>image/bmp</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>doc</extension>
+        <mime-type>application/msword</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>dtd</extension>
+        <mime-type>application/xml-dtd</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>dv</extension>
+        <mime-type>video/x-dv</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>dvi</extension>
+        <mime-type>application/x-dvi</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>eps</extension>
+        <mime-type>application/postscript</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>etx</extension>
+        <mime-type>text/x-setext</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>exe</extension>
+        <mime-type>application/octet-stream</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>gif</extension>
+        <mime-type>image/gif</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>gtar</extension>
+        <mime-type>application/x-gtar</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>gz</extension>
+        <mime-type>application/x-gzip</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>hdf</extension>
+        <mime-type>application/x-hdf</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>hqx</extension>
+        <mime-type>application/mac-binhex40</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>htc</extension>
+        <mime-type>text/x-component</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>htm</extension>
+        <mime-type>text/html</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>html</extension>
+        <mime-type>text/html</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>hqx</extension>
+        <mime-type>application/mac-binhex40</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>ief</extension>
+        <mime-type>image/ief</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>jad</extension>
+        <mime-type>text/vnd.sun.j2me.app-descriptor</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>jar</extension>
+        <mime-type>application/java-archive</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>java</extension>
+        <mime-type>text/plain</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>jnlp</extension>
+        <mime-type>application/x-java-jnlp-file</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>jpg</extension>
+        <mime-type>image/jpeg</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>js</extension>
+        <mime-type>text/javascript</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>jsf</extension>
+        <mime-type>text/plain</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>jspf</extension>
+        <mime-type>text/plain</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>kar</extension>
+        <mime-type>audio/x-midi</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>latex</extension>
+        <mime-type>application/x-latex</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>m3u</extension>
+        <mime-type>audio/x-mpegurl</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>mac</extension>
+        <mime-type>image/x-macpaint</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>man</extension>
+        <mime-type>application/x-troff-man</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>mathml</extension>
+        <mime-type>application/mathml+xml</mime-type> 
+    </mime-mapping>
+    <mime-mapping>
+        <extension>me</extension>
+        <mime-type>application/x-troff-me</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>mid</extension>
+        <mime-type>audio/x-midi</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>midi</extension>
+        <mime-type>audio/x-midi</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>mif</extension>
+        <mime-type>application/x-mif</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>mov</extension>
+        <mime-type>video/quicktime</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>movie</extension>
+        <mime-type>video/x-sgi-movie</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>mp1</extension>
+        <mime-type>audio/x-mpeg</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>mp2</extension>
+        <mime-type>audio/x-mpeg</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>mp3</extension>
+        <mime-type>audio/x-mpeg</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>mp4</extension>
+        <mime-type>video/mp4</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>mpa</extension>
+        <mime-type>audio/x-mpeg</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>mpe</extension>
+        <mime-type>video/mpeg</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>mpeg</extension>
+        <mime-type>video/mpeg</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>mpega</extension>
+        <mime-type>audio/x-mpeg</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>mpg</extension>
+        <mime-type>video/mpeg</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>mpv2</extension>
+        <mime-type>video/mpeg2</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>ms</extension>
+        <mime-type>application/x-wais-source</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>nc</extension>
+        <mime-type>application/x-netcdf</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>oda</extension>
+        <mime-type>application/oda</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <!-- OpenDocument Database -->
+        <extension>odb</extension>
+        <mime-type>application/vnd.oasis.opendocument.database</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <!-- OpenDocument Chart -->
+        <extension>odc</extension>
+        <mime-type>application/vnd.oasis.opendocument.chart</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <!-- OpenDocument Formula -->
+        <extension>odf</extension>
+        <mime-type>application/vnd.oasis.opendocument.formula</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <!-- OpenDocument Drawing -->
+        <extension>odg</extension>
+        <mime-type>application/vnd.oasis.opendocument.graphics</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <!-- OpenDocument Image -->
+        <extension>odi</extension>
+        <mime-type>application/vnd.oasis.opendocument.image</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <!-- OpenDocument Master Document -->
+        <extension>odm</extension>
+        <mime-type>application/vnd.oasis.opendocument.text-master</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <!-- OpenDocument Presentation -->
+        <extension>odp</extension>
+        <mime-type>application/vnd.oasis.opendocument.presentation</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <!-- OpenDocument Spreadsheet -->
+        <extension>ods</extension>
+        <mime-type>application/vnd.oasis.opendocument.spreadsheet</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <!-- OpenDocument Text -->
+        <extension>odt</extension>
+        <mime-type>application/vnd.oasis.opendocument.text</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>ogg</extension>
+        <mime-type>application/ogg</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <!-- OpenDocument Drawing Template -->
+        <extension>otg </extension>
+        <mime-type>application/vnd.oasis.opendocument.graphics-template</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <!-- HTML Document Template -->
+        <extension>oth</extension>
+        <mime-type>application/vnd.oasis.opendocument.text-web</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <!-- OpenDocument Presentation Template -->
+        <extension>otp</extension>
+        <mime-type>application/vnd.oasis.opendocument.presentation-template</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <!-- OpenDocument Spreadsheet Template -->
+        <extension>ots</extension>
+        <mime-type>application/vnd.oasis.opendocument.spreadsheet-template </mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <!-- OpenDocument Text Template -->
+        <extension>ott</extension>
+        <mime-type>application/vnd.oasis.opendocument.text-template</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>pbm</extension>
+        <mime-type>image/x-portable-bitmap</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>pct</extension>
+        <mime-type>image/pict</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>pdf</extension>
+        <mime-type>application/pdf</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>pgm</extension>
+        <mime-type>image/x-portable-graymap</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>pic</extension>
+        <mime-type>image/pict</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>pict</extension>
+        <mime-type>image/pict</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>pls</extension>
+        <mime-type>audio/x-scpls</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>png</extension>
+        <mime-type>image/png</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>pnm</extension>
+        <mime-type>image/x-portable-anymap</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>pnt</extension>
+        <mime-type>image/x-macpaint</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>ppm</extension>
+        <mime-type>image/x-portable-pixmap</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>ppt</extension>
+        <mime-type>application/powerpoint</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>ps</extension>
+        <mime-type>application/postscript</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>psd</extension>
+        <mime-type>image/x-photoshop</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>qt</extension>
+        <mime-type>video/quicktime</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>qti</extension>
+        <mime-type>image/x-quicktime</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>qtif</extension>
+        <mime-type>image/x-quicktime</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>ras</extension>
+        <mime-type>image/x-cmu-raster</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>rdf</extension>
+        <mime-type>application/rdf+xml</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>rgb</extension>
+        <mime-type>image/x-rgb</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>rm</extension>
+        <mime-type>application/vnd.rn-realmedia</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>roff</extension>
+        <mime-type>application/x-troff</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>rtf</extension>
+        <mime-type>application/rtf</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>rtx</extension>
+        <mime-type>text/richtext</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>sh</extension>
+        <mime-type>application/x-sh</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>shar</extension>
+        <mime-type>application/x-shar</mime-type>
+    </mime-mapping>
+<!--
+    <mime-mapping>
+        <extension>shtml</extension>
+        <mime-type>text/x-server-parsed-html</mime-type>
+    </mime-mapping>
+-->
+    <mime-mapping>
+        <extension>smf</extension>
+        <mime-type>audio/x-midi</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>sit</extension>
+        <mime-type>application/x-stuffit</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>snd</extension>
+        <mime-type>audio/basic</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>src</extension>
+        <mime-type>application/x-wais-source</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>swf</extension>
+        <mime-type>application/x-shockwave-flash</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>t</extension>
+        <mime-type>application/x-troff</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>tar</extension>
+        <mime-type>application/x-tar</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>texi</extension>
+        <mime-type>application/x-texinfo</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>texinfo</extension>
+        <mime-type>application/x-texinfo</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>tif</extension>
+        <mime-type>image/tiff</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>tiff</extension>
+        <mime-type>image/tiff</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>tr</extension>
+        <mime-type>application/x-troff</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>tsv</extension>
+        <mime-type>text/tab-separated-values</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>txt</extension>
+        <mime-type>text/plain</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>ulw</extension>
+        <mime-type>audio/basic</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>ustar</extension>
+        <mime-type>application/x-ustar</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>vxml</extension>
+        <mime-type>application/voicexml+xml</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>xbm</extension>
+        <mime-type>image/x-xbitmap</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>xht</extension>
+        <mime-type>application/xhtml+xml</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>xhtml</extension>
+        <mime-type>application/xhtml+xml</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>xml</extension>
+        <mime-type>application/xml</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>xpm</extension>
+        <mime-type>image/x-xpixmap</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>xsl</extension>
+        <mime-type>application/xml</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>xslt</extension>
+        <mime-type>application/xslt+xml</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>xul</extension>
+        <mime-type>application/vnd.mozilla.xul+xml</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>xwd</extension>
+        <mime-type>image/x-xwindowdump</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>wav</extension>
+        <mime-type>audio/x-wav</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>svg</extension>
+        <mime-type>image/svg+xml</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>svgz</extension>
+        <mime-type>image/svg+xml</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>vsd</extension>
+        <mime-type>application/x-visio</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <!-- Wireless Bitmap -->
+        <extension>wbmp</extension>
+        <mime-type>image/vnd.wap.wbmp</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <!-- WML Source -->
+        <extension>wml</extension>
+        <mime-type>text/vnd.wap.wml</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <!-- Compiled WML -->
+        <extension>wmlc</extension>
+        <mime-type>application/vnd.wap.wmlc</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <!-- WML Script Source -->
+        <extension>wmls</extension>
+        <mime-type>text/vnd.wap.wmlscript</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <!-- Compiled WML Script -->
+        <extension>wmlscriptc</extension>
+        <mime-type>application/vnd.wap.wmlscriptc</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>wmv</extension>
+        <mime-type>video/x-ms-wmv</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>wrl</extension>
+        <mime-type>x-world/x-vrml</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>wspolicy</extension>
+        <mime-type>application/wspolicy+xml</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>zip</extension>
+        <mime-type>application/zip</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>xls</extension>
+        <mime-type>application/vnd.ms-excel</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>doc</extension>
+        <mime-type>application/vnd.ms-word</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>ppt</extension>
+        <mime-type>application/vnd.ms-powerpoint</mime-type>
+    </mime-mapping>
+
+  <!-- ==================== Default Welcome File List ===================== -->
+  <!-- When a request URI refers to a directory, the default servlet looks  -->
+  <!-- for a "welcome file" within that directory and, if present,          -->
+  <!-- to the corresponding resource URI for display.  If no welcome file   -->
+  <!-- is present, the default servlet either serves a directory listing,   -->
+  <!-- or returns a 404 status, depending on how it is configured.          -->
+  <!--                                                                      -->
+  <!-- If you define welcome files in your own application's web.xml        -->
+  <!-- deployment descriptor, that list *replaces* the list configured      -->
+  <!-- here, so be sure that you include any of the default values that     -->
+  <!-- you wish to include.                                                 -->
+
+    <welcome-file-list>
+        <welcome-file>index.html</welcome-file>
+        <welcome-file>index.htm</welcome-file>
+        <welcome-file>index.jsp</welcome-file>
+    </welcome-file-list>
+
+</web-app>
Index: /nutchez-0.1/tomcat/logs/catalina.2009-04-06.log
===================================================================
--- /nutchez-0.1/tomcat/logs/catalina.2009-04-06.log	(revision 66)
+++ /nutchez-0.1/tomcat/logs/catalina.2009-04-06.log	(revision 66)
@@ -0,0 +1,18 @@
+2009/4/6 下午 06:31:23 org.apache.catalina.core.AprLifecycleListener init
+資訊: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/lib/jvm/java-6-sun-1.6.0.07/jre/lib/i386/server:/usr/lib/jvm/java-6-sun-1.6.0.07/jre/lib/i386:/usr/lib/jvm/java-6-sun-1.6.0.07/jre/../lib/i386:/usr/java/packages/lib/i386:/lib:/usr/lib
+2009/4/6 下午 06:31:23 org.apache.coyote.http11.Http11Protocol init
+資訊: Initializing Coyote HTTP/1.1 on http-8080
+2009/4/6 下午 06:31:23 org.apache.catalina.startup.Catalina load
+資訊: Initialization processed in 397 ms
+2009/4/6 下午 06:31:23 org.apache.catalina.core.StandardService start
+資訊: Starting service Catalina
+2009/4/6 下午 06:31:23 org.apache.catalina.core.StandardEngine start
+資訊: Starting Servlet Engine: Apache Tomcat/6.0.18
+2009/4/6 下午 06:31:24 org.apache.coyote.http11.Http11Protocol start
+資訊: Starting Coyote HTTP/1.1 on http-8080
+2009/4/6 下午 06:31:24 org.apache.jk.common.ChannelSocket init
+資訊: JK: ajp13 listening on /0.0.0.0:8009
+2009/4/6 下午 06:31:24 org.apache.jk.server.JkMain start
+資訊: Jk running ID=0 time=0/17  config=null
+2009/4/6 下午 06:31:24 org.apache.catalina.startup.Catalina start
+資訊: Server startup in 1219 ms
Index: /nutchez-0.1/tomcat/logs/catalina.2009-04-07.log
===================================================================
--- /nutchez-0.1/tomcat/logs/catalina.2009-04-07.log	(revision 66)
+++ /nutchez-0.1/tomcat/logs/catalina.2009-04-07.log	(revision 66)
@@ -0,0 +1,52 @@
+2009/4/7 上午 11:24:01 org.apache.coyote.http11.Http11Protocol pause
+資訊: Pausing Coyote HTTP/1.1 on http-8080
+2009/4/7 上午 11:24:02 org.apache.catalina.core.StandardService stop
+資訊: Stopping service Catalina
+2009/4/7 上午 11:24:03 org.apache.coyote.http11.Http11Protocol destroy
+資訊: Stopping Coyote HTTP/1.1 on http-8080
+2009/4/7 上午 11:24:08 org.apache.catalina.core.AprLifecycleListener init
+資訊: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/lib/jvm/java-6-sun-1.6.0.07/jre/lib/i386/server:/usr/lib/jvm/java-6-sun-1.6.0.07/jre/lib/i386:/usr/lib/jvm/java-6-sun-1.6.0.07/jre/../lib/i386:/usr/java/packages/lib/i386:/lib:/usr/lib
+2009/4/7 上午 11:24:08 org.apache.coyote.http11.Http11Protocol init
+資訊: Initializing Coyote HTTP/1.1 on http-8080
+2009/4/7 上午 11:24:08 org.apache.catalina.startup.Catalina load
+資訊: Initialization processed in 361 ms
+2009/4/7 上午 11:24:08 org.apache.catalina.core.StandardService start
+資訊: Starting service Catalina
+2009/4/7 上午 11:24:08 org.apache.catalina.core.StandardEngine start
+資訊: Starting Servlet Engine: Apache Tomcat/6.0.18
+2009/4/7 上午 11:24:09 org.apache.coyote.http11.Http11Protocol start
+資訊: Starting Coyote HTTP/1.1 on http-8080
+2009/4/7 上午 11:24:10 org.apache.jk.common.ChannelSocket init
+資訊: JK: ajp13 listening on /0.0.0.0:8009
+2009/4/7 上午 11:24:10 org.apache.jk.server.JkMain start
+資訊: Jk running ID=0 time=0/23  config=null
+2009/4/7 上午 11:24:10 org.apache.catalina.startup.Catalina start
+資訊: Server startup in 1179 ms
+2009/4/7 下午 03:16:24 org.apache.coyote.http11.Http11Protocol pause
+資訊: Pausing Coyote HTTP/1.1 on http-8080
+2009/4/7 下午 03:16:26 org.apache.catalina.core.StandardService stop
+資訊: Stopping service Catalina
+2009/4/7 下午 03:16:26 org.apache.coyote.http11.Http11Protocol destroy
+資訊: Stopping Coyote HTTP/1.1 on http-8080
+2009/4/7 下午 05:16:02 org.apache.catalina.core.AprLifecycleListener init
+資訊: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/lib/jvm/java-6-sun-1.6.0.07/jre/lib/i386/server:/usr/lib/jvm/java-6-sun-1.6.0.07/jre/lib/i386:/usr/lib/jvm/java-6-sun-1.6.0.07/jre/../lib/i386:/usr/java/packages/lib/i386:/lib:/usr/lib
+2009/4/7 下午 05:16:03 org.apache.coyote.http11.Http11Protocol init
+資訊: Initializing Coyote HTTP/1.1 on http-8080
+2009/4/7 下午 05:16:03 org.apache.catalina.startup.Catalina load
+資訊: Initialization processed in 377 ms
+2009/4/7 下午 05:16:03 org.apache.catalina.core.StandardService start
+資訊: Starting service Catalina
+2009/4/7 下午 05:16:03 org.apache.catalina.core.StandardEngine start
+資訊: Starting Servlet Engine: Apache Tomcat/6.0.18
+2009/4/7 下午 05:16:04 org.apache.coyote.http11.Http11Protocol start
+資訊: Starting Coyote HTTP/1.1 on http-8080
+2009/4/7 下午 05:16:04 org.apache.jk.common.ChannelSocket init
+資訊: JK: ajp13 listening on /0.0.0.0:8009
+2009/4/7 下午 05:16:04 org.apache.jk.server.JkMain start
+資訊: Jk running ID=0 time=0/15  config=null
+2009/4/7 下午 05:16:04 org.apache.catalina.startup.Catalina start
+資訊: Server startup in 1148 ms
+2009/4/7 下午 05:26:34 org.apache.catalina.startup.HostConfig checkResources
+資訊: Undeploying context []
+2009/4/7 下午 05:26:54 org.apache.catalina.startup.HostConfig checkResources
+資訊: Undeploying context [/ROOT-0406]
Index: /nutchez-0.1/tomcat/logs/catalina.2009-04-08.log
===================================================================
--- /nutchez-0.1/tomcat/logs/catalina.2009-04-08.log	(revision 66)
+++ /nutchez-0.1/tomcat/logs/catalina.2009-04-08.log	(revision 66)
@@ -0,0 +1,136 @@
+2009/4/8 下午 06:14:01 org.apache.catalina.core.AprLifecycleListener init
+資訊: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/lib/jvm/java-6-sun-1.6.0.07/jre/lib/i386/server:/usr/lib/jvm/java-6-sun-1.6.0.07/jre/lib/i386:/usr/lib/jvm/java-6-sun-1.6.0.07/jre/../lib/i386:/usr/java/packages/lib/i386:/lib:/usr/lib
+2009/4/8 下午 06:14:01 org.apache.coyote.http11.Http11Protocol init
+嚴重的: Error initializing endpoint
+java.net.BindException: Address already in use<null>:8080
+	at org.apache.tomcat.util.net.JIoEndpoint.init(JIoEndpoint.java:502)
+	at org.apache.coyote.http11.Http11Protocol.init(Http11Protocol.java:176)
+	at org.apache.catalina.connector.Connector.initialize(Connector.java:1058)
+	at org.apache.catalina.core.StandardService.initialize(StandardService.java:677)
+	at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:795)
+	at org.apache.catalina.startup.Catalina.load(Catalina.java:530)
+	at org.apache.catalina.startup.Catalina.load(Catalina.java:550)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:260)
+	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:412)
+2009/4/8 下午 06:14:01 org.apache.catalina.startup.Catalina load
+嚴重的: Catalina.start
+LifecycleException:  Protocol handler initialization failed: java.net.BindException: Address already in use<null>:8080
+	at org.apache.catalina.connector.Connector.initialize(Connector.java:1060)
+	at org.apache.catalina.core.StandardService.initialize(StandardService.java:677)
+	at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:795)
+	at org.apache.catalina.startup.Catalina.load(Catalina.java:530)
+	at org.apache.catalina.startup.Catalina.load(Catalina.java:550)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:260)
+	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:412)
+2009/4/8 下午 06:14:01 org.apache.catalina.startup.Catalina load
+資訊: Initialization processed in 383 ms
+2009/4/8 下午 06:14:01 org.apache.catalina.core.StandardService start
+資訊: Starting service Catalina
+2009/4/8 下午 06:14:01 org.apache.catalina.core.StandardEngine start
+資訊: Starting Servlet Engine: Apache Tomcat/6.0.18
+2009/4/8 下午 06:14:02 org.apache.coyote.http11.Http11Protocol start
+嚴重的: Error starting endpoint
+java.net.BindException: Address already in use<null>:8080
+	at org.apache.tomcat.util.net.JIoEndpoint.init(JIoEndpoint.java:502)
+	at org.apache.tomcat.util.net.JIoEndpoint.start(JIoEndpoint.java:519)
+	at org.apache.coyote.http11.Http11Protocol.start(Http11Protocol.java:203)
+	at org.apache.catalina.connector.Connector.start(Connector.java:1131)
+	at org.apache.catalina.core.StandardService.start(StandardService.java:531)
+	at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
+	at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
+	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
+2009/4/8 下午 06:14:02 org.apache.catalina.startup.Catalina start
+嚴重的: Catalina.start: 
+LifecycleException:  service.getName(): "Catalina";  Protocol handler start failed: java.net.BindException: Address already in use<null>:8080
+	at org.apache.catalina.connector.Connector.start(Connector.java:1138)
+	at org.apache.catalina.core.StandardService.start(StandardService.java:531)
+	at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
+	at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
+	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
+2009/4/8 下午 06:14:02 org.apache.catalina.startup.Catalina start
+資訊: Server startup in 1076 ms
+2009/4/8 下午 06:14:02 org.apache.catalina.core.StandardServer await
+嚴重的: StandardServer.await: create[8005]: 
+java.net.BindException: Address already in use
+	at java.net.PlainSocketImpl.socketBind(Native Method)
+	at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359)
+	at java.net.ServerSocket.bind(ServerSocket.java:319)
+	at java.net.ServerSocket.<init>(ServerSocket.java:185)
+	at org.apache.catalina.core.StandardServer.await(StandardServer.java:373)
+	at org.apache.catalina.startup.Catalina.await(Catalina.java:642)
+	at org.apache.catalina.startup.Catalina.start(Catalina.java:602)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
+	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
+2009/4/8 下午 06:14:02 org.apache.coyote.http11.Http11Protocol pause
+資訊: Pausing Coyote HTTP/1.1 on http-8080
+2009/4/8 下午 06:14:02 org.apache.catalina.connector.Connector pause
+嚴重的: Protocol handler pause failed
+java.lang.NullPointerException
+	at org.apache.jk.server.JkMain.pause(JkMain.java:679)
+	at org.apache.jk.server.JkCoyoteHandler.pause(JkCoyoteHandler.java:153)
+	at org.apache.catalina.connector.Connector.pause(Connector.java:1073)
+	at org.apache.catalina.core.StandardService.stop(StandardService.java:563)
+	at org.apache.catalina.core.StandardServer.stop(StandardServer.java:744)
+	at org.apache.catalina.startup.Catalina.stop(Catalina.java:628)
+	at org.apache.catalina.startup.Catalina$CatalinaShutdownHook.run(Catalina.java:671)
+2009/4/8 下午 06:14:03 org.apache.catalina.core.StandardService stop
+資訊: Stopping service Catalina
+2009/4/8 下午 06:14:03 org.apache.catalina.connector.MapperListener destroy
+警告: Error unregistering MBeanServerDelegate
+java.lang.NullPointerException
+	at org.apache.catalina.connector.MapperListener.destroy(MapperListener.java:165)
+	at org.apache.catalina.connector.Connector.stop(Connector.java:1179)
+	at org.apache.catalina.core.StandardService.stop(StandardService.java:593)
+	at org.apache.catalina.core.StandardServer.stop(StandardServer.java:744)
+	at org.apache.catalina.startup.Catalina.stop(Catalina.java:628)
+	at org.apache.catalina.startup.Catalina$CatalinaShutdownHook.run(Catalina.java:671)
+2009/4/8 下午 06:14:03 org.apache.coyote.http11.Http11Protocol destroy
+資訊: Stopping Coyote HTTP/1.1 on http-8080
+2009/4/8 下午 06:14:03 org.apache.catalina.connector.Connector stop
+嚴重的: Coyote connector has not been started
+2009/4/8 下午 06:14:06 org.apache.coyote.http11.Http11Protocol pause
+資訊: Pausing Coyote HTTP/1.1 on http-8080
+2009/4/8 下午 06:14:07 org.apache.catalina.core.StandardService stop
+資訊: Stopping service Catalina
+2009/4/8 下午 06:14:08 org.apache.coyote.http11.Http11Protocol destroy
+資訊: Stopping Coyote HTTP/1.1 on http-8080
+2009/4/8 下午 06:14:12 org.apache.catalina.core.AprLifecycleListener init
+資訊: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/lib/jvm/java-6-sun-1.6.0.07/jre/lib/i386/server:/usr/lib/jvm/java-6-sun-1.6.0.07/jre/lib/i386:/usr/lib/jvm/java-6-sun-1.6.0.07/jre/../lib/i386:/usr/java/packages/lib/i386:/lib:/usr/lib
+2009/4/8 下午 06:14:12 org.apache.coyote.http11.Http11Protocol init
+資訊: Initializing Coyote HTTP/1.1 on http-8080
+2009/4/8 下午 06:14:12 org.apache.catalina.startup.Catalina load
+資訊: Initialization processed in 356 ms
+2009/4/8 下午 06:14:12 org.apache.catalina.core.StandardService start
+資訊: Starting service Catalina
+2009/4/8 下午 06:14:12 org.apache.catalina.core.StandardEngine start
+資訊: Starting Servlet Engine: Apache Tomcat/6.0.18
+2009/4/8 下午 06:14:13 org.apache.coyote.http11.Http11Protocol start
+資訊: Starting Coyote HTTP/1.1 on http-8080
+2009/4/8 下午 06:14:13 org.apache.jk.common.ChannelSocket init
+資訊: JK: ajp13 listening on /0.0.0.0:8009
+2009/4/8 下午 06:14:13 org.apache.jk.server.JkMain start
+資訊: Jk running ID=0 time=0/16  config=null
+2009/4/8 下午 06:14:13 org.apache.catalina.startup.Catalina start
+資訊: Server startup in 1134 ms
Index: /nutchez-0.1/tomcat/logs/catalina.2009-04-09.log
===================================================================
--- /nutchez-0.1/tomcat/logs/catalina.2009-04-09.log	(revision 66)
+++ /nutchez-0.1/tomcat/logs/catalina.2009-04-09.log	(revision 66)
@@ -0,0 +1,24 @@
+2009/4/9 下午 01:42:09 org.apache.coyote.http11.Http11Protocol pause
+資訊: Pausing Coyote HTTP/1.1 on http-8080
+2009/4/9 下午 01:42:10 org.apache.catalina.core.StandardService stop
+資訊: Stopping service Catalina
+2009/4/9 下午 01:42:10 org.apache.coyote.http11.Http11Protocol destroy
+資訊: Stopping Coyote HTTP/1.1 on http-8080
+2009/4/9 下午 01:42:13 org.apache.catalina.core.AprLifecycleListener init
+資訊: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/lib/jvm/java-6-sun-1.6.0.07/jre/lib/i386/server:/usr/lib/jvm/java-6-sun-1.6.0.07/jre/lib/i386:/usr/lib/jvm/java-6-sun-1.6.0.07/jre/../lib/i386:/usr/java/packages/lib/i386:/lib:/usr/lib
+2009/4/9 下午 01:42:13 org.apache.coyote.http11.Http11Protocol init
+資訊: Initializing Coyote HTTP/1.1 on http-8080
+2009/4/9 下午 01:42:13 org.apache.catalina.startup.Catalina load
+資訊: Initialization processed in 355 ms
+2009/4/9 下午 01:42:13 org.apache.catalina.core.StandardService start
+資訊: Starting service Catalina
+2009/4/9 下午 01:42:13 org.apache.catalina.core.StandardEngine start
+資訊: Starting Servlet Engine: Apache Tomcat/6.0.18
+2009/4/9 下午 01:42:15 org.apache.coyote.http11.Http11Protocol start
+資訊: Starting Coyote HTTP/1.1 on http-8080
+2009/4/9 下午 01:42:15 org.apache.jk.common.ChannelSocket init
+資訊: JK: ajp13 listening on /0.0.0.0:8009
+2009/4/9 下午 01:42:15 org.apache.jk.server.JkMain start
+資訊: Jk running ID=0 time=0/21  config=null
+2009/4/9 下午 01:42:15 org.apache.catalina.startup.Catalina start
+資訊: Server startup in 1483 ms
Index: /nutchez-0.1/tomcat/logs/catalina.2009-04-13.log
===================================================================
--- /nutchez-0.1/tomcat/logs/catalina.2009-04-13.log	(revision 66)
+++ /nutchez-0.1/tomcat/logs/catalina.2009-04-13.log	(revision 66)
@@ -0,0 +1,6 @@
+2009/4/13 下午 04:55:11 org.apache.coyote.http11.Http11Protocol pause
+資訊: Pausing Coyote HTTP/1.1 on http-8080
+2009/4/13 下午 04:55:12 org.apache.catalina.core.StandardService stop
+資訊: Stopping service Catalina
+2009/4/13 下午 04:55:13 org.apache.coyote.http11.Http11Protocol destroy
+資訊: Stopping Coyote HTTP/1.1 on http-8080
Index: /nutchez-0.1/tomcat/logs/catalina.2009-05-13.log
===================================================================
--- /nutchez-0.1/tomcat/logs/catalina.2009-05-13.log	(revision 66)
+++ /nutchez-0.1/tomcat/logs/catalina.2009-05-13.log	(revision 66)
@@ -0,0 +1,41 @@
+2009/5/13 下午 04:47:36 org.apache.catalina.core.AprLifecycleListener init
+資訊: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/lib/jvm/java-6-sun-1.6.0.07/jre/lib/i386/client:/usr/lib/jvm/java-6-sun-1.6.0.07/jre/lib/i386:/usr/lib/jvm/java-6-sun-1.6.0.07/jre/../lib/i386:/usr/java/packages/lib/i386:/lib:/usr/lib
+2009/5/13 下午 04:47:36 org.apache.coyote.http11.Http11Protocol init
+資訊: Initializing Coyote HTTP/1.1 on http-8080
+2009/5/13 下午 04:47:36 org.apache.catalina.startup.Catalina load
+資訊: Initialization processed in 519 ms
+2009/5/13 下午 04:47:36 org.apache.catalina.core.StandardService start
+資訊: Starting service Catalina
+2009/5/13 下午 04:47:36 org.apache.catalina.core.StandardEngine start
+資訊: Starting Servlet Engine: Apache Tomcat/6.0.18
+2009/5/13 下午 04:47:38 org.apache.coyote.http11.Http11Protocol start
+資訊: Starting Coyote HTTP/1.1 on http-8080
+2009/5/13 下午 04:47:38 org.apache.jk.common.ChannelSocket init
+資訊: JK: ajp13 listening on /0.0.0.0:8009
+2009/5/13 下午 04:47:38 org.apache.jk.server.JkMain start
+資訊: Jk running ID=0 time=0/33  config=null
+2009/5/13 下午 04:47:38 org.apache.catalina.startup.Catalina start
+資訊: Server startup in 1410 ms
+2009/5/13 下午 04:47:52 org.apache.coyote.http11.Http11Protocol pause
+資訊: Pausing Coyote HTTP/1.1 on http-8080
+2009/5/13 下午 04:47:53 org.apache.catalina.core.StandardService stop
+資訊: Stopping service Catalina
+2009/5/13 下午 04:47:53 org.apache.coyote.http11.Http11Protocol destroy
+資訊: Stopping Coyote HTTP/1.1 on http-8080
+2009/5/13 下午 05:04:37 org.apache.catalina.loader.WebappClassLoader loadClass
+資訊: Illegal access: this web application instance has been stopped already.  Could not load org.apache.hadoop.fs.permission.FsPermission$2.  The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.
+java.lang.IllegalStateException
+	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1273)
+	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
+	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
+	at org.apache.hadoop.fs.FileStatus.<init>(FileStatus.java:63)
+	at org.apache.hadoop.fs.FileStatus.<init>(FileStatus.java:49)
+	at org.apache.hadoop.fs.RawLocalFileSystem$RawLocalFileStatus.<init>(RawLocalFileSystem.java:434)
+	at org.apache.hadoop.fs.RawLocalFileSystem.getFileStatus(RawLocalFileSystem.java:418)
+	at org.apache.hadoop.fs.RawLocalFileSystem.listStatus(RawLocalFileSystem.java:297)
+	at org.apache.hadoop.fs.FileSystem.listStatus(FileSystem.java:723)
+	at org.apache.hadoop.fs.FileSystem.listStatus(FileSystem.java:748)
+	at org.apache.hadoop.fs.ChecksumFileSystem.listStatus(ChecksumFileSystem.java:457)
+	at org.apache.hadoop.fs.FileSystem.listStatus(FileSystem.java:723)
+	at org.apache.hadoop.fs.FileSystem.listStatus(FileSystem.java:748)
+	at org.apache.nutch.searcher.FetchedSegments$SegmentUpdater.run(FetchedSegments.java:73)
Index: /nutchez-0.1/tomcat/logs/catalina.out
===================================================================
--- /nutchez-0.1/tomcat/logs/catalina.out	(revision 66)
+++ /nutchez-0.1/tomcat/logs/catalina.out	(revision 66)
@@ -0,0 +1,1139 @@
+2009/4/6 下午 06:31:23 org.apache.catalina.core.AprLifecycleListener init
+資訊: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/lib/jvm/java-6-sun-1.6.0.07/jre/lib/i386/server:/usr/lib/jvm/java-6-sun-1.6.0.07/jre/lib/i386:/usr/lib/jvm/java-6-sun-1.6.0.07/jre/../lib/i386:/usr/java/packages/lib/i386:/lib:/usr/lib
+2009/4/6 下午 06:31:23 org.apache.coyote.http11.Http11Protocol init
+資訊: Initializing Coyote HTTP/1.1 on http-8080
+2009/4/6 下午 06:31:23 org.apache.catalina.startup.Catalina load
+資訊: Initialization processed in 397 ms
+2009/4/6 下午 06:31:23 org.apache.catalina.core.StandardService start
+資訊: Starting service Catalina
+2009/4/6 下午 06:31:23 org.apache.catalina.core.StandardEngine start
+資訊: Starting Servlet Engine: Apache Tomcat/6.0.18
+2009-04-06 18:31:24,123 INFO  NutchBean - creating new bean
+2009-04-06 18:31:24,385 INFO  SearchBean - opening merged index in /opt/search/index
+2009-04-06 18:31:24,457 INFO  PluginRepository - Plugins: looking in: /opt/tomcat/webapps/ROOT/WEB-INF/classes/plugins
+2009-04-06 18:31:24,571 INFO  PluginRepository - Plugin Auto-activation mode: [true]
+2009-04-06 18:31:24,571 INFO  PluginRepository - Registered Plugins:
+2009-04-06 18:31:24,571 INFO  PluginRepository - 	the nutch core extension points (nutch-extensionpoints)
+2009-04-06 18:31:24,571 INFO  PluginRepository - 	Basic Query Filter (query-basic)
+2009-04-06 18:31:24,571 INFO  PluginRepository - 	Basic URL Normalizer (urlnormalizer-basic)
+2009-04-06 18:31:24,571 INFO  PluginRepository - 	Basic Indexing Filter (index-basic)
+2009-04-06 18:31:24,571 INFO  PluginRepository - 	Html Parse Plug-in (parse-html)
+2009-04-06 18:31:24,571 INFO  PluginRepository - 	Site Query Filter (query-site)
+2009-04-06 18:31:24,571 INFO  PluginRepository - 	Basic Summarizer Plug-in (summary-basic)
+2009-04-06 18:31:24,571 INFO  PluginRepository - 	HTTP Framework (lib-http)
+2009-04-06 18:31:24,571 INFO  PluginRepository - 	Text Parse Plug-in (parse-text)
+2009-04-06 18:31:24,571 INFO  PluginRepository - 	Pass-through URL Normalizer (urlnormalizer-pass)
+2009-04-06 18:31:24,571 INFO  PluginRepository - 	Regex URL Filter (urlfilter-regex)
+2009-04-06 18:31:24,571 INFO  PluginRepository - 	Http Protocol Plug-in (protocol-http)
+2009-04-06 18:31:24,571 INFO  PluginRepository - 	XML Response Writer Plug-in (response-xml)
+2009-04-06 18:31:24,571 INFO  PluginRepository - 	Regex URL Normalizer (urlnormalizer-regex)
+2009-04-06 18:31:24,571 INFO  PluginRepository - 	OPIC Scoring Plug-in (scoring-opic)
+2009-04-06 18:31:24,571 INFO  PluginRepository - 	CyberNeko HTML Parser (lib-nekohtml)
+2009-04-06 18:31:24,571 INFO  PluginRepository - 	Anchor Indexing Filter (index-anchor)
+2009-04-06 18:31:24,571 INFO  PluginRepository - 	JavaScript Parser (parse-js)
+2009-04-06 18:31:24,571 INFO  PluginRepository - 	URL Query Filter (query-url)
+2009-04-06 18:31:24,571 INFO  PluginRepository - 	Regex URL Filter Framework (lib-regex-filter)
+2009-04-06 18:31:24,571 INFO  PluginRepository - 	JSON Response Writer Plug-in (response-json)
+2009-04-06 18:31:24,571 INFO  PluginRepository - Registered Extension-Points:
+2009-04-06 18:31:24,571 INFO  PluginRepository - 	Nutch Summarizer (org.apache.nutch.searcher.Summarizer)
+2009-04-06 18:31:24,571 INFO  PluginRepository - 	Nutch Protocol (org.apache.nutch.protocol.Protocol)
+2009-04-06 18:31:24,571 INFO  PluginRepository - 	Nutch Analysis (org.apache.nutch.analysis.NutchAnalyzer)
+2009-04-06 18:31:24,571 INFO  PluginRepository - 	Nutch Field Filter (org.apache.nutch.indexer.field.FieldFilter)
+2009-04-06 18:31:24,572 INFO  PluginRepository - 	HTML Parse Filter (org.apache.nutch.parse.HtmlParseFilter)
+2009-04-06 18:31:24,572 INFO  PluginRepository - 	Nutch Query Filter (org.apache.nutch.searcher.QueryFilter)
+2009-04-06 18:31:24,572 INFO  PluginRepository - 	Nutch Search Results Response Writer (org.apache.nutch.searcher.response.ResponseWriter)
+2009-04-06 18:31:24,572 INFO  PluginRepository - 	Nutch URL Normalizer (org.apache.nutch.net.URLNormalizer)
+2009-04-06 18:31:24,572 INFO  PluginRepository - 	Nutch URL Filter (org.apache.nutch.net.URLFilter)
+2009-04-06 18:31:24,572 INFO  PluginRepository - 	Nutch Online Search Results Clustering Plugin (org.apache.nutch.clustering.OnlineClusterer)
+2009-04-06 18:31:24,572 INFO  PluginRepository - 	Nutch Indexing Filter (org.apache.nutch.indexer.IndexingFilter)
+2009-04-06 18:31:24,572 INFO  PluginRepository - 	Nutch Content Parser (org.apache.nutch.parse.Parser)
+2009-04-06 18:31:24,572 INFO  PluginRepository - 	Nutch Scoring (org.apache.nutch.scoring.ScoringFilter)
+2009-04-06 18:31:24,572 INFO  PluginRepository - 	Ontology Model Loader (org.apache.nutch.ontology.Ontology)
+2009-04-06 18:31:24,586 INFO  Configuration - found resource common-terms.utf8 at file:/opt/tomcat/webapps/ROOT/WEB-INF/classes/common-terms.utf8
+2009-04-06 18:31:24,606 INFO  SummarizerFactory - Using the first summarizer extension found: Basic Summarizer
+2009/4/6 下午 06:31:24 org.apache.coyote.http11.Http11Protocol start
+資訊: Starting Coyote HTTP/1.1 on http-8080
+2009/4/6 下午 06:31:24 org.apache.jk.common.ChannelSocket init
+資訊: JK: ajp13 listening on /0.0.0.0:8009
+2009/4/6 下午 06:31:24 org.apache.jk.server.JkMain start
+資訊: Jk running ID=0 time=0/17  config=null
+2009/4/6 下午 06:31:24 org.apache.catalina.startup.Catalina start
+資訊: Server startup in 1219 ms
+2009-04-06 18:31:35,690 INFO  NutchBean - query request from 140.110.141.129
+2009-04-06 18:31:35,702 INFO  NutchBean - query: nchc
+2009-04-06 18:31:35,702 INFO  NutchBean - lang: 
+2009-04-06 18:31:35,739 INFO  NutchBean - searching for 20 raw hits
+2009-04-06 18:31:35,828 WARN  NativeCodeLoader - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
+2009-04-06 18:31:35,829 INFO  CodecPool - Got brand-new decompressor
+2009-04-06 18:31:35,841 INFO  CodecPool - Got brand-new decompressor
+2009-04-06 18:31:35,842 INFO  CodecPool - Got brand-new decompressor
+2009-04-06 18:31:35,842 INFO  CodecPool - Got brand-new decompressor
+2009-04-06 18:31:35,842 INFO  CodecPool - Got brand-new decompressor
+2009-04-06 18:31:35,842 INFO  CodecPool - Got brand-new decompressor
+2009-04-06 18:31:35,843 INFO  CodecPool - Got brand-new decompressor
+2009-04-06 18:31:35,843 INFO  CodecPool - Got brand-new decompressor
+2009-04-06 18:31:35,840 INFO  CodecPool - Got brand-new decompressor
+2009-04-06 18:31:35,846 INFO  CodecPool - Got brand-new decompressor
+2009-04-06 18:31:35,846 INFO  CodecPool - Got brand-new decompressor
+2009-04-06 18:31:35,885 INFO  NutchBean - total hits: 19
+2009-04-06 18:32:32,362 INFO  NutchBean - query request from 140.110.141.129
+2009-04-06 18:32:32,363 INFO  NutchBean - query: åå®¶é«éç¶²è·¯èè¨
+2009-04-06 18:32:32,363 INFO  NutchBean - lang: zh
+2009-04-06 18:32:32,365 INFO  NutchBean - searching for 20 raw hits
+2009-04-06 18:32:32,419 INFO  NutchBean - total hits: 0
+2009-04-07 09:30:43,848 INFO  NutchBean - cache request from 140.110.141.129
+2009-04-07 09:30:49,194 INFO  NutchBean - explain request from 140.110.141.129
+2009-04-07 09:30:53,880 INFO  NutchBean - anchors request from 140.110.141.129
+2009-04-07 09:31:04,576 INFO  NutchBean - query request from 140.110.141.129
+2009-04-07 09:31:04,577 INFO  NutchBean - query: å¥½
+2009-04-07 09:31:04,577 INFO  NutchBean - lang: 
+2009-04-07 09:31:04,578 INFO  NutchBean - searching for 20 raw hits
+2009-04-07 09:31:04,581 INFO  NutchBean - total hits: 0
+2009/4/7 上午 11:24:01 org.apache.coyote.http11.Http11Protocol pause
+資訊: Pausing Coyote HTTP/1.1 on http-8080
+2009/4/7 上午 11:24:02 org.apache.catalina.core.StandardService stop
+資訊: Stopping service Catalina
+2009/4/7 上午 11:24:03 org.apache.coyote.http11.Http11Protocol destroy
+資訊: Stopping Coyote HTTP/1.1 on http-8080
+2009/4/7 上午 11:24:08 org.apache.catalina.core.AprLifecycleListener init
+資訊: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/lib/jvm/java-6-sun-1.6.0.07/jre/lib/i386/server:/usr/lib/jvm/java-6-sun-1.6.0.07/jre/lib/i386:/usr/lib/jvm/java-6-sun-1.6.0.07/jre/../lib/i386:/usr/java/packages/lib/i386:/lib:/usr/lib
+2009/4/7 上午 11:24:08 org.apache.coyote.http11.Http11Protocol init
+資訊: Initializing Coyote HTTP/1.1 on http-8080
+2009/4/7 上午 11:24:08 org.apache.catalina.startup.Catalina load
+資訊: Initialization processed in 361 ms
+2009/4/7 上午 11:24:08 org.apache.catalina.core.StandardService start
+資訊: Starting service Catalina
+2009/4/7 上午 11:24:08 org.apache.catalina.core.StandardEngine start
+資訊: Starting Servlet Engine: Apache Tomcat/6.0.18
+2009-04-07 11:24:09,435 INFO  NutchBean - creating new bean
+2009-04-07 11:24:09,678 INFO  SearchBean - opening merged index in /opt/search/index
+2009-04-07 11:24:09,750 INFO  PluginRepository - Plugins: looking in: /opt/tomcat/webapps/ROOT/WEB-INF/classes/plugins
+2009-04-07 11:24:09,861 INFO  PluginRepository - Plugin Auto-activation mode: [true]
+2009-04-07 11:24:09,861 INFO  PluginRepository - Registered Plugins:
+2009-04-07 11:24:09,861 INFO  PluginRepository - 	the nutch core extension points (nutch-extensionpoints)
+2009-04-07 11:24:09,861 INFO  PluginRepository - 	Basic Query Filter (query-basic)
+2009-04-07 11:24:09,861 INFO  PluginRepository - 	Basic URL Normalizer (urlnormalizer-basic)
+2009-04-07 11:24:09,861 INFO  PluginRepository - 	Basic Indexing Filter (index-basic)
+2009-04-07 11:24:09,861 INFO  PluginRepository - 	Html Parse Plug-in (parse-html)
+2009-04-07 11:24:09,861 INFO  PluginRepository - 	Site Query Filter (query-site)
+2009-04-07 11:24:09,861 INFO  PluginRepository - 	Basic Summarizer Plug-in (summary-basic)
+2009-04-07 11:24:09,861 INFO  PluginRepository - 	HTTP Framework (lib-http)
+2009-04-07 11:24:09,861 INFO  PluginRepository - 	Text Parse Plug-in (parse-text)
+2009-04-07 11:24:09,861 INFO  PluginRepository - 	Pass-through URL Normalizer (urlnormalizer-pass)
+2009-04-07 11:24:09,861 INFO  PluginRepository - 	Regex URL Filter (urlfilter-regex)
+2009-04-07 11:24:09,861 INFO  PluginRepository - 	Http Protocol Plug-in (protocol-http)
+2009-04-07 11:24:09,861 INFO  PluginRepository - 	XML Response Writer Plug-in (response-xml)
+2009-04-07 11:24:09,861 INFO  PluginRepository - 	Regex URL Normalizer (urlnormalizer-regex)
+2009-04-07 11:24:09,861 INFO  PluginRepository - 	OPIC Scoring Plug-in (scoring-opic)
+2009-04-07 11:24:09,861 INFO  PluginRepository - 	CyberNeko HTML Parser (lib-nekohtml)
+2009-04-07 11:24:09,861 INFO  PluginRepository - 	Anchor Indexing Filter (index-anchor)
+2009-04-07 11:24:09,861 INFO  PluginRepository - 	JavaScript Parser (parse-js)
+2009-04-07 11:24:09,861 INFO  PluginRepository - 	URL Query Filter (query-url)
+2009-04-07 11:24:09,861 INFO  PluginRepository - 	Regex URL Filter Framework (lib-regex-filter)
+2009-04-07 11:24:09,861 INFO  PluginRepository - 	JSON Response Writer Plug-in (response-json)
+2009-04-07 11:24:09,861 INFO  PluginRepository - Registered Extension-Points:
+2009-04-07 11:24:09,862 INFO  PluginRepository - 	Nutch Summarizer (org.apache.nutch.searcher.Summarizer)
+2009-04-07 11:24:09,862 INFO  PluginRepository - 	Nutch Protocol (org.apache.nutch.protocol.Protocol)
+2009-04-07 11:24:09,862 INFO  PluginRepository - 	Nutch Analysis (org.apache.nutch.analysis.NutchAnalyzer)
+2009-04-07 11:24:09,862 INFO  PluginRepository - 	Nutch Field Filter (org.apache.nutch.indexer.field.FieldFilter)
+2009-04-07 11:24:09,862 INFO  PluginRepository - 	HTML Parse Filter (org.apache.nutch.parse.HtmlParseFilter)
+2009-04-07 11:24:09,862 INFO  PluginRepository - 	Nutch Query Filter (org.apache.nutch.searcher.QueryFilter)
+2009-04-07 11:24:09,862 INFO  PluginRepository - 	Nutch Search Results Response Writer (org.apache.nutch.searcher.response.ResponseWriter)
+2009-04-07 11:24:09,862 INFO  PluginRepository - 	Nutch URL Normalizer (org.apache.nutch.net.URLNormalizer)
+2009-04-07 11:24:09,862 INFO  PluginRepository - 	Nutch URL Filter (org.apache.nutch.net.URLFilter)
+2009-04-07 11:24:09,862 INFO  PluginRepository - 	Nutch Online Search Results Clustering Plugin (org.apache.nutch.clustering.OnlineClusterer)
+2009-04-07 11:24:09,862 INFO  PluginRepository - 	Nutch Indexing Filter (org.apache.nutch.indexer.IndexingFilter)
+2009-04-07 11:24:09,862 INFO  PluginRepository - 	Nutch Content Parser (org.apache.nutch.parse.Parser)
+2009-04-07 11:24:09,862 INFO  PluginRepository - 	Nutch Scoring (org.apache.nutch.scoring.ScoringFilter)
+2009-04-07 11:24:09,862 INFO  PluginRepository - 	Ontology Model Loader (org.apache.nutch.ontology.Ontology)
+2009-04-07 11:24:09,877 INFO  Configuration - found resource common-terms.utf8 at file:/opt/tomcat/webapps/ROOT/WEB-INF/classes/common-terms.utf8
+2009-04-07 11:24:09,898 INFO  SummarizerFactory - Using the first summarizer extension found: Basic Summarizer
+2009/4/7 上午 11:24:09 org.apache.coyote.http11.Http11Protocol start
+資訊: Starting Coyote HTTP/1.1 on http-8080
+2009/4/7 上午 11:24:10 org.apache.jk.common.ChannelSocket init
+資訊: JK: ajp13 listening on /0.0.0.0:8009
+2009/4/7 上午 11:24:10 org.apache.jk.server.JkMain start
+資訊: Jk running ID=0 time=0/23  config=null
+2009/4/7 上午 11:24:10 org.apache.catalina.startup.Catalina start
+資訊: Server startup in 1179 ms
+2009-04-07 11:24:37,555 INFO  NutchBean - query request from 140.110.141.129
+2009-04-07 11:24:37,568 INFO  NutchBean - query: 好
+2009-04-07 11:24:37,568 INFO  NutchBean - lang: 
+2009-04-07 11:24:37,594 INFO  NutchBean - searching for 20 raw hits
+2009-04-07 11:24:37,634 INFO  NutchBean - total hits: 0
+2009-04-07 11:24:41,916 INFO  NutchBean - query request from 140.110.141.129
+2009-04-07 11:24:41,917 INFO  NutchBean - query: nchc
+2009-04-07 11:24:41,917 INFO  NutchBean - lang: zh
+2009-04-07 11:24:41,917 INFO  NutchBean - searching for 20 raw hits
+2009-04-07 11:24:41,979 WARN  NativeCodeLoader - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
+2009-04-07 11:24:41,980 INFO  CodecPool - Got brand-new decompressor
+2009-04-07 11:24:41,981 INFO  CodecPool - Got brand-new decompressor
+2009-04-07 11:24:41,981 INFO  CodecPool - Got brand-new decompressor
+2009-04-07 11:24:41,985 INFO  CodecPool - Got brand-new decompressor
+2009-04-07 11:24:41,985 INFO  CodecPool - Got brand-new decompressor
+2009-04-07 11:24:41,986 INFO  CodecPool - Got brand-new decompressor
+2009-04-07 11:24:41,986 INFO  CodecPool - Got brand-new decompressor
+2009-04-07 11:24:41,986 INFO  CodecPool - Got brand-new decompressor
+2009-04-07 11:24:41,986 INFO  CodecPool - Got brand-new decompressor
+2009-04-07 11:24:41,986 INFO  CodecPool - Got brand-new decompressor
+2009-04-07 11:24:41,987 INFO  CodecPool - Got brand-new decompressor
+2009-04-07 11:24:41,987 INFO  CodecPool - Got brand-new decompressor
+2009-04-07 11:24:41,987 INFO  CodecPool - Got brand-new decompressor
+2009-04-07 11:24:41,986 INFO  CodecPool - Got brand-new decompressor
+2009-04-07 11:24:42,000 INFO  NutchBean - total hits: 19
+2009-04-07 11:24:45,803 INFO  NutchBean - query request from 140.110.141.129
+2009-04-07 11:24:45,804 INFO  NutchBean - query: 國家
+2009-04-07 11:24:45,804 INFO  NutchBean - lang: zh
+2009-04-07 11:24:45,805 INFO  NutchBean - searching for 20 raw hits
+2009-04-07 11:24:45,820 INFO  NutchBean - total hits: 1
+2009-04-07 11:24:51,231 INFO  NutchBean - query request from 140.110.141.129
+2009-04-07 11:24:51,231 INFO  NutchBean - query: 文件
+2009-04-07 11:24:51,231 INFO  NutchBean - lang: zh
+2009-04-07 11:24:51,232 INFO  NutchBean - searching for 20 raw hits
+2009-04-07 11:24:51,263 INFO  NutchBean - total hits: 3
+2009/4/7 下午 03:16:24 org.apache.coyote.http11.Http11Protocol pause
+資訊: Pausing Coyote HTTP/1.1 on http-8080
+2009/4/7 下午 03:16:26 org.apache.catalina.core.StandardService stop
+資訊: Stopping service Catalina
+2009/4/7 下午 03:16:26 org.apache.coyote.http11.Http11Protocol destroy
+資訊: Stopping Coyote HTTP/1.1 on http-8080
+2009/4/7 下午 05:16:02 org.apache.catalina.core.AprLifecycleListener init
+資訊: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/lib/jvm/java-6-sun-1.6.0.07/jre/lib/i386/server:/usr/lib/jvm/java-6-sun-1.6.0.07/jre/lib/i386:/usr/lib/jvm/java-6-sun-1.6.0.07/jre/../lib/i386:/usr/java/packages/lib/i386:/lib:/usr/lib
+2009/4/7 下午 05:16:03 org.apache.coyote.http11.Http11Protocol init
+資訊: Initializing Coyote HTTP/1.1 on http-8080
+2009/4/7 下午 05:16:03 org.apache.catalina.startup.Catalina load
+資訊: Initialization processed in 377 ms
+2009/4/7 下午 05:16:03 org.apache.catalina.core.StandardService start
+資訊: Starting service Catalina
+2009/4/7 下午 05:16:03 org.apache.catalina.core.StandardEngine start
+資訊: Starting Servlet Engine: Apache Tomcat/6.0.18
+2009-04-07 17:16:03,670 INFO  NutchBean - creating new bean
+2009-04-07 17:16:03,915 INFO  SearchBean - opening merged index in /opt/search/index
+2009-04-07 17:16:03,987 INFO  PluginRepository - Plugins: looking in: /opt/tomcat/webapps/ROOT-0406/WEB-INF/classes/plugins
+2009-04-07 17:16:04,094 INFO  PluginRepository - Plugin Auto-activation mode: [true]
+2009-04-07 17:16:04,094 INFO  PluginRepository - Registered Plugins:
+2009-04-07 17:16:04,094 INFO  PluginRepository - 	the nutch core extension points (nutch-extensionpoints)
+2009-04-07 17:16:04,094 INFO  PluginRepository - 	Basic Query Filter (query-basic)
+2009-04-07 17:16:04,094 INFO  PluginRepository - 	Basic URL Normalizer (urlnormalizer-basic)
+2009-04-07 17:16:04,094 INFO  PluginRepository - 	Basic Indexing Filter (index-basic)
+2009-04-07 17:16:04,094 INFO  PluginRepository - 	Html Parse Plug-in (parse-html)
+2009-04-07 17:16:04,094 INFO  PluginRepository - 	Site Query Filter (query-site)
+2009-04-07 17:16:04,094 INFO  PluginRepository - 	Basic Summarizer Plug-in (summary-basic)
+2009-04-07 17:16:04,094 INFO  PluginRepository - 	HTTP Framework (lib-http)
+2009-04-07 17:16:04,094 INFO  PluginRepository - 	Text Parse Plug-in (parse-text)
+2009-04-07 17:16:04,094 INFO  PluginRepository - 	Pass-through URL Normalizer (urlnormalizer-pass)
+2009-04-07 17:16:04,095 INFO  PluginRepository - 	Regex URL Filter (urlfilter-regex)
+2009-04-07 17:16:04,095 INFO  PluginRepository - 	Http Protocol Plug-in (protocol-http)
+2009-04-07 17:16:04,095 INFO  PluginRepository - 	XML Response Writer Plug-in (response-xml)
+2009-04-07 17:16:04,095 INFO  PluginRepository - 	Regex URL Normalizer (urlnormalizer-regex)
+2009-04-07 17:16:04,095 INFO  PluginRepository - 	OPIC Scoring Plug-in (scoring-opic)
+2009-04-07 17:16:04,095 INFO  PluginRepository - 	CyberNeko HTML Parser (lib-nekohtml)
+2009-04-07 17:16:04,095 INFO  PluginRepository - 	Anchor Indexing Filter (index-anchor)
+2009-04-07 17:16:04,095 INFO  PluginRepository - 	JavaScript Parser (parse-js)
+2009-04-07 17:16:04,095 INFO  PluginRepository - 	URL Query Filter (query-url)
+2009-04-07 17:16:04,095 INFO  PluginRepository - 	Regex URL Filter Framework (lib-regex-filter)
+2009-04-07 17:16:04,095 INFO  PluginRepository - 	JSON Response Writer Plug-in (response-json)
+2009-04-07 17:16:04,095 INFO  PluginRepository - Registered Extension-Points:
+2009-04-07 17:16:04,095 INFO  PluginRepository - 	Nutch Summarizer (org.apache.nutch.searcher.Summarizer)
+2009-04-07 17:16:04,095 INFO  PluginRepository - 	Nutch Protocol (org.apache.nutch.protocol.Protocol)
+2009-04-07 17:16:04,095 INFO  PluginRepository - 	Nutch Analysis (org.apache.nutch.analysis.NutchAnalyzer)
+2009-04-07 17:16:04,095 INFO  PluginRepository - 	Nutch Field Filter (org.apache.nutch.indexer.field.FieldFilter)
+2009-04-07 17:16:04,095 INFO  PluginRepository - 	HTML Parse Filter (org.apache.nutch.parse.HtmlParseFilter)
+2009-04-07 17:16:04,095 INFO  PluginRepository - 	Nutch Query Filter (org.apache.nutch.searcher.QueryFilter)
+2009-04-07 17:16:04,095 INFO  PluginRepository - 	Nutch Search Results Response Writer (org.apache.nutch.searcher.response.ResponseWriter)
+2009-04-07 17:16:04,095 INFO  PluginRepository - 	Nutch URL Normalizer (org.apache.nutch.net.URLNormalizer)
+2009-04-07 17:16:04,095 INFO  PluginRepository - 	Nutch URL Filter (org.apache.nutch.net.URLFilter)
+2009-04-07 17:16:04,095 INFO  PluginRepository - 	Nutch Online Search Results Clustering Plugin (org.apache.nutch.clustering.OnlineClusterer)
+2009-04-07 17:16:04,095 INFO  PluginRepository - 	Nutch Indexing Filter (org.apache.nutch.indexer.IndexingFilter)
+2009-04-07 17:16:04,095 INFO  PluginRepository - 	Nutch Content Parser (org.apache.nutch.parse.Parser)
+2009-04-07 17:16:04,095 INFO  PluginRepository - 	Nutch Scoring (org.apache.nutch.scoring.ScoringFilter)
+2009-04-07 17:16:04,095 INFO  PluginRepository - 	Ontology Model Loader (org.apache.nutch.ontology.Ontology)
+2009-04-07 17:16:04,109 INFO  Configuration - found resource common-terms.utf8 at file:/opt/tomcat/webapps/ROOT-0406/WEB-INF/classes/common-terms.utf8
+2009-04-07 17:16:04,130 INFO  SummarizerFactory - Using the first summarizer extension found: Basic Summarizer
+2009/4/7 下午 05:16:04 org.apache.coyote.http11.Http11Protocol start
+資訊: Starting Coyote HTTP/1.1 on http-8080
+2009/4/7 下午 05:16:04 org.apache.jk.common.ChannelSocket init
+資訊: JK: ajp13 listening on /0.0.0.0:8009
+2009/4/7 下午 05:16:04 org.apache.jk.server.JkMain start
+資訊: Jk running ID=0 time=0/15  config=null
+2009/4/7 下午 05:16:04 org.apache.catalina.startup.Catalina start
+資訊: Server startup in 1148 ms
+2009/4/7 下午 05:26:34 org.apache.catalina.startup.HostConfig checkResources
+資訊: Undeploying context []
+2009/4/7 下午 05:26:54 org.apache.catalina.startup.HostConfig checkResources
+資訊: Undeploying context [/ROOT-0406]
+2009-04-07 17:27:14,480 INFO  NutchBean - creating new bean
+2009-04-07 17:27:14,723 INFO  SearchBean - opening merged index in /opt/search/index
+2009-04-07 17:27:14,789 INFO  PluginRepository - Plugins: looking in: /opt/tomcat/webapps/ROOT/WEB-INF/classes/plugins
+2009-04-07 17:27:14,889 INFO  PluginRepository - Plugin Auto-activation mode: [true]
+2009-04-07 17:27:14,889 INFO  PluginRepository - Registered Plugins:
+2009-04-07 17:27:14,889 INFO  PluginRepository - 	the nutch core extension points (nutch-extensionpoints)
+2009-04-07 17:27:14,889 INFO  PluginRepository - 	Basic Query Filter (query-basic)
+2009-04-07 17:27:14,889 INFO  PluginRepository - 	Basic URL Normalizer (urlnormalizer-basic)
+2009-04-07 17:27:14,889 INFO  PluginRepository - 	Basic Indexing Filter (index-basic)
+2009-04-07 17:27:14,889 INFO  PluginRepository - 	Html Parse Plug-in (parse-html)
+2009-04-07 17:27:14,889 INFO  PluginRepository - 	Site Query Filter (query-site)
+2009-04-07 17:27:14,889 INFO  PluginRepository - 	Basic Summarizer Plug-in (summary-basic)
+2009-04-07 17:27:14,889 INFO  PluginRepository - 	HTTP Framework (lib-http)
+2009-04-07 17:27:14,889 INFO  PluginRepository - 	Text Parse Plug-in (parse-text)
+2009-04-07 17:27:14,889 INFO  PluginRepository - 	Pass-through URL Normalizer (urlnormalizer-pass)
+2009-04-07 17:27:14,889 INFO  PluginRepository - 	Regex URL Filter (urlfilter-regex)
+2009-04-07 17:27:14,889 INFO  PluginRepository - 	Http Protocol Plug-in (protocol-http)
+2009-04-07 17:27:14,889 INFO  PluginRepository - 	XML Response Writer Plug-in (response-xml)
+2009-04-07 17:27:14,889 INFO  PluginRepository - 	Regex URL Normalizer (urlnormalizer-regex)
+2009-04-07 17:27:14,889 INFO  PluginRepository - 	OPIC Scoring Plug-in (scoring-opic)
+2009-04-07 17:27:14,889 INFO  PluginRepository - 	CyberNeko HTML Parser (lib-nekohtml)
+2009-04-07 17:27:14,889 INFO  PluginRepository - 	Anchor Indexing Filter (index-anchor)
+2009-04-07 17:27:14,889 INFO  PluginRepository - 	JavaScript Parser (parse-js)
+2009-04-07 17:27:14,889 INFO  PluginRepository - 	URL Query Filter (query-url)
+2009-04-07 17:27:14,890 INFO  PluginRepository - 	Regex URL Filter Framework (lib-regex-filter)
+2009-04-07 17:27:14,890 INFO  PluginRepository - 	JSON Response Writer Plug-in (response-json)
+2009-04-07 17:27:14,890 INFO  PluginRepository - Registered Extension-Points:
+2009-04-07 17:27:14,890 INFO  PluginRepository - 	Nutch Summarizer (org.apache.nutch.searcher.Summarizer)
+2009-04-07 17:27:14,890 INFO  PluginRepository - 	Nutch Protocol (org.apache.nutch.protocol.Protocol)
+2009-04-07 17:27:14,890 INFO  PluginRepository - 	Nutch Analysis (org.apache.nutch.analysis.NutchAnalyzer)
+2009-04-07 17:27:14,890 INFO  PluginRepository - 	Nutch Field Filter (org.apache.nutch.indexer.field.FieldFilter)
+2009-04-07 17:27:14,890 INFO  PluginRepository - 	HTML Parse Filter (org.apache.nutch.parse.HtmlParseFilter)
+2009-04-07 17:27:14,890 INFO  PluginRepository - 	Nutch Query Filter (org.apache.nutch.searcher.QueryFilter)
+2009-04-07 17:27:14,890 INFO  PluginRepository - 	Nutch Search Results Response Writer (org.apache.nutch.searcher.response.ResponseWriter)
+2009-04-07 17:27:14,890 INFO  PluginRepository - 	Nutch URL Normalizer (org.apache.nutch.net.URLNormalizer)
+2009-04-07 17:27:14,890 INFO  PluginRepository - 	Nutch URL Filter (org.apache.nutch.net.URLFilter)
+2009-04-07 17:27:14,890 INFO  PluginRepository - 	Nutch Online Search Results Clustering Plugin (org.apache.nutch.clustering.OnlineClusterer)
+2009-04-07 17:27:14,890 INFO  PluginRepository - 	Nutch Indexing Filter (org.apache.nutch.indexer.IndexingFilter)
+2009-04-07 17:27:14,890 INFO  PluginRepository - 	Nutch Content Parser (org.apache.nutch.parse.Parser)
+2009-04-07 17:27:14,890 INFO  PluginRepository - 	Nutch Scoring (org.apache.nutch.scoring.ScoringFilter)
+2009-04-07 17:27:14,890 INFO  PluginRepository - 	Ontology Model Loader (org.apache.nutch.ontology.Ontology)
+2009-04-07 17:27:14,902 INFO  Configuration - found resource common-terms.utf8 at file:/opt/tomcat/webapps/ROOT/WEB-INF/classes/common-terms.utf8
+2009-04-07 17:27:14,917 INFO  SummarizerFactory - Using the first summarizer extension found: Basic Summarizer
+2009-04-07 17:30:18,751 INFO  NutchBean - query request from 140.110.141.129
+2009-04-07 17:30:18,763 INFO  NutchBean - query: 國家
+2009-04-07 17:30:18,763 INFO  NutchBean - lang: 
+2009-04-07 17:30:18,782 INFO  NutchBean - searching for 20 raw hits
+2009-04-07 17:30:18,825 INFO  NutchBean - total hits: 0
+2009-04-07 17:30:26,513 INFO  NutchBean - query request from 140.110.141.129
+2009-04-07 17:30:26,513 INFO  NutchBean - query: nchc
+2009-04-07 17:30:26,513 INFO  NutchBean - lang: zh
+2009-04-07 17:30:26,515 INFO  NutchBean - searching for 20 raw hits
+2009-04-07 17:30:26,581 WARN  NativeCodeLoader - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
+2009-04-07 17:30:26,582 INFO  CodecPool - Got brand-new decompressor
+2009-04-07 17:30:26,586 INFO  CodecPool - Got brand-new decompressor
+2009-04-07 17:30:26,586 INFO  CodecPool - Got brand-new decompressor
+2009-04-07 17:30:26,586 INFO  CodecPool - Got brand-new decompressor
+2009-04-07 17:30:26,586 INFO  CodecPool - Got brand-new decompressor
+2009-04-07 17:30:26,597 INFO  NutchBean - total hits: 2
+2009-04-07 17:31:05,380 INFO  NutchBean - query request from 140.110.141.129
+2009-04-07 17:31:05,381 INFO  NutchBean - query: Director Office
+2009-04-07 17:31:05,381 INFO  NutchBean - lang: zh
+2009-04-07 17:31:05,382 INFO  NutchBean - searching for 20 raw hits
+2009-04-07 17:31:05,388 INFO  NutchBean - total hits: 0
+2009-04-07 17:32:52,007 INFO  NutchBean - query request from 140.110.141.129
+2009-04-07 17:32:52,008 INFO  NutchBean - query: 陳威宇
+2009-04-07 17:32:52,008 INFO  NutchBean - lang: zh
+2009-04-07 17:32:52,009 INFO  NutchBean - searching for 20 raw hits
+2009-04-07 17:32:52,015 INFO  NutchBean - total hits: 0
+2009-04-07 17:32:58,193 INFO  NutchBean - query request from 140.110.141.129
+2009-04-07 17:32:58,194 INFO  NutchBean - query: wei-yu chen
+2009-04-07 17:32:58,194 INFO  NutchBean - lang: zh
+2009-04-07 17:32:58,195 INFO  NutchBean - searching for 20 raw hits
+2009-04-07 17:32:58,198 INFO  NutchBean - total hits: 0
+2009-04-07 17:34:25,732 INFO  NutchBean - query request from 140.110.141.129
+2009-04-07 17:34:25,733 INFO  NutchBean - query: ca
+2009-04-07 17:34:25,733 INFO  NutchBean - lang: zh
+2009-04-07 17:34:25,733 INFO  NutchBean - searching for 20 raw hits
+2009-04-07 17:34:25,734 INFO  NutchBean - total hits: 0
+2009-04-07 17:34:27,653 INFO  NutchBean - query request from 140.110.141.129
+2009-04-07 17:34:27,653 INFO  NutchBean - query: ca
+2009-04-07 17:34:27,653 INFO  NutchBean - lang: zh
+2009-04-07 17:34:27,654 INFO  NutchBean - searching for 20 raw hits
+2009-04-07 17:34:27,655 INFO  NutchBean - total hits: 0
+2009-04-07 17:34:31,903 INFO  NutchBean - query request from 140.110.141.129
+2009-04-07 17:34:31,904 INFO  NutchBean - query: nchcca
+2009-04-07 17:34:31,904 INFO  NutchBean - lang: zh
+2009-04-07 17:34:31,905 INFO  NutchBean - searching for 20 raw hits
+2009-04-07 17:34:31,906 INFO  NutchBean - total hits: 0
+2009-04-07 17:34:34,535 INFO  NutchBean - query request from 140.110.141.129
+2009-04-07 17:34:34,535 INFO  NutchBean - query: ca
+2009-04-07 17:34:34,535 INFO  NutchBean - lang: zh
+2009-04-07 17:34:34,536 INFO  NutchBean - searching for 20 raw hits
+2009-04-07 17:34:34,537 INFO  NutchBean - total hits: 0
+2009-04-07 17:39:05,085 INFO  NutchBean - query request from 140.110.141.129
+2009-04-07 17:39:05,085 INFO  NutchBean - query: nchc
+2009-04-07 17:39:05,085 INFO  NutchBean - lang: zh
+2009-04-07 17:39:05,086 INFO  NutchBean - searching for 20 raw hits
+2009-04-07 17:39:05,090 INFO  NutchBean - total hits: 2
+2009-04-07 17:39:19,161 INFO  NutchBean - query request from 140.110.141.129
+2009-04-07 17:39:19,161 INFO  NutchBean - query: trac
+2009-04-07 17:39:19,161 INFO  NutchBean - lang: zh
+2009-04-07 17:39:19,162 INFO  NutchBean - searching for 20 raw hits
+2009-04-07 17:39:19,164 INFO  NutchBean - total hits: 1
+2009-04-07 17:39:24,188 INFO  NutchBean - query request from 140.110.141.129
+2009-04-07 17:39:24,189 INFO  NutchBean - query: www
+2009-04-07 17:39:24,189 INFO  NutchBean - lang: zh
+2009-04-07 17:39:24,190 INFO  NutchBean - searching for 20 raw hits
+2009-04-07 17:39:24,191 INFO  NutchBean - total hits: 0
+2009-04-07 17:39:28,987 INFO  NutchBean - query request from 140.110.141.129
+2009-04-07 17:39:28,988 INFO  NutchBean - query: trac
+2009-04-07 17:39:28,988 INFO  NutchBean - lang: zh
+2009-04-07 17:39:28,989 INFO  NutchBean - searching for 20 raw hits
+2009-04-07 17:39:28,991 INFO  NutchBean - total hits: 1
+2009-04-07 17:39:33,468 INFO  NutchBean - query request from 140.110.141.129
+2009-04-07 17:39:33,469 INFO  NutchBean - query: cloud
+2009-04-07 17:39:33,469 INFO  NutchBean - lang: zh
+2009-04-07 17:39:33,470 INFO  NutchBean - searching for 20 raw hits
+2009-04-07 17:39:33,472 INFO  NutchBean - total hits: 1
+2009-04-07 17:39:49,106 INFO  NutchBean - query request from 140.110.141.129
+2009-04-07 17:39:49,107 INFO  NutchBean - query: 師大 
+2009-04-07 17:39:49,107 INFO  NutchBean - lang: zh
+2009-04-07 17:39:49,108 INFO  NutchBean - searching for 20 raw hits
+2009-04-07 17:39:49,112 INFO  NutchBean - total hits: 0
+2009-04-08 09:04:55,135 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 09:04:55,136 INFO  NutchBean - query: 文件
+2009-04-08 09:04:55,136 INFO  NutchBean - lang: zh
+2009-04-08 09:04:55,136 INFO  NutchBean - searching for 20 raw hits
+2009-04-08 09:04:55,139 INFO  NutchBean - total hits: 0
+2009-04-08 09:04:56,576 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 09:04:56,576 INFO  NutchBean - query: 文件
+2009-04-08 09:04:56,576 INFO  NutchBean - lang: zh
+2009-04-08 09:04:56,577 INFO  NutchBean - searching for 20 raw hits
+2009-04-08 09:04:56,579 INFO  NutchBean - total hits: 0
+2009-04-08 09:04:56,793 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 09:04:56,794 INFO  NutchBean - query: 文件
+2009-04-08 09:04:56,794 INFO  NutchBean - lang: zh
+2009-04-08 09:04:56,794 INFO  NutchBean - searching for 20 raw hits
+2009-04-08 09:04:56,797 INFO  NutchBean - total hits: 0
+2009-04-08 09:05:01,339 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 09:05:01,339 INFO  NutchBean - query: ca
+2009-04-08 09:05:01,339 INFO  NutchBean - lang: zh
+2009-04-08 09:05:01,340 INFO  NutchBean - searching for 20 raw hits
+2009-04-08 09:05:01,341 INFO  NutchBean - total hits: 0
+2009-04-08 09:05:02,298 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 09:05:02,299 INFO  NutchBean - query: ca
+2009-04-08 09:05:02,299 INFO  NutchBean - lang: zh
+2009-04-08 09:05:02,300 INFO  NutchBean - searching for 20 raw hits
+2009-04-08 09:05:02,301 INFO  NutchBean - total hits: 0
+2009-04-08 09:05:08,090 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 09:05:08,090 INFO  NutchBean - query: trac
+2009-04-08 09:05:08,090 INFO  NutchBean - lang: zh
+2009-04-08 09:05:08,091 INFO  NutchBean - searching for 20 raw hits
+2009-04-08 09:05:08,093 INFO  NutchBean - total hits: 1
+2009-04-08 09:05:12,729 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 09:05:12,729 INFO  NutchBean - query: cloud
+2009-04-08 09:05:12,729 INFO  NutchBean - lang: zh
+2009-04-08 09:05:12,730 INFO  NutchBean - searching for 20 raw hits
+2009-04-08 09:05:12,731 INFO  NutchBean - total hits: 1
+2009-04-08 09:05:14,042 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 09:05:14,043 INFO  NutchBean - query: cloud
+2009-04-08 09:05:14,043 INFO  NutchBean - lang: zh
+2009-04-08 09:05:14,044 INFO  NutchBean - searching for 20 raw hits
+2009-04-08 09:05:14,046 INFO  NutchBean - total hits: 1
+2009-04-08 09:05:16,763 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 09:05:16,763 INFO  NutchBean - query: waue
+2009-04-08 09:05:16,763 INFO  NutchBean - lang: zh
+2009-04-08 09:05:16,764 INFO  NutchBean - searching for 20 raw hits
+2009-04-08 09:05:16,764 INFO  NutchBean - total hits: 0
+2009-04-08 09:05:22,908 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 09:05:22,908 INFO  NutchBean - query: 文件
+2009-04-08 09:05:22,908 INFO  NutchBean - lang: zh
+2009-04-08 09:05:22,909 INFO  NutchBean - searching for 20 raw hits
+2009-04-08 09:05:22,911 INFO  NutchBean - total hits: 0
+2009-04-08 09:06:55,855 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 09:06:55,855 INFO  NutchBean - query: iso
+2009-04-08 09:06:55,855 INFO  NutchBean - lang: zh
+2009-04-08 09:06:55,856 INFO  NutchBean - searching for 20 raw hits
+2009-04-08 09:06:55,857 INFO  NutchBean - total hits: 0
+2009-04-08 09:06:58,871 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 09:06:58,872 INFO  NutchBean - query: nchc
+2009-04-08 09:06:58,872 INFO  NutchBean - lang: zh
+2009-04-08 09:06:58,872 INFO  NutchBean - searching for 20 raw hits
+2009-04-08 09:07:10,773 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 09:07:10,773 INFO  NutchBean - query: nchc
+2009-04-08 09:07:10,773 INFO  NutchBean - lang: zh
+2009-04-08 09:07:10,774 INFO  NutchBean - searching for 20 raw hits
+2009-04-08 09:07:10,963 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 09:07:10,963 INFO  NutchBean - query: nchc
+2009-04-08 09:07:10,963 INFO  NutchBean - lang: zh
+2009-04-08 09:07:10,964 INFO  NutchBean - searching for 20 raw hits
+2009-04-08 09:07:11,130 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 09:07:11,130 INFO  NutchBean - query: nchc
+2009-04-08 09:07:11,130 INFO  NutchBean - lang: zh
+2009-04-08 09:07:11,131 INFO  NutchBean - searching for 20 raw hits
+2009-04-08 09:07:11,304 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 09:07:11,304 INFO  NutchBean - query: nchc
+2009-04-08 09:07:11,304 INFO  NutchBean - lang: zh
+2009-04-08 09:07:11,305 INFO  NutchBean - searching for 20 raw hits
+2009-04-08 09:07:11,443 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 09:07:11,443 INFO  NutchBean - query: nchc
+2009-04-08 09:07:11,443 INFO  NutchBean - lang: zh
+2009-04-08 09:07:11,444 INFO  NutchBean - searching for 20 raw hits
+2009-04-08 09:07:19,946 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 09:07:19,946 INFO  NutchBean - query: nchc
+2009-04-08 09:07:19,946 INFO  NutchBean - lang: 
+2009-04-08 09:07:19,947 INFO  NutchBean - searching for 20 raw hits
+2009-04-08 09:08:21,868 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 09:08:21,868 INFO  NutchBean - query: 管理手冊
+2009-04-08 09:08:21,868 INFO  NutchBean - lang: 
+2009-04-08 09:08:21,869 INFO  NutchBean - searching for 20 raw hits
+2009-04-08 09:08:21,871 INFO  NutchBean - total hits: 0
+2009-04-08 09:45:45,664 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 09:45:45,664 INFO  NutchBean - query: 文件
+2009-04-08 09:45:45,664 INFO  NutchBean - lang: 
+2009-04-08 09:45:45,665 INFO  NutchBean - searching for 20 raw hits
+2009-04-08 09:45:45,666 INFO  NutchBean - total hits: 0
+2009-04-08 17:23:09,982 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 17:23:09,982 INFO  NutchBean - query: openoffice
+2009-04-08 17:23:09,982 INFO  NutchBean - lang: 
+2009-04-08 17:23:09,983 INFO  NutchBean - searching for 20 raw hits
+2009-04-08 17:23:09,983 INFO  NutchBean - total hits: 0
+2009-04-08 17:23:19,472 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 17:23:19,473 INFO  NutchBean - query: live
+2009-04-08 17:23:19,473 INFO  NutchBean - lang: zh
+2009-04-08 17:23:19,474 INFO  NutchBean - searching for 20 raw hits
+2009-04-08 17:23:19,474 INFO  NutchBean - total hits: 0
+2009-04-08 17:23:51,136 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 17:23:51,137 INFO  NutchBean - query: *
+2009-04-08 17:23:51,137 INFO  NutchBean - lang: zh
+2009-04-08 17:23:51,138 INFO  NutchBean - searching for 20 raw hits
+2009-04-08 17:23:51,138 INFO  NutchBean - total hits: 0
+2009-04-08 17:23:53,776 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 17:23:53,776 INFO  NutchBean - query: .
+2009-04-08 17:23:53,776 INFO  NutchBean - lang: zh
+2009-04-08 17:23:53,777 INFO  NutchBean - searching for 20 raw hits
+2009-04-08 17:23:53,777 INFO  NutchBean - total hits: 0
+2009-04-08 17:23:55,980 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 17:23:55,980 INFO  NutchBean - query: all
+2009-04-08 17:23:55,980 INFO  NutchBean - lang: zh
+2009-04-08 17:23:55,981 INFO  NutchBean - searching for 20 raw hits
+2009-04-08 17:23:55,981 INFO  NutchBean - total hits: 0
+2009-04-08 17:25:34,450 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 17:25:34,450 INFO  NutchBean - query: ca
+2009-04-08 17:25:34,450 INFO  NutchBean - lang: zh
+2009-04-08 17:25:34,451 INFO  NutchBean - searching for 20 raw hits
+2009-04-08 17:25:34,451 INFO  NutchBean - total hits: 0
+2009-04-08 17:25:38,345 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 17:25:38,346 INFO  NutchBean - query: nchc
+2009-04-08 17:25:38,346 INFO  NutchBean - lang: zh
+2009-04-08 17:25:38,346 INFO  NutchBean - searching for 20 raw hits
+2009-04-08 17:25:44,620 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 17:25:44,620 INFO  NutchBean - query: trac
+2009-04-08 17:25:44,620 INFO  NutchBean - lang: zh
+2009-04-08 17:25:44,621 INFO  NutchBean - searching for 20 raw hits
+2009-04-08 17:26:02,019 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 17:26:02,019 INFO  NutchBean - query: trac
+2009-04-08 17:26:02,019 INFO  NutchBean - lang: zh
+2009-04-08 17:26:02,020 INFO  NutchBean - searching for 20 raw hits
+2009-04-08 17:26:02,573 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 17:26:02,574 INFO  NutchBean - query: trac
+2009-04-08 17:26:02,574 INFO  NutchBean - lang: zh
+2009-04-08 17:26:02,574 INFO  NutchBean - searching for 20 raw hits
+2009-04-08 17:26:02,683 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 17:26:02,683 INFO  NutchBean - query: trac
+2009-04-08 17:26:02,683 INFO  NutchBean - lang: zh
+2009-04-08 17:26:02,684 INFO  NutchBean - searching for 20 raw hits
+2009-04-08 17:26:03,005 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 17:26:03,005 INFO  NutchBean - query: trac
+2009-04-08 17:26:03,005 INFO  NutchBean - lang: zh
+2009-04-08 17:26:03,006 INFO  NutchBean - searching for 20 raw hits
+2009-04-08 17:26:03,144 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 17:26:03,144 INFO  NutchBean - query: trac
+2009-04-08 17:26:03,144 INFO  NutchBean - lang: zh
+2009-04-08 17:26:03,145 INFO  NutchBean - searching for 20 raw hits
+2009-04-08 18:11:27,146 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 18:11:27,147 INFO  NutchBean - query: iso
+2009-04-08 18:11:27,147 INFO  NutchBean - lang: 
+2009-04-08 18:11:27,148 INFO  NutchBean - searching for 20 raw hits
+2009-04-08 18:11:27,148 INFO  NutchBean - total hits: 0
+2009-04-08 18:11:34,712 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 18:11:34,712 INFO  NutchBean - query: nchc
+2009-04-08 18:11:34,712 INFO  NutchBean - lang: zh
+2009-04-08 18:11:34,713 INFO  NutchBean - searching for 20 raw hits
+2009/4/8 下午 06:14:01 org.apache.catalina.core.AprLifecycleListener init
+資訊: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/lib/jvm/java-6-sun-1.6.0.07/jre/lib/i386/server:/usr/lib/jvm/java-6-sun-1.6.0.07/jre/lib/i386:/usr/lib/jvm/java-6-sun-1.6.0.07/jre/../lib/i386:/usr/java/packages/lib/i386:/lib:/usr/lib
+2009/4/8 下午 06:14:01 org.apache.coyote.http11.Http11Protocol init
+嚴重的: Error initializing endpoint
+java.net.BindException: Address already in use<null>:8080
+	at org.apache.tomcat.util.net.JIoEndpoint.init(JIoEndpoint.java:502)
+	at org.apache.coyote.http11.Http11Protocol.init(Http11Protocol.java:176)
+	at org.apache.catalina.connector.Connector.initialize(Connector.java:1058)
+	at org.apache.catalina.core.StandardService.initialize(StandardService.java:677)
+	at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:795)
+	at org.apache.catalina.startup.Catalina.load(Catalina.java:530)
+	at org.apache.catalina.startup.Catalina.load(Catalina.java:550)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:260)
+	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:412)
+2009/4/8 下午 06:14:01 org.apache.catalina.startup.Catalina load
+嚴重的: Catalina.start
+LifecycleException:  Protocol handler initialization failed: java.net.BindException: Address already in use<null>:8080
+	at org.apache.catalina.connector.Connector.initialize(Connector.java:1060)
+	at org.apache.catalina.core.StandardService.initialize(StandardService.java:677)
+	at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:795)
+	at org.apache.catalina.startup.Catalina.load(Catalina.java:530)
+	at org.apache.catalina.startup.Catalina.load(Catalina.java:550)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:260)
+	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:412)
+2009/4/8 下午 06:14:01 org.apache.catalina.startup.Catalina load
+資訊: Initialization processed in 383 ms
+2009/4/8 下午 06:14:01 org.apache.catalina.core.StandardService start
+資訊: Starting service Catalina
+2009/4/8 下午 06:14:01 org.apache.catalina.core.StandardEngine start
+資訊: Starting Servlet Engine: Apache Tomcat/6.0.18
+2009-04-08 18:14:02,088 INFO  NutchBean - creating new bean
+2009-04-08 18:14:02,335 INFO  SearchBean - opening merged index in /opt/search/index
+2009-04-08 18:14:02,407 INFO  PluginRepository - Plugins: looking in: /opt/tomcat/webapps/ROOT/WEB-INF/classes/plugins
+2009-04-08 18:14:02,518 INFO  PluginRepository - Plugin Auto-activation mode: [true]
+2009-04-08 18:14:02,518 INFO  PluginRepository - Registered Plugins:
+2009-04-08 18:14:02,518 INFO  PluginRepository - 	the nutch core extension points (nutch-extensionpoints)
+2009-04-08 18:14:02,518 INFO  PluginRepository - 	Basic Query Filter (query-basic)
+2009-04-08 18:14:02,518 INFO  PluginRepository - 	Basic URL Normalizer (urlnormalizer-basic)
+2009-04-08 18:14:02,518 INFO  PluginRepository - 	Basic Indexing Filter (index-basic)
+2009-04-08 18:14:02,518 INFO  PluginRepository - 	Html Parse Plug-in (parse-html)
+2009-04-08 18:14:02,518 INFO  PluginRepository - 	Site Query Filter (query-site)
+2009-04-08 18:14:02,518 INFO  PluginRepository - 	Basic Summarizer Plug-in (summary-basic)
+2009-04-08 18:14:02,518 INFO  PluginRepository - 	HTTP Framework (lib-http)
+2009-04-08 18:14:02,518 INFO  PluginRepository - 	Text Parse Plug-in (parse-text)
+2009-04-08 18:14:02,518 INFO  PluginRepository - 	Pass-through URL Normalizer (urlnormalizer-pass)
+2009-04-08 18:14:02,518 INFO  PluginRepository - 	Regex URL Filter (urlfilter-regex)
+2009-04-08 18:14:02,518 INFO  PluginRepository - 	Http Protocol Plug-in (protocol-http)
+2009-04-08 18:14:02,518 INFO  PluginRepository - 	XML Response Writer Plug-in (response-xml)
+2009-04-08 18:14:02,518 INFO  PluginRepository - 	Regex URL Normalizer (urlnormalizer-regex)
+2009-04-08 18:14:02,518 INFO  PluginRepository - 	OPIC Scoring Plug-in (scoring-opic)
+2009-04-08 18:14:02,518 INFO  PluginRepository - 	CyberNeko HTML Parser (lib-nekohtml)
+2009-04-08 18:14:02,518 INFO  PluginRepository - 	Anchor Indexing Filter (index-anchor)
+2009-04-08 18:14:02,518 INFO  PluginRepository - 	JavaScript Parser (parse-js)
+2009-04-08 18:14:02,518 INFO  PluginRepository - 	URL Query Filter (query-url)
+2009-04-08 18:14:02,518 INFO  PluginRepository - 	Regex URL Filter Framework (lib-regex-filter)
+2009-04-08 18:14:02,518 INFO  PluginRepository - 	JSON Response Writer Plug-in (response-json)
+2009-04-08 18:14:02,518 INFO  PluginRepository - Registered Extension-Points:
+2009-04-08 18:14:02,518 INFO  PluginRepository - 	Nutch Summarizer (org.apache.nutch.searcher.Summarizer)
+2009-04-08 18:14:02,518 INFO  PluginRepository - 	Nutch Protocol (org.apache.nutch.protocol.Protocol)
+2009-04-08 18:14:02,518 INFO  PluginRepository - 	Nutch Analysis (org.apache.nutch.analysis.NutchAnalyzer)
+2009-04-08 18:14:02,518 INFO  PluginRepository - 	Nutch Field Filter (org.apache.nutch.indexer.field.FieldFilter)
+2009-04-08 18:14:02,519 INFO  PluginRepository - 	HTML Parse Filter (org.apache.nutch.parse.HtmlParseFilter)
+2009-04-08 18:14:02,519 INFO  PluginRepository - 	Nutch Query Filter (org.apache.nutch.searcher.QueryFilter)
+2009-04-08 18:14:02,519 INFO  PluginRepository - 	Nutch Search Results Response Writer (org.apache.nutch.searcher.response.ResponseWriter)
+2009-04-08 18:14:02,519 INFO  PluginRepository - 	Nutch URL Normalizer (org.apache.nutch.net.URLNormalizer)
+2009-04-08 18:14:02,519 INFO  PluginRepository - 	Nutch URL Filter (org.apache.nutch.net.URLFilter)
+2009-04-08 18:14:02,519 INFO  PluginRepository - 	Nutch Online Search Results Clustering Plugin (org.apache.nutch.clustering.OnlineClusterer)
+2009-04-08 18:14:02,519 INFO  PluginRepository - 	Nutch Indexing Filter (org.apache.nutch.indexer.IndexingFilter)
+2009-04-08 18:14:02,519 INFO  PluginRepository - 	Nutch Content Parser (org.apache.nutch.parse.Parser)
+2009-04-08 18:14:02,519 INFO  PluginRepository - 	Nutch Scoring (org.apache.nutch.scoring.ScoringFilter)
+2009-04-08 18:14:02,519 INFO  PluginRepository - 	Ontology Model Loader (org.apache.nutch.ontology.Ontology)
+2009-04-08 18:14:02,533 INFO  Configuration - found resource common-terms.utf8 at file:/opt/tomcat/webapps/ROOT/WEB-INF/classes/common-terms.utf8
+2009-04-08 18:14:02,553 INFO  SummarizerFactory - Using the first summarizer extension found: Basic Summarizer
+2009/4/8 下午 06:14:02 org.apache.coyote.http11.Http11Protocol start
+嚴重的: Error starting endpoint
+java.net.BindException: Address already in use<null>:8080
+	at org.apache.tomcat.util.net.JIoEndpoint.init(JIoEndpoint.java:502)
+	at org.apache.tomcat.util.net.JIoEndpoint.start(JIoEndpoint.java:519)
+	at org.apache.coyote.http11.Http11Protocol.start(Http11Protocol.java:203)
+	at org.apache.catalina.connector.Connector.start(Connector.java:1131)
+	at org.apache.catalina.core.StandardService.start(StandardService.java:531)
+	at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
+	at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
+	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
+2009/4/8 下午 06:14:02 org.apache.catalina.startup.Catalina start
+嚴重的: Catalina.start: 
+LifecycleException:  service.getName(): "Catalina";  Protocol handler start failed: java.net.BindException: Address already in use<null>:8080
+	at org.apache.catalina.connector.Connector.start(Connector.java:1138)
+	at org.apache.catalina.core.StandardService.start(StandardService.java:531)
+	at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
+	at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
+	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
+2009/4/8 下午 06:14:02 org.apache.catalina.startup.Catalina start
+資訊: Server startup in 1076 ms
+2009/4/8 下午 06:14:02 org.apache.catalina.core.StandardServer await
+嚴重的: StandardServer.await: create[8005]: 
+java.net.BindException: Address already in use
+	at java.net.PlainSocketImpl.socketBind(Native Method)
+	at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359)
+	at java.net.ServerSocket.bind(ServerSocket.java:319)
+	at java.net.ServerSocket.<init>(ServerSocket.java:185)
+	at org.apache.catalina.core.StandardServer.await(StandardServer.java:373)
+	at org.apache.catalina.startup.Catalina.await(Catalina.java:642)
+	at org.apache.catalina.startup.Catalina.start(Catalina.java:602)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
+	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
+2009/4/8 下午 06:14:02 org.apache.coyote.http11.Http11Protocol pause
+資訊: Pausing Coyote HTTP/1.1 on http-8080
+2009/4/8 下午 06:14:02 org.apache.catalina.connector.Connector pause
+嚴重的: Protocol handler pause failed
+java.lang.NullPointerException
+	at org.apache.jk.server.JkMain.pause(JkMain.java:679)
+	at org.apache.jk.server.JkCoyoteHandler.pause(JkCoyoteHandler.java:153)
+	at org.apache.catalina.connector.Connector.pause(Connector.java:1073)
+	at org.apache.catalina.core.StandardService.stop(StandardService.java:563)
+	at org.apache.catalina.core.StandardServer.stop(StandardServer.java:744)
+	at org.apache.catalina.startup.Catalina.stop(Catalina.java:628)
+	at org.apache.catalina.startup.Catalina$CatalinaShutdownHook.run(Catalina.java:671)
+2009/4/8 下午 06:14:03 org.apache.catalina.core.StandardService stop
+資訊: Stopping service Catalina
+2009/4/8 下午 06:14:03 org.apache.catalina.connector.MapperListener destroy
+警告: Error unregistering MBeanServerDelegate
+java.lang.NullPointerException
+	at org.apache.catalina.connector.MapperListener.destroy(MapperListener.java:165)
+	at org.apache.catalina.connector.Connector.stop(Connector.java:1179)
+	at org.apache.catalina.core.StandardService.stop(StandardService.java:593)
+	at org.apache.catalina.core.StandardServer.stop(StandardServer.java:744)
+	at org.apache.catalina.startup.Catalina.stop(Catalina.java:628)
+	at org.apache.catalina.startup.Catalina$CatalinaShutdownHook.run(Catalina.java:671)
+2009/4/8 下午 06:14:03 org.apache.coyote.http11.Http11Protocol destroy
+資訊: Stopping Coyote HTTP/1.1 on http-8080
+2009/4/8 下午 06:14:03 org.apache.catalina.connector.Connector stop
+嚴重的: Coyote connector has not been started
+2009/4/8 下午 06:14:06 org.apache.coyote.http11.Http11Protocol pause
+資訊: Pausing Coyote HTTP/1.1 on http-8080
+2009/4/8 下午 06:14:07 org.apache.catalina.core.StandardService stop
+資訊: Stopping service Catalina
+2009/4/8 下午 06:14:08 org.apache.coyote.http11.Http11Protocol destroy
+資訊: Stopping Coyote HTTP/1.1 on http-8080
+2009/4/8 下午 06:14:12 org.apache.catalina.core.AprLifecycleListener init
+資訊: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/lib/jvm/java-6-sun-1.6.0.07/jre/lib/i386/server:/usr/lib/jvm/java-6-sun-1.6.0.07/jre/lib/i386:/usr/lib/jvm/java-6-sun-1.6.0.07/jre/../lib/i386:/usr/java/packages/lib/i386:/lib:/usr/lib
+2009/4/8 下午 06:14:12 org.apache.coyote.http11.Http11Protocol init
+資訊: Initializing Coyote HTTP/1.1 on http-8080
+2009/4/8 下午 06:14:12 org.apache.catalina.startup.Catalina load
+資訊: Initialization processed in 356 ms
+2009/4/8 下午 06:14:12 org.apache.catalina.core.StandardService start
+資訊: Starting service Catalina
+2009/4/8 下午 06:14:12 org.apache.catalina.core.StandardEngine start
+資訊: Starting Servlet Engine: Apache Tomcat/6.0.18
+2009-04-08 18:14:13,280 INFO  NutchBean - creating new bean
+2009-04-08 18:14:13,525 INFO  SearchBean - opening merged index in /opt/search/index
+2009-04-08 18:14:13,596 INFO  PluginRepository - Plugins: looking in: /opt/tomcat/webapps/ROOT/WEB-INF/classes/plugins
+2009-04-08 18:14:13,707 INFO  PluginRepository - Plugin Auto-activation mode: [true]
+2009-04-08 18:14:13,707 INFO  PluginRepository - Registered Plugins:
+2009-04-08 18:14:13,707 INFO  PluginRepository - 	the nutch core extension points (nutch-extensionpoints)
+2009-04-08 18:14:13,707 INFO  PluginRepository - 	Basic Query Filter (query-basic)
+2009-04-08 18:14:13,707 INFO  PluginRepository - 	Basic URL Normalizer (urlnormalizer-basic)
+2009-04-08 18:14:13,707 INFO  PluginRepository - 	Basic Indexing Filter (index-basic)
+2009-04-08 18:14:13,707 INFO  PluginRepository - 	Html Parse Plug-in (parse-html)
+2009-04-08 18:14:13,707 INFO  PluginRepository - 	Site Query Filter (query-site)
+2009-04-08 18:14:13,707 INFO  PluginRepository - 	Basic Summarizer Plug-in (summary-basic)
+2009-04-08 18:14:13,707 INFO  PluginRepository - 	HTTP Framework (lib-http)
+2009-04-08 18:14:13,707 INFO  PluginRepository - 	Text Parse Plug-in (parse-text)
+2009-04-08 18:14:13,707 INFO  PluginRepository - 	Pass-through URL Normalizer (urlnormalizer-pass)
+2009-04-08 18:14:13,707 INFO  PluginRepository - 	Regex URL Filter (urlfilter-regex)
+2009-04-08 18:14:13,707 INFO  PluginRepository - 	Http Protocol Plug-in (protocol-http)
+2009-04-08 18:14:13,707 INFO  PluginRepository - 	XML Response Writer Plug-in (response-xml)
+2009-04-08 18:14:13,707 INFO  PluginRepository - 	Regex URL Normalizer (urlnormalizer-regex)
+2009-04-08 18:14:13,707 INFO  PluginRepository - 	OPIC Scoring Plug-in (scoring-opic)
+2009-04-08 18:14:13,707 INFO  PluginRepository - 	CyberNeko HTML Parser (lib-nekohtml)
+2009-04-08 18:14:13,707 INFO  PluginRepository - 	Anchor Indexing Filter (index-anchor)
+2009-04-08 18:14:13,707 INFO  PluginRepository - 	JavaScript Parser (parse-js)
+2009-04-08 18:14:13,708 INFO  PluginRepository - 	URL Query Filter (query-url)
+2009-04-08 18:14:13,708 INFO  PluginRepository - 	Regex URL Filter Framework (lib-regex-filter)
+2009-04-08 18:14:13,708 INFO  PluginRepository - 	JSON Response Writer Plug-in (response-json)
+2009-04-08 18:14:13,708 INFO  PluginRepository - Registered Extension-Points:
+2009-04-08 18:14:13,708 INFO  PluginRepository - 	Nutch Summarizer (org.apache.nutch.searcher.Summarizer)
+2009-04-08 18:14:13,708 INFO  PluginRepository - 	Nutch Protocol (org.apache.nutch.protocol.Protocol)
+2009-04-08 18:14:13,708 INFO  PluginRepository - 	Nutch Analysis (org.apache.nutch.analysis.NutchAnalyzer)
+2009-04-08 18:14:13,708 INFO  PluginRepository - 	Nutch Field Filter (org.apache.nutch.indexer.field.FieldFilter)
+2009-04-08 18:14:13,708 INFO  PluginRepository - 	HTML Parse Filter (org.apache.nutch.parse.HtmlParseFilter)
+2009-04-08 18:14:13,708 INFO  PluginRepository - 	Nutch Query Filter (org.apache.nutch.searcher.QueryFilter)
+2009-04-08 18:14:13,708 INFO  PluginRepository - 	Nutch Search Results Response Writer (org.apache.nutch.searcher.response.ResponseWriter)
+2009-04-08 18:14:13,708 INFO  PluginRepository - 	Nutch URL Normalizer (org.apache.nutch.net.URLNormalizer)
+2009-04-08 18:14:13,708 INFO  PluginRepository - 	Nutch URL Filter (org.apache.nutch.net.URLFilter)
+2009-04-08 18:14:13,708 INFO  PluginRepository - 	Nutch Online Search Results Clustering Plugin (org.apache.nutch.clustering.OnlineClusterer)
+2009-04-08 18:14:13,708 INFO  PluginRepository - 	Nutch Indexing Filter (org.apache.nutch.indexer.IndexingFilter)
+2009-04-08 18:14:13,708 INFO  PluginRepository - 	Nutch Content Parser (org.apache.nutch.parse.Parser)
+2009-04-08 18:14:13,708 INFO  PluginRepository - 	Nutch Scoring (org.apache.nutch.scoring.ScoringFilter)
+2009-04-08 18:14:13,708 INFO  PluginRepository - 	Ontology Model Loader (org.apache.nutch.ontology.Ontology)
+2009-04-08 18:14:13,722 INFO  Configuration - found resource common-terms.utf8 at file:/opt/tomcat/webapps/ROOT/WEB-INF/classes/common-terms.utf8
+2009-04-08 18:14:13,742 INFO  SummarizerFactory - Using the first summarizer extension found: Basic Summarizer
+2009/4/8 下午 06:14:13 org.apache.coyote.http11.Http11Protocol start
+資訊: Starting Coyote HTTP/1.1 on http-8080
+2009/4/8 下午 06:14:13 org.apache.jk.common.ChannelSocket init
+資訊: JK: ajp13 listening on /0.0.0.0:8009
+2009/4/8 下午 06:14:13 org.apache.jk.server.JkMain start
+資訊: Jk running ID=0 time=0/16  config=null
+2009/4/8 下午 06:14:13 org.apache.catalina.startup.Catalina start
+資訊: Server startup in 1134 ms
+2009-04-08 18:14:16,806 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 18:14:16,819 INFO  NutchBean - query: nchc
+2009-04-08 18:14:16,819 INFO  NutchBean - lang: zh
+2009-04-08 18:14:16,859 INFO  NutchBean - searching for 20 raw hits
+2009-04-08 18:14:16,945 WARN  NativeCodeLoader - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
+2009-04-08 18:14:16,946 INFO  CodecPool - Got brand-new decompressor
+2009-04-08 18:14:16,950 INFO  CodecPool - Got brand-new decompressor
+2009-04-08 18:14:16,950 INFO  CodecPool - Got brand-new decompressor
+2009-04-08 18:14:16,950 INFO  CodecPool - Got brand-new decompressor
+2009-04-08 18:14:16,950 INFO  CodecPool - Got brand-new decompressor
+2009-04-08 18:14:16,970 INFO  NutchBean - total hits: 1
+2009-04-08 18:14:23,114 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 18:14:23,114 INFO  NutchBean - query: iso
+2009-04-08 18:14:23,115 INFO  NutchBean - lang: zh
+2009-04-08 18:14:23,116 INFO  NutchBean - searching for 20 raw hits
+2009-04-08 18:14:23,146 INFO  NutchBean - total hits: 1
+2009-04-08 18:14:59,751 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 18:14:59,752 INFO  NutchBean - query: 移至三階文件 W-CA-0
+2009-04-08 18:14:59,752 INFO  NutchBean - lang: zh
+2009-04-08 18:14:59,753 INFO  NutchBean - searching for 20 raw hits
+2009-04-08 18:14:59,768 INFO  NutchBean - total hits: 0
+2009-04-08 18:15:02,766 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 18:15:02,766 INFO  NutchBean - query: 移至三階文
+2009-04-08 18:15:02,766 INFO  NutchBean - lang: zh
+2009-04-08 18:15:02,767 INFO  NutchBean - searching for 20 raw hits
+2009-04-08 18:15:02,787 INFO  NutchBean - total hits: 1
+2009-04-08 18:15:14,388 INFO  NutchBean - cache request from 140.110.141.129
+2009-04-08 18:15:14,395 INFO  CodecPool - Got brand-new decompressor
+2009-04-08 18:15:14,407 INFO  CodecPool - Got brand-new decompressor
+2009-04-08 18:15:46,546 INFO  NutchBean - explain request from 140.110.141.129
+2009-04-08 18:15:53,746 INFO  NutchBean - anchors request from 140.110.141.129
+2009-04-08 18:15:53,755 INFO  CodecPool - Got brand-new decompressor
+2009-04-08 18:16:10,732 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 18:16:10,732 INFO  NutchBean - query: 移至
+2009-04-08 18:16:10,732 INFO  NutchBean - lang: zh
+2009-04-08 18:16:10,733 INFO  NutchBean - searching for 20 raw hits
+2009-04-08 18:16:10,749 INFO  NutchBean - total hits: 1
+2009-04-08 18:16:27,772 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 18:16:27,772 INFO  NutchBean - query: 部審查摘要表
+2009-04-08 18:16:27,772 INFO  NutchBean - lang: zh
+2009-04-08 18:16:27,774 INFO  NutchBean - searching for 20 raw hits
+2009-04-08 18:16:27,781 INFO  NutchBean - total hits: 0
+2009-04-08 18:16:31,275 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 18:16:31,275 INFO  NutchBean - query: 部審
+2009-04-08 18:16:31,275 INFO  NutchBean - lang: zh
+2009-04-08 18:16:31,276 INFO  NutchBean - searching for 20 raw hits
+2009-04-08 18:16:31,282 INFO  NutchBean - total hits: 1
+2009-04-08 18:16:53,532 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 18:16:53,532 INFO  NutchBean - query: 專利
+2009-04-08 18:16:53,532 INFO  NutchBean - lang: zh
+2009-04-08 18:16:53,534 INFO  NutchBean - searching for 20 raw hits
+2009-04-08 18:16:53,539 INFO  NutchBean - total hits: 1
+2009-04-08 18:17:22,859 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 18:17:22,860 INFO  NutchBean - query: 人員進出管制記錄簿961107 
+2009-04-08 18:17:22,860 INFO  NutchBean - lang: zh
+2009-04-08 18:17:22,861 INFO  NutchBean - searching for 20 raw hits
+2009-04-08 18:17:22,873 INFO  NutchBean - total hits: 0
+2009-04-08 18:17:26,456 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 18:17:26,457 INFO  NutchBean - query: 人員進出管制記錄簿
+2009-04-08 18:17:26,457 INFO  NutchBean - lang: zh
+2009-04-08 18:17:26,458 INFO  NutchBean - searching for 20 raw hits
+2009-04-08 18:17:26,465 INFO  NutchBean - total hits: 0
+2009-04-08 18:17:29,451 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 18:17:29,451 INFO  NutchBean - query: 人員進出管制
+2009-04-08 18:17:29,451 INFO  NutchBean - lang: zh
+2009-04-08 18:17:29,452 INFO  NutchBean - searching for 20 raw hits
+2009-04-08 18:17:29,459 INFO  NutchBean - total hits: 1
+2009-04-08 18:19:28,745 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 18:19:28,746 INFO  NutchBean - query: 活動議程
+2009-04-08 18:19:28,746 INFO  NutchBean - lang: zh
+2009-04-08 18:19:28,747 INFO  NutchBean - searching for 20 raw hits
+2009-04-08 18:19:28,749 INFO  NutchBean - total hits: 0
+2009-04-08 18:19:29,715 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 18:19:29,716 INFO  NutchBean - query: 活動議程
+2009-04-08 18:19:29,716 INFO  NutchBean - lang: zh
+2009-04-08 18:19:29,717 INFO  NutchBean - searching for 20 raw hits
+2009-04-08 18:19:29,719 INFO  NutchBean - total hits: 0
+2009-04-08 18:19:48,454 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 18:19:48,454 INFO  NutchBean - query: 管理手冊
+2009-04-08 18:19:48,455 INFO  NutchBean - lang: zh
+2009-04-08 18:19:48,456 INFO  NutchBean - searching for 20 raw hits
+2009-04-08 18:19:48,461 INFO  NutchBean - total hits: 1
+2009-04-08 18:20:05,069 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 18:20:05,070 INFO  NutchBean - query: 管理手冊 作業規範
+2009-04-08 18:20:05,070 INFO  NutchBean - lang: zh
+2009-04-08 18:20:05,071 INFO  NutchBean - searching for 20 raw hits
+2009-04-08 18:20:05,076 INFO  NutchBean - total hits: 1
+2009-04-08 18:20:10,072 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 18:20:10,073 INFO  NutchBean - query:  作業規範
+2009-04-08 18:20:10,073 INFO  NutchBean - lang: zh
+2009-04-08 18:20:10,074 INFO  NutchBean - searching for 20 raw hits
+2009-04-08 18:20:10,080 INFO  NutchBean - total hits: 1
+2009-04-08 18:20:37,208 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 18:20:37,209 INFO  NutchBean - query: 修訂7 相關文件
+2009-04-08 18:20:37,209 INFO  NutchBean - lang: zh
+2009-04-08 18:20:37,210 INFO  NutchBean - searching for 20 raw hits
+2009-04-08 18:20:37,213 INFO  NutchBean - total hits: 0
+2009-04-08 18:20:40,581 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 18:20:40,582 INFO  NutchBean - query: 修訂7相關文件
+2009-04-08 18:20:40,582 INFO  NutchBean - lang: zh
+2009-04-08 18:20:40,583 INFO  NutchBean - searching for 20 raw hits
+2009-04-08 18:20:40,585 INFO  NutchBean - total hits: 0
+2009-04-08 18:20:43,432 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 18:20:43,433 INFO  NutchBean - query: 修訂7
+2009-04-08 18:20:43,433 INFO  NutchBean - lang: zh
+2009-04-08 18:20:43,434 INFO  NutchBean - searching for 20 raw hits
+2009-04-08 18:20:43,435 INFO  NutchBean - total hits: 0
+2009-04-08 18:20:44,274 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 18:20:44,275 INFO  NutchBean - query: 修訂7
+2009-04-08 18:20:44,275 INFO  NutchBean - lang: zh
+2009-04-08 18:20:44,275 INFO  NutchBean - searching for 20 raw hits
+2009-04-08 18:20:44,277 INFO  NutchBean - total hits: 0
+2009-04-08 18:20:46,697 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 18:20:46,697 INFO  NutchBean - query: 修訂
+2009-04-08 18:20:46,697 INFO  NutchBean - lang: zh
+2009-04-08 18:20:46,698 INFO  NutchBean - searching for 20 raw hits
+2009-04-08 18:20:46,699 INFO  NutchBean - total hits: 0
+2009-04-08 18:20:48,214 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 18:20:48,215 INFO  NutchBean - query: 修
+2009-04-08 18:20:48,215 INFO  NutchBean - lang: zh
+2009-04-08 18:20:48,216 INFO  NutchBean - searching for 20 raw hits
+2009-04-08 18:20:48,218 INFO  NutchBean - total hits: 1
+2009-04-08 18:21:04,161 INFO  NutchBean - cache request from 140.110.141.129
+2009-04-08 18:21:20,475 INFO  NutchBean - explain request from 140.110.141.129
+2009-04-08 18:21:28,291 INFO  NutchBean - anchors request from 140.110.141.129
+2009-04-08 18:21:35,314 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 18:21:35,315 INFO  NutchBean - query: 
+2009-04-08 18:21:35,315 INFO  NutchBean - lang: zh
+2009-04-08 18:21:35,316 INFO  NutchBean - searching for 20 raw hits
+2009-04-08 18:21:35,316 INFO  NutchBean - total hits: 0
+2009-04-08 18:44:21,348 INFO  NutchBean - query request from 140.110.141.129
+2009-04-08 18:44:21,349 INFO  NutchBean - query: iso
+2009-04-08 18:44:21,349 INFO  NutchBean - lang: zh
+2009-04-08 18:44:21,350 INFO  NutchBean - searching for 20 raw hits
+2009-04-08 18:44:21,352 INFO  NutchBean - total hits: 1
+2009-04-08 18:44:24,574 INFO  NutchBean - cache request from 140.110.141.129
+2009-04-09 11:31:12,493 INFO  NutchBean - query request from 140.110.141.129
+2009-04-09 11:31:12,498 INFO  NutchBean - query: 好
+2009-04-09 11:31:12,498 INFO  NutchBean - lang: zh
+2009-04-09 11:31:12,515 INFO  NutchBean - searching for 20 raw hits
+2009-04-09 11:31:12,515 INFO  NutchBean - total hits: 0
+2009-04-09 11:31:15,242 INFO  NutchBean - query request from 140.110.141.129
+2009-04-09 11:31:15,242 INFO  NutchBean - query: 人
+2009-04-09 11:31:15,242 INFO  NutchBean - lang: zh
+2009-04-09 11:31:15,243 INFO  NutchBean - searching for 20 raw hits
+2009-04-09 11:31:15,245 INFO  NutchBean - total hits: 1
+2009/4/9 下午 01:42:09 org.apache.coyote.http11.Http11Protocol pause
+資訊: Pausing Coyote HTTP/1.1 on http-8080
+2009/4/9 下午 01:42:10 org.apache.catalina.core.StandardService stop
+資訊: Stopping service Catalina
+2009/4/9 下午 01:42:10 org.apache.coyote.http11.Http11Protocol destroy
+資訊: Stopping Coyote HTTP/1.1 on http-8080
+2009/4/9 下午 01:42:13 org.apache.catalina.core.AprLifecycleListener init
+資訊: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/lib/jvm/java-6-sun-1.6.0.07/jre/lib/i386/server:/usr/lib/jvm/java-6-sun-1.6.0.07/jre/lib/i386:/usr/lib/jvm/java-6-sun-1.6.0.07/jre/../lib/i386:/usr/java/packages/lib/i386:/lib:/usr/lib
+2009/4/9 下午 01:42:13 org.apache.coyote.http11.Http11Protocol init
+資訊: Initializing Coyote HTTP/1.1 on http-8080
+2009/4/9 下午 01:42:13 org.apache.catalina.startup.Catalina load
+資訊: Initialization processed in 355 ms
+2009/4/9 下午 01:42:13 org.apache.catalina.core.StandardService start
+資訊: Starting service Catalina
+2009/4/9 下午 01:42:13 org.apache.catalina.core.StandardEngine start
+資訊: Starting Servlet Engine: Apache Tomcat/6.0.18
+2009-04-09 13:42:14,448 INFO  NutchBean - creating new bean
+2009-04-09 13:42:14,735 INFO  SearchBean - opening merged index in /opt/search/index
+2009-04-09 13:42:14,828 INFO  PluginRepository - Plugins: looking in: /opt/tomcat/webapps/ROOT/WEB-INF/classes/plugins
+2009-04-09 13:42:15,060 INFO  PluginRepository - Plugin Auto-activation mode: [true]
+2009-04-09 13:42:15,060 INFO  PluginRepository - Registered Plugins:
+2009-04-09 13:42:15,060 INFO  PluginRepository - 	the nutch core extension points (nutch-extensionpoints)
+2009-04-09 13:42:15,060 INFO  PluginRepository - 	Basic Query Filter (query-basic)
+2009-04-09 13:42:15,060 INFO  PluginRepository - 	Basic URL Normalizer (urlnormalizer-basic)
+2009-04-09 13:42:15,060 INFO  PluginRepository - 	Basic Indexing Filter (index-basic)
+2009-04-09 13:42:15,060 INFO  PluginRepository - 	Html Parse Plug-in (parse-html)
+2009-04-09 13:42:15,060 INFO  PluginRepository - 	Site Query Filter (query-site)
+2009-04-09 13:42:15,060 INFO  PluginRepository - 	Basic Summarizer Plug-in (summary-basic)
+2009-04-09 13:42:15,060 INFO  PluginRepository - 	HTTP Framework (lib-http)
+2009-04-09 13:42:15,060 INFO  PluginRepository - 	Text Parse Plug-in (parse-text)
+2009-04-09 13:42:15,060 INFO  PluginRepository - 	Pass-through URL Normalizer (urlnormalizer-pass)
+2009-04-09 13:42:15,060 INFO  PluginRepository - 	Regex URL Filter (urlfilter-regex)
+2009-04-09 13:42:15,060 INFO  PluginRepository - 	Http Protocol Plug-in (protocol-http)
+2009-04-09 13:42:15,060 INFO  PluginRepository - 	XML Response Writer Plug-in (response-xml)
+2009-04-09 13:42:15,060 INFO  PluginRepository - 	Regex URL Normalizer (urlnormalizer-regex)
+2009-04-09 13:42:15,060 INFO  PluginRepository - 	OPIC Scoring Plug-in (scoring-opic)
+2009-04-09 13:42:15,060 INFO  PluginRepository - 	CyberNeko HTML Parser (lib-nekohtml)
+2009-04-09 13:42:15,060 INFO  PluginRepository - 	Anchor Indexing Filter (index-anchor)
+2009-04-09 13:42:15,060 INFO  PluginRepository - 	JavaScript Parser (parse-js)
+2009-04-09 13:42:15,060 INFO  PluginRepository - 	URL Query Filter (query-url)
+2009-04-09 13:42:15,060 INFO  PluginRepository - 	Regex URL Filter Framework (lib-regex-filter)
+2009-04-09 13:42:15,061 INFO  PluginRepository - 	JSON Response Writer Plug-in (response-json)
+2009-04-09 13:42:15,061 INFO  PluginRepository - Registered Extension-Points:
+2009-04-09 13:42:15,061 INFO  PluginRepository - 	Nutch Summarizer (org.apache.nutch.searcher.Summarizer)
+2009-04-09 13:42:15,061 INFO  PluginRepository - 	Nutch Protocol (org.apache.nutch.protocol.Protocol)
+2009-04-09 13:42:15,061 INFO  PluginRepository - 	Nutch Analysis (org.apache.nutch.analysis.NutchAnalyzer)
+2009-04-09 13:42:15,061 INFO  PluginRepository - 	Nutch Field Filter (org.apache.nutch.indexer.field.FieldFilter)
+2009-04-09 13:42:15,061 INFO  PluginRepository - 	HTML Parse Filter (org.apache.nutch.parse.HtmlParseFilter)
+2009-04-09 13:42:15,061 INFO  PluginRepository - 	Nutch Query Filter (org.apache.nutch.searcher.QueryFilter)
+2009-04-09 13:42:15,061 INFO  PluginRepository - 	Nutch Search Results Response Writer (org.apache.nutch.searcher.response.ResponseWriter)
+2009-04-09 13:42:15,061 INFO  PluginRepository - 	Nutch URL Normalizer (org.apache.nutch.net.URLNormalizer)
+2009-04-09 13:42:15,061 INFO  PluginRepository - 	Nutch URL Filter (org.apache.nutch.net.URLFilter)
+2009-04-09 13:42:15,061 INFO  PluginRepository - 	Nutch Online Search Results Clustering Plugin (org.apache.nutch.clustering.OnlineClusterer)
+2009-04-09 13:42:15,061 INFO  PluginRepository - 	Nutch Indexing Filter (org.apache.nutch.indexer.IndexingFilter)
+2009-04-09 13:42:15,061 INFO  PluginRepository - 	Nutch Content Parser (org.apache.nutch.parse.Parser)
+2009-04-09 13:42:15,061 INFO  PluginRepository - 	Nutch Scoring (org.apache.nutch.scoring.ScoringFilter)
+2009-04-09 13:42:15,061 INFO  PluginRepository - 	Ontology Model Loader (org.apache.nutch.ontology.Ontology)
+2009-04-09 13:42:15,103 INFO  Configuration - found resource common-terms.utf8 at file:/opt/tomcat/webapps/ROOT/WEB-INF/classes/common-terms.utf8
+2009-04-09 13:42:15,125 INFO  SummarizerFactory - Using the first summarizer extension found: Basic Summarizer
+2009/4/9 下午 01:42:15 org.apache.coyote.http11.Http11Protocol start
+資訊: Starting Coyote HTTP/1.1 on http-8080
+2009/4/9 下午 01:42:15 org.apache.jk.common.ChannelSocket init
+資訊: JK: ajp13 listening on /0.0.0.0:8009
+2009/4/9 下午 01:42:15 org.apache.jk.server.JkMain start
+資訊: Jk running ID=0 time=0/21  config=null
+2009/4/9 下午 01:42:15 org.apache.catalina.startup.Catalina start
+資訊: Server startup in 1483 ms
+2009-04-09 13:42:19,574 INFO  NutchBean - query request from 140.110.141.129
+2009-04-09 13:42:19,588 INFO  NutchBean - query: 人
+2009-04-09 13:42:19,588 INFO  NutchBean - lang: zh
+2009-04-09 13:42:19,642 INFO  NutchBean - searching for 20 raw hits
+2009-04-09 13:42:19,683 INFO  NutchBean - re-searching for 40 raw hits, query: 人 -site:"www2.nchc.org.tw"
+2009-04-09 13:42:19,688 INFO  NutchBean - found 24 raw hits
+2009-04-09 13:42:19,757 WARN  NativeCodeLoader - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
+2009-04-09 13:42:19,758 INFO  CodecPool - Got brand-new decompressor
+2009-04-09 13:42:19,760 INFO  CodecPool - Got brand-new decompressor
+2009-04-09 13:42:19,762 INFO  CodecPool - Got brand-new decompressor
+2009-04-09 13:42:19,763 INFO  CodecPool - Got brand-new decompressor
+2009-04-09 13:42:19,763 INFO  CodecPool - Got brand-new decompressor
+2009-04-09 13:42:19,763 INFO  CodecPool - Got brand-new decompressor
+2009-04-09 13:42:19,763 INFO  CodecPool - Got brand-new decompressor
+2009-04-09 13:42:19,763 INFO  CodecPool - Got brand-new decompressor
+2009-04-09 13:42:19,763 INFO  CodecPool - Got brand-new decompressor
+2009-04-09 13:42:19,763 INFO  CodecPool - Got brand-new decompressor
+2009-04-09 13:42:19,763 INFO  CodecPool - Got brand-new decompressor
+2009-04-09 13:42:19,856 INFO  NutchBean - total hits: 196
+2009-04-09 13:42:40,387 INFO  NutchBean - query request from 140.110.141.129
+2009-04-09 13:42:40,388 INFO  NutchBean - query: nchc
+2009-04-09 13:42:40,388 INFO  NutchBean - lang: zh
+2009-04-09 13:42:40,390 INFO  NutchBean - searching for 20 raw hits
+2009-04-09 13:42:40,395 INFO  NutchBean - re-searching for 40 raw hits, query: nchc -site:"www2.nchc.org.tw"
+2009-04-09 13:42:40,399 INFO  NutchBean - found 78 raw hits
+2009-04-09 13:42:40,426 INFO  NutchBean - total hits: 482
+2009-04-09 13:42:57,479 INFO  NutchBean - query request from 140.110.141.129
+2009-04-09 13:42:57,479 INFO  NutchBean - query: nchc
+2009-04-09 13:42:57,479 INFO  NutchBean - lang: zh
+2009-04-09 13:42:57,480 INFO  NutchBean - searching for 40 raw hits
+2009-04-09 13:42:57,483 INFO  NutchBean - re-searching for 80 raw hits, query: nchc -site:"www2.nchc.org.tw"
+2009-04-09 13:42:57,486 INFO  NutchBean - found 78 raw hits
+2009-04-09 13:42:57,500 INFO  NutchBean - total hits: 482
+2009-04-09 13:43:12,358 INFO  NutchBean - query request from 140.110.141.129
+2009-04-09 13:43:12,358 INFO  NutchBean - query: 智慧
+2009-04-09 13:43:12,358 INFO  NutchBean - lang: zh
+2009-04-09 13:43:12,359 INFO  NutchBean - searching for 20 raw hits
+2009-04-09 13:43:12,379 INFO  NutchBean - total hits: 20
+2009-04-09 13:44:06,754 INFO  NutchBean - query request from 140.110.141.129
+2009-04-09 13:44:06,754 INFO  NutchBean - query: qms
+2009-04-09 13:44:06,754 INFO  NutchBean - lang: zh
+2009-04-09 13:44:06,755 INFO  NutchBean - searching for 20 raw hits
+2009-04-09 13:44:06,771 INFO  NutchBean - total hits: 7
+2009-04-09 13:44:36,904 INFO  NutchBean - query request from 140.110.141.129
+2009-04-09 13:44:36,904 INFO  NutchBean - query: 影片撥放軟體
+2009-04-09 13:44:36,904 INFO  NutchBean - lang: zh
+2009-04-09 13:44:36,905 INFO  NutchBean - searching for 20 raw hits
+2009-04-09 13:44:36,920 INFO  NutchBean - total hits: 2
+2009-04-13 13:31:49,902 INFO  NutchBean - cache request from 140.110.141.129
+2009/4/13 下午 04:55:11 org.apache.coyote.http11.Http11Protocol pause
+資訊: Pausing Coyote HTTP/1.1 on http-8080
+2009/4/13 下午 04:55:12 org.apache.catalina.core.StandardService stop
+資訊: Stopping service Catalina
+2009/4/13 下午 04:55:13 org.apache.coyote.http11.Http11Protocol destroy
+資訊: Stopping Coyote HTTP/1.1 on http-8080
+2009/5/13 下午 04:47:36 org.apache.catalina.core.AprLifecycleListener init
+資訊: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/lib/jvm/java-6-sun-1.6.0.07/jre/lib/i386/client:/usr/lib/jvm/java-6-sun-1.6.0.07/jre/lib/i386:/usr/lib/jvm/java-6-sun-1.6.0.07/jre/../lib/i386:/usr/java/packages/lib/i386:/lib:/usr/lib
+2009/5/13 下午 04:47:36 org.apache.coyote.http11.Http11Protocol init
+資訊: Initializing Coyote HTTP/1.1 on http-8080
+2009/5/13 下午 04:47:36 org.apache.catalina.startup.Catalina load
+資訊: Initialization processed in 519 ms
+2009/5/13 下午 04:47:36 org.apache.catalina.core.StandardService start
+資訊: Starting service Catalina
+2009/5/13 下午 04:47:36 org.apache.catalina.core.StandardEngine start
+資訊: Starting Servlet Engine: Apache Tomcat/6.0.18
+2009-05-13 16:47:37,501 INFO  NutchBean - creating new bean
+2009-05-13 16:47:37,676 INFO  SearchBean - opening indexes in /opt/nutch/search/indexes
+2009-05-13 16:47:37,722 INFO  PluginRepository - Plugins: looking in: /opt/test/nutch-1.0/tomcat/webapps/ROOT/WEB-INF/classes/plugins
+2009-05-13 16:47:37,832 INFO  PluginRepository - Plugin Auto-activation mode: [true]
+2009-05-13 16:47:37,832 INFO  PluginRepository - Registered Plugins:
+2009-05-13 16:47:37,832 INFO  PluginRepository - 	the nutch core extension points (nutch-extensionpoints)
+2009-05-13 16:47:37,832 INFO  PluginRepository - 	Basic Query Filter (query-basic)
+2009-05-13 16:47:37,832 INFO  PluginRepository - 	Basic URL Normalizer (urlnormalizer-basic)
+2009-05-13 16:47:37,832 INFO  PluginRepository - 	Basic Indexing Filter (index-basic)
+2009-05-13 16:47:37,832 INFO  PluginRepository - 	Html Parse Plug-in (parse-html)
+2009-05-13 16:47:37,832 INFO  PluginRepository - 	Site Query Filter (query-site)
+2009-05-13 16:47:37,832 INFO  PluginRepository - 	Basic Summarizer Plug-in (summary-basic)
+2009-05-13 16:47:37,832 INFO  PluginRepository - 	HTTP Framework (lib-http)
+2009-05-13 16:47:37,832 INFO  PluginRepository - 	Text Parse Plug-in (parse-text)
+2009-05-13 16:47:37,832 INFO  PluginRepository - 	Pass-through URL Normalizer (urlnormalizer-pass)
+2009-05-13 16:47:37,832 INFO  PluginRepository - 	Regex URL Filter (urlfilter-regex)
+2009-05-13 16:47:37,832 INFO  PluginRepository - 	Http Protocol Plug-in (protocol-http)
+2009-05-13 16:47:37,832 INFO  PluginRepository - 	XML Response Writer Plug-in (response-xml)
+2009-05-13 16:47:37,832 INFO  PluginRepository - 	Regex URL Normalizer (urlnormalizer-regex)
+2009-05-13 16:47:37,832 INFO  PluginRepository - 	OPIC Scoring Plug-in (scoring-opic)
+2009-05-13 16:47:37,833 INFO  PluginRepository - 	CyberNeko HTML Parser (lib-nekohtml)
+2009-05-13 16:47:37,833 INFO  PluginRepository - 	Anchor Indexing Filter (index-anchor)
+2009-05-13 16:47:37,833 INFO  PluginRepository - 	JavaScript Parser (parse-js)
+2009-05-13 16:47:37,833 INFO  PluginRepository - 	URL Query Filter (query-url)
+2009-05-13 16:47:37,833 INFO  PluginRepository - 	Regex URL Filter Framework (lib-regex-filter)
+2009-05-13 16:47:37,833 INFO  PluginRepository - 	JSON Response Writer Plug-in (response-json)
+2009-05-13 16:47:37,833 INFO  PluginRepository - Registered Extension-Points:
+2009-05-13 16:47:37,833 INFO  PluginRepository - 	Nutch Summarizer (org.apache.nutch.searcher.Summarizer)
+2009-05-13 16:47:37,833 INFO  PluginRepository - 	Nutch Protocol (org.apache.nutch.protocol.Protocol)
+2009-05-13 16:47:37,833 INFO  PluginRepository - 	Nutch Analysis (org.apache.nutch.analysis.NutchAnalyzer)
+2009-05-13 16:47:37,833 INFO  PluginRepository - 	Nutch Field Filter (org.apache.nutch.indexer.field.FieldFilter)
+2009-05-13 16:47:37,833 INFO  PluginRepository - 	HTML Parse Filter (org.apache.nutch.parse.HtmlParseFilter)
+2009-05-13 16:47:37,833 INFO  PluginRepository - 	Nutch Query Filter (org.apache.nutch.searcher.QueryFilter)
+2009-05-13 16:47:37,833 INFO  PluginRepository - 	Nutch Search Results Response Writer (org.apache.nutch.searcher.response.ResponseWriter)
+2009-05-13 16:47:37,833 INFO  PluginRepository - 	Nutch URL Normalizer (org.apache.nutch.net.URLNormalizer)
+2009-05-13 16:47:37,833 INFO  PluginRepository - 	Nutch URL Filter (org.apache.nutch.net.URLFilter)
+2009-05-13 16:47:37,833 INFO  PluginRepository - 	Nutch Online Search Results Clustering Plugin (org.apache.nutch.clustering.OnlineClusterer)
+2009-05-13 16:47:37,833 INFO  PluginRepository - 	Nutch Indexing Filter (org.apache.nutch.indexer.IndexingFilter)
+2009-05-13 16:47:37,833 INFO  PluginRepository - 	Nutch Content Parser (org.apache.nutch.parse.Parser)
+2009-05-13 16:47:37,833 INFO  PluginRepository - 	Nutch Scoring (org.apache.nutch.scoring.ScoringFilter)
+2009-05-13 16:47:37,833 INFO  PluginRepository - 	Ontology Model Loader (org.apache.nutch.ontology.Ontology)
+2009-05-13 16:47:37,851 INFO  Configuration - found resource common-terms.utf8 at file:/opt/test/nutch-1.0/tomcat/webapps/ROOT/WEB-INF/classes/common-terms.utf8
+2009-05-13 16:47:37,874 INFO  SummarizerFactory - Using the first summarizer extension found: Basic Summarizer
+2009/5/13 下午 04:47:38 org.apache.coyote.http11.Http11Protocol start
+資訊: Starting Coyote HTTP/1.1 on http-8080
+2009/5/13 下午 04:47:38 org.apache.jk.common.ChannelSocket init
+資訊: JK: ajp13 listening on /0.0.0.0:8009
+2009/5/13 下午 04:47:38 org.apache.jk.server.JkMain start
+資訊: Jk running ID=0 time=0/33  config=null
+2009/5/13 下午 04:47:38 org.apache.catalina.startup.Catalina start
+資訊: Server startup in 1410 ms
+2009/5/13 下午 04:47:52 org.apache.coyote.http11.Http11Protocol pause
+資訊: Pausing Coyote HTTP/1.1 on http-8080
+2009/5/13 下午 04:47:53 org.apache.catalina.core.StandardService stop
+資訊: Stopping service Catalina
+2009/5/13 下午 04:47:53 org.apache.coyote.http11.Http11Protocol destroy
+資訊: Stopping Coyote HTTP/1.1 on http-8080
+2009/5/13 下午 05:04:37 org.apache.catalina.loader.WebappClassLoader loadClass
+資訊: Illegal access: this web application instance has been stopped already.  Could not load org.apache.hadoop.fs.permission.FsPermission$2.  The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.
+java.lang.IllegalStateException
+	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1273)
+	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
+	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
+	at org.apache.hadoop.fs.FileStatus.<init>(FileStatus.java:63)
+	at org.apache.hadoop.fs.FileStatus.<init>(FileStatus.java:49)
+	at org.apache.hadoop.fs.RawLocalFileSystem$RawLocalFileStatus.<init>(RawLocalFileSystem.java:434)
+	at org.apache.hadoop.fs.RawLocalFileSystem.getFileStatus(RawLocalFileSystem.java:418)
+	at org.apache.hadoop.fs.RawLocalFileSystem.listStatus(RawLocalFileSystem.java:297)
+	at org.apache.hadoop.fs.FileSystem.listStatus(FileSystem.java:723)
+	at org.apache.hadoop.fs.FileSystem.listStatus(FileSystem.java:748)
+	at org.apache.hadoop.fs.ChecksumFileSystem.listStatus(ChecksumFileSystem.java:457)
+	at org.apache.hadoop.fs.FileSystem.listStatus(FileSystem.java:723)
+	at org.apache.hadoop.fs.FileSystem.listStatus(FileSystem.java:748)
+	at org.apache.nutch.searcher.FetchedSegments$SegmentUpdater.run(FetchedSegments.java:73)
+Exception in thread "Thread-4" java.lang.NoClassDefFoundError: org/apache/hadoop/fs/permission/FsPermission$2
+	at org.apache.hadoop.fs.FileStatus.<init>(FileStatus.java:63)
+	at org.apache.hadoop.fs.FileStatus.<init>(FileStatus.java:49)
+	at org.apache.hadoop.fs.RawLocalFileSystem$RawLocalFileStatus.<init>(RawLocalFileSystem.java:434)
+	at org.apache.hadoop.fs.RawLocalFileSystem.getFileStatus(RawLocalFileSystem.java:418)
+	at org.apache.hadoop.fs.RawLocalFileSystem.listStatus(RawLocalFileSystem.java:297)
+	at org.apache.hadoop.fs.FileSystem.listStatus(FileSystem.java:723)
+	at org.apache.hadoop.fs.FileSystem.listStatus(FileSystem.java:748)
+	at org.apache.hadoop.fs.ChecksumFileSystem.listStatus(ChecksumFileSystem.java:457)
+	at org.apache.hadoop.fs.FileSystem.listStatus(FileSystem.java:723)
+	at org.apache.hadoop.fs.FileSystem.listStatus(FileSystem.java:748)
+	at org.apache.nutch.searcher.FetchedSegments$SegmentUpdater.run(FetchedSegments.java:73)
+Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.fs.permission.FsPermission$2
+	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
+	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
+	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
+	... 11 more
Index: /nutchez-0.1/tomcat/logs/localhost.2009-04-06.log
===================================================================
--- /nutchez-0.1/tomcat/logs/localhost.2009-04-06.log	(revision 66)
+++ /nutchez-0.1/tomcat/logs/localhost.2009-04-06.log	(revision 66)
@@ -0,0 +1,4 @@
+2009/4/6 下午 06:31:23 org.apache.catalina.core.ApplicationContext log
+資訊: ContextListener: contextInitialized()
+2009/4/6 下午 06:31:23 org.apache.catalina.core.ApplicationContext log
+資訊: SessionListener: contextInitialized()
Index: /nutchez-0.1/tomcat/logs/localhost.2009-04-07.log
===================================================================
--- /nutchez-0.1/tomcat/logs/localhost.2009-04-07.log	(revision 66)
+++ /nutchez-0.1/tomcat/logs/localhost.2009-04-07.log	(revision 66)
@@ -0,0 +1,16 @@
+2009/4/7 上午 11:24:03 org.apache.catalina.core.ApplicationContext log
+資訊: SessionListener: contextDestroyed()
+2009/4/7 上午 11:24:03 org.apache.catalina.core.ApplicationContext log
+資訊: ContextListener: contextDestroyed()
+2009/4/7 上午 11:24:09 org.apache.catalina.core.ApplicationContext log
+資訊: ContextListener: contextInitialized()
+2009/4/7 上午 11:24:09 org.apache.catalina.core.ApplicationContext log
+資訊: SessionListener: contextInitialized()
+2009/4/7 下午 03:16:26 org.apache.catalina.core.ApplicationContext log
+資訊: SessionListener: contextDestroyed()
+2009/4/7 下午 03:16:26 org.apache.catalina.core.ApplicationContext log
+資訊: ContextListener: contextDestroyed()
+2009/4/7 下午 05:16:03 org.apache.catalina.core.ApplicationContext log
+資訊: ContextListener: contextInitialized()
+2009/4/7 下午 05:16:03 org.apache.catalina.core.ApplicationContext log
+資訊: SessionListener: contextInitialized()
Index: /nutchez-0.1/tomcat/logs/localhost.2009-04-08.log
===================================================================
--- /nutchez-0.1/tomcat/logs/localhost.2009-04-08.log	(revision 66)
+++ /nutchez-0.1/tomcat/logs/localhost.2009-04-08.log	(revision 66)
@@ -0,0 +1,261 @@
+2009/4/8 上午 09:06:58 org.apache.catalina.core.StandardWrapperValve invoke
+嚴重的: Servlet.service() for servlet jsp threw exception
+java.lang.NullPointerException
+	at org.apache.nutch.searcher.FetchedSegments.getSummary(FetchedSegments.java:248)
+	at org.apache.nutch.searcher.FetchedSegments$SummaryTask.call(FetchedSegments.java:63)
+	at org.apache.nutch.searcher.FetchedSegments$SummaryTask.call(FetchedSegments.java:53)
+	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
+	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
+	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
+	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
+	at java.lang.Thread.run(Thread.java:619)
+2009/4/8 上午 09:07:10 org.apache.catalina.core.StandardWrapperValve invoke
+嚴重的: Servlet.service() for servlet jsp threw exception
+java.lang.NullPointerException
+	at org.apache.nutch.searcher.FetchedSegments.getSummary(FetchedSegments.java:248)
+	at org.apache.nutch.searcher.FetchedSegments$SummaryTask.call(FetchedSegments.java:63)
+	at org.apache.nutch.searcher.FetchedSegments$SummaryTask.call(FetchedSegments.java:53)
+	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
+	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
+	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
+	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
+	at java.lang.Thread.run(Thread.java:619)
+2009/4/8 上午 09:07:10 org.apache.catalina.core.StandardWrapperValve invoke
+嚴重的: Servlet.service() for servlet jsp threw exception
+java.lang.NullPointerException
+	at org.apache.nutch.searcher.FetchedSegments.getSummary(FetchedSegments.java:248)
+	at org.apache.nutch.searcher.FetchedSegments$SummaryTask.call(FetchedSegments.java:63)
+	at org.apache.nutch.searcher.FetchedSegments$SummaryTask.call(FetchedSegments.java:53)
+	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
+	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
+	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
+	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
+	at java.lang.Thread.run(Thread.java:619)
+2009/4/8 上午 09:07:11 org.apache.catalina.core.StandardWrapperValve invoke
+嚴重的: Servlet.service() for servlet jsp threw exception
+java.lang.NullPointerException
+	at org.apache.nutch.searcher.FetchedSegments.getSummary(FetchedSegments.java:248)
+	at org.apache.nutch.searcher.FetchedSegments$SummaryTask.call(FetchedSegments.java:63)
+	at org.apache.nutch.searcher.FetchedSegments$SummaryTask.call(FetchedSegments.java:53)
+	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
+	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
+	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
+	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
+	at java.lang.Thread.run(Thread.java:619)
+2009/4/8 上午 09:07:11 org.apache.catalina.core.StandardWrapperValve invoke
+嚴重的: Servlet.service() for servlet jsp threw exception
+java.lang.NullPointerException
+	at org.apache.nutch.searcher.FetchedSegments.getSummary(FetchedSegments.java:248)
+	at org.apache.nutch.searcher.FetchedSegments$SummaryTask.call(FetchedSegments.java:63)
+	at org.apache.nutch.searcher.FetchedSegments$SummaryTask.call(FetchedSegments.java:53)
+	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
+	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
+	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
+	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
+	at java.lang.Thread.run(Thread.java:619)
+2009/4/8 上午 09:07:11 org.apache.catalina.core.StandardWrapperValve invoke
+嚴重的: Servlet.service() for servlet jsp threw exception
+java.lang.NullPointerException
+	at org.apache.nutch.searcher.FetchedSegments.getSummary(FetchedSegments.java:248)
+	at org.apache.nutch.searcher.FetchedSegments$SummaryTask.call(FetchedSegments.java:63)
+	at org.apache.nutch.searcher.FetchedSegments$SummaryTask.call(FetchedSegments.java:53)
+	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
+	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
+	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
+	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
+	at java.lang.Thread.run(Thread.java:619)
+2009/4/8 上午 09:07:19 org.apache.catalina.core.StandardWrapperValve invoke
+嚴重的: Servlet.service() for servlet jsp threw exception
+java.lang.NullPointerException
+	at org.apache.nutch.searcher.FetchedSegments.getSummary(FetchedSegments.java:248)
+	at org.apache.nutch.searcher.FetchedSegments$SummaryTask.call(FetchedSegments.java:63)
+	at org.apache.nutch.searcher.FetchedSegments$SummaryTask.call(FetchedSegments.java:53)
+	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
+	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
+	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
+	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
+	at java.lang.Thread.run(Thread.java:619)
+2009/4/8 下午 05:25:38 org.apache.catalina.core.StandardWrapperValve invoke
+嚴重的: Servlet.service() for servlet jsp threw exception
+java.lang.NullPointerException
+	at org.apache.nutch.searcher.FetchedSegments.getSummary(FetchedSegments.java:248)
+	at org.apache.nutch.searcher.FetchedSegments$SummaryTask.call(FetchedSegments.java:63)
+	at org.apache.nutch.searcher.FetchedSegments$SummaryTask.call(FetchedSegments.java:53)
+	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
+	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
+	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
+	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
+	at java.lang.Thread.run(Thread.java:619)
+2009/4/8 下午 05:25:44 org.apache.catalina.core.StandardWrapperValve invoke
+嚴重的: Servlet.service() for servlet jsp threw exception
+java.lang.NullPointerException
+	at org.apache.nutch.searcher.FetchedSegments.getSummary(FetchedSegments.java:248)
+	at org.apache.nutch.searcher.FetchedSegments$SummaryTask.call(FetchedSegments.java:63)
+	at org.apache.nutch.searcher.FetchedSegments$SummaryTask.call(FetchedSegments.java:53)
+	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
+	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
+	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
+	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
+	at java.lang.Thread.run(Thread.java:619)
+2009/4/8 下午 05:26:02 org.apache.catalina.core.StandardWrapperValve invoke
+嚴重的: Servlet.service() for servlet jsp threw exception
+java.lang.NullPointerException
+	at org.apache.nutch.searcher.FetchedSegments.getSummary(FetchedSegments.java:248)
+	at org.apache.nutch.searcher.FetchedSegments$SummaryTask.call(FetchedSegments.java:63)
+	at org.apache.nutch.searcher.FetchedSegments$SummaryTask.call(FetchedSegments.java:53)
+	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
+	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
+	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
+	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
+	at java.lang.Thread.run(Thread.java:619)
+2009/4/8 下午 05:26:02 org.apache.catalina.core.StandardWrapperValve invoke
+嚴重的: Servlet.service() for servlet jsp threw exception
+java.lang.NullPointerException
+	at org.apache.nutch.searcher.FetchedSegments.getSummary(FetchedSegments.java:248)
+	at org.apache.nutch.searcher.FetchedSegments$SummaryTask.call(FetchedSegments.java:63)
+	at org.apache.nutch.searcher.FetchedSegments$SummaryTask.call(FetchedSegments.java:53)
+	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
+	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
+	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
+	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
+	at java.lang.Thread.run(Thread.java:619)
+2009/4/8 下午 05:26:02 org.apache.catalina.core.StandardWrapperValve invoke
+嚴重的: Servlet.service() for servlet jsp threw exception
+java.lang.NullPointerException
+	at org.apache.nutch.searcher.FetchedSegments.getSummary(FetchedSegments.java:248)
+	at org.apache.nutch.searcher.FetchedSegments$SummaryTask.call(FetchedSegments.java:63)
+	at org.apache.nutch.searcher.FetchedSegments$SummaryTask.call(FetchedSegments.java:53)
+	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
+	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
+	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
+	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
+	at java.lang.Thread.run(Thread.java:619)
+2009/4/8 下午 05:26:03 org.apache.catalina.core.StandardWrapperValve invoke
+嚴重的: Servlet.service() for servlet jsp threw exception
+java.lang.NullPointerException
+	at org.apache.nutch.searcher.FetchedSegments.getSummary(FetchedSegments.java:248)
+	at org.apache.nutch.searcher.FetchedSegments$SummaryTask.call(FetchedSegments.java:63)
+	at org.apache.nutch.searcher.FetchedSegments$SummaryTask.call(FetchedSegments.java:53)
+	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
+	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
+	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
+	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
+	at java.lang.Thread.run(Thread.java:619)
+2009/4/8 下午 05:26:03 org.apache.catalina.core.StandardWrapperValve invoke
+嚴重的: Servlet.service() for servlet jsp threw exception
+java.lang.NullPointerException
+	at org.apache.nutch.searcher.FetchedSegments.getSummary(FetchedSegments.java:248)
+	at org.apache.nutch.searcher.FetchedSegments$SummaryTask.call(FetchedSegments.java:63)
+	at org.apache.nutch.searcher.FetchedSegments$SummaryTask.call(FetchedSegments.java:53)
+	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
+	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
+	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
+	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
+	at java.lang.Thread.run(Thread.java:619)
+2009/4/8 下午 06:11:34 org.apache.catalina.core.StandardWrapperValve invoke
+嚴重的: Servlet.service() for servlet jsp threw exception
+java.lang.NullPointerException
+	at org.apache.nutch.searcher.FetchedSegments.getSummary(FetchedSegments.java:248)
+	at org.apache.nutch.searcher.FetchedSegments$SummaryTask.call(FetchedSegments.java:63)
+	at org.apache.nutch.searcher.FetchedSegments$SummaryTask.call(FetchedSegments.java:53)
+	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
+	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
+	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
+	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
+	at java.lang.Thread.run(Thread.java:619)
+2009/4/8 下午 06:14:01 org.apache.catalina.core.ApplicationContext log
+資訊: ContextListener: contextInitialized()
+2009/4/8 下午 06:14:01 org.apache.catalina.core.ApplicationContext log
+資訊: SessionListener: contextInitialized()
+2009/4/8 下午 06:14:03 org.apache.catalina.core.ApplicationContext log
+資訊: SessionListener: contextDestroyed()
+2009/4/8 下午 06:14:03 org.apache.catalina.core.ApplicationContext log
+資訊: ContextListener: contextDestroyed()
+2009/4/8 下午 06:14:08 org.apache.catalina.core.ApplicationContext log
+資訊: SessionListener: contextDestroyed()
+2009/4/8 下午 06:14:08 org.apache.catalina.core.ApplicationContext log
+資訊: ContextListener: contextDestroyed()
+2009/4/8 下午 06:14:13 org.apache.catalina.core.ApplicationContext log
+資訊: ContextListener: contextInitialized()
+2009/4/8 下午 06:14:13 org.apache.catalina.core.ApplicationContext log
+資訊: SessionListener: contextInitialized()
+2009/4/8 下午 06:15:06 org.apache.catalina.core.StandardWrapperValve invoke
+嚴重的: Servlet.service() for servlet jsp threw exception
+org.apache.jasper.JasperException: /text.jsp(60,29) Attribute value details.getValue("url") is quoted with " which must be escaped when used within the value
+	at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
+	at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
+	at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:198)
+	at org.apache.jasper.compiler.Parser.parseQuoted(Parser.java:301)
+	at org.apache.jasper.compiler.Parser.parseAttributeValue(Parser.java:250)
+	at org.apache.jasper.compiler.Parser.parseAttribute(Parser.java:212)
+	at org.apache.jasper.compiler.Parser.parseAttributes(Parser.java:155)
+	at org.apache.jasper.compiler.Parser.parseCustomTag(Parser.java:1252)
+	at org.apache.jasper.compiler.Parser.parseElements(Parser.java:1467)
+	at org.apache.jasper.compiler.Parser.parseBody(Parser.java:1675)
+	at org.apache.jasper.compiler.Parser.parseOptionalBody(Parser.java:1022)
+	at org.apache.jasper.compiler.Parser.parseCustomTag(Parser.java:1290)
+	at org.apache.jasper.compiler.Parser.parseElements(Parser.java:1467)
+	at org.apache.jasper.compiler.Parser.parse(Parser.java:138)
+	at org.apache.jasper.compiler.ParserController.doParse(ParserController.java:216)
+	at org.apache.jasper.compiler.ParserController.parse(ParserController.java:103)
+	at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:154)
+	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:315)
+	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:295)
+	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:282)
+	at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586)
+	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
+	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
+	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
+	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
+	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
+	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
+	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
+	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
+	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
+	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
+	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
+	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
+	at java.lang.Thread.run(Thread.java:619)
+2009/4/8 下午 06:20:56 org.apache.catalina.core.StandardWrapperValve invoke
+嚴重的: Servlet.service() for servlet jsp threw exception
+org.apache.jasper.JasperException: /text.jsp(60,29) Attribute value details.getValue("url") is quoted with " which must be escaped when used within the value
+	at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
+	at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
+	at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:198)
+	at org.apache.jasper.compiler.Parser.parseQuoted(Parser.java:301)
+	at org.apache.jasper.compiler.Parser.parseAttributeValue(Parser.java:250)
+	at org.apache.jasper.compiler.Parser.parseAttribute(Parser.java:212)
+	at org.apache.jasper.compiler.Parser.parseAttributes(Parser.java:155)
+	at org.apache.jasper.compiler.Parser.parseCustomTag(Parser.java:1252)
+	at org.apache.jasper.compiler.Parser.parseElements(Parser.java:1467)
+	at org.apache.jasper.compiler.Parser.parseBody(Parser.java:1675)
+	at org.apache.jasper.compiler.Parser.parseOptionalBody(Parser.java:1022)
+	at org.apache.jasper.compiler.Parser.parseCustomTag(Parser.java:1290)
+	at org.apache.jasper.compiler.Parser.parseElements(Parser.java:1467)
+	at org.apache.jasper.compiler.Parser.parse(Parser.java:138)
+	at org.apache.jasper.compiler.ParserController.doParse(ParserController.java:216)
+	at org.apache.jasper.compiler.ParserController.parse(ParserController.java:103)
+	at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:154)
+	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:315)
+	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:295)
+	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:282)
+	at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586)
+	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
+	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
+	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
+	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
+	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
+	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
+	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
+	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
+	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
+	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
+	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
+	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
+	at java.lang.Thread.run(Thread.java:619)
Index: /nutchez-0.1/tomcat/logs/localhost.2009-04-09.log
===================================================================
--- /nutchez-0.1/tomcat/logs/localhost.2009-04-09.log	(revision 66)
+++ /nutchez-0.1/tomcat/logs/localhost.2009-04-09.log	(revision 66)
@@ -0,0 +1,8 @@
+2009/4/9 下午 01:42:10 org.apache.catalina.core.ApplicationContext log
+資訊: SessionListener: contextDestroyed()
+2009/4/9 下午 01:42:10 org.apache.catalina.core.ApplicationContext log
+資訊: ContextListener: contextDestroyed()
+2009/4/9 下午 01:42:14 org.apache.catalina.core.ApplicationContext log
+資訊: ContextListener: contextInitialized()
+2009/4/9 下午 01:42:14 org.apache.catalina.core.ApplicationContext log
+資訊: SessionListener: contextInitialized()
Index: /nutchez-0.1/tomcat/logs/localhost.2009-04-13.log
===================================================================
--- /nutchez-0.1/tomcat/logs/localhost.2009-04-13.log	(revision 66)
+++ /nutchez-0.1/tomcat/logs/localhost.2009-04-13.log	(revision 66)
@@ -0,0 +1,4 @@
+2009/4/13 下午 04:55:13 org.apache.catalina.core.ApplicationContext log
+資訊: SessionListener: contextDestroyed()
+2009/4/13 下午 04:55:13 org.apache.catalina.core.ApplicationContext log
+資訊: ContextListener: contextDestroyed()
Index: /nutchez-0.1/tomcat/logs/localhost.2009-05-13.log
===================================================================
--- /nutchez-0.1/tomcat/logs/localhost.2009-05-13.log	(revision 66)
+++ /nutchez-0.1/tomcat/logs/localhost.2009-05-13.log	(revision 66)
@@ -0,0 +1,8 @@
+2009/5/13 下午 04:47:37 org.apache.catalina.core.ApplicationContext log
+資訊: ContextListener: contextInitialized()
+2009/5/13 下午 04:47:37 org.apache.catalina.core.ApplicationContext log
+資訊: SessionListener: contextInitialized()
+2009/5/13 下午 04:47:53 org.apache.catalina.core.ApplicationContext log
+資訊: SessionListener: contextDestroyed()
+2009/5/13 下午 04:47:53 org.apache.catalina.core.ApplicationContext log
+資訊: ContextListener: contextDestroyed()
Index: /nutchez-0.1/tomcat/webapps/ROOT/META-INF/MANIFEST.MF
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/META-INF/MANIFEST.MF	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/META-INF/MANIFEST.MF	(revision 66)
@@ -0,0 +1,4 @@
+Manifest-Version: 1.0
+Ant-Version: Apache Ant 1.7.1
+Created-By: 11.2-b01 (Sun Microsystems Inc.)
+
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/automaton-urlfilter.txt
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/automaton-urlfilter.txt	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/automaton-urlfilter.txt	(revision 66)
@@ -0,0 +1,34 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# The default url filter.
+# Better for whole-internet crawling.
+
+# Each non-comment, non-blank line contains a regular expression
+# prefixed by '+' or '-'.  The first matching pattern in the file
+# determines whether a URL is included or ignored.  If no pattern
+# matches, the URL is ignored.
+
+# skip file: ftp: and mailto: urls
+-(file|ftp|mailto):.*
+
+# skip image and other suffixes we can't yet parse
+-.*\.(gif|GIF|jpg|JPG|ico|ICO|css|sit|eps|wmf|zip|ppt|mpg|xls|gz|rpm|tgz|mov|MOV|exe)
+
+# skip URLs containing certain characters as probable queries, etc.
+-.*[?*!@=].*
+
+# accept anything else
++.*
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/common-terms.utf8
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/common-terms.utf8	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/common-terms.utf8	(revision 66)
@@ -0,0 +1,28 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Common terms and phrases which will be indexed in n-grams
+# in order to optimize search.
+content:a
+content:and
+content:for
+content:in
+content:of
+content:the
+content:to
+url:com
+url:http
+url:http-www
+url:www
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/configuration.xsl
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/configuration.xsl	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/configuration.xsl	(revision 66)
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+<xsl:output method="html"/>
+<xsl:template match="configuration">
+<html>
+<body>
+<table border="1">
+<tr>
+ <td>name</td>
+ <td>value</td>
+ <td>description</td>
+</tr>
+<xsl:for-each select="property">
+<tr>
+  <td><a name="{name}"><xsl:value-of select="name"/></a></td>
+  <td><xsl:value-of select="value"/></td>
+  <td><xsl:value-of select="description"/></td>
+</tr>
+</xsl:for-each>
+</table>
+</body>
+</html>
+</xsl:template>
+</xsl:stylesheet>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/context.xsl
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/context.xsl	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/context.xsl	(revision 66)
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+	Licensed to the Apache Software Foundation (ASF) under one or more
+	contributor license agreements.  See the NOTICE file distributed with
+	this work for additional information regarding copyright ownership.
+	The ASF licenses this file to You under the Apache License, Version 2.0
+	(the "License"); you may not use this file except in compliance with
+	the License.  You may obtain a copy of the License at
+	
+	http://www.apache.org/licenses/LICENSE-2.0
+	
+	Unless required by applicable law or agreed to in writing, software
+	distributed under the License is distributed on an "AS IS" BASIS,
+	WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+	See the License for the specific language governing permissions and
+	limitations under the License.
+	
+	Author     : Chris Mattmann
+        Auhtor     : Jérôme Charron
+	Description: This xsl file is used to transform dynamic properties out of the
+	nutch-default.xml file into a deployable Context.xml file for configuring
+	the Nutch war file in a servlet container.
+-->
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+<xsl:template match="/">
+<Context path="/nutch" docBase="nutch-0.9-dev.war"
+        debug="5" reloadable="true" crossContext="true">
+
+<xsl:for-each select="configuration/property">
+
+<!-- "searcher." properties -->
+<xsl:call-template name="parameter">
+  <xsl:with-param name="property" select="current()"/>
+  <xsl:with-param name="filter" select="'searcher.'"/>
+</xsl:call-template>
+
+<!-- "plugin." properties -->
+<xsl:call-template name="parameter">
+  <xsl:with-param name="property" select="current()"/>
+  <xsl:with-param name="filter" select="'plugin.'"/>
+</xsl:call-template>
+
+<!-- "extension.clustering." properties -->
+<xsl:call-template name="parameter">
+  <xsl:with-param name="property" select="current()"/>
+  <xsl:with-param name="filter" select="'extension.clustering.'"/>
+</xsl:call-template>
+
+<!-- "extension.ontology." properties -->
+<xsl:call-template name="parameter">
+  <xsl:with-param name="property" select="current()"/>
+  <xsl:with-param name="filter" select="'extension.ontology.'"/>
+</xsl:call-template>
+
+<!-- "query." properties -->
+<xsl:call-template name="parameter">
+  <xsl:with-param name="property" select="current()"/>
+  <xsl:with-param name="filter" select="'query.'"/>
+</xsl:call-template>
+
+</xsl:for-each>
+
+</Context>
+</xsl:template>
+
+
+<!--
+ ! Template used to write out a parameter if the property's
+ ! name contains the specified filter string.
+ !-->
+<xsl:template name="parameter">
+  <xsl:param name="property"/>
+  <xsl:param name="filter"/>
+  <xsl:if test="contains(name, $filter)">
+  <Parameter override="false">
+    <xsl:attribute name="name">
+      <xsl:value-of select="name"/>
+    </xsl:attribute>
+    <xsl:attribute name="value">
+      <xsl:value-of select="value"/>
+    </xsl:attribute>
+  </Parameter>
+  </xsl:if>
+</xsl:template>
+
+</xsl:stylesheet> 
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/crawl-tool.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/crawl-tool.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/crawl-tool.xml	(revision 66)
@@ -0,0 +1,59 @@
+<?xml version="1.0" ?> 
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
+
+<!-- Overidden defaults for intranet use. -->
+
+<!-- Do not modify this file directly.  Instead, copy entries that you -->
+<!-- wish to modify from this file into nutch-site.xml and change them -->
+<!-- there.  If nutch-site.xml does not already exist, create it.      -->
+
+<configuration>
+
+<property>
+  <name>urlfilter.regex.file</name>
+  <value>crawl-urlfilter.txt</value>
+</property>
+
+<property>
+  <name>db.ignore.internal.links</name>
+  <value>false</value>
+  <description>If true, when adding new links to a page, links from
+  the same host are ignored.  This is an effective way to limit the
+  size of the link database, keeping the only the highest quality
+  links.
+  </description>
+</property>
+
+<property>
+  <name>fetcher.server.delay</name>
+  <value>1.0</value>
+  <description>The number of seconds the fetcher will delay between 
+   successive requests to the same server.</description>
+</property>
+
+<property>
+  <name>http.max.delays</name>
+  <value>1000</value>
+  <description>The number of times a thread will delay when trying to
+  fetch a page.  When using the crawl tool there are likely to be very
+  few different hosts, so we need to be willing to wait longer for
+  each.</description>
+</property>
+
+</configuration>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/crawl-urlfilter.txt
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/crawl-urlfilter.txt	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/crawl-urlfilter.txt	(revision 66)
@@ -0,0 +1,43 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
+# The url filter file used by the crawl command.
+
+# Better for intranet crawling.
+# Be sure to change MY.DOMAIN.NAME to your domain name.
+
+# Each non-comment, non-blank line contains a regular expression
+# prefixed by '+' or '-'.  The first matching pattern in the file
+# determines whether a URL is included or ignored.  If no pattern
+# matches, the URL is ignored.
+
+# skip file:, ftp:, & mailto: urls
+-^(file|ftp|mailto):
+
+# skip image and other suffixes we can't yet parse
+-\.(gif|GIF|jpg|JPG|png|PNG|ico|ICO|css|sit|eps|wmf|zip|ppt|mpg|xls|gz|rpm|tgz|mov|MOV|exe|jpeg|JPEG|bmp|BMP)$
+
+# skip URLs containing certain characters as probable queries, etc.
+-[?*!@=]
+
+# skip URLs with slash-delimited segment that repeats 3+ times, to break loops
+-.*(/[^/]+)/[^/]+\1/[^/]+\1/
+
+# accept hosts in MY.DOMAIN.NAME
++^http://([a-z0-9]*\.)*MY.DOMAIN.NAME/
+
+# skip everything else
+-.
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/custom-fields.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/custom-fields.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/custom-fields.xml	(revision 66)
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
+<properties>
+  <!--<entry key="field.name">lang</entry>
+  <entry key="field.indexed">yes</entry>
+  <entry key="field.stored">yes</entry>
+  <entry key="field.tokenized">no</entry>
+  <entry key="field.boost">1.0</entry>
+  <entry key="field.multi">false</entry>-->
+</properties>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/domain-suffixes.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/domain-suffixes.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/domain-suffixes.xml	(revision 66)
@@ -0,0 +1,4354 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!--
+  Document   : domain-suffixes.xml
+  Author     : Enis Soztutar - enis.soz.nutch@gmail.com
+  Description: This document contains top level domains 
+  as described by the Internet Assigned Numbers
+  Authotiry (IANA), and second or third level domains that 
+  are known to be managed by domain registerers. People at 
+  Mozilla community call these public suffixes or effective 
+  tlds. There is no algorithmic way of knowing whether a suffix 
+  is a public domain suffix, or not. So this large file is used 
+  for this purpose. The entries in the file is used to find the
+  domain of a url, which may not the same thing as the host of 
+  the url. For example for "http://lucene.apache.org/nutch" the 
+  hostname is lucene.apache.org, however the domain name for this
+  url would be apache.org. Domain names can be quite handy for 
+  statistical analysis, and fighting against spam.    
+  
+  The list of TLDs is constructed from IANA, and the 
+  list of "effective tlds" are constructed from Wikipedia, 
+  http://wiki.mozilla.org/TLD_List, and http://publicsuffix.org/
+  The list may not include all the suffixes, but some
+  effort has been spent to make it comprehensive. Please forward 
+  any improvements for this list to nutch-dev mailing list, or 
+  nutch JIRA. 
+  
+  Top level domains(tlds) are grouped
+  to three, namely infrastrusture, generic and country 
+  code tlds. Infrastrusture tlds are only used for 
+  technical reasons. Generic tlds represents the type 
+  of the organization that they represent. Those in 
+  current use and those waiting for approval is listed.
+  Most of the country code tlds correspond to the two 
+  letter ISO-3166-1 country codes. 
+  Each tld is listed with its domain (such as com), a 
+  status enumeration describing the status of the tld, 
+  and optionally a description or description for convenience.
+  cctlds are listed with additional country name field.
+  
+  status and boost elements are optional, with default values IN_USE 
+  and 1.0 respectively. see domain-suffixes.xsd for the xml schema.
+  
+  
+  References : 
+  http://www.iana.org
+  http://www.iana.org/gtld/gtld.htm
+  http://www.iana.org/root-whois/index.html
+  http://en.wikipedia.org/wiki/Top-level_domain
+  http://en.wikipedia.org/wiki/List_of_Internet_top-level_domains
+  http://wiki.mozilla.org/TLD_List
+  http://publicsuffix.org/
+  https://bugzilla.mozilla.org/show_bug.cgi?id=331510
+  http://www.neuhaus.com/domaincheck/domain_list.htm
+-->
+
+<domains xmlns="http://lucene.apache.org/nutch"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://lucene.apache.org/nutch domain-suffixes.xsd">
+
+  <tlds>
+    <!--  Infrastructure Top Level Domains -->
+    <itlds>
+      <tld domain="root">
+        <status>INFRASTRUCTURE</status>
+        <description>
+          (from http://en.wikipedia.org/wiki/.root)
+          vrsn-end-of-zone-marker-dummy-record.root is a domain name
+          listed in the DNS root zone as a diagnostic marker, whose
+          presence demonstrates the root zone was not truncated upon
+          loading by a root nameserver. It could be argued it represents
+          a top-level domain of .root, although technically no such
+          delegation exists.
+        </description>
+      </tld>
+
+      <tld domain="arpa">
+        <status>INFRASTRUCTURE</status>
+        <description>
+          (from http://en.wikipedia.org/wiki/.arpa) .arpa is an Internet
+          top-level domain (TLD) used exclusively for
+          Internet-infrastructure purposes. It does not function as a
+          normal TLD where websites are registered, but rather as a
+          meta-TLD used to look up addresses, and for other purposes.
+        </description>
+      </tld>
+    </itlds><!--  Generic Top Level Domains -->
+    <gtlds>
+      <!-- 
+        The following gTLDs are in actual use
+      -->
+
+      <tld domain="aero">
+        <status>SPONSORED</status>
+        <description>for the air transport industry</description>
+      </tld>
+
+      <tld domain="biz">
+        <status>UNSPONSORED</status>
+        <description>for business use</description>
+      </tld>
+
+      <tld domain="cat">
+        <status>SPONSORED</status>
+        <description>for Catalan language/culture</description>
+      </tld>
+
+      <tld domain="com">
+        <status>UNSPONSORED</status>
+        <description>
+          for commercial organizations, but unrestricted
+        </description>
+      </tld>
+
+      <tld domain="coop">
+        <status>SPONSORED</status>
+        <description>for cooperatives</description>
+      </tld>
+
+      <tld domain="edu">
+        <status>UNSPONSORED</status>
+        <boost>1.0</boost>
+        <description>
+          for post-secondary educational establishments
+        </description>
+      </tld>
+
+      <tld domain="gov">
+        <status>UNSPONSORED</status>
+        <description>
+          for governments and their agencies in the United States
+        </description>
+      </tld>
+
+      <tld domain="info">
+        <status>UNSPONSORED</status>
+        <description>
+          for informational sites, but unrestricted
+        </description>
+      </tld>
+
+      <tld domain="int">
+        <status>UNSPONSORED</status>
+        <description>
+          for international organizations established by treaty
+        </description>
+      </tld>
+
+      <tld domain="jobs">
+        <status>SPONSORED</status>
+        <description>for employment-related sites</description>
+      </tld>
+
+      <tld domain="mil">
+        <status>UNSPONSORED</status>
+        <description>for the US military</description>
+      </tld>
+
+      <tld domain="mobi">
+        <status>SPONSORED</status>
+        <description>for sites catering to mobile devices</description>
+      </tld>
+
+      <tld domain="museum">
+        <status>SPONSORED</status>
+        <description>for museums</description>
+      </tld>
+
+      <tld domain="name">
+        <status>UNSPONSORED</status>
+        <description>for families and individuals</description>
+      </tld>
+
+      <tld domain="net">
+        <status>UNSPONSORED</status>
+        <description>
+          originally for network infrastructures, now unrestricted
+        </description>
+      </tld>
+
+      <tld domain="org">
+        <status>UNSPONSORED</status>
+        <description>
+          originally for organizations not clearly falling within the
+          other gTLDs, now unrestricted
+        </description>
+      </tld>
+
+      <tld domain="pro">
+        <status>SPONSORED</status>
+        <description>for certain professions</description>
+      </tld>
+
+      <tld domain="travel">
+        <status>SPONSORED</status>
+        <description>
+          for travel agents, airlines, hoteliers, tourism bureaus, etc.
+        </description>
+      </tld>
+
+      <!-- 
+        The following gTLDs are in the process of being approved, 
+        and may be added to the root nameservers in the near future 
+      -->
+
+      <tld domain="asia">
+        <status>STARTUP</status>
+        <description>for the Asian community</description>
+      </tld>
+
+      <tld domain="post">
+        <status>PROPOSED</status>
+        <description>for postal services</description>
+      </tld>
+
+      <tld domain="tel">
+        <status>STARTUP</status>
+        <description>
+          for services involving connections between the telephone
+          network and the Internet
+        </description>
+      </tld>
+
+      <tld domain="geo">
+        <status>PROPOSED</status>
+        <description>for geographically related sites</description>
+      </tld>
+
+      <tld domain="gal">
+        <status>PROPOSED</status>
+        <description>for Galicia, a country within Spain</description>
+      </tld>
+
+      <tld domain="cym">
+        <status>PROPOSED</status>
+        <description>for Wales, a country within the UK</description>
+      </tld>
+
+      <tld domain="sco">
+        <status>PROPOSED</status>
+        <description>for Scotland, a country within the UK</description>
+      </tld>
+
+      <tld domain="kid">
+        <status>PROPOSED</status>
+        <description>for websites designed for children</description>
+      </tld>
+
+      <tld domain="kids">
+        <status>PROPOSED</status>
+        <description>for websites designed for children</description>
+      </tld>
+
+      <tld domain="mail">
+        <status>PROPOSED</status>
+        <description>http://en.wikipedia.org/wiki/.mail</description>
+      </tld>
+
+      <tld domain="web">
+        <status>PROPOSED</status>
+        <description>For Web sites of all sorts</description>
+      </tld>
+
+      <tld domain="xxx">
+        <status>PROPOSED</status>
+        <description>For Adult entertainment sites</description>
+      </tld>
+
+      <!-- 
+        The following gTLDs are removed from the registry
+      -->
+      <tld domain="nato">
+        <status>DELETED</status>
+        <description>
+          for NATO sites and operations. Replaced by .int
+        </description>
+      </tld>
+
+      <!-- 
+        The following gTLDs are PSEUDO_DOMAINs
+      -->
+      <tld domain="bitnet">
+        <status>PSEUDO_DOMAIN</status>
+        <description>
+          identifying a hostname not connected directly to the Internet,
+          but a bitnet network
+        </description>
+      </tld>
+
+      <tld domain="csnet">
+        <status>PSEUDO_DOMAIN</status>
+        <description>
+          identifying a hostname not connected directly to the Internet,
+          but a csnet network
+        </description>
+      </tld>
+
+      <tld domain="uucp">
+        <status>PSEUDO_DOMAIN</status>
+        <description>
+          identifying a hostname not connected directly to the Internet,
+          but a bitnet network
+        </description>
+      </tld>
+
+      <tld domain="local">
+        <status>PSEUDO_DOMAIN</status>
+        <description>
+          .local is a pseudo top-level domain used by Apple, Inc.'s
+          Bonjour protocol.
+        </description>
+      </tld>
+
+      <tld domain="internal">
+        <status>PSEUDO_DOMAIN</status>
+        <description>alias of .local</description>
+      </tld>
+
+      <tld domain="onion">
+        <status>PSEUDO_DOMAIN</status>
+        <description>
+          designates an anonymous or pseudonymous address reachable via
+          the Tor network.
+        </description>
+      </tld>
+    </gtlds><!--  Country Code Top Level Domains -->
+
+    <cctlds>
+      <tld domain="ac">
+        <country>Ascension Island</country>
+      </tld>
+
+      <tld domain="ad">
+        <country>Andorra</country>
+      </tld>
+
+      <tld domain="ae">
+        <country>United Arab Emirates</country>
+      </tld>
+
+      <tld domain="af">
+        <country>Afghanistan</country>
+      </tld>
+
+      <tld domain="ag">
+        <country>Antigua and Barbuda</country>
+      </tld>
+
+      <tld domain="ai">
+        <country>Anguilla</country>
+      </tld>
+
+      <tld domain="al">
+        <country>Albania</country>
+      </tld>
+
+      <tld domain="am">
+        <country>Armenia</country>
+      </tld>
+
+      <tld domain="an">
+        <country>Netherlands Antilles</country>
+      </tld>
+
+      <tld domain="ao">
+        <country>Angola</country>
+      </tld>
+
+      <tld domain="aq">
+        <country>Antarctica</country>
+      </tld>
+
+      <tld domain="ar">
+        <country>Argentina</country>
+      </tld>
+
+      <tld domain="as">
+        <country>American Samoa</country>
+      </tld>
+
+      <tld domain="at">
+        <country>Austria</country>
+      </tld>
+
+      <tld domain="au">
+        <country>Australia</country>
+      </tld>
+
+      <tld domain="aw">
+        <country>Aruba</country>
+      </tld>
+
+      <tld domain="ax">
+        <country>Aland Islands</country>
+      </tld>
+
+      <tld domain="az">
+        <country>Azerbaijan</country>
+      </tld>
+
+      <tld domain="ba">
+        <country>Bosnia and Herzegovina</country>
+      </tld>
+
+      <tld domain="bb">
+        <country>Barbados</country>
+      </tld>
+
+      <tld domain="bd">
+        <country>Bangladesh</country>
+      </tld>
+
+      <tld domain="be">
+        <country>Belgium</country>
+      </tld>
+
+      <tld domain="bf">
+        <country>Burkina Faso</country>
+      </tld>
+
+      <tld domain="bg">
+        <country>Bulgaria</country>
+      </tld>
+
+      <tld domain="bh">
+        <country>Bahrain</country>
+      </tld>
+
+      <tld domain="bi">
+        <country>Burundi</country>
+      </tld>
+
+      <tld domain="bj">
+        <country>Benin</country>
+      </tld>
+
+      <tld domain="bm">
+        <country>Bermuda</country>
+      </tld>
+
+      <tld domain="bn">
+        <country>Brunei</country>
+      </tld>
+
+      <tld domain="bo">
+        <country>Bolivia</country>
+      </tld>
+
+      <tld domain="br">
+        <country>Brazil</country>
+      </tld>
+
+      <tld domain="bs">
+        <country>Bahamas</country>
+      </tld>
+
+      <tld domain="bt">
+        <country>Bhutan</country>
+      </tld>
+
+      <tld domain="bu">
+        <country>Burma</country>
+        <status>NOT_IN_USE</status>
+        <description>
+          not in use since re-naming of country to Myanmar, see .mm
+        </description>
+      </tld>
+
+      <tld domain="bv">
+        <country>Bouvet Island</country>
+        <status>NOT_IN_USE</status>
+        <description>not in use; no registrations</description>
+      </tld>
+
+      <tld domain="bw">
+        <country>Botswana</country>
+      </tld>
+
+      <tld domain="by">
+        <country>Belarus</country>
+      </tld>
+
+      <tld domain="bz">
+        <country>Belize</country>
+      </tld>
+
+      <tld domain="ca">
+        <country>Canada</country>
+      </tld>
+
+      <tld domain="cc">
+        <country>Cocos Keeling Islands</country>
+      </tld>
+
+      <tld domain="cd">
+        <country>Democratic Republic of the Congo</country>
+        <description>formerly .zr - Zaire</description>
+      </tld>
+
+      <tld domain="cf">
+        <country>Central African Republic</country>
+      </tld>
+
+      <tld domain="cg">
+        <country>Republic of the Congo</country>
+      </tld>
+
+      <tld domain="ch">
+        <country>Switzerland</country>
+      </tld>
+
+      <tld domain="ci">
+        <country>Côte d'Ivoire</country>
+        <description>Ivory Coast</description>
+      </tld>
+
+      <tld domain="ck">
+        <country>Cook Islands</country>
+      </tld>
+
+      <tld domain="cl">
+        <country>Chile</country>
+      </tld>
+
+      <tld domain="cm">
+        <country>Cameroon</country>
+      </tld>
+
+      <tld domain="cn">
+        <country>People s Republic of China</country>
+      </tld>
+
+      <tld domain="co">
+        <country>Colombia</country>
+      </tld>
+
+      <tld domain="cr">
+        <country>Costa Rica</country>
+      </tld>
+
+      <tld domain="cs">
+        <country>Serbia and Montenegro</country>
+        <status>DELETED</status>
+        <description>
+          formerly .yu - Yugoslavia; description: on June 3, 2006,
+          Montenegro declared independence, thus dissolving the state
+          union) (.cs code not assigned; no DNS) (.cs code previously
+          used for Czechoslovakia
+        </description>
+      </tld>
+
+      <tld domain="cu">
+        <country>Cuba</country>
+      </tld>
+
+      <tld domain="cv">
+        <country>Cape Verde</country>
+      </tld>
+
+      <tld domain="cx">
+        <country>Christmas Island</country>
+      </tld>
+
+      <tld domain="cy">
+        <country>Cyprus</country>
+      </tld>
+
+      <tld domain="cz">
+        <country>Czech Republic</country>
+      </tld>
+
+      <tld domain="dd">
+        <country>German Democratic Republic(East Germany)</country>
+        <status>DELETED</status>
+        <description>deleted in 1990</description>
+      </tld>
+
+      <tld domain="de">
+        <country>Germany</country>
+      </tld>
+
+      <tld domain="dj">
+        <country>Djibouti</country>
+      </tld>
+
+      <tld domain="dk">
+        <country>Denmark</country>
+      </tld>
+
+      <tld domain="dm">
+        <country>Dominica</country>
+      </tld>
+
+      <tld domain="do">
+        <country>Dominican Republic</country>
+      </tld>
+
+      <tld domain="dz">
+        <country>Algeria</country>
+      </tld>
+
+      <tld domain="ec">
+        <country>Ecuador</country>
+      </tld>
+
+      <tld domain="ee">
+        <country>Estonia</country>
+      </tld>
+
+      <tld domain="eg">
+        <country>Egypt</country>
+      </tld>
+
+      <tld domain="eh">
+        <country>Western Sahara</country>
+        <status>NOT_IN_USE</status>
+        <description>not assigned; no DNS</description>
+      </tld>
+
+      <tld domain="er">
+        <country>Eritrea</country>
+      </tld>
+
+      <tld domain="es">
+        <country>Spain</country>
+      </tld>
+
+      <tld domain="et">
+        <country>Ethiopia</country>
+      </tld>
+
+      <tld domain="eu">
+        <country>European Union</country>
+        <description>
+          code "exceptionally reserved" by ISO 3166-1
+        </description>
+      </tld>
+
+      <tld domain="fi">
+        <country>Finland</country>
+      </tld>
+
+      <tld domain="fj">
+        <country>Fiji</country>
+      </tld>
+
+      <tld domain="fk">
+        <country>Falkland Islands</country>
+      </tld>
+
+      <tld domain="fm">
+        <country>Federated States of Micronesia</country>
+      </tld>
+
+      <tld domain="fo">
+        <country>Faroe Islands</country>
+      </tld>
+
+      <tld domain="fr">
+        <country>France</country>
+      </tld>
+
+      <tld domain="ga">
+        <country>Gabon</country>
+      </tld>
+
+      <tld domain="gb">
+        <country>United Kingdom</country>
+        <description>
+          Reserved domain by IANA; deprecated – see .uk
+        </description>
+      </tld>
+
+      <tld domain="gd">
+        <country>Grenada</country>
+      </tld>
+
+      <tld domain="ge">
+        <country>Georgia</country>
+      </tld>
+
+      <tld domain="gf">
+        <country>French Guiana</country>
+      </tld>
+
+      <tld domain="gg">
+        <country>Guernsey</country>
+      </tld>
+
+      <tld domain="gh">
+        <country>Ghana</country>
+      </tld>
+
+      <tld domain="gi">
+        <country>Gibraltar</country>
+      </tld>
+
+      <tld domain="gl">
+        <country>Greenland</country>
+      </tld>
+
+      <tld domain="gm">
+        <country>Gambia</country>
+      </tld>
+
+      <tld domain="gn">
+        <country>Guinea</country>
+      </tld>
+
+      <tld domain="gp">
+        <country>Guadeloupe</country>
+      </tld>
+
+      <tld domain="gq">
+        <country>Equatorial Guinea</country>
+      </tld>
+
+      <tld domain="gr">
+        <country>Greece</country>
+      </tld>
+
+      <tld domain="gs">
+        <country>South Georgia and the South Sandwich Islands</country>
+      </tld>
+
+      <tld domain="gt">
+        <country>Guatemala</country>
+      </tld>
+
+      <tld domain="gu">
+        <country>Guam</country>
+      </tld>
+
+      <tld domain="gw">
+        <country>Guinea Bissau</country>
+      </tld>
+
+      <tld domain="gy">
+        <country>Guyana</country>
+      </tld>
+
+      <tld domain="hk">
+        <country>Hong Kong</country>
+      </tld>
+
+      <tld domain="hm">
+        <country>Heard Island and McDonald Islands</country>
+      </tld>
+
+      <tld domain="hn">
+        <country>Honduras</country>
+      </tld>
+
+      <tld domain="hr">
+        <country>Croatia</country>
+      </tld>
+
+      <tld domain="ht">
+        <country>Haiti</country>
+      </tld>
+
+      <tld domain="hu">
+        <country>Hungary</country>
+      </tld>
+
+      <tld domain="id">
+        <country>Indonesia</country>
+      </tld>
+
+      <tld domain="ie">
+        <country>Ireland</country>
+      </tld>
+
+      <tld domain="il">
+        <country>Israel</country>
+      </tld>
+
+      <tld domain="im">
+        <country>Isle of Man</country>
+      </tld>
+
+      <tld domain="in">
+        <country>India</country>
+      </tld>
+
+      <tld domain="io">
+        <country>British Indian Ocean Territory</country>
+      </tld>
+
+      <tld domain="iq">
+        <country>Iraq</country>
+      </tld>
+
+      <tld domain="ir">
+        <country>Iran</country>
+      </tld>
+
+      <tld domain="is">
+        <country>Iceland</country>
+      </tld>
+
+      <tld domain="it">
+        <country>Italy</country>
+      </tld>
+
+      <tld domain="je">
+        <country>Jersey</country>
+      </tld>
+
+      <tld domain="jm">
+        <country>Jamaica</country>
+      </tld>
+
+      <tld domain="jo">
+        <country>Jordan</country>
+      </tld>
+
+      <tld domain="jp">
+        <country>Japan</country>
+      </tld>
+
+      <tld domain="ke">
+        <country>Kenya</country>
+      </tld>
+
+      <tld domain="kg">
+        <country>Kyrgyzstan</country>
+      </tld>
+
+      <tld domain="kh">
+        <country>Cambodia</country>
+      </tld>
+
+      <tld domain="ki">
+        <country>Kiribati</country>
+      </tld>
+
+      <tld domain="km">
+        <country>Comoros</country>
+      </tld>
+
+      <tld domain="kn">
+        <country>Saint Kitts and Nevis</country>
+      </tld>
+
+      <tld domain="kp">
+        <country>North Korea</country>
+        <status>NOT_IN_USE</status>
+
+        <description>not assigned; no DNS</description>
+      </tld>
+
+      <tld domain="kr">
+        <country>South Korea</country>
+      </tld>
+
+      <tld domain="kw">
+        <country>Kuwait</country>
+      </tld>
+
+      <tld domain="ky">
+        <country>Cayman Islands</country>
+      </tld>
+
+      <tld domain="kz">
+        <country>Kazakhstan</country>
+      </tld>
+
+      <tld domain="la">
+        <country>Laos</country>
+      </tld>
+
+      <tld domain="lb">
+        <country>Lebanon</country>
+      </tld>
+
+      <tld domain="lc">
+        <country>Saint Lucia</country>
+      </tld>
+
+      <tld domain="li">
+        <country>Liechtenstein</country>
+      </tld>
+
+      <tld domain="lk">
+        <country>Sri Lanka</country>
+      </tld>
+
+      <tld domain="lr">
+        <country>Liberia</country>
+      </tld>
+
+      <tld domain="ls">
+        <country>Lesotho</country>
+      </tld>
+
+      <tld domain="lt">
+        <country>Lithuania</country>
+      </tld>
+
+      <tld domain="lu">
+        <country>Luxembourg</country>
+      </tld>
+
+      <tld domain="lv">
+        <country>Latvia</country>
+      </tld>
+
+      <tld domain="ly">
+        <country>Libya</country>
+      </tld>
+
+      <tld domain="ma">
+        <country>Morocco</country>
+      </tld>
+
+      <tld domain="mc">
+        <country>Monaco</country>
+      </tld>
+
+      <tld domain="md">
+        <country>Moldova</country>
+      </tld>
+
+      <tld domain="me">
+        <country>Montenegro</country>
+      </tld>
+
+      <tld domain="mg">
+        <country>Madagascar</country>
+      </tld>
+
+      <tld domain="mh">
+        <country>Marshall Islands</country>
+      </tld>
+
+      <tld domain="mk">
+        <country>Republic of Macedonia</country>
+      </tld>
+
+      <tld domain="ml">
+        <country>Mali</country>
+      </tld>
+
+      <tld domain="mm">
+        <country>Myanmar</country>
+        <description>formerly .bu - Burma</description>
+      </tld>
+
+      <tld domain="mn">
+        <country>Mongolia</country>
+      </tld>
+
+      <tld domain="mo">
+        <country>Macau</country>
+      </tld>
+
+      <tld domain="mp">
+        <country>Northern Mariana Islands</country>
+      </tld>
+
+      <tld domain="mq">
+        <country>Martinique</country>
+      </tld>
+
+      <tld domain="mr">
+        <country>Mauritania</country>
+      </tld>
+
+      <tld domain="ms">
+        <country>Montserrat</country>
+      </tld>
+
+      <tld domain="mt">
+        <country>Malta</country>
+      </tld>
+
+      <tld domain="mu">
+        <country>Mauritius</country>
+      </tld>
+
+      <tld domain="mv">
+        <country>Maldives</country>
+      </tld>
+
+      <tld domain="mw">
+        <country>Malawi</country>
+      </tld>
+
+      <tld domain="mx">
+        <country>Mexico</country>
+      </tld>
+
+      <tld domain="my">
+        <country>Malaysia</country>
+      </tld>
+
+      <tld domain="mz">
+        <country>Mozambique</country>
+      </tld>
+
+      <tld domain="na">
+        <country>Namibia</country>
+      </tld>
+
+      <tld domain="nc">
+        <country>New Caledonia</country>
+      </tld>
+
+      <tld domain="ne">
+        <country>Niger</country>
+      </tld>
+
+      <tld domain="nf">
+        <country>Norfolk Island</country>
+      </tld>
+
+      <tld domain="ng">
+        <country>Nigeria</country>
+      </tld>
+
+      <tld domain="ni">
+        <country>Nicaragua</country>
+      </tld>
+
+      <tld domain="nl">
+        <country>Netherlands</country>
+      </tld>
+
+      <tld domain="no">
+        <country>Norway</country>
+      </tld>
+
+      <tld domain="np">
+        <country>Nepal</country>
+      </tld>
+
+      <tld domain="nr">
+        <country>Nauru</country>
+      </tld>
+
+      <tld domain="nu">
+        <country>Niue</country>
+      </tld>
+
+      <tld domain="nz">
+        <country>New Zealand</country>
+      </tld>
+
+      <tld domain="om">
+        <country>Oman</country>
+      </tld>
+
+      <tld domain="pa">
+        <country>Panama</country>
+      </tld>
+
+      <tld domain="pe">
+        <country>Peru</country>
+      </tld>
+
+      <tld domain="pf">
+        <country>French Polynesia</country>
+      </tld>
+
+      <tld domain="pg">
+        <country>Papua New Guinea</country>
+      </tld>
+
+      <tld domain="ph">
+        <country>Philippines</country>
+      </tld>
+
+      <tld domain="pk">
+        <country>Pakistan</country>
+      </tld>
+
+      <tld domain="pl">
+        <country>Poland</country>
+      </tld>
+
+      <tld domain="pm">
+        <country>Saint Pierre and Miquelon</country>
+      </tld>
+
+      <tld domain="pn">
+        <country>Pitcairn Islands</country>
+      </tld>
+
+      <tld domain="pr">
+        <country>Puerto Rico</country>
+      </tld>
+
+      <tld domain="ps">
+        <country>Palestinian territories</country>
+      </tld>
+
+      <tld domain="pt">
+        <country>Portugal</country>
+      </tld>
+
+      <tld domain="pw">
+        <country>Palau</country>
+      </tld>
+
+      <tld domain="py">
+        <country>Paraguay</country>
+      </tld>
+
+      <tld domain="qa">
+        <country>Qatar</country>
+      </tld>
+
+      <tld domain="re">
+        <country>Réunion</country>
+      </tld>
+
+      <tld domain="ro">
+        <country>Romania</country>
+      </tld>
+
+      <tld domain="rs">
+        <country>Serbia</country>
+      </tld>
+
+      <tld domain="ru">
+        <country>Russia</country>
+      </tld>
+
+      <tld domain="rw">
+        <country>Rwanda</country>
+      </tld>
+
+      <tld domain="sa">
+        <country>Saudi Arabia</country>
+      </tld>
+
+      <tld domain="sb">
+        <country>Solomon Islands</country>
+      </tld>
+
+      <tld domain="sc">
+        <country>Seychelles</country>
+      </tld>
+
+      <tld domain="sd">
+        <country>Sudan</country>
+      </tld>
+
+      <tld domain="se">
+        <country>Sweden</country>
+      </tld>
+
+      <tld domain="sg">
+        <country>Singapore</country>
+      </tld>
+
+      <tld domain="sh">
+        <country>Saint Helena</country>
+      </tld>
+
+      <tld domain="si">
+        <country>Slovenia</country>
+      </tld>
+
+      <tld domain="sj">
+        <country>Svalbard and Jan Mayen Islands</country>
+        <status>NOT_IN_USE</status>
+        <description>not in use; no registrations</description>
+      </tld>
+
+      <tld domain="sk">
+        <country>Slovakia</country>
+      </tld>
+
+      <tld domain="sl">
+        <country>Sierra Leone</country>
+      </tld>
+
+      <tld domain="sm">
+        <country>San Marino</country>
+      </tld>
+
+      <tld domain="sn">
+        <country>Senegal</country>
+      </tld>
+
+      <tld domain="so">
+        <country>Somalia</country>
+      </tld>
+
+      <tld domain="sr">
+        <country>Suriname</country>
+      </tld>
+
+      <tld domain="st">
+        <country>São Tomé and Príncipe</country>
+      </tld>
+
+      <tld domain="su">
+        <country>Soviet Union</country>
+        <status>DELETED</status>
+        <description>
+          deprecated; being phased out; code "transitionally reserved"
+          by ISO 3166-1
+        </description>
+      </tld>
+
+      <tld domain="sv">
+        <country>El Salvador</country>
+      </tld>
+
+      <tld domain="sy">
+        <country>Syria</country>
+      </tld>
+
+      <tld domain="sz">
+        <country>Swaziland</country>
+      </tld>
+
+      <tld domain="tc">
+        <country>Turks and Caicos Islands</country>
+      </tld>
+
+      <tld domain="td">
+        <country>Chad</country>
+      </tld>
+
+      <tld domain="tf">
+        <country>French Southern Territories</country>
+      </tld>
+
+      <tld domain="tg">
+        <country>Togo</country>
+      </tld>
+
+      <tld domain="th">
+        <country>Thailand</country>
+      </tld>
+
+      <tld domain="tj">
+        <country>Tajikistan</country>
+      </tld>
+
+      <tld domain="tk">
+        <country>Tokelau</country>
+      </tld>
+
+      <tld domain="tl">
+        <country>East Timor</country>
+        <description>formerly .tp</description>
+      </tld>
+
+      <tld domain="tm">
+        <country>Turkmenistan</country>
+      </tld>
+
+      <tld domain="tn">
+        <country>Tunisia</country>
+      </tld>
+
+      <tld domain="to">
+        <country>Tonga</country>
+      </tld>
+
+      <tld domain="tp">
+        <country>East Timor</country>
+        <status>DELETED</status>
+        <description>
+          deprecated - use .tl; code "transitionally reserved" by ISO
+          3166-1
+        </description>
+      </tld>
+
+      <tld domain="tr">
+        <country>Turkey</country>
+      </tld>
+
+      <tld domain="tt">
+        <country>Trinidad and Tobago</country>
+      </tld>
+
+      <tld domain="tv">
+        <country>Tuvalu</country>
+      </tld>
+
+      <tld domain="tw">
+        <country>Republic of China</country>
+        <description>Taiwan</description>
+      </tld>
+
+      <tld domain="tz">
+        <country>Tanzania</country>
+      </tld>
+
+      <tld domain="ua">
+        <country>Ukraine</country>
+      </tld>
+
+      <tld domain="ug">
+        <country>Uganda</country>
+      </tld>
+
+      <tld domain="uk">
+        <country>United Kingdom</country>
+        <description>
+          code "exceptionally reserved" by ISO 3166-1 (see also .gb)
+        </description>
+      </tld>
+
+      <tld domain="um">
+        <country>United States Minor Outlying Islands</country>
+        <status>DELETED</status>
+        <description>see http://en.wikipedia.org/wiki/.um</description>
+      </tld>
+
+      <tld domain="us">
+        <country>United States</country>
+      </tld>
+
+      <tld domain="uy">
+        <country>Uruguay</country>
+      </tld>
+
+      <tld domain="uz">
+        <country>Uzbekistan</country>
+      </tld>
+
+      <tld domain="va">
+        <country>Vatican City</country>
+      </tld>
+
+      <tld domain="vc">
+        <country>Saint Vincent and the Grenadines</country>
+      </tld>
+
+      <tld domain="ve">
+        <country>Venezuela</country>
+      </tld>
+
+      <tld domain="vg">
+        <country>British Virgin Islands</country>
+      </tld>
+
+      <tld domain="vi">
+        <country>United States Virgin Islands</country>
+      </tld>
+
+      <tld domain="vn">
+        <country>Vietnam</country>
+      </tld>
+
+      <tld domain="vu">
+        <country>Vanuatu</country>
+      </tld>
+
+      <tld domain="wf">
+        <country>Wallis and Futuna</country>
+      </tld>
+
+      <tld domain="ws">
+        <country>Samoa</country>
+        <description>formerly Western Samoa</description>
+      </tld>
+
+      <tld domain="ye">
+        <country>Yemen</country>
+      </tld>
+
+      <tld domain="yt">
+        <country>Mayotte</country>
+      </tld>
+
+      <tld domain="yu">
+        <country>Yugoslavia</country>
+        <description>
+          subsequently renamed Serbia and Montenegro (code officially
+          replaced by .cs (see above) but still used; code
+          "transitionally reserved" by ISO 3166-1)
+        </description>
+      </tld>
+
+      <tld domain="za">
+        <country>South Africa</country>
+      </tld>
+
+      <tld domain="zm">
+        <country>Zambia</country>
+      </tld>
+
+      <tld domain="zr">
+        <country>Zaire</country>
+        <status>DELETED</status>
+        <description>replaced by .cd</description>
+      </tld>
+
+      <tld domain="zw">
+        <country>Zimbabwe</country>
+      </tld>
+    </cctlds>
+  </tlds>
+
+  <!--  Second Level Domains -->
+  <suffixes>
+
+    <!-- .us Second Level Domains -->
+    <suffix domain="as.us" />
+    <suffix domain="gu.us" />
+    <suffix domain="pr.us" />
+    <suffix domain="vi.us" />
+
+    <!-- .uk Second Level Domains -->
+    <suffix domain="ac.uk" />
+    <suffix domain="co.uk" />
+    <suffix domain="gov.uk" />
+    <suffix domain="ltd.uk" />
+    <suffix domain="me.uk" />
+    <suffix domain="mod.uk" />
+    <suffix domain="net.uk" />
+    <suffix domain="nic.uk" />
+    <suffix domain="nhs.uk" />
+    <suffix domain="org.uk" />
+    <suffix domain="pic.uk" />
+    <suffix domain="police.uk" />
+    <suffix domain="govt.uk">
+      <status>DELETED</status>
+    </suffix>
+    <suffix domain="orgn.uk">
+      <status>DELETED</status>
+    </suffix>
+    <suffix domain="mil.uk">
+      <status>DELETED</status>
+    </suffix>
+    <suffix domain="lea.uk">
+      <status>DELETED</status>
+    </suffix>
+
+
+    <!-- .tr Second Level Domains -->
+    <suffix domain="com.tr" />
+    <suffix domain="gen.tr" />
+    <suffix domain="org.tr"/>
+    <suffix domain="biz.tr" />
+    <suffix domain="info.tr" />
+    <suffix domain="av.tr" />
+    <suffix domain="dr.tr" />
+    <suffix domain="pol.tr" />
+    <suffix domain="bel.tr" />
+    <suffix domain="mil.tr" />
+    <suffix domain="mil.tr" />
+    <suffix domain="bbs.tr" />
+    <suffix domain="k12.tr" />
+    <suffix domain="edu.tr"/>
+    <suffix domain="name.tr" />
+    <suffix domain="net.tr" />
+    <suffix domain="gov.tr" />
+    <suffix domain="gov.tr" />
+    <suffix domain="web.tr" />
+    <suffix domain="tel.tr" />
+    <suffix domain="tv.tr" />
+
+    <!-- .hk Second Level Domains -->
+    <suffix domain="ust.hk" />
+    <suffix domain="hku.hk" />
+    <suffix domain="cuhk.hk" />
+
+    <!-- .it Second Level Domains -->
+
+    <suffix domain="edu.it" />
+    <suffix domain="gov.it" />
+    <suffix domain="italy.it" />
+
+    <!-- .az Second Level Domains -->
+    <suffix domain="pro.az" />
+
+    <!-- .au Second Level Domains -->
+
+    <suffix domain="com.au" />
+    <suffix domain="net.au" />
+    <suffix domain="gov.au" />
+    <suffix domain="org.au" />
+    <suffix domain="edu.au" />
+    <suffix domain="csiro.au" />
+    <suffix domain="asn.au" />
+    <suffix domain="id.au" />
+    <!--  New second level domains -->
+    <suffix domain="act.au" />
+    <suffix domain="nsw.au" />
+    <suffix domain="nt.au" />
+    <suffix domain="qld.au" />
+    <suffix domain="sa.au" />
+    <suffix domain="tas.au" />
+    <suffix domain="vic.au" />
+    <suffix domain="wa.au" />
+
+    <!-- .int Second Level Domains -->
+    <suffix domain="eu.int" />
+
+    <!-- .br Second Level Domains -->
+    <suffix domain="adm.br" />
+    <suffix domain="adv.br" />
+    <suffix domain="agr.br" />
+    <suffix domain="am.br" />
+    <suffix domain="arq.br" />
+    <suffix domain="art.br" />
+    <suffix domain="ato.br" />
+    <suffix domain="bio.br" />
+    <suffix domain="blog.br" />
+    <suffix domain="bmd.br" />
+    <suffix domain="cim.br" />
+    <suffix domain="cng.br" />
+    <suffix domain="cnt.br" />
+    <suffix domain="com.br" />
+    <suffix domain="coop.br" />
+    <suffix domain="ecn.br" />
+    <suffix domain="edu.br" />
+    <suffix domain="eng.br" />
+    <suffix domain="esp.br" />
+    <suffix domain="etc.br" />
+    <suffix domain="eti.br" />
+    <suffix domain="far.br" />
+    <suffix domain="flog.br" />
+    <suffix domain="fm.br" />
+    <suffix domain="fnd.br" />
+    <suffix domain="fot.br" />
+    <suffix domain="fst.br" />
+    <suffix domain="g12.br" />
+    <suffix domain="ggf.br" />
+    <suffix domain="gov.br" />
+    <suffix domain="imb.br" />
+    <suffix domain="ind.br" />
+    <suffix domain="inf.br" />
+    <suffix domain="jor.br" />
+    <suffix domain="lel.br" />
+    <suffix domain="mat.br" />
+    <suffix domain="med.br" />
+    <suffix domain="mil.br" />
+    <suffix domain="mus.br" />
+    <suffix domain="net.br" />
+    <suffix domain="nom.br" />
+    <suffix domain="not.br" />
+    <suffix domain="ntr.br" />
+    <suffix domain="odo.br" />
+    <suffix domain="org.br" />
+    <suffix domain="ppg.br" />
+    <suffix domain="pro.br" />
+    <suffix domain="psc.br" />
+    <suffix domain="psi.br" />
+    <suffix domain="qsl.br" />
+    <suffix domain="rec.br" />
+    <suffix domain="slg.br" />
+    <suffix domain="srv.br" />
+    <suffix domain="tmp.br" />
+    <suffix domain="trd.br" />
+    <suffix domain="tur.br" />
+    <suffix domain="tv.br" />
+    <suffix domain="vet.br" />
+    <suffix domain="vlog.br" />
+    <suffix domain="wiki.br" />
+    <suffix domain="zlg.br" />
+
+    <!-- 
+      Below elements are generated from the file 
+      at http://publicsuffix.org/.  
+      see org.apache.nutch.util.domain.MozillaPublicSuffixListParser.java
+    -->
+
+    <!--  ac : http://en.wikipedia.org/wiki/.am-->
+    <suffix domain="com.ac" />
+    <suffix domain="edu.ac" />
+    <suffix domain="gov.ac" />
+    <suffix domain="net.ac" />
+    <suffix domain="mil.ac" />
+    <suffix domain="org.ac" />
+
+    <!--  ad : http://en.wikipedia.org/wiki/.ad-->
+    <suffix domain="nom.ad" />
+
+    <!--  ae : http://en.wikipedia.org/wiki/.ae-->
+    <suffix domain="net.ae" />
+    <suffix domain="gov.ae" />
+    <suffix domain="ac.ae" />
+    <suffix domain="sch.ae" />
+    <suffix domain="org.ae" />
+    <suffix domain="mil.ae" />
+    <suffix domain="pro.ae" />
+    <suffix domain="name.ae" />
+
+    <!--  aero : see http://www.information.aero/index.php?id=66-->
+    <suffix domain="accident-investigation.aero" />
+    <suffix domain="accident-prevention.aero" />
+    <suffix domain="aerobatic.aero" />
+    <suffix domain="aeroclub.aero" />
+    <suffix domain="aerodrome.aero" />
+    <suffix domain="agents.aero" />
+    <suffix domain="aircraft.aero" />
+    <suffix domain="airline.aero" />
+    <suffix domain="airport.aero" />
+    <suffix domain="air-surveillance.aero" />
+    <suffix domain="airtraffic.aero" />
+    <suffix domain="air-traffic-control.aero" />
+    <suffix domain="ambulance.aero" />
+    <suffix domain="amusement.aero" />
+    <suffix domain="association.aero" />
+    <suffix domain="author.aero" />
+    <suffix domain="ballooning.aero" />
+    <suffix domain="broker.aero" />
+    <suffix domain="caa.aero" />
+    <suffix domain="cargo.aero" />
+    <suffix domain="catering.aero" />
+    <suffix domain="certification.aero" />
+    <suffix domain="championship.aero" />
+    <suffix domain="charter.aero" />
+    <suffix domain="civilaviation.aero" />
+    <suffix domain="club.aero" />
+    <suffix domain="conference.aero" />
+    <suffix domain="consultant.aero" />
+    <suffix domain="consulting.aero" />
+    <suffix domain="control.aero" />
+    <suffix domain="council.aero" />
+    <suffix domain="crew.aero" />
+    <suffix domain="design.aero" />
+    <suffix domain="dgca.aero" />
+    <suffix domain="educator.aero" />
+    <suffix domain="emergency.aero" />
+    <suffix domain="engine.aero" />
+    <suffix domain="engineer.aero" />
+    <suffix domain="entertainment.aero" />
+    <suffix domain="equipment.aero" />
+    <suffix domain="exchange.aero" />
+    <suffix domain="express.aero" />
+    <suffix domain="federation.aero" />
+    <suffix domain="flight.aero" />
+    <suffix domain="freight.aero" />
+    <suffix domain="fuel.aero" />
+    <suffix domain="gliding.aero" />
+    <suffix domain="government.aero" />
+    <suffix domain="groundhandling.aero" />
+    <suffix domain="group.aero" />
+    <suffix domain="hanggliding.aero" />
+    <suffix domain="homebuilt.aero" />
+    <suffix domain="insurance.aero" />
+    <suffix domain="journal.aero" />
+    <suffix domain="journalist.aero" />
+    <suffix domain="leasing.aero" />
+    <suffix domain="logistics.aero" />
+    <suffix domain="magazine.aero" />
+    <suffix domain="maintenance.aero" />
+    <suffix domain="marketplace.aero" />
+    <suffix domain="media.aero" />
+    <suffix domain="microlight.aero" />
+    <suffix domain="modelling.aero" />
+    <suffix domain="navigation.aero" />
+    <suffix domain="parachuting.aero" />
+    <suffix domain="paragliding.aero" />
+    <suffix domain="passenger-association.aero" />
+    <suffix domain="pilot.aero" />
+    <suffix domain="press.aero" />
+    <suffix domain="production.aero" />
+    <suffix domain="recreation.aero" />
+    <suffix domain="repbody.aero" />
+    <suffix domain="res.aero" />
+    <suffix domain="research.aero" />
+    <suffix domain="rotorcraft.aero" />
+    <suffix domain="safety.aero" />
+    <suffix domain="scientist.aero" />
+    <suffix domain="services.aero" />
+    <suffix domain="show.aero" />
+    <suffix domain="skydiving.aero" />
+    <suffix domain="software.aero" />
+    <suffix domain="student.aero" />
+    <suffix domain="taxi.aero" />
+    <suffix domain="trader.aero" />
+    <suffix domain="trading.aero" />
+    <suffix domain="trainer.aero" />
+    <suffix domain="union.aero" />
+    <suffix domain="workinggroup.aero" />
+    <suffix domain="works.aero" />
+
+    <!--  af : http://www.nic.af/help.jsp-->
+    <suffix domain="gov.af" />
+    <suffix domain="com.af" />
+    <suffix domain="org.af" />
+    <suffix domain="net.af" />
+    <suffix domain="edu.af" />
+
+    <!--  ag : http://www.nic.ag/prices.htm-->
+    <suffix domain="com.ag" />
+    <suffix domain="org.ag" />
+    <suffix domain="net.ag" />
+    <suffix domain="co.ag" />
+    <suffix domain="nom.ag" />
+
+    <!--  ai : http://nic.com.ai/-->
+    <suffix domain="off.ai" />
+    <suffix domain="com.ai" />
+    <suffix domain="net.ai" />
+    <suffix domain="org.ai" />
+
+    <!--  al : http://www.inima.al/Domains.html-->
+    <suffix domain="gov.al" />
+    <suffix domain="edu.al" />
+    <suffix domain="org.al" />
+    <suffix domain="com.al" />
+    <suffix domain="net.al" />
+
+    <!--  am : http://en.wikipedia.org/wiki/.am-->
+
+    <!--  an : http://www.una.an/an_domreg/default.asp-->
+    <suffix domain="com.an" />
+    <suffix domain="net.an" />
+    <suffix domain="org.an" />
+    <suffix domain="edu.an" />
+
+    <!--  ao : http://en.wikipedia.org/wiki/.ao-->
+    <!--  list of 2nd level TLDs ?-->
+
+    <!--  aq : http://en.wikipedia.org/wiki/.aq-->
+
+    <!--  ar : http://en.wikipedia.org/wiki/.ar-->
+    <suffix domain="congresodelalengua3.ar" />
+    <suffix domain="educ.ar" />
+    <suffix domain="gobiernoelectronico.ar" />
+    <suffix domain="mecon.ar" />
+    <suffix domain="nacion.ar" />
+    <suffix domain="nic.ar" />
+    <suffix domain="promocion.ar" />
+    <suffix domain="retina.ar" />
+    <suffix domain="uba.ar" />
+
+    <!--  arpa : http://en.wikipedia.org/wiki/.arpa-->
+    <suffix domain="e164.arpa" />
+    <suffix domain="in-addr.arpa" />
+    <suffix domain="ip6.arpa" />
+    <suffix domain="uri.arpa" />
+    <suffix domain="urn.arpa" />
+
+    <!--  as : http://en.wikipedia.org/wiki/.as-->
+
+    <!--  at : http://en.wikipedia.org/wiki/.at-->
+    <suffix domain="gv.at" />
+    <suffix domain="ac.at" />
+    <suffix domain="co.at" />
+    <suffix domain="or.at" />
+
+    <!--  au : http://en.wikipedia.org/wiki/.au-->
+    <!--  au geographical names (vic.au etc... are covered above)-->
+    <suffix domain="act.edu.au" />
+    <suffix domain="nsw.edu.au" />
+    <suffix domain="nt.edu.au" />
+    <suffix domain="qld.edu.au" />
+    <suffix domain="sa.edu.au" />
+    <suffix domain="tas.edu.au" />
+    <suffix domain="vic.edu.au" />
+    <suffix domain="wa.edu.au" />
+    <suffix domain="act.gov.au" />
+    <suffix domain="nsw.gov.au" />
+    <suffix domain="nt.gov.au" />
+    <suffix domain="qld.gov.au" />
+    <suffix domain="sa.gov.au" />
+    <suffix domain="tas.gov.au" />
+    <suffix domain="vic.gov.au" />
+    <suffix domain="wa.gov.au" />
+
+    <!--  aw : http://en.wikipedia.org/wiki/.aw-->
+    <suffix domain="com.aw" />
+
+    <!--  ax : http://en.wikipedia.org/wiki/.ax-->
+
+    <!--  az : http://en.wikipedia.org/wiki/.az-->
+    <suffix domain="com.az" />
+    <suffix domain="net.az" />
+    <suffix domain="int.az" />
+    <suffix domain="gov.az" />
+    <suffix domain="org.az" />
+    <suffix domain="edu.az" />
+    <suffix domain="info.az" />
+    <suffix domain="pp.az" />
+    <suffix domain="mil.az" />
+    <suffix domain="name.az" />
+    <suffix domain="biz.az" />
+
+    <!--  ba : http://en.wikipedia.org/wiki/.ba-->
+    <suffix domain="org.ba" />
+    <suffix domain="net.ba" />
+    <suffix domain="edu.ba" />
+    <suffix domain="gov.ba" />
+    <suffix domain="mil.ba" />
+    <suffix domain="unsa.ba" />
+    <suffix domain="unbi.ba" />
+    <suffix domain="co.ba" />
+    <suffix domain="com.ba" />
+    <suffix domain="rs.ba" />
+
+    <!--  bb : http://en.wikipedia.org/wiki/.bb-->
+    <suffix domain="com.bb" />
+    <suffix domain="edu.bb" />
+    <suffix domain="gov.bb" />
+    <suffix domain="net.bb" />
+    <suffix domain="org.bb" />
+
+    <!--  bd : http://en.wikipedia.org/wiki/.bd-->
+
+    <!--  be : http://en.wikipedia.org/wiki/.be-->
+    <suffix domain="ac.be" />
+
+    <!--  bf : http://en.wikipedia.org/wiki/.bf-->
+
+    <!--  bg : http://en.wikipedia.org/wiki/.bg-->
+
+    <!--  bh : http://en.wikipedia.org/wiki/.bh-->
+    <!--  list of 2nd level tlds ?-->
+
+    <!--  bi : http://en.wikipedia.org/wiki/.bi-->
+    <!--  list of 2nd level tlds ?-->
+
+    <!--  biz : http://en.wikipedia.org/wiki/.biz-->
+
+    <!--  bj : http://en.wikipedia.org/wiki/.bj-->
+    <!--  list of 2nd level tlds ?-->
+
+    <!--  bm : http://www.bermudanic.bm/dnr-text.txt-->
+    <suffix domain="com.bm" />
+    <suffix domain="edu.bm" />
+    <suffix domain="gov.bm" />
+    <suffix domain="net.bm" />
+    <suffix domain="org.bm" />
+
+    <!--  bn : http://en.wikipedia.org/wiki/.bn-->
+
+    <!--  bo : http://www.nic.bo/-->
+    <suffix domain="com.bo" />
+    <suffix domain="edu.bo" />
+    <suffix domain="gov.bo" />
+    <suffix domain="gob.bo" />
+    <suffix domain="int.bo" />
+    <suffix domain="org.bo" />
+    <suffix domain="net.bo" />
+    <suffix domain="mil.bo" />
+    <suffix domain="tv.bo" />
+
+    <!--  br : http://en.wikipedia.org/wiki/.br-->
+
+    <!--  bs : http://www.nic.bs/rules.html-->
+    <suffix domain="com.bs" />
+    <suffix domain="net.bs" />
+    <suffix domain="org.bs" />
+    <suffix domain="edu.bs" />
+    <suffix domain="gov.bs" />
+
+    <!--  bt : http://en.wikipedia.org/wiki/.bt-->
+
+    <!--  bw : http://en.wikipedia.org/wiki/.bw-->
+    <!--  list of 2nd level tlds ?-->
+
+    <!--  by : http://en.wikipedia.org/wiki/.by-->
+    <!--  list of 2nd level tlds ?-->
+
+    <!--  bz : http://en.wikipedia.org/wiki/.bz-->
+    <!--  list of 2nd level tlds ?-->
+
+    <!--  ca : http://en.wikipedia.org/wiki/.ca-->
+    <!--  ca geographical names-->
+    <suffix domain="ab.ca" />
+    <suffix domain="bc.ca" />
+    <suffix domain="mb.ca" />
+    <suffix domain="nb.ca" />
+    <suffix domain="nf.ca" />
+    <suffix domain="nl.ca" />
+    <suffix domain="ns.ca" />
+    <suffix domain="nt.ca" />
+    <suffix domain="nu.ca" />
+    <suffix domain="on.ca" />
+    <suffix domain="pe.ca" />
+    <suffix domain="qc.ca" />
+    <suffix domain="sk.ca" />
+    <suffix domain="yk.ca" />
+
+    <!--  cat : http://en.wikipedia.org/wiki/.cat-->
+
+    <!--  cc : http://en.wikipedia.org/wiki/.cc-->
+
+    <!--  cd : http://en.wikipedia.org/wiki/.cd-->
+
+    <!--  cf : http://en.wikipedia.org/wiki/.cf-->
+
+    <!--  cg : http://en.wikipedia.org/wiki/.cg-->
+
+    <!--  ch : http://en.wikipedia.org/wiki/.ch-->
+
+    <!--  ci : http://en.wikipedia.org/wiki/.ci-->
+    <!--  list of 2nd level tlds ?-->
+
+    <!--  ck : http://en.wikipedia.org/wiki/.ck-->
+
+    <!--  cl : http://en.wikipedia.org/wiki/.cl-->
+
+    <!--  cm : http://en.wikipedia.org/wiki/.cm-->
+
+    <!--  cn : http://en.wikipedia.org/wiki/.cn-->
+    <suffix domain="ac.cn" />
+    <suffix domain="com.cn" />
+    <suffix domain="edu.cn" />
+    <suffix domain="gov.cn" />
+    <suffix domain="net.cn" />
+    <suffix domain="org.cn" />
+    <!--  cn geographic names-->
+    <suffix domain="ah.cn" />
+    <suffix domain="bj.cn" />
+    <suffix domain="cq.cn" />
+    <suffix domain="fj.cn" />
+    <suffix domain="gd.cn" />
+    <suffix domain="gs.cn" />
+    <suffix domain="gz.cn" />
+    <suffix domain="gx.cn" />
+    <suffix domain="ha.cn" />
+    <suffix domain="hb.cn" />
+    <suffix domain="he.cn" />
+    <suffix domain="hi.cn" />
+    <suffix domain="hl.cn" />
+    <suffix domain="hn.cn" />
+    <suffix domain="jl.cn" />
+    <suffix domain="js.cn" />
+    <suffix domain="jx.cn" />
+    <suffix domain="ln.cn" />
+    <suffix domain="nm.cn" />
+    <suffix domain="nx.cn" />
+    <suffix domain="qh.cn" />
+    <suffix domain="sc.cn" />
+    <suffix domain="sd.cn" />
+    <suffix domain="sh.cn" />
+    <suffix domain="sn.cn" />
+    <suffix domain="sx.cn" />
+    <suffix domain="tj.cn" />
+    <suffix domain="xj.cn" />
+    <suffix domain="xz.cn" />
+    <suffix domain="yn.cn" />
+    <suffix domain="zj.cn" />
+
+    <!--  co : http://en.wikipedia.org/wiki/.co-->
+
+    <!--  com : http://en.wikipedia.org/wiki/.com-->
+
+    <!--  coop : http://en.wikipedia.org/wiki/.coop-->
+
+    <!--  cr : http://en.wikipedia.org/wiki/.cr-->
+
+    <!--  cu : http://en.wikipedia.org/wiki/.cu-->
+    <suffix domain="com.cu" />
+    <suffix domain="edu.cu" />
+    <suffix domain="org.cu" />
+    <suffix domain="net.cu" />
+    <suffix domain="gov.cu" />
+    <suffix domain="inf.cu" />
+
+    <!--  cv : http://en.wikipedia.org/wiki/.cv-->
+
+    <!--  cx : http://en.wikipedia.org/wiki/.cx-->
+
+    <!--  cy : http://en.wikipedia.org/wiki/.cy-->
+
+    <!--  cz : http://en.wikipedia.org/wiki/.cz-->
+
+    <!--  de : http://en.wikipedia.org/wiki/.de-->
+
+    <!--  dj : http://en.wikipedia.org/wiki/.dj-->
+
+    <!--  dk : http://en.wikipedia.org/wiki/.dk-->
+
+    <!--  dm : http://en.wikipedia.org/wiki/.dm-->
+    <suffix domain="com.dm" />
+    <suffix domain="net.dm" />
+    <suffix domain="org.dm" />
+
+    <!--  do : http://en.wikipedia.org/wiki/.do-->
+
+    <!--  dz : http://en.wikipedia.org/wiki/.dz-->
+    <suffix domain="com.dz" />
+    <suffix domain="org.dz" />
+    <suffix domain="net.dz" />
+    <suffix domain="gov.dz" />
+    <suffix domain="edu.dz" />
+    <suffix domain="asso.dz" />
+    <suffix domain="pol.dz" />
+    <suffix domain="art.dz" />
+
+    <!--  ec : http://www.nic.ec/reg/paso1.asp-->
+    <suffix domain="com.ec" />
+    <suffix domain="info.ec" />
+    <suffix domain="net.ec" />
+    <suffix domain="fin.ec" />
+    <suffix domain="med.ec" />
+    <suffix domain="pro.ec" />
+    <suffix domain="org.ec" />
+    <suffix domain="edu.ec" />
+    <suffix domain="gov.ec" />
+    <suffix domain="mil.ec" />
+
+    <!--  edu : http://en.wikipedia.org/wiki/.edu-->
+
+    <!--  ee : http://www3.eenet.ee/ee/application.html-->
+    <suffix domain="com.ee" />
+    <suffix domain="org.ee" />
+    <suffix domain="fie.ee" />
+    <suffix domain="pri.ee" />
+
+    <!--  eg : http://en.wikipedia.org/wiki/.eg-->
+
+    <!--  er : http://en.wikipedia.org/wiki/.er-->
+
+    <!--  es : https://www.nic.es/site_ingles/ingles/dominios/index.html-->
+    <suffix domain="com.es" />
+    <suffix domain="nom.es" />
+    <suffix domain="org.es" />
+    <suffix domain="gob.es" />
+    <suffix domain="edu.es" />
+
+    <!--  et : http://en.wikipedia.org/wiki/.et-->
+
+    <!--  eu : http://en.wikipedia.org/wiki/.eu-->
+
+    <!--  fi : http://en.wikipedia.org/wiki/.fi-->
+
+    <!--  fj : http://en.wikipedia.org/wiki/.fj-->
+
+    <!--  fk : http://en.wikipedia.org/wiki/.fk-->
+
+    <!--  fm : http://en.wikipedia.org/wiki/.fm-->
+
+    <!--  fo : http://en.wikipedia.org/wiki/.fo-->
+
+    <!--  fr : http://www.afnic.fr/-->
+    <!--  domaines descriptifs : http://www.afnic.fr/obtenir/chartes/nommage-fr/annexe-descriptifs-->
+    <suffix domain="com.fr" />
+    <suffix domain="asso.fr" />
+    <suffix domain="nom.fr" />
+    <suffix domain="prd.fr" />
+    <suffix domain="presse.fr" />
+    <suffix domain="tm.fr" />
+    <!--  domaines sectoriels : http://www.afnic.fr/obtenir/chartes/nommage-fr/annexe-sectoriels-->
+    <suffix domain="aeroport.fr" />
+    <suffix domain="assedic.fr" />
+    <suffix domain="avocat.fr" />
+    <suffix domain="avoues.fr" />
+    <suffix domain="cci.fr" />
+    <suffix domain="chambagri.fr" />
+    <suffix domain="chirurgiens-dentistes.fr" />
+    <suffix domain="experts-comptables.fr" />
+    <suffix domain="geometre-expert.fr" />
+    <suffix domain="gouv.fr" />
+    <suffix domain="greta.fr" />
+    <suffix domain="huissier-justice.fr" />
+    <suffix domain="medecin.fr" />
+    <suffix domain="notaires.fr" />
+    <suffix domain="pharmacien.fr" />
+    <suffix domain="port.fr" />
+    <suffix domain="veterinaire.fr" />
+
+    <!--  ga : http://en.wikipedia.org/wiki/.ga-->
+
+    <!--  gd : http://en.wikipedia.org/wiki/.gd-->
+
+    <!--  ge : http://www.nic.net.ge/policy_en.pdf-->
+    <suffix domain="com.ge" />
+    <suffix domain="edu.ge" />
+    <suffix domain="gov.ge" />
+    <suffix domain="org.ge" />
+    <suffix domain="mil.ge" />
+    <suffix domain="net.ge" />
+    <suffix domain="pvt.ge" />
+
+    <!--  gf : http://en.wikipedia.org/wiki/.gf-->
+
+    <!--  gg : http://www.channelisles.net/tandc.shtml-->
+    <suffix domain="co.gg" />
+    <suffix domain="org.gg" />
+    <suffix domain="net.gg" />
+    <suffix domain="sch.gg" />
+    <suffix domain="gov.gg" />
+
+    <!--  gh : http://www.ghana.com/domain.htm-->
+
+    <!--  gi : http://www.nic.gi/rules.html-->
+    <suffix domain="com.gi" />
+    <suffix domain="ltd.gi" />
+    <suffix domain="gov.gi" />
+    <suffix domain="mod.gi" />
+    <suffix domain="edu.gi" />
+    <suffix domain="org.gi" />
+
+    <!--  gl : http://en.wikipedia.org/wiki/.gl-->
+
+    <!--  gm : http://www.nic.gm/htmlpages%5Cgm-policy.htm-->
+
+    <!--  gn : http://psg.com/dns/gn/gn.txt-->
+
+    <!--  gov : http://en.wikipedia.org/wiki/.gov-->
+
+    <!--  gp : http://www.nic.gp/index_en.php?url=charte_en.php-->
+    <suffix domain="com.gp" />
+    <suffix domain="net.gp" />
+    <suffix domain="edu.gp" />
+    <suffix domain="org.gp" />
+
+    <!--  gq : http://en.wikipedia.org/wiki/.gq-->
+
+    <!--  gr : https://grweb.ics.forth.gr/english/1617-B-2002.html-->
+    <suffix domain="com.gr" />
+    <suffix domain="edu.gr" />
+    <suffix domain="net.gr" />
+    <suffix domain="org.gr" />
+    <suffix domain="gov.gr" />
+
+    <!--  gs : http://en.wikipedia.org/wiki/.gs-->
+
+    <!--  gt : http://www.gt/politicas.html-->
+
+    <!--  gu : http://gadao.gov.gu/registration.txt-->
+
+    <!--  gw : http://en.wikipedia.org/wiki/.gw-->
+
+    <!--  gy : http://en.wikipedia.org/wiki/.gy-->
+
+    <!--  hk : http://en.wikipedia.org/wiki/.hk-->
+    <suffix domain="com.hk" />
+    <suffix domain="edu.hk" />
+    <suffix domain="gov.hk" />
+    <suffix domain="idv.hk" />
+    <suffix domain="net.hk" />
+    <suffix domain="org.hk" />
+
+    <!--  hm : http://en.wikipedia.org/wiki/.hm-->
+
+    <!--  hn : http://www.nic.hn/politicas/ps02,,05.html-->
+    <suffix domain="com.hn" />
+    <suffix domain="edu.hn" />
+    <suffix domain="org.hn" />
+    <suffix domain="net.hn" />
+    <suffix domain="mil.hn" />
+    <suffix domain="gob.hn" />
+
+    <!--  hr : http://www.dns.hr/documents/pdf/HRTLD-regulations.pdf-->
+    <suffix domain="iz.hr" />
+    <suffix domain="from.hr" />
+    <suffix domain="name.hr" />
+    <suffix domain="com.hr" />
+
+    <!--  ht : http://www.nic.ht/info/charte.cfm-->
+    <suffix domain="com.ht" />
+    <suffix domain="shop.ht" />
+    <suffix domain="firm.ht" />
+    <suffix domain="info.ht" />
+    <suffix domain="adult.ht" />
+    <suffix domain="net.ht" />
+    <suffix domain="pro.ht" />
+    <suffix domain="org.ht" />
+    <suffix domain="med.ht" />
+    <suffix domain="art.ht" />
+    <suffix domain="coop.ht" />
+    <suffix domain="pol.ht" />
+    <suffix domain="asso.ht" />
+    <suffix domain="edu.ht" />
+    <suffix domain="rel.ht" />
+    <suffix domain="gouv.ht" />
+    <suffix domain="perso.ht" />
+
+    <!--  hu : http://www.domain.hu/domain/English/sld.html-->
+    <suffix domain="co.hu" />
+    <suffix domain="info.hu" />
+    <suffix domain="org.hu" />
+    <suffix domain="priv.hu" />
+    <suffix domain="sport.hu" />
+    <suffix domain="tm.hu" />
+    <suffix domain="2000.hu" />
+    <suffix domain="agrar.hu" />
+    <suffix domain="bolt.hu" />
+    <suffix domain="casino.hu" />
+    <suffix domain="city.hu" />
+    <suffix domain="erotica.hu" />
+    <suffix domain="erotika.hu" />
+    <suffix domain="film.hu" />
+    <suffix domain="forum.hu" />
+    <suffix domain="games.hu" />
+    <suffix domain="hotel.hu" />
+    <suffix domain="ingatlan.hu" />
+    <suffix domain="jogasz.hu" />
+    <suffix domain="konyvelo.hu" />
+    <suffix domain="lakas.hu" />
+    <suffix domain="media.hu" />
+    <suffix domain="news.hu" />
+    <suffix domain="reklam.hu" />
+    <suffix domain="sex.hu" />
+    <suffix domain="shop.hu" />
+    <suffix domain="suli.hu" />
+    <suffix domain="szex.hu" />
+    <suffix domain="tozsde.hu" />
+    <suffix domain="utazas.hu" />
+    <suffix domain="video.hu" />
+
+    <!--  id : http://en.wikipedia.org/wiki/.id-->
+
+    <!--  ie : http://en.wikipedia.org/wiki/.ie-->
+
+    <!--  il : http://en.wikipedia.org/wiki/.il-->
+
+    <!--  im : https://www.nic.im/pdfs/imfaqs.pdf-->
+    <suffix domain="co.im" />
+    <suffix domain="ltd.co.im" />
+    <suffix domain="plc.co.im" />
+    <suffix domain="net.im" />
+    <suffix domain="gov.im" />
+    <suffix domain="org.im" />
+    <suffix domain="nic.im" />
+    <suffix domain="ac.im" />
+
+    <!--  in : http://en.wikipedia.org/wiki/.in-->
+    <suffix domain="co.in" />
+    <suffix domain="firm.in" />
+    <suffix domain="net.in" />
+    <suffix domain="org.in" />
+    <suffix domain="gen.in" />
+    <suffix domain="ind.in" />
+    <suffix domain="nic.in" />
+    <suffix domain="ac.in" />
+    <suffix domain="edu.in" />
+    <suffix domain="res.in" />
+    <suffix domain="gov.in" />
+    <suffix domain="mil.in" />
+
+    <!--  info : http://en.wikipedia.org/wiki/.info-->
+
+    <!--  int : http://en.wikipedia.org/wiki/.int-->
+
+    <!--  io : http://www.nic.io/rules.html-->
+    <!--  list of 2nd level tlds ?-->
+
+    <!--  iq : http://en.wikipedia.org/wiki/.iq-->
+    <!--  no registrar website found, but google shows .gov.iq and .edu.iq websites-->
+    <suffix domain="gov.iq" />
+    <suffix domain="edu.iq" />
+
+    <!--  ir : http://www.nic.ir/ascii/Appendix1.htm-->
+    <suffix domain="ac.ir" />
+    <suffix domain="co.ir" />
+    <suffix domain="gov.ir" />
+    <suffix domain="id.ir" />
+    <suffix domain="net.ir" />
+    <suffix domain="org.ir" />
+    <suffix domain="sch.ir" />
+
+    <!--  is : http://www.isnic.is/domain/rules.php-->
+    <suffix domain="net.is" />
+    <suffix domain="com.is" />
+    <suffix domain="edu.is" />
+    <suffix domain="gov.is" />
+    <suffix domain="org.is" />
+    <suffix domain="int.is" />
+
+    <!--  it : http://en.wikipedia.org/wiki/.it-->
+    <suffix domain="gov.edu" />
+    <!--  geo-names found at http://www.nic.it/RA/en/domini/regole/nomi-riservati.pdf-->
+    <suffix domain="agrigento.it" />
+    <suffix domain="ag.it" />
+    <suffix domain="alessandria.it" />
+    <suffix domain="al.it" />
+    <suffix domain="ancona.it" />
+    <suffix domain="an.it" />
+    <suffix domain="aosta.it" />
+    <suffix domain="aoste.it" />
+    <suffix domain="ao.it" />
+    <suffix domain="arezzo.it" />
+    <suffix domain="ar.it" />
+    <suffix domain="ascoli-piceno.it" />
+    <suffix domain="ascolipiceno.it" />
+    <suffix domain="ap.it" />
+    <suffix domain="asti.it" />
+    <suffix domain="at.it" />
+    <suffix domain="avellino.it" />
+    <suffix domain="av.it" />
+    <suffix domain="bari.it" />
+    <suffix domain="ba.it" />
+    <suffix domain="barlettaandriatrani.it" />
+    <suffix domain="barletta-andria-trani.it" />
+    <suffix domain="belluno.it" />
+    <suffix domain="bl.it" />
+    <suffix domain="benevento.it" />
+    <suffix domain="bn.it" />
+    <suffix domain="bergamo.it" />
+    <suffix domain="bg.it" />
+    <suffix domain="biella.it" />
+    <suffix domain="bi.it" />
+    <suffix domain="bologna.it" />
+    <suffix domain="bo.it" />
+    <suffix domain="bolzano.it" />
+    <suffix domain="bozen.it" />
+    <suffix domain="balsan.it" />
+    <suffix domain="alto-adige.it" />
+    <suffix domain="altoadige.it" />
+    <suffix domain="suedtirol.it" />
+    <suffix domain="bz.it" />
+    <suffix domain="brescia.it" />
+    <suffix domain="bs.it" />
+    <suffix domain="brindisi.it" />
+    <suffix domain="br.it" />
+    <suffix domain="cagliari.it" />
+    <suffix domain="ca.it" />
+    <suffix domain="caltanissetta.it" />
+    <suffix domain="cl.it" />
+    <suffix domain="campobasso.it" />
+    <suffix domain="cb.it" />
+    <suffix domain="caserta.it" />
+    <suffix domain="ce.it" />
+    <suffix domain="catania.it" />
+    <suffix domain="ct.it" />
+    <suffix domain="catanzaro.it" />
+    <suffix domain="cz.it" />
+    <suffix domain="chieti.it" />
+    <suffix domain="ch.it" />
+    <suffix domain="como.it" />
+    <suffix domain="co.it" />
+    <suffix domain="cosenza.it" />
+    <suffix domain="cs.it" />
+    <suffix domain="cremona.it" />
+    <suffix domain="cr.it" />
+    <suffix domain="crotone.it" />
+    <suffix domain="kr.it" />
+    <suffix domain="cuneo.it" />
+    <suffix domain="cn.it" />
+    <suffix domain="enna.it" />
+    <suffix domain="en.it" />
+    <suffix domain="fermo.it" />
+    <suffix domain="ferrara.it" />
+    <suffix domain="fe.it" />
+    <suffix domain="firenze.it" />
+    <suffix domain="florence.it" />
+    <suffix domain="fi.it" />
+    <suffix domain="foggia.it" />
+    <suffix domain="fg.it" />
+    <suffix domain="forli-cesena.it" />
+    <suffix domain="forlicesena.it" />
+    <suffix domain="fc.it" />
+    <suffix domain="frosinone.it" />
+    <suffix domain="fr.it" />
+    <suffix domain="genova.it" />
+    <suffix domain="genoa.it" />
+    <suffix domain="ge.it" />
+    <suffix domain="gorizia.it" />
+    <suffix domain="go.it" />
+    <suffix domain="grosseto.it" />
+    <suffix domain="gr.it" />
+    <suffix domain="imperia.it" />
+    <suffix domain="im.it" />
+    <suffix domain="isernia.it" />
+    <suffix domain="is.it" />
+    <suffix domain="laquila.it" />
+    <suffix domain="aquila.it" />
+    <suffix domain="aq.it" />
+    <suffix domain="la-spezia.it" />
+    <suffix domain="laspezia.it" />
+    <suffix domain="sp.it" />
+    <suffix domain="latina.it" />
+    <suffix domain="lt.it" />
+    <suffix domain="lecce.it" />
+    <suffix domain="le.it" />
+    <suffix domain="lecco.it" />
+    <suffix domain="lc.it" />
+    <suffix domain="livorno.it" />
+    <suffix domain="li.it" />
+    <suffix domain="lodi.it" />
+    <suffix domain="lo.it" />
+    <suffix domain="lucca.it" />
+    <suffix domain="lu.it" />
+    <suffix domain="macerata.it" />
+    <suffix domain="mc.it" />
+    <suffix domain="mantova.it" />
+    <suffix domain="mn.it" />
+    <suffix domain="massa-carrara.it" />
+    <suffix domain="massacarrara.it" />
+    <suffix domain="ms.it" />
+    <suffix domain="matera.it" />
+    <suffix domain="mt.it" />
+    <suffix domain="messina.it" />
+    <suffix domain="me.it" />
+    <suffix domain="milano.it" />
+    <suffix domain="milan.it" />
+    <suffix domain="mi.it" />
+    <suffix domain="modena.it" />
+    <suffix domain="mo.it" />
+    <suffix domain="monza.it" />
+    <suffix domain="napoli.it" />
+    <suffix domain="naples.it" />
+    <suffix domain="na.it" />
+    <suffix domain="novara.it" />
+    <suffix domain="no.it" />
+    <suffix domain="nuoro.it" />
+    <suffix domain="nu.it" />
+    <suffix domain="oristano.it" />
+    <suffix domain="or.it" />
+    <suffix domain="padova.it" />
+    <suffix domain="padua.it" />
+    <suffix domain="pd.it" />
+    <suffix domain="palermo.it" />
+    <suffix domain="pa.it" />
+    <suffix domain="parma.it" />
+    <suffix domain="pr.it" />
+    <suffix domain="pavia.it" />
+    <suffix domain="pv.it" />
+    <suffix domain="perugia.it" />
+    <suffix domain="pg.it" />
+    <suffix domain="pescara.it" />
+    <suffix domain="pe.it" />
+    <suffix domain="pesaro-urbino.it" />
+    <suffix domain="pesarourbino.it" />
+    <suffix domain="pu.it" />
+    <suffix domain="piacenza.it" />
+    <suffix domain="pc.it" />
+    <suffix domain="pisa.it" />
+    <suffix domain="pi.it" />
+    <suffix domain="pistoia.it" />
+    <suffix domain="pt.it" />
+    <suffix domain="pordenone.it" />
+    <suffix domain="pn.it" />
+    <suffix domain="potenza.it" />
+    <suffix domain="pz.it" />
+    <suffix domain="prato.it" />
+    <suffix domain="po.it" />
+    <suffix domain="ragusa.it" />
+    <suffix domain="rg.it" />
+    <suffix domain="ravenna.it" />
+    <suffix domain="ra.it" />
+    <suffix domain="reggio-calabria.it" />
+    <suffix domain="reggiocalabria.it" />
+    <suffix domain="rc.it" />
+    <suffix domain="reggio-emilia.it" />
+    <suffix domain="reggioemilia.it" />
+    <suffix domain="re.it" />
+    <suffix domain="rieti.it" />
+    <suffix domain="ri.it" />
+    <suffix domain="rimini.it" />
+    <suffix domain="rn.it" />
+    <suffix domain="roma.it" />
+    <suffix domain="rome.it" />
+    <suffix domain="rm.it" />
+    <suffix domain="rovigo.it" />
+    <suffix domain="ro.it" />
+    <suffix domain="salerno.it" />
+    <suffix domain="sa.it" />
+    <suffix domain="sassari.it" />
+    <suffix domain="ss.it" />
+    <suffix domain="savona.it" />
+    <suffix domain="sv.it" />
+    <suffix domain="siena.it" />
+    <suffix domain="si.it" />
+    <suffix domain="siracusa.it" />
+    <suffix domain="sr.it" />
+    <suffix domain="sondrio.it" />
+    <suffix domain="so.it" />
+    <suffix domain="taranto.it" />
+    <suffix domain="ta.it" />
+    <suffix domain="teramo.it" />
+    <suffix domain="te.it" />
+    <suffix domain="terni.it" />
+    <suffix domain="tr.it" />
+    <suffix domain="torino.it" />
+    <suffix domain="turin.it" />
+    <suffix domain="to.it" />
+    <suffix domain="trapani.it" />
+    <suffix domain="tp.it" />
+    <suffix domain="trento.it" />
+    <suffix domain="trentino.it" />
+    <suffix domain="tn.it" />
+    <suffix domain="treviso.it" />
+    <suffix domain="tv.it" />
+    <suffix domain="trieste.it" />
+    <suffix domain="ts.it" />
+    <suffix domain="udine.it" />
+    <suffix domain="ud.it" />
+    <suffix domain="varese.it" />
+    <suffix domain="va.it" />
+    <suffix domain="venezia.it" />
+    <suffix domain="venice.it" />
+    <suffix domain="ve.it" />
+    <suffix domain="verbania.it" />
+    <suffix domain="vb.it" />
+    <suffix domain="vercelli.it" />
+    <suffix domain="vc.it" />
+    <suffix domain="verona.it" />
+    <suffix domain="vr.it" />
+    <suffix domain="vibo-valentia.it" />
+    <suffix domain="vibovalentia.it" />
+    <suffix domain="vv.it" />
+    <suffix domain="vicenza.it" />
+    <suffix domain="vi.it" />
+    <suffix domain="viterbo.it" />
+    <suffix domain="vt.it" />
+
+    <!--  je : http://www.channelisles.net/tandc.shtml-->
+    <suffix domain="co.je" />
+    <suffix domain="org.je" />
+    <suffix domain="net.je" />
+    <suffix domain="sch.je" />
+    <suffix domain="gov.je" />
+
+    <!--  jm : http://www.com.jm/register.html-->
+
+    <!--  jo : http://www.nis.gov.jo/dns/reg.html-->
+    <suffix domain="com.jo" />
+    <suffix domain="org.jo" />
+    <suffix domain="net.jo" />
+    <suffix domain="edu.jo" />
+    <suffix domain="gov.jo" />
+    <suffix domain="mil.jo" />
+    <suffix domain="myname.jo" />
+
+    <!--  jobs : http://en.wikipedia.org/wiki/.jobs-->
+
+    <!--  jp : http://en.wikipedia.org/wiki/.jp-->
+    <suffix domain="ac.jp" />
+    <suffix domain="ad.jp" />
+    <suffix domain="co.jp" />
+    <suffix domain="ed.jp" />
+    <suffix domain="go.jp" />
+    <suffix domain="gr.jp" />
+    <suffix domain="lg.jp" />
+    <suffix domain="ne.jp" />
+    <suffix domain="or.jp" />
+    <!--  jp geographical names-->
+    <!--  I can't find an official english explanantrion, but used https://bugzilla.mozilla.org/show_bug.cgi?id=252342#c31-->
+    <suffix domain="aichi.jp" />
+    <suffix domain="akita.jp" />
+    <suffix domain="aomori.jp" />
+    <suffix domain="chiba.jp" />
+    <suffix domain="ehime.jp" />
+    <suffix domain="fukui.jp" />
+    <suffix domain="fukuoka.jp" />
+    <suffix domain="fukushima.jp" />
+    <suffix domain="gifu.jp" />
+    <suffix domain="gunma.jp" />
+    <suffix domain="hiroshima.jp" />
+    <suffix domain="hokkaido.jp" />
+    <suffix domain="hyogo.jp" />
+    <suffix domain="ibaraki.jp" />
+    <suffix domain="ishikawa.jp" />
+    <suffix domain="iwate.jp" />
+    <suffix domain="kagawa.jp" />
+    <suffix domain="kagoshima.jp" />
+    <suffix domain="kanagawa.jp" />
+    <suffix domain="kawasaki.jp" />
+    <suffix domain="kitakyushu.jp" />
+    <suffix domain="kobe.jp" />
+    <suffix domain="kochi.jp" />
+    <suffix domain="kumamoto.jp" />
+    <suffix domain="kyoto.jp" />
+    <suffix domain="mie.jp" />
+    <suffix domain="miyagi.jp" />
+    <suffix domain="miyazaki.jp" />
+    <suffix domain="nagano.jp" />
+    <suffix domain="nagasaki.jp" />
+    <suffix domain="nagoya.jp" />
+    <suffix domain="nara.jp" />
+    <suffix domain="niigata.jp" />
+    <suffix domain="oita.jp" />
+    <suffix domain="okayama.jp" />
+    <suffix domain="okinawa.jp" />
+    <suffix domain="osaka.jp" />
+    <suffix domain="saga.jp" />
+    <suffix domain="saitama.jp" />
+    <suffix domain="sapporo.jp" />
+    <suffix domain="sendai.jp" />
+    <suffix domain="shiga.jp" />
+    <suffix domain="shimane.jp" />
+    <suffix domain="shizuoka.jp" />
+    <suffix domain="tochigi.jp" />
+    <suffix domain="tokushima.jp" />
+    <suffix domain="tokyo.jp" />
+    <suffix domain="tottori.jp" />
+    <suffix domain="toyama.jp" />
+    <suffix domain="wakayama.jp" />
+    <suffix domain="yamagata.jp" />
+    <suffix domain="yamaguchi.jp" />
+    <suffix domain="yamanashi.jp" />
+    <suffix domain="yokohama.jp" />
+    <suffix domain="metro.tokyo.jp" />
+    <suffix domain="pref.aichi.jp" />
+    <suffix domain="pref.akita.jp" />
+    <suffix domain="pref.aomori.jp" />
+    <suffix domain="pref.chiba.jp" />
+    <suffix domain="pref.ehime.jp" />
+    <suffix domain="pref.fukui.jp" />
+    <suffix domain="pref.fukuoka.jp" />
+    <suffix domain="pref.fukushima.jp" />
+    <suffix domain="pref.gifu.jp" />
+    <suffix domain="pref.gunma.jp" />
+    <suffix domain="pref.hiroshima.jp" />
+    <suffix domain="pref.hokkaido.jp" />
+    <suffix domain="pref.hyogo.jp" />
+    <suffix domain="pref.ibaraki.jp" />
+    <suffix domain="pref.ishikawa.jp" />
+    <suffix domain="pref.iwate.jp" />
+    <suffix domain="pref.kagawa.jp" />
+    <suffix domain="pref.kagoshima.jp" />
+    <suffix domain="pref.kanagawa.jp" />
+    <suffix domain="pref.kochi.jp" />
+    <suffix domain="pref.kumamoto.jp" />
+    <suffix domain="pref.kyoto.jp" />
+    <suffix domain="pref.mie.jp" />
+    <suffix domain="pref.miyagi.jp" />
+    <suffix domain="pref.miyazaki.jp" />
+    <suffix domain="pref.nagano.jp" />
+    <suffix domain="pref.nagasaki.jp" />
+    <suffix domain="pref.nara.jp" />
+    <suffix domain="pref.niigata.jp" />
+    <suffix domain="pref.oita.jp" />
+    <suffix domain="pref.okayama.jp" />
+    <suffix domain="pref.okinawa.jp" />
+    <suffix domain="pref.osaka.jp" />
+    <suffix domain="pref.saga.jp" />
+    <suffix domain="pref.saitama.jp" />
+    <suffix domain="pref.shiga.jp" />
+    <suffix domain="pref.shimane.jp" />
+    <suffix domain="pref.shizuoka.jp" />
+    <suffix domain="pref.tochigi.jp" />
+    <suffix domain="pref.tokushima.jp" />
+    <suffix domain="pref.tottori.jp" />
+    <suffix domain="pref.toyama.jp" />
+    <suffix domain="pref.wakayama.jp" />
+    <suffix domain="pref.yamagata.jp" />
+    <suffix domain="pref.yamaguchi.jp" />
+    <suffix domain="pref.yamanashi.jp" />
+    <suffix domain="city.chiba.jp" />
+    <suffix domain="city.fukuoka.jp" />
+    <suffix domain="city.hiroshima.jp" />
+    <suffix domain="city.kawasaki.jp" />
+    <suffix domain="city.kitakyushu.jp" />
+    <suffix domain="city.kobe.jp" />
+    <suffix domain="city.kyoto.jp" />
+    <suffix domain="city.nagoya.jp" />
+    <suffix domain="city.osaka.jp" />
+    <suffix domain="city.saitama.jp" />
+    <suffix domain="city.sapporo.jp" />
+    <suffix domain="city.sendai.jp" />
+    <suffix domain="city.shizuoka.jp" />
+    <suffix domain="city.yokohama.jp" />
+
+    <!--  ke : http://www.kenic.or.ke/index.php?option=com_content&task=view&id=117&Itemid=145-->
+
+    <!--  kg : http://www.domain.kg/dmn_n.html-->
+    <suffix domain="org.kg" />
+    <suffix domain="net.kg" />
+    <suffix domain="com.kg" />
+    <suffix domain="edu.kg" />
+    <suffix domain="gov.kg" />
+    <suffix domain="mil.kg" />
+
+    <!--  kh : http://www.mptc.gov.kh/dns_registration.htm-->
+
+    <!--  ki : http://www.ki/dns/index.html-->
+    <suffix domain="edu.ki" />
+    <suffix domain="biz.ki" />
+    <suffix domain="net.ki" />
+    <suffix domain="org.ki" />
+    <suffix domain="gov.ki" />
+    <suffix domain="info.ki" />
+    <suffix domain="com.ki" />
+
+    <!--  km : http://en.wikipedia.org/wiki/.km-->
+
+    <!--  kn : http://en.wikipedia.org/wiki/.kn-->
+
+    <!--  kr : http://domain.nida.or.kr/eng/structure.jsp-->
+    <suffix domain="ac.kr" />
+    <suffix domain="co.kr" />
+    <suffix domain="go.kr" />
+    <suffix domain="ne.kr" />
+    <suffix domain="or.kr" />
+    <suffix domain="re.kr" />
+    <suffix domain="pe.kr" />
+    <suffix domain="한글.kr" />
+
+    <!--  kw : http://en.wikipedia.org/wiki/.kw-->
+
+    <!--  ky : http://www.icta.ky/da_ky_reg_dom.php-->
+    <suffix domain="edu.ky" />
+    <suffix domain="gov.ky" />
+    <suffix domain="com.ky" />
+    <suffix domain="org.ky" />
+    <suffix domain="net.ky" />
+
+    <!--  kz : http://en.wikipedia.org/wiki/.kz-->
+    <suffix domain="org.kz" />
+    <suffix domain="edu.kz" />
+    <suffix domain="net.kz" />
+    <suffix domain="gov.kz" />
+    <suffix domain="mil.kz" />
+    <suffix domain="com.kz" />
+
+    <!--  la : http://en.wikipedia.org/wiki/.la-->
+
+    <!--  lb : http://en.wikipedia.org/wiki/.lb-->
+
+    <!--  lc : http://en.wikipedia.org/wiki/.lc-->
+    <suffix domain="com.lc" />
+    <suffix domain="org.lc" />
+    <suffix domain="edu.lc" />
+    <suffix domain="gov.lc" />
+
+    <!--  li : http://en.wikipedia.org/wiki/.li-->
+
+    <!--  lk : http://www.nic.lk/seclevpr.html-->
+    <suffix domain="gov.lk" />
+    <suffix domain="sch.lk" />
+    <suffix domain="net.lk" />
+    <suffix domain="int.lk" />
+    <suffix domain="com.lk" />
+    <suffix domain="org.lk" />
+    <suffix domain="edu.lk" />
+    <suffix domain="ngo.lk" />
+    <suffix domain="soc.lk" />
+    <suffix domain="web.lk" />
+    <suffix domain="ltd.lk" />
+    <suffix domain="assn.lk" />
+    <suffix domain="grp.lk" />
+    <suffix domain="hotel.lk" />
+
+    <!--  lr : http://psg.com/dns/lr/lr.txt-->
+
+    <!--  ls : http://en.wikipedia.org/wiki/.ls-->
+    <suffix domain="co.ls" />
+    <suffix domain="org.ls" />
+
+    <!--  lt : http://en.wikipedia.org/wiki/.lt-->
+
+    <!--  lu : http://www.dns.lu/en/-->
+
+    <!--  lv : http://www.nic.lv/DNS/En/generic.php-->
+    <suffix domain="com.lv" />
+    <suffix domain="edu.lv" />
+    <suffix domain="gov.lv" />
+    <suffix domain="org.lv" />
+    <suffix domain="mil.lv" />
+    <suffix domain="id.lv" />
+    <suffix domain="net.lv" />
+    <suffix domain="asn.lv" />
+    <suffix domain="conf.lv" />
+
+    <!--  ly : http://www.nic.ly/regulations.php-->
+    <suffix domain="com.ly" />
+    <suffix domain="net.ly" />
+    <suffix domain="gov.ly" />
+    <suffix domain="plc.ly" />
+    <suffix domain="edu.ly" />
+    <suffix domain="sch.ly" />
+    <suffix domain="med.ly" />
+    <suffix domain="org.ly" />
+    <suffix domain="id.ly" />
+
+    <!--  ma : http://en.wikipedia.org/wiki/.ma-->
+    <!--  list of 2nd level tlds ?-->
+    <suffix domain="co.ma" />
+    <suffix domain="net.ma" />
+    <suffix domain="gov.ma" />
+    <suffix domain="org.ma" />
+
+    <!--  mc : http://www.nic.mc/-->
+    <suffix domain="tm.mc" />
+    <suffix domain="asso.mc" />
+
+    <!--  md : http://en.wikipedia.org/wiki/.md-->
+
+    <!--  mg : http://www.nic.mg/tarif.htm-->
+    <suffix domain="org.mg" />
+    <suffix domain="nom.mg" />
+    <suffix domain="gov.mg" />
+    <suffix domain="prd.mg" />
+    <suffix domain="tm.mg" />
+    <suffix domain="edu.mg" />
+    <suffix domain="mil.mg" />
+    <suffix domain="com.mg" />
+
+    <!--  mh : http://en.wikipedia.org/wiki/.mh-->
+
+    <!--  mil : http://en.wikipedia.org/wiki/.mil-->
+
+    <!--  mk : http://en.wikipedia.org/wiki/.mk-->
+    <!--  list of 2nd level tlds ?-->
+    <suffix domain="com.mk" />
+    <suffix domain="gov.mk" />
+    <suffix domain="org.mk" />
+    <suffix domain="net.mk" />
+    <suffix domain="edu.mk" />
+
+    <!--  ml : http://www.gobin.info/domainname/ml-template.doc-->
+
+    <!--  mm : http://en.wikipedia.org/wiki/.mm-->
+
+    <!--  mn : http://en.wikipedia.org/wiki/.mn-->
+    <suffix domain="gov.mn" />
+    <suffix domain="edu.mn" />
+    <suffix domain="org.mn" />
+
+    <!--  mo : http://www.monic.net.mo/-->
+    <suffix domain="com.mo" />
+    <suffix domain="net.mo" />
+    <suffix domain="org.mo" />
+    <suffix domain="edu.mo" />
+    <suffix domain="gov.mo" />
+
+    <!--  mobi : http://en.wikipedia.org/wiki/.mobi-->
+
+    <!--  mp : http://www.dot.mp/-->
+
+    <!--  mq : http://en.wikipedia.org/wiki/.mq-->
+
+    <!--  mr : http://en.wikipedia.org/wiki/.mr-->
+
+    <!--  ms : http://en.wikipedia.org/wiki/.ms-->
+
+    <!--  mt : https://www.nic.org.mt/dotmt/-->
+
+    <!--  mu : http://en.wikipedia.org/wiki/.mu-->
+    <!--  list of 2nd level tlds ?-->
+
+    <!--  museum : http://about.museum/naming/-->
+    <!--  there are 2nd-level TLD's, but there's no list-->
+
+    <!--  mv : http://en.wikipedia.org/wiki/.mv-->
+
+    <!--  mw : http://www.registrar.mw/-->
+    <suffix domain="ac.mw" />
+    <suffix domain="biz.mw" />
+    <suffix domain="co.mw" />
+    <suffix domain="com.mw" />
+    <suffix domain="coop.mw" />
+    <suffix domain="edu.mw" />
+    <suffix domain="gov.mw" />
+    <suffix domain="int.mw" />
+    <suffix domain="net.mw" />
+    <suffix domain="org.mw" />
+
+    <!--  mx : http://www.nic.mx/-->
+
+    <!--  my : http://www.mynic.net.my/-->
+
+    <!--  mz : http://www.gobin.info/domainname/mz-template.doc-->
+
+    <!--  na : http://www.na-nic.com.na/-->
+    <!--  list of 2nd level tlds ?-->
+
+    <!--  name : has 2nd-level tlds, but there's no list of them-->
+
+    <!--  nc : http://www.cctld.nc/-->
+
+    <!--  ne : http://en.wikipedia.org/wiki/.ne-->
+
+    <!--  net : http://en.wikipedia.org/wiki/.net-->
+
+    <!--  nf : http://en.wikipedia.org/wiki/.nf-->
+    <suffix domain="com.nf" />
+    <suffix domain="net.nf" />
+    <suffix domain="per.nf" />
+    <suffix domain="rec.nf" />
+    <suffix domain="web.nf" />
+    <suffix domain="arts.nf" />
+    <suffix domain="firm.nf" />
+    <suffix domain="info.nf" />
+    <suffix domain="other.nf" />
+    <suffix domain="store.nf" />
+
+    <!--  ng : http://psg.com/dns/ng/-->
+
+    <!--  ni : http://www.nic.ni/dominios.htm-->
+
+    <!--  nl : http://www.domain-registry.nl/ace.php/c,728,122,,,,Home.html-->
+
+    <!--  no : http://www.norid.no/regelverk/index.en.html-->
+    <suffix domain="fhs.no" />
+    <suffix domain="vgs.no" />
+    <suffix domain="fylkesbibl.no" />
+    <suffix domain="folkebibl.no" />
+    <suffix domain="museum.no" />
+    <suffix domain="idrett.no" />
+    <suffix domain="mil.no" />
+    <suffix domain="stat.no" />
+    <suffix domain="dep.no" />
+    <suffix domain="kommune.no" />
+    <suffix domain="herad.no" />
+    <suffix domain="priv.no" />
+    <!--  no geographical names : http://www.norid.no/regelverk/vedlegg-b.en.html-->
+    <!--  counties-->
+    <suffix domain="aa.no" />
+    <suffix domain="ah.no" />
+    <suffix domain="bu.no" />
+    <suffix domain="fm.no" />
+    <suffix domain="hl.no" />
+    <suffix domain="hm.no" />
+    <suffix domain="jan-mayen.no" />
+    <suffix domain="mr.no" />
+    <suffix domain="nl.no" />
+    <suffix domain="nt.no" />
+    <suffix domain="of.no" />
+    <suffix domain="ol.no" />
+    <suffix domain="oslo.no" />
+    <suffix domain="rl.no" />
+    <suffix domain="sf.no" />
+    <suffix domain="st.no" />
+    <suffix domain="svalbard.no" />
+    <suffix domain="tm.no" />
+    <suffix domain="tr.no" />
+    <suffix domain="va.no" />
+    <suffix domain="vf.no" />
+    <!--  primary and lower secondary schools per county-->
+    <suffix domain="gs.aa.no" />
+    <suffix domain="gs.ah.no" />
+    <suffix domain="gs.bu.no" />
+    <suffix domain="gs.fm.no" />
+    <suffix domain="gs.hl.no" />
+    <suffix domain="gs.hm.no" />
+    <suffix domain="gs.jan-mayen.no" />
+    <suffix domain="gs.mr.no" />
+    <suffix domain="gs.nl.no" />
+    <suffix domain="gs.nt.no" />
+    <suffix domain="gs.of.no" />
+    <suffix domain="gs.ol.no" />
+    <suffix domain="gs.oslo.no" />
+    <suffix domain="gs.rl.no" />
+    <suffix domain="gs.sf.no" />
+    <suffix domain="gs.st.no" />
+    <suffix domain="gs.svalbard.no" />
+    <suffix domain="gs.tm.no" />
+    <suffix domain="gs.tr.no" />
+    <suffix domain="gs.va.no" />
+    <suffix domain="gs.vf.no" />
+    <!--  cities-->
+    <suffix domain="akrehamn.no" />
+    <suffix domain="åkrehamn.no" />
+    <suffix domain="algard.no" />
+    <suffix domain="ålgård.no" />
+    <suffix domain="arna.no" />
+    <suffix domain="brumunddal.no" />
+    <suffix domain="bryne.no" />
+    <suffix domain="bronnoysund.no" />
+    <suffix domain="brønnøysund.no" />
+    <suffix domain="drobak.no" />
+    <suffix domain="drøbak.no" />
+    <suffix domain="egersund.no" />
+    <suffix domain="fetsund.no" />
+    <suffix domain="floro.no" />
+    <suffix domain="florø.no" />
+    <suffix domain="fredrikstad.no" />
+    <suffix domain="hokksund.no" />
+    <suffix domain="honefoss.no" />
+    <suffix domain="hønefoss.no" />
+    <suffix domain="jessheim.no" />
+    <suffix domain="jorpeland.no" />
+    <suffix domain="jørpeland.no" />
+    <suffix domain="kirkenes.no" />
+    <suffix domain="kopervik.no" />
+    <suffix domain="krokstadelva.no" />
+    <suffix domain="langevag.no" />
+    <suffix domain="langevåg.no" />
+    <suffix domain="leirvik.no" />
+    <suffix domain="mjondalen.no" />
+    <suffix domain="mjøndalen.no" />
+    <suffix domain="mo-i-rana.no" />
+    <suffix domain="mosjoen.no" />
+    <suffix domain="mosjøen.no" />
+    <suffix domain="nesoddtangen.no" />
+    <suffix domain="orkanger.no" />
+    <suffix domain="osoyro.no" />
+    <suffix domain="osøyro.no" />
+    <suffix domain="raholt.no" />
+    <suffix domain="råholt.no" />
+    <suffix domain="sandnessjoen.no" />
+    <suffix domain="sandnessjøen.no" />
+    <suffix domain="skedsmokorset.no" />
+    <suffix domain="slattum.no" />
+    <suffix domain="spjelkavik.no" />
+    <suffix domain="stathelle.no" />
+    <suffix domain="stavern.no" />
+    <suffix domain="stjordalshalsen.no" />
+    <suffix domain="stjørdalshalsen.no" />
+    <suffix domain="tananger.no" />
+    <suffix domain="tranby.no" />
+    <suffix domain="vossevangen.no" />
+    <!--  communities-->
+    <suffix domain="afjord.no" />
+    <suffix domain="åfjord.no" />
+    <suffix domain="agdenes.no" />
+    <suffix domain="al.no" />
+    <suffix domain="ål.no" />
+    <suffix domain="alesund.no" />
+    <suffix domain="ålesund.no" />
+    <suffix domain="alstahaug.no" />
+    <suffix domain="alta.no" />
+    <suffix domain="áltá.no" />
+    <suffix domain="alaheadju.no" />
+    <suffix domain="álaheadju.no" />
+    <suffix domain="alvdal.no" />
+    <suffix domain="amli.no" />
+    <suffix domain="åmli.no" />
+    <suffix domain="amot.no" />
+    <suffix domain="åmot.no" />
+    <suffix domain="andebu.no" />
+    <suffix domain="andoy.no" />
+    <suffix domain="andøy.no" />
+    <suffix domain="andasuolo.no" />
+    <suffix domain="ardal.no" />
+    <suffix domain="årdal.no" />
+    <suffix domain="aremark.no" />
+    <suffix domain="arendal.no" />
+    <suffix domain="ås.no" />
+    <suffix domain="aseral.no" />
+    <suffix domain="åseral.no" />
+    <suffix domain="asker.no" />
+    <suffix domain="askim.no" />
+    <suffix domain="askvoll.no" />
+    <suffix domain="askoy.no" />
+    <suffix domain="askøy.no" />
+    <suffix domain="asnes.no" />
+    <suffix domain="åsnes.no" />
+    <suffix domain="audnedaln.no" />
+    <suffix domain="aukra.no" />
+    <suffix domain="aure.no" />
+    <suffix domain="aurland.no" />
+    <suffix domain="aurskog-holand.no" />
+    <suffix domain="aurskog-høland.no" />
+    <suffix domain="austevoll.no" />
+    <suffix domain="austrheim.no" />
+    <suffix domain="averoy.no" />
+    <suffix domain="averøy.no" />
+    <suffix domain="balestrand.no" />
+    <suffix domain="ballangen.no" />
+    <suffix domain="balat.no" />
+    <suffix domain="bálát.no" />
+    <suffix domain="balsfjord.no" />
+    <suffix domain="bahccavuotna.no" />
+    <suffix domain="báhccavuotna.no" />
+    <suffix domain="bamble.no" />
+    <suffix domain="bardu.no" />
+    <suffix domain="beardu.no" />
+    <suffix domain="beiarn.no" />
+    <suffix domain="bajddar.no" />
+    <suffix domain="bájddar.no" />
+    <suffix domain="baidar.no" />
+    <suffix domain="báidár.no" />
+    <suffix domain="berg.no" />
+    <suffix domain="bergen.no" />
+    <suffix domain="berlevag.no" />
+    <suffix domain="berlevåg.no" />
+    <suffix domain="bearalvahki.no" />
+    <suffix domain="bearalváhki.no" />
+    <suffix domain="bindal.no" />
+    <suffix domain="birkenes.no" />
+    <suffix domain="bjarkoy.no" />
+    <suffix domain="bjarkøy.no" />
+    <suffix domain="bjerkreim.no" />
+    <suffix domain="bjugn.no" />
+    <suffix domain="bodo.no" />
+    <suffix domain="bodø.no" />
+    <suffix domain="badaddja.no" />
+    <suffix domain="bådåddjå.no" />
+    <suffix domain="budejju.no" />
+    <suffix domain="bokn.no" />
+    <suffix domain="bremanger.no" />
+    <suffix domain="bronnoy.no" />
+    <suffix domain="brønnøy.no" />
+    <suffix domain="bygland.no" />
+    <suffix domain="bykle.no" />
+    <suffix domain="barum.no" />
+    <suffix domain="bærum.no" />
+    <suffix domain="bo.telemark.no" />
+    <suffix domain="bø.telemark.no" />
+    <suffix domain="bo.nordland.no" />
+    <suffix domain="bø.nordland.no" />
+    <suffix domain="bievat.no" />
+    <suffix domain="bievát.no" />
+    <suffix domain="bomlo.no" />
+    <suffix domain="bømlo.no" />
+    <suffix domain="batsfjord.no" />
+    <suffix domain="båtsfjord.no" />
+    <suffix domain="bahcavuotna.no" />
+    <suffix domain="báhcavuotna.no" />
+    <suffix domain="dovre.no" />
+    <suffix domain="drammen.no" />
+    <suffix domain="drangedal.no" />
+    <suffix domain="dyroy.no" />
+    <suffix domain="dyrøy.no" />
+    <suffix domain="donna.no" />
+    <suffix domain="dønna.no" />
+    <suffix domain="eid.no" />
+    <suffix domain="eidfjord.no" />
+    <suffix domain="eidsberg.no" />
+    <suffix domain="eidskog.no" />
+    <suffix domain="eidsvoll.no" />
+    <suffix domain="eigersund.no" />
+    <suffix domain="elverum.no" />
+    <suffix domain="enebakk.no" />
+    <suffix domain="engerdal.no" />
+    <suffix domain="etne.no" />
+    <suffix domain="etnedal.no" />
+    <suffix domain="evenes.no" />
+    <suffix domain="evenassi.no" />
+    <suffix domain="evenášši.no" />
+    <suffix domain="evje-og-hornnes.no" />
+    <suffix domain="farsund.no" />
+    <suffix domain="fauske.no" />
+    <suffix domain="fuossko.no" />
+    <suffix domain="fuoisku.no" />
+    <suffix domain="fedje.no" />
+    <suffix domain="fet.no" />
+    <suffix domain="finnoy.no" />
+    <suffix domain="finnøy.no" />
+    <suffix domain="fitjar.no" />
+    <suffix domain="fjaler.no" />
+    <suffix domain="fjell.no" />
+    <suffix domain="flakstad.no" />
+    <suffix domain="flatanger.no" />
+    <suffix domain="flekkefjord.no" />
+    <suffix domain="flesberg.no" />
+    <suffix domain="flora.no" />
+    <suffix domain="fla.no" />
+    <suffix domain="flå.no" />
+    <suffix domain="folldal.no" />
+    <suffix domain="forsand.no" />
+    <suffix domain="fosnes.no" />
+    <suffix domain="fredrikstad.no" />
+    <suffix domain="frei.no" />
+    <suffix domain="frogn.no" />
+    <suffix domain="froland.no" />
+    <suffix domain="frosta.no" />
+    <suffix domain="frana.no" />
+    <suffix domain="fræna.no" />
+    <suffix domain="froya.no" />
+    <suffix domain="frøya.no" />
+    <suffix domain="fusa.no" />
+    <suffix domain="fyresdal.no" />
+    <suffix domain="forde.no" />
+    <suffix domain="førde.no" />
+    <suffix domain="gamvik.no" />
+    <suffix domain="gangaviika.no" />
+    <suffix domain="gaular.no" />
+    <suffix domain="gausdal.no" />
+    <suffix domain="gildeskal.no" />
+    <suffix domain="gildeskål.no" />
+    <suffix domain="giske.no" />
+    <suffix domain="gjemnes.no" />
+    <suffix domain="gjerdrum.no" />
+    <suffix domain="gjerstad.no" />
+    <suffix domain="gjesdal.no" />
+    <suffix domain="gjovik.no" />
+    <suffix domain="gjøvik.no" />
+    <suffix domain="gloppen.no" />
+    <suffix domain="gol.no" />
+    <suffix domain="gran.no" />
+    <suffix domain="grane.no" />
+    <suffix domain="granvin.no" />
+    <suffix domain="gratangen.no" />
+    <suffix domain="grimstad.no" />
+    <suffix domain="grong.no" />
+    <suffix domain="kraanghke.no" />
+    <suffix domain="kråanghke.no" />
+    <suffix domain="grue.no" />
+    <suffix domain="gulen.no" />
+    <suffix domain="hadsel.no" />
+    <suffix domain="halden.no" />
+    <suffix domain="halsa.no" />
+    <suffix domain="hamar.no" />
+    <suffix domain="hamaroy.no" />
+    <suffix domain="habmer.no" />
+    <suffix domain="hábmer.no" />
+    <suffix domain="hapmir.no" />
+    <suffix domain="hápmir.no" />
+    <suffix domain="hammerfest.no" />
+    <suffix domain="hammarfeasta.no" />
+    <suffix domain="hámmárfeasta.no" />
+    <suffix domain="haram.no" />
+    <suffix domain="hareid.no" />
+    <suffix domain="harstad.no" />
+    <suffix domain="hasvik.no" />
+    <suffix domain="aknoluokta.no" />
+    <suffix domain="ákŋoluokta.no" />
+    <suffix domain="hattfjelldal.no" />
+    <suffix domain="aarborte.no" />
+    <suffix domain="haugesund.no" />
+    <suffix domain="hemne.no" />
+    <suffix domain="hemnes.no" />
+    <suffix domain="hemsedal.no" />
+    <suffix domain="heroy.more-og-romsdal.no" />
+    <suffix domain="herøy.møre-og-romsdal.no" />
+    <suffix domain="heroy.nordland.no" />
+    <suffix domain="herøy.nordland.no" />
+    <suffix domain="hitra.no" />
+    <suffix domain="hjartdal.no" />
+    <suffix domain="hjelmeland.no" />
+    <suffix domain="hobol.no" />
+    <suffix domain="hobøl.no" />
+    <suffix domain="hof.no" />
+    <suffix domain="hol.no" />
+    <suffix domain="hole.no" />
+    <suffix domain="holmestrand.no" />
+    <suffix domain="holtalen.no" />
+    <suffix domain="holtålen.no" />
+    <suffix domain="hornindal.no" />
+    <suffix domain="horten.no" />
+    <suffix domain="hurdal.no" />
+    <suffix domain="hurum.no" />
+    <suffix domain="hvaler.no" />
+    <suffix domain="hyllestad.no" />
+    <suffix domain="hagebostad.no" />
+    <suffix domain="hægebostad.no" />
+    <suffix domain="hoyanger.no" />
+    <suffix domain="høyanger.no" />
+    <suffix domain="hoylandet.no" />
+    <suffix domain="høylandet.no" />
+    <suffix domain="ha.no" />
+    <suffix domain="hå.no" />
+    <suffix domain="ibestad.no" />
+    <suffix domain="inderoy.no" />
+    <suffix domain="inderøy.no" />
+    <suffix domain="iveland.no" />
+    <suffix domain="jevnaker.no" />
+    <suffix domain="jondal.no" />
+    <suffix domain="jolster.no" />
+    <suffix domain="jølster.no" />
+    <suffix domain="karasjok.no" />
+    <suffix domain="karasjohka.no" />
+    <suffix domain="kárášjohka.no" />
+    <suffix domain="karlsoy.no" />
+    <suffix domain="galsa.no" />
+    <suffix domain="gálsá.no" />
+    <suffix domain="karmoy.no" />
+    <suffix domain="karmøy.no" />
+    <suffix domain="kautokeino.no" />
+    <suffix domain="guovdageaidnu.no" />
+    <suffix domain="klepp.no" />
+    <suffix domain="klabu.no" />
+    <suffix domain="klæbu.no" />
+    <suffix domain="kongsberg.no" />
+    <suffix domain="kongsvinger.no" />
+    <suffix domain="kragero.no" />
+    <suffix domain="kragerø.no" />
+    <suffix domain="kristiansand.no" />
+    <suffix domain="kristiansund.no" />
+    <suffix domain="krodsherad.no" />
+    <suffix domain="krødsherad.no" />
+    <suffix domain="kvalsund.no" />
+    <suffix domain="rahkkeravju.no" />
+    <suffix domain="ráhkkerávju.no" />
+    <suffix domain="kvam.no" />
+    <suffix domain="kvinesdal.no" />
+    <suffix domain="kvinnherad.no" />
+    <suffix domain="kviteseid.no" />
+    <suffix domain="kvitsoy.no" />
+    <suffix domain="kvitsøy.no" />
+    <suffix domain="kvafjord.no" />
+    <suffix domain="kvæfjord.no" />
+    <suffix domain="giehtavuoatna.no" />
+    <suffix domain="kvanangen.no" />
+    <suffix domain="kvænangen.no" />
+    <suffix domain="navuotna.no" />
+    <suffix domain="návuotna.no" />
+    <suffix domain="kafjord.no" />
+    <suffix domain="kåfjord.no" />
+    <suffix domain="gaivuotna.no" />
+    <suffix domain="gáivuotna.no" />
+    <suffix domain="larvik.no" />
+    <suffix domain="lavangen.no" />
+    <suffix domain="lavagis.no" />
+    <suffix domain="loabat.no" />
+    <suffix domain="loabát.no" />
+    <suffix domain="lebesby.no" />
+    <suffix domain="davvesiida.no" />
+    <suffix domain="leikanger.no" />
+    <suffix domain="leirfjord.no" />
+    <suffix domain="leka.no" />
+    <suffix domain="leksvik.no" />
+    <suffix domain="lenvik.no" />
+    <suffix domain="leangaviika.no" />
+    <suffix domain="lea?gaviika.no" />
+    <suffix domain="lesja.no" />
+    <suffix domain="levanger.no" />
+    <suffix domain="lier.no" />
+    <suffix domain="lierne.no" />
+    <suffix domain="lillehammer.no" />
+    <suffix domain="lillesand.no" />
+    <suffix domain="lindesnes.no" />
+    <suffix domain="lindas.no" />
+    <suffix domain="lindås.no" />
+    <suffix domain="lom.no" />
+    <suffix domain="loppa.no" />
+    <suffix domain="lahppi.no" />
+    <suffix domain="láhppi.no" />
+    <suffix domain="lund.no" />
+    <suffix domain="lunner.no" />
+    <suffix domain="luroy.no" />
+    <suffix domain="lurøy.no" />
+    <suffix domain="luster.no" />
+    <suffix domain="lyngdal.no" />
+    <suffix domain="lyngen.no" />
+    <suffix domain="ivgu.no" />
+    <suffix domain="lardal.no" />
+    <suffix domain="lerdal.no" />
+    <suffix domain="lærdal.no" />
+    <suffix domain="lodingen.no" />
+    <suffix domain="lødingen.no" />
+    <suffix domain="lorenskog.no" />
+    <suffix domain="lørenskog.no" />
+    <suffix domain="loten.no" />
+    <suffix domain="løten.no" />
+    <suffix domain="malvik.no" />
+    <suffix domain="masoy.no" />
+    <suffix domain="måsøy.no" />
+    <suffix domain="muosat.no" />
+    <suffix domain="muosát.no" />
+    <suffix domain="mandal.no" />
+    <suffix domain="marker.no" />
+    <suffix domain="marnardal.no" />
+    <suffix domain="masfjorden.no" />
+    <suffix domain="meland.no" />
+    <suffix domain="meldal.no" />
+    <suffix domain="melhus.no" />
+    <suffix domain="meloy.no" />
+    <suffix domain="meløy.no" />
+    <suffix domain="meraker.no" />
+    <suffix domain="meråker.no" />
+    <suffix domain="moareke.no" />
+    <suffix domain="moåreke.no" />
+    <suffix domain="midsund.no" />
+    <suffix domain="midtre-gauldal.no" />
+    <suffix domain="modalen.no" />
+    <suffix domain="modum.no" />
+    <suffix domain="molde.no" />
+    <suffix domain="moskenes.no" />
+    <suffix domain="moss.no" />
+    <suffix domain="mosvik.no" />
+    <suffix domain="malselv.no" />
+    <suffix domain="målselv.no" />
+    <suffix domain="malatvuopmi.no" />
+    <suffix domain="málatvuopmi.no" />
+    <suffix domain="namdalseid.no" />
+    <suffix domain="aejrie.no" />
+    <suffix domain="namsos.no" />
+    <suffix domain="namsskogan.no" />
+    <suffix domain="naamesjevuemie.no" />
+    <suffix domain="nååmesjevuemie.no" />
+    <suffix domain="laakesvuemie.no" />
+    <suffix domain="nannestad.no" />
+    <suffix domain="narvik.no" />
+    <suffix domain="narviika.no" />
+    <suffix domain="naustdal.no" />
+    <suffix domain="nedre-eiker.no" />
+    <suffix domain="nes.akershus.no" />
+    <suffix domain="nes.buskerud.no" />
+    <suffix domain="nesna.no" />
+    <suffix domain="nesodden.no" />
+    <suffix domain="nesseby.no" />
+    <suffix domain="unjarga.no" />
+    <suffix domain="unjárga.no" />
+    <suffix domain="nesset.no" />
+    <suffix domain="nissedal.no" />
+    <suffix domain="nittedal.no" />
+    <suffix domain="nord-aurdal.no" />
+    <suffix domain="nord-fron.no" />
+    <suffix domain="nord-odal.no" />
+    <suffix domain="norddal.no" />
+    <suffix domain="nordkapp.no" />
+    <suffix domain="davvenjarga.no" />
+    <suffix domain="davvenjárga.no" />
+    <suffix domain="nordre-land.no" />
+    <suffix domain="nordreisa.no" />
+    <suffix domain="raisa.no" />
+    <suffix domain="ráisa.no" />
+    <suffix domain="nore-og-uvdal.no" />
+    <suffix domain="notodden.no" />
+    <suffix domain="naroy.no" />
+    <suffix domain="nærøy.no" />
+    <suffix domain="notteroy.no" />
+    <suffix domain="nøtterøy.no" />
+    <suffix domain="odda.no" />
+    <suffix domain="oksnes.no" />
+    <suffix domain="`øksnes.no" />
+    <suffix domain="oppdal.no" />
+    <suffix domain="oppegard.no" />
+    <suffix domain="oppegård.no" />
+    <suffix domain="orkdal.no" />
+    <suffix domain="orland.no" />
+    <suffix domain="ørland.no" />
+    <suffix domain="orskog.no" />
+    <suffix domain="ørskog.no" />
+    <suffix domain="orsta.no" />
+    <suffix domain="ørsta.no" />
+    <suffix domain="os.hedmark.no" />
+    <suffix domain="os.hordaland.no" />
+    <suffix domain="osen.no" />
+    <suffix domain="osteroy.no" />
+    <suffix domain="osterøy.no" />
+    <suffix domain="ostre-toten.no" />
+    <suffix domain="østre-toten.no" />
+    <suffix domain="overhalla.no" />
+    <suffix domain="ovre-eiker.no" />
+    <suffix domain="øvre-eiker.no" />
+    <suffix domain="oyer.no" />
+    <suffix domain="øyer.no" />
+    <suffix domain="oygarden.no" />
+    <suffix domain="øygarden.no" />
+    <suffix domain="oystre-slidre.no" />
+    <suffix domain="øystre-slidre.no" />
+    <suffix domain="porsanger.no" />
+    <suffix domain="porsangu.no" />
+    <suffix domain="porsáŋgu.no" />
+    <suffix domain="porsgrunn.no" />
+    <suffix domain="radoy.no" />
+    <suffix domain="radøy.no" />
+    <suffix domain="rakkestad.no" />
+    <suffix domain="rana.no" />
+    <suffix domain="ruovat.no" />
+    <suffix domain="randaberg.no" />
+    <suffix domain="rauma.no" />
+    <suffix domain="rendalen.no" />
+    <suffix domain="rennebu.no" />
+    <suffix domain="rennesoy.no" />
+    <suffix domain="rennesøy.no" />
+    <suffix domain="rindal.no" />
+    <suffix domain="ringebu.no" />
+    <suffix domain="ringerike.no" />
+    <suffix domain="ringsaker.no" />
+    <suffix domain="rissa.no" />
+    <suffix domain="risor.no" />
+    <suffix domain="risør.no" />
+    <suffix domain="roan.no" />
+    <suffix domain="rollag.no" />
+    <suffix domain="rygge.no" />
+    <suffix domain="ralingen.no" />
+    <suffix domain="rælingen.no" />
+    <suffix domain="rodoy.no" />
+    <suffix domain="rødøy.no" />
+    <suffix domain="romskog.no" />
+    <suffix domain="rømskog.no" />
+    <suffix domain="roros.no" />
+    <suffix domain="røros.no" />
+    <suffix domain="rost.no" />
+    <suffix domain="røst.no" />
+    <suffix domain="royken.no" />
+    <suffix domain="røyken.no" />
+    <suffix domain="royrvik.no" />
+    <suffix domain="røyrvik.no" />
+    <suffix domain="rade.no" />
+    <suffix domain="råde.no" />
+    <suffix domain="salangen.no" />
+    <suffix domain="siellak.no" />
+    <suffix domain="saltdal.no" />
+    <suffix domain="sálát.no" />
+    <suffix domain="sálat.no" />
+    <suffix domain="samnanger.no" />
+    <suffix domain="sande.more-og-romsdal.no" />
+    <suffix domain="sande.møre-og-romsdal.no" />
+    <suffix domain="sande.vestfold.no" />
+    <suffix domain="sandefjord.no" />
+    <suffix domain="sandnes.no" />
+    <suffix domain="sandoy.no" />
+    <suffix domain="sandøy.no" />
+    <suffix domain="sarpsborg.no" />
+    <suffix domain="sauda.no" />
+    <suffix domain="sauherad.no" />
+    <suffix domain="sel.no" />
+    <suffix domain="selbu.no" />
+    <suffix domain="selje.no" />
+    <suffix domain="seljord.no" />
+    <suffix domain="sigdal.no" />
+    <suffix domain="siljan.no" />
+    <suffix domain="sirdal.no" />
+    <suffix domain="skaun.no" />
+    <suffix domain="skedsmo.no" />
+    <suffix domain="ski.no" />
+    <suffix domain="skien.no" />
+    <suffix domain="skiptvet.no" />
+    <suffix domain="skjervoy.no" />
+    <suffix domain="skjervøy.no" />
+    <suffix domain="skierva.no" />
+    <suffix domain="skiervá.no" />
+    <suffix domain="skjak.no" />
+    <suffix domain="skjåk.no" />
+    <suffix domain="skodje.no" />
+    <suffix domain="skanland.no" />
+    <suffix domain="skånland.no" />
+    <suffix domain="skanit.no" />
+    <suffix domain="skánit.no" />
+    <suffix domain="smola.no" />
+    <suffix domain="smøla.no" />
+    <suffix domain="snillfjord.no" />
+    <suffix domain="snasa.no" />
+    <suffix domain="snåsa.no" />
+    <suffix domain="snoasa.no" />
+    <suffix domain="snaase.no" />
+    <suffix domain="snåase.no" />
+    <suffix domain="sogndal.no" />
+    <suffix domain="sokndal.no" />
+    <suffix domain="sola.no" />
+    <suffix domain="solund.no" />
+    <suffix domain="songdalen.no" />
+    <suffix domain="sortland.no" />
+    <suffix domain="spydeberg.no" />
+    <suffix domain="stange.no" />
+    <suffix domain="stavanger.no" />
+    <suffix domain="steigen.no" />
+    <suffix domain="steinkjer.no" />
+    <suffix domain="stjordal.no" />
+    <suffix domain="stjørdal.no" />
+    <suffix domain="stokke.no" />
+    <suffix domain="stor-elvdal.no" />
+    <suffix domain="stord.no" />
+    <suffix domain="stordal.no" />
+    <suffix domain="storfjord.no" />
+    <suffix domain="omasvuotna.no" />
+    <suffix domain="strand.no" />
+    <suffix domain="stranda.no" />
+    <suffix domain="stryn.no" />
+    <suffix domain="sula.no" />
+    <suffix domain="suldal.no" />
+    <suffix domain="sund.no" />
+    <suffix domain="sunndal.no" />
+    <suffix domain="surnadal.no" />
+    <suffix domain="sveio.no" />
+    <suffix domain="svelvik.no" />
+    <suffix domain="sykkylven.no" />
+    <suffix domain="sogne.no" />
+    <suffix domain="søgne.no" />
+    <suffix domain="somna.no" />
+    <suffix domain="sømna.no" />
+    <suffix domain="sondre-land.no" />
+    <suffix domain="søndre-land.no" />
+    <suffix domain="sor-aurdal.no" />
+    <suffix domain="sør-aurdal.no" />
+    <suffix domain="sor-fron.no" />
+    <suffix domain="sør-fron.no" />
+    <suffix domain="sor-odal.no" />
+    <suffix domain="sør-odal.no" />
+    <suffix domain="sor-varanger.no" />
+    <suffix domain="sør-varanger.no" />
+    <suffix domain="matta-varjjat.no" />
+    <suffix domain="mátta-várjjat.no" />
+    <suffix domain="sorfold.no" />
+    <suffix domain="sørfold.no" />
+    <suffix domain="sorreisa.no" />
+    <suffix domain="sørreisa.no" />
+    <suffix domain="sorum.no" />
+    <suffix domain="sørum.no" />
+    <suffix domain="tana.no" />
+    <suffix domain="deatnu.no" />
+    <suffix domain="time.no" />
+    <suffix domain="tingvoll.no" />
+    <suffix domain="tinn.no" />
+    <suffix domain="tjeldsund.no" />
+    <suffix domain="dielddanuorri.no" />
+    <suffix domain="tjome.no" />
+    <suffix domain="tjøme.no" />
+    <suffix domain="tokke.no" />
+    <suffix domain="tolga.no" />
+    <suffix domain="torsken.no" />
+    <suffix domain="tranoy.no" />
+    <suffix domain="tranøy.no" />
+    <suffix domain="tromso.no" />
+    <suffix domain="tromsø.no" />
+    <suffix domain="tromsa.no" />
+    <suffix domain="romsa.no" />
+    <suffix domain="trondheim.no" />
+    <suffix domain="troandin.no" />
+    <suffix domain="trysil.no" />
+    <suffix domain="trana.no" />
+    <suffix domain="træna.no" />
+    <suffix domain="trogstad.no" />
+    <suffix domain="trøgstad.no" />
+    <suffix domain="tvedestrand.no" />
+    <suffix domain="tydal.no" />
+    <suffix domain="tynset.no" />
+    <suffix domain="tysfjord.no" />
+    <suffix domain="divtasvuodna.no" />
+    <suffix domain="divttasvuotna.no" />
+    <suffix domain="tysnes.no" />
+    <suffix domain="tysvar.no" />
+    <suffix domain="tysvær.no" />
+    <suffix domain="tonsberg.no" />
+    <suffix domain="tønsberg.no" />
+    <suffix domain="ullensaker.no" />
+    <suffix domain="ullensvang.no" />
+    <suffix domain="ulvik.no" />
+    <suffix domain="utsira.no" />
+    <suffix domain="vadso.no" />
+    <suffix domain="vadsø.no" />
+    <suffix domain="cahcesuolo.no" />
+    <suffix domain="cáhcesuolo.no" />
+    <suffix domain="vaksdal.no" />
+    <suffix domain="valle.no" />
+    <suffix domain="vang.no" />
+    <suffix domain="vanylven.no" />
+    <suffix domain="vardo.no" />
+    <suffix domain="vardø.no" />
+    <suffix domain="varggat.no" />
+    <suffix domain="várggát.no" />
+    <suffix domain="vefsn.no" />
+    <suffix domain="vaapste.no" />
+    <suffix domain="vega.no" />
+    <suffix domain="vegarshei.no" />
+    <suffix domain="vegårshei.no" />
+    <suffix domain="vennesla.no" />
+    <suffix domain="verdal.no" />
+    <suffix domain="verran.no" />
+    <suffix domain="vestby.no" />
+    <suffix domain="vestnes.no" />
+    <suffix domain="vestre-slidre.no" />
+    <suffix domain="vestre-toten.no" />
+    <suffix domain="vestvagoy.no" />
+    <suffix domain="vestvågøy.no" />
+    <suffix domain="vevelstad.no" />
+    <suffix domain="vik.no" />
+    <suffix domain="vikna.no" />
+    <suffix domain="vindafjord.no" />
+    <suffix domain="volda.no" />
+    <suffix domain="voss.no" />
+    <suffix domain="varoy.no" />
+    <suffix domain="værøy.no" />
+    <suffix domain="vagan.no" />
+    <suffix domain="vågan.no" />
+    <suffix domain="voagat.no" />
+    <suffix domain="vagsoy.no" />
+    <suffix domain="vågsøy.no" />
+    <suffix domain="vaga.no" />
+    <suffix domain="vågå.no" />
+    <suffix domain="valer.ostfold.no" />
+    <suffix domain="våler.østfold.no" />
+    <suffix domain="valer.hedmark.no" />
+    <suffix domain="våler.hedmark.no" />
+
+    <!--  np : http://www.mos.com.np/register.html-->
+
+    <!--  nr : http://cenpac.net.nr/dns/index.html-->
+    <suffix domain="biz.nr" />
+    <suffix domain="info.nr" />
+    <suffix domain="gov.nr" />
+    <suffix domain="edu.nr" />
+    <suffix domain="org.nr" />
+    <suffix domain="net.nr" />
+    <suffix domain="com.nr" />
+
+    <!--  nu : http://en.wikipedia.org/wiki/.nu-->
+
+    <!--  nz : http://en.wikipedia.org/wiki/.nz-->
+
+    <!--  om : http://en.wikipedia.org/wiki/.om-->
+
+    <!--  org : http://en.wikipedia.org/wiki/.og-->
+
+    <!--  pa : http://www.nic.pa/-->
+
+    <!--  pe : http://www.nic.pe/normas-proced-i.htm-->
+
+    <!--  pf : http://www.gobin.info/domainname/formulaire-pf.pdf-->
+    <suffix domain="com.pf" />
+    <suffix domain="org.pf" />
+    <suffix domain="edu.pf" />
+
+    <!--  pg : http://en.wikipedia.org/wiki/.pg-->
+
+    <!--  ph : http://www.domains.ph/FAQ2.asp-->
+    <!--  list of 2nd level tlds ?-->
+    <suffix domain="com.ph" />
+    <suffix domain="net.ph" />
+    <suffix domain="org.ph" />
+    <suffix domain="gov.ph" />
+    <suffix domain="edu.ph" />
+    <suffix domain="ngo.ph" />
+    <suffix domain="mil.ph" />
+
+    <!--  pk : http://pk5.pknic.net.pk/pk5/msgNamepk.PK-->
+    <suffix domain="com.pk" />
+    <suffix domain="net.pk" />
+    <suffix domain="edu.pk" />
+    <suffix domain="org.pk" />
+    <suffix domain="fam.pk" />
+    <suffix domain="biz.pk" />
+    <suffix domain="web.pk" />
+    <suffix domain="gov.pk" />
+    <suffix domain="gob.pk" />
+    <suffix domain="gok.pk" />
+    <suffix domain="gon.pk" />
+    <suffix domain="gop.pk" />
+    <suffix domain="gos.pk" />
+    <suffix domain="goa.pk" />
+    <suffix domain="info.pk" />
+
+    <!--  pl : http://www.dns.pl/english/-->
+    <!--  NASK functional domains (nask.pl / dns.pl) : http://www.dns.pl/english/dns-funk.html-->
+    <suffix domain="aid.pl" />
+    <suffix domain="agro.pl" />
+    <suffix domain="atm.pl" />
+    <suffix domain="auto.pl" />
+    <suffix domain="biz.pl" />
+    <suffix domain="com.pl" />
+    <suffix domain="edu.pl" />
+    <suffix domain="gmina.pl" />
+    <suffix domain="gsm.pl" />
+    <suffix domain="info.pl" />
+    <suffix domain="mail.pl" />
+    <suffix domain="miasta.pl" />
+    <suffix domain="media.pl" />
+    <suffix domain="mil.pl" />
+    <suffix domain="net.pl" />
+    <suffix domain="nieruchomosci.pl" />
+    <suffix domain="nom.pl" />
+    <suffix domain="org.pl" />
+    <suffix domain="pc.pl" />
+    <suffix domain="powiat.pl" />
+    <suffix domain="priv.pl" />
+    <suffix domain="realestate.pl" />
+    <suffix domain="rel.pl" />
+    <suffix domain="sex.pl" />
+    <suffix domain="shop.pl" />
+    <suffix domain="sklep.pl" />
+    <suffix domain="sos.pl" />
+    <suffix domain="szkola.pl" />
+    <suffix domain="targi.pl" />
+    <suffix domain="tm.pl" />
+    <suffix domain="tourism.pl" />
+    <suffix domain="travel.pl" />
+    <suffix domain="turystyka.pl" />
+    <!--  ICM functional domains (icm.edu.pl)-->
+    <suffix domain="6bone.pl" />
+    <suffix domain="art.pl" />
+    <suffix domain="mbone.pl" />
+    <!--  Government domains (administred by ippt.gov.pl)-->
+    <suffix domain="gov.pl" />
+    <suffix domain="uw.gov.pl" />
+    <suffix domain="um.gov.pl" />
+    <suffix domain="ug.gov.pl" />
+    <suffix domain="upow.gov.pl" />
+    <suffix domain="starostwo.gov.pl" />
+    <suffix domain="so.gov.pl" />
+    <suffix domain="sr.gov.pl" />
+    <suffix domain="po.gov.pl" />
+    <suffix domain="pa.gov.pl" />
+    <!--  other functional domains-->
+    <suffix domain="med.pl" />
+    <suffix domain="ngo.pl" />
+    <suffix domain="irc.pl" />
+    <suffix domain="usenet.pl" />
+    <!--  NASK geographical domains : http://www.dns.pl/english/dns-regiony.html-->
+    <suffix domain="augustow.pl" />
+    <suffix domain="babia-gora.pl" />
+    <suffix domain="bedzin.pl" />
+    <suffix domain="beskidy.pl" />
+    <suffix domain="bialowieza.pl" />
+    <suffix domain="bialystok.pl" />
+    <suffix domain="bielawa.pl" />
+    <suffix domain="bieszczady.pl" />
+    <suffix domain="boleslawiec.pl" />
+    <suffix domain="bydgoszcz.pl" />
+    <suffix domain="bytom.pl" />
+    <suffix domain="cieszyn.pl" />
+    <suffix domain="czeladz.pl" />
+    <suffix domain="czest.pl" />
+    <suffix domain="dlugoleka.pl" />
+    <suffix domain="elblag.pl" />
+    <suffix domain="elk.pl" />
+    <suffix domain="glogow.pl" />
+    <suffix domain="gniezno.pl" />
+    <suffix domain="gorlice.pl" />
+    <suffix domain="grajewo.pl" />
+    <suffix domain="ilawa.pl" />
+    <suffix domain="jaworzno.pl" />
+    <suffix domain="jelenia-gora.pl" />
+    <suffix domain="jgora.pl" />
+    <suffix domain="kalisz.pl" />
+    <suffix domain="kazimierz-dolny.pl" />
+    <suffix domain="karpacz.pl" />
+    <suffix domain="kartuzy.pl" />
+    <suffix domain="kaszuby.pl" />
+    <suffix domain="katowice.pl" />
+    <suffix domain="kepno.pl" />
+    <suffix domain="ketrzyn.pl" />
+    <suffix domain="klodzko.pl" />
+    <suffix domain="kobierzyce.pl" />
+    <suffix domain="kolobrzeg.pl" />
+    <suffix domain="konin.pl" />
+    <suffix domain="konskowola.pl" />
+    <suffix domain="kutno.pl" />
+    <suffix domain="lapy.pl" />
+    <suffix domain="lebork.pl" />
+    <suffix domain="legnica.pl" />
+    <suffix domain="lezajsk.pl" />
+    <suffix domain="limanowa.pl" />
+    <suffix domain="lomza.pl" />
+    <suffix domain="lowicz.pl" />
+    <suffix domain="lubin.pl" />
+    <suffix domain="lukow.pl" />
+    <suffix domain="malbork.pl" />
+    <suffix domain="malopolska.pl" />
+    <suffix domain="mazowsze.pl" />
+    <suffix domain="mazury.pl" />
+    <suffix domain="mielec.pl" />
+    <suffix domain="mielno.pl" />
+    <suffix domain="mragowo.pl" />
+    <suffix domain="naklo.pl" />
+    <suffix domain="nowaruda.pl" />
+    <suffix domain="nysa.pl" />
+    <suffix domain="olawa.pl" />
+    <suffix domain="olecko.pl" />
+    <suffix domain="olkusz.pl" />
+    <suffix domain="olsztyn.pl" />
+    <suffix domain="opoczno.pl" />
+    <suffix domain="opole.pl" />
+    <suffix domain="ostroda.pl" />
+    <suffix domain="ostroleka.pl" />
+    <suffix domain="ostrowiec.pl" />
+    <suffix domain="ostrowwlkp.pl" />
+    <suffix domain="pila.pl" />
+    <suffix domain="pisz.pl" />
+    <suffix domain="podhale.pl" />
+    <suffix domain="podlasie.pl" />
+    <suffix domain="polkowice.pl" />
+    <suffix domain="pomorze.pl" />
+    <suffix domain="pomorskie.pl" />
+    <suffix domain="prochowice.pl" />
+    <suffix domain="pruszkow.pl" />
+    <suffix domain="przeworsk.pl" />
+    <suffix domain="pulawy.pl" />
+    <suffix domain="radom.pl" />
+    <suffix domain="rawa-maz.pl" />
+    <suffix domain="rybnik.pl" />
+    <suffix domain="rzeszow.pl" />
+    <suffix domain="sanok.pl" />
+    <suffix domain="sejny.pl" />
+    <suffix domain="slask.pl" />
+    <suffix domain="slupsk.pl" />
+    <suffix domain="sosnowiec.pl" />
+    <suffix domain="stalowa-wola.pl" />
+    <suffix domain="skoczow.pl" />
+    <suffix domain="starachowice.pl" />
+    <suffix domain="stargard.pl" />
+    <suffix domain="suwalki.pl" />
+    <suffix domain="swidnica.pl" />
+    <suffix domain="swiebodzin.pl" />
+    <suffix domain="swinoujscie.pl" />
+    <suffix domain="szczecin.pl" />
+    <suffix domain="szczytno.pl" />
+    <suffix domain="tarnobrzeg.pl" />
+    <suffix domain="tgory.pl" />
+    <suffix domain="turek.pl" />
+    <suffix domain="tychy.pl" />
+    <suffix domain="ustka.pl" />
+    <suffix domain="walbrzych.pl" />
+    <suffix domain="warmia.pl" />
+    <suffix domain="warszawa.pl" />
+    <suffix domain="waw.pl" />
+    <suffix domain="wegrow.pl" />
+    <suffix domain="wielun.pl" />
+    <suffix domain="wlocl.pl" />
+    <suffix domain="wloclawek.pl" />
+    <suffix domain="wodzislaw.pl" />
+    <suffix domain="wolomin.pl" />
+    <suffix domain="wroclaw.pl" />
+    <suffix domain="zachpomor.pl" />
+    <suffix domain="zagan.pl" />
+    <suffix domain="zarow.pl" />
+    <suffix domain="zgora.pl" />
+    <suffix domain="zgorzelec.pl" />
+    <!--  TASK geographical domains (www.task.gda.pl/uslugi/dns)-->
+    <suffix domain="gda.pl" />
+    <suffix domain="gdansk.pl" />
+    <suffix domain="gdynia.pl" />
+    <suffix domain="sopot.pl" />
+    <!--  other geographical domains-->
+    <suffix domain="gliwice.pl" />
+    <suffix domain="krakow.pl" />
+    <suffix domain="poznan.pl" />
+    <suffix domain="wroc.pl" />
+    <suffix domain="zakopane.pl" />
+
+    <!--  pn : http://www.government.pn/PnRegistry/policies.htm-->
+    <suffix domain="gov.pn" />
+    <suffix domain="co.pn" />
+    <suffix domain="org.pn" />
+    <suffix domain="edu.pn" />
+    <suffix domain="net.pn" />
+
+    <!--  pr : http://www.nic.pr/index.asp?f=1-->
+    <suffix domain="com.pr" />
+    <suffix domain="net.pr" />
+    <suffix domain="org.pr" />
+    <suffix domain="gov.pr" />
+    <suffix domain="edu.pr" />
+    <suffix domain="isla.pr" />
+    <suffix domain="pro.pr" />
+    <suffix domain="biz.pr" />
+    <suffix domain="info.pr" />
+    <suffix domain="name.pr" />
+    <!--  these aren't mentioned on nic.pr, but on http://en.wikipedia.org/wiki/.pr-->
+    <suffix domain="est.pr" />
+    <suffix domain="prof.pr" />
+    <suffix domain="ac.pr" />
+
+    <!--  pro : http://www.nic.pro/support_faq.htm-->
+    <suffix domain="aca.pro" />
+    <suffix domain="bar.pro" />
+    <suffix domain="cpa.pro" />
+    <suffix domain="jur.pro" />
+    <suffix domain="law.pro" />
+    <suffix domain="med.pro" />
+    <suffix domain="eng.pro" />
+
+    <!--  ps : http://en.wikipedia.org/wiki/.ps-->
+    <!--  list of 2nd level tlds ?-->
+    <suffix domain="edu.ps" />
+    <suffix domain="gov.ps" />
+    <suffix domain="sec.ps" />
+    <suffix domain="plo.ps" />
+    <suffix domain="com.ps" />
+    <suffix domain="org.ps" />
+    <suffix domain="net.ps" />
+
+    <!--  pt : http://online.dns.pt/dns/start_dns-->
+    <suffix domain="net.pt" />
+    <suffix domain="gov.pt" />
+    <suffix domain="org.pt" />
+    <suffix domain="edu.pt" />
+    <suffix domain="int.pt" />
+    <suffix domain="publ.pt" />
+    <suffix domain="com.pt" />
+    <suffix domain="nome.pt" />
+
+    <!--  pw : http://en.wikipedia.org/wiki/.pw-->
+
+    <!--  py : http://www.nic.py/faq_a.html#faq_b-->
+
+    <!--  qa : http://www.qatar.net.qa/services/virtual.htm-->
+
+    <!--  re : http://www.afnic.re/obtenir/chartes/nommage-re/annexe-descriptifs-->
+    <suffix domain="com.re" />
+    <suffix domain="asso.re" />
+    <suffix domain="nom.re" />
+
+    <!--  ro : http://www.rotld.ro/-->
+    <suffix domain="com.ro" />
+    <suffix domain="org.ro" />
+    <suffix domain="tm.ro" />
+    <suffix domain="nt.ro" />
+    <suffix domain="nom.ro" />
+    <suffix domain="info.ro" />
+    <suffix domain="rec.ro" />
+    <suffix domain="arts.ro" />
+    <suffix domain="firm.ro" />
+    <suffix domain="store.ro" />
+    <suffix domain="www.ro" />
+
+    <!--  ru : http://en.wikipedia.org/wiki/.ru-->
+    <suffix domain="com.ru" />
+    <suffix domain="net.ru" />
+    <suffix domain="org.ru" />
+    <suffix domain="pp.ru" />
+    <suffix domain="int.ru" />
+    <!--  there should be geo-names like msk.ru, but I didn't find a list-->
+
+    <!--  rw : http://www.nic.rw/cgi-bin/policy.pl-->
+    <suffix domain="gov.rw" />
+    <suffix domain="net.rw" />
+    <suffix domain="edu.rw" />
+    <suffix domain="ac.rw" />
+    <suffix domain="com.rw" />
+    <suffix domain="co.rw" />
+    <suffix domain="int.rw" />
+    <suffix domain="mil.rw" />
+    <suffix domain="gouv.rw" />
+
+    <!--  sa : http://www.saudinic.net.sa/page.php?page=1&lang=1-->
+
+    <!--  sb : http://www.sbnic.net.sb/-->
+
+    <!--  sc : http://www.nic.sc/-->
+    <suffix domain="com.sc" />
+    <suffix domain="gov.sc" />
+    <suffix domain="net.sc" />
+    <suffix domain="org.sc" />
+    <suffix domain="edu.sc" />
+
+    <!--  sd : http://www.isoc.sd/sudanic.isoc.sd/billing_pricing.htm-->
+    <suffix domain="com.sd" />
+    <suffix domain="net.sd" />
+    <suffix domain="org.sd" />
+    <suffix domain="edu.sd" />
+    <suffix domain="med.sd" />
+    <suffix domain="tv.sd" />
+    <suffix domain="gov.sd" />
+    <suffix domain="info.sd" />
+
+    <!--  se : http://en.wikipedia.org/wiki/.se-->
+    <suffix domain="org.se" />
+    <suffix domain="pp.se" />
+    <suffix domain="tm.se" />
+    <suffix domain="parti.se" />
+    <suffix domain="press.se" />
+    <suffix domain="mil.se" />
+    <!--  se geographical names-->
+    <suffix domain="ab.se" />
+    <suffix domain="c.se" />
+    <suffix domain="d.se" />
+    <suffix domain="e.se" />
+    <suffix domain="f.se" />
+    <suffix domain="g.se" />
+    <suffix domain="h.se" />
+    <suffix domain="i.se" />
+    <suffix domain="k.se" />
+    <suffix domain="m.se" />
+    <suffix domain="n.se" />
+    <suffix domain="o.se" />
+    <suffix domain="s.se" />
+    <suffix domain="t.se" />
+    <suffix domain="u.se" />
+    <suffix domain="w.se" />
+    <suffix domain="x.se" />
+    <suffix domain="y.se" />
+    <suffix domain="z.se" />
+    <suffix domain="ac.se" />
+    <suffix domain="bd.se" />
+
+    <!--  sg : http://www.nic.net.sg/sub_policies_agreement/2ld.html-->
+    <suffix domain="com.sg" />
+    <suffix domain="net.sg" />
+    <suffix domain="org.sg" />
+    <suffix domain="gov.sg" />
+    <suffix domain="edu.sg" />
+    <suffix domain="per.sg" />
+
+    <!--  sh : http://www.nic.sh/rules.html-->
+    <!--  list of 2nd level domains ?-->
+
+    <!--  si : http://en.wikipedia.org/wiki/.si-->
+
+    <!--  sk : http://en.wikipedia.org/wiki/.sk-->
+
+    <!--  sl : http://en.wikipedia.org/wiki/.sl-->
+    <!--  list of 2nd level domains ?-->
+
+    <!--  sm : http://en.wikipedia.org/wiki/.sm-->
+
+    <!--  sn : http://en.wikipedia.org/wiki/.sn-->
+    <!--  list of 2nd level domains ?-->
+
+    <!--  sr : http://en.wikipedia.org/wiki/.sr-->
+
+    <!--  st : http://www.nic.st/html/policyrules/-->
+
+    <!--  su : http://en.wikipedia.org/wiki/.su-->
+
+    <!--  sv : http://www.svnet.org.sv/svpolicy.html-->
+
+    <!--  sy : http://www.gobin.info/domainname/sy.doc-->
+
+    <!--  sz : http://en.wikipedia.org/wiki/.sz-->
+    <!--  list of 2nd level domains ?-->
+
+    <!--  tc : http://en.wikipedia.org/wiki/.tc-->
+
+    <!--  td : http://en.wikipedia.org/wiki/.td-->
+
+    <!--  tf : http://en.wikipedia.org/wiki/.tf-->
+
+    <!--  tg : http://en.wikipedia.org/wiki/.tg-->
+    <!--  list of 2nd level domains ?-->
+
+    <!--  th : http://en.wikipedia.org/wiki/.th-->
+
+    <!--  tj : http://www.nic.tj/policy.htm-->
+    <suffix domain="ac.tj" />
+    <suffix domain="biz.tj" />
+    <suffix domain="com.tj" />
+    <suffix domain="co.tj" />
+    <suffix domain="edu.tj" />
+    <suffix domain="int.tj" />
+    <suffix domain="name.tj" />
+    <suffix domain="net.tj" />
+    <suffix domain="org.tj" />
+    <suffix domain="web.tj" />
+    <suffix domain="gov.tj" />
+    <suffix domain="go.tj" />
+    <suffix domain="mil.tj" />
+
+    <!--  tk : http://en.wikipedia.org/wiki/.tk-->
+
+    <!--  tl : http://en.wikipedia.org/wiki/.tl-->
+    <!--  list of 2nd level tlds ?-->
+
+    <!--  tm : http://www.nic.tm/rules.html-->
+    <!--  list of 2nd level tlds ?-->
+
+    <!--  tn : http://en.wikipedia.org/wiki/.tn-->
+    <!--  list of 2nd level tlds ?-->
+
+    <!--  to : http://en.wikipedia.org/wiki/.to-->
+    <!--  list of 2nd level tlds ?-->
+
+    <!--  tr : http://en.wikipedia.org/wiki/.tr-->
+
+    <!--  travel : http://en.wikipedia.org/wiki/.travel-->
+
+    <!--  tt : http://www.nic.tt/-->
+    <suffix domain="co.tt" />
+    <suffix domain="com.tt" />
+    <suffix domain="org.tt" />
+    <suffix domain="net.tt" />
+    <suffix domain="biz.tt" />
+    <suffix domain="info.tt" />
+    <suffix domain="pro.tt" />
+    <suffix domain="int.tt" />
+    <suffix domain="coop.tt" />
+    <suffix domain="jobs.tt" />
+    <suffix domain="mobi.tt" />
+    <suffix domain="travel.tt" />
+    <suffix domain="museum.tt" />
+    <suffix domain="aero.tt" />
+    <suffix domain="name.tt" />
+    <suffix domain="gov.tt" />
+    <suffix domain="edu.tt" />
+
+    <!--  tv : http://en.wikipedia.org/wiki/.tv-->
+    <!--  list of 2nd level tlds ?-->
+
+    <!--  tw : http://en.wikipedia.org/wiki/.tw-->
+    <suffix domain="edu.tw" />
+    <suffix domain="gov.tw" />
+    <suffix domain="mil.tw" />
+    <suffix domain="com.tw" />
+    <suffix domain="net.tw" />
+    <suffix domain="org.tw" />
+    <suffix domain="idv.tw" />
+    <suffix domain="game.tw" />
+    <suffix domain="ebiz.tw" />
+    <suffix domain="club.tw" />
+    <suffix domain="網路.tw" />
+    <suffix domain="組織.tw" />
+    <suffix domain="商業.tw" />
+
+    <!--  tz : http://en.wikipedia.org/wiki/.tz-->
+
+    <!--  ua : http://www.nic.net.ua/-->
+    <suffix domain="com.ua" />
+    <suffix domain="edu.ua" />
+    <suffix domain="gov.ua" />
+    <suffix domain="net.ua" />
+    <suffix domain="org.ua" />
+    <!--  ua geo-names-->
+    <suffix domain="cherkassy.ua" />
+    <suffix domain="chernigov.ua" />
+    <suffix domain="chernovtsy.ua" />
+    <suffix domain="ck.ua" />
+    <suffix domain="cn.ua" />
+    <suffix domain="crimea.ua" />
+    <suffix domain="cv.ua" />
+    <suffix domain="dn.ua" />
+    <suffix domain="dnepropetrovsk.ua" />
+    <suffix domain="donetsk.ua" />
+    <suffix domain="dp.ua" />
+    <suffix domain="if.ua" />
+    <suffix domain="ivano-frankivsk.ua" />
+    <suffix domain="kh.ua" />
+    <suffix domain="kharkov.ua" />
+    <suffix domain="kherson.ua" />
+    <suffix domain="kiev.ua" />
+    <suffix domain="kirovograd.ua" />
+    <suffix domain="km.ua" />
+    <suffix domain="kr.ua" />
+    <suffix domain="ks.ua" />
+    <suffix domain="lg.ua" />
+    <suffix domain="lugansk.ua" />
+    <suffix domain="lutsk.ua" />
+    <suffix domain="lviv.ua" />
+    <suffix domain="mk.ua" />
+    <suffix domain="nikolaev.ua" />
+    <suffix domain="od.ua" />
+    <suffix domain="odessa.ua" />
+    <suffix domain="pl.ua" />
+    <suffix domain="poltava.ua" />
+    <suffix domain="rovno.ua" />
+    <suffix domain="rv.ua" />
+    <suffix domain="sebastopol.ua" />
+    <suffix domain="sumy.ua" />
+    <suffix domain="te.ua" />
+    <suffix domain="ternopil.ua" />
+    <suffix domain="vinnica.ua" />
+    <suffix domain="vn.ua" />
+    <suffix domain="zaporizhzhe.ua" />
+    <suffix domain="zp.ua" />
+    <suffix domain="uz.ua" />
+    <suffix domain="uzhgorod.ua" />
+    <suffix domain="zhitomir.ua" />
+    <suffix domain="zt.ua" />
+
+    <!--  ug : http://www.registry.co.ug/-->
+    <suffix domain="co.ug" />
+    <suffix domain="ac.ug" />
+    <suffix domain="sc.ug" />
+    <suffix domain="go.ug" />
+    <suffix domain="ne.ug" />
+    <suffix domain="or.ug" />
+
+    <!--  uk : http://en.wikipedia.org/wiki/.uk-->
+    <suffix domain="sch.uk" />
+    <suffix domain="bl.uk" />
+    <suffix domain="british-library.uk" />
+    <suffix domain="icnet.uk" />
+    <suffix domain="jet.uk" />
+    <suffix domain="nel.uk" />
+    <suffix domain="nls.uk" />
+    <suffix domain="national-library-scotland.uk" />
+    <suffix domain="parliament.uk" />
+
+    <!--  us : http://en.wikipedia.org/wiki/.us-->
+    <suffix domain="dni.us" />
+    <suffix domain="fed.us" />
+    <suffix domain="isa.us" />
+    <suffix domain="kids.us" />
+    <suffix domain="nsn.us" />
+    <!--  us geographic names-->
+    <suffix domain="ak.us" />
+    <suffix domain="al.us" />
+    <suffix domain="ar.us" />
+    <suffix domain="az.us" />
+    <suffix domain="ca.us" />
+    <suffix domain="co.us" />
+    <suffix domain="ct.us" />
+    <suffix domain="dc.us" />
+    <suffix domain="de.us" />
+    <suffix domain="fl.us" />
+    <suffix domain="ga.us" />
+    <suffix domain="hi.us" />
+    <suffix domain="ia.us" />
+    <suffix domain="id.us" />
+    <suffix domain="il.us" />
+    <suffix domain="in.us" />
+    <suffix domain="ks.us" />
+    <suffix domain="ky.us" />
+    <suffix domain="la.us" />
+    <suffix domain="ma.us" />
+    <suffix domain="md.us" />
+    <suffix domain="me.us" />
+    <suffix domain="mi.us" />
+    <suffix domain="mn.us" />
+    <suffix domain="mo.us" />
+    <suffix domain="ms.us" />
+    <suffix domain="mt.us" />
+    <suffix domain="nc.us" />
+    <suffix domain="nd.us" />
+    <suffix domain="ne.us" />
+    <suffix domain="nh.us" />
+    <suffix domain="nj.us" />
+    <suffix domain="nm.us" />
+    <suffix domain="nv.us" />
+    <suffix domain="ny.us" />
+    <suffix domain="oh.us" />
+    <suffix domain="ok.us" />
+    <suffix domain="or.us" />
+    <suffix domain="pa.us" />
+    <suffix domain="ri.us" />
+    <suffix domain="sc.us" />
+    <suffix domain="sd.us" />
+    <suffix domain="tn.us" />
+    <suffix domain="tx.us" />
+    <suffix domain="ut.us" />
+    <suffix domain="vt.us" />
+    <suffix domain="va.us" />
+    <suffix domain="wa.us" />
+    <suffix domain="wi.us" />
+    <suffix domain="wv.us" />
+    <suffix domain="wy.us" />
+    <!--  the following rules would be only valid under the geo-name, but we can't express that-->
+    <!--  *.*.us          cities, counties, parishes, and townships (locality.state.us)-->
+    <!--  !ci.*.*.us       city government agencies (subdomain under locality)-->
+    <!--  !town.*.*.us     town government agencies (subdomain under locality)-->
+    <!--  !co.*.*.us       county government agencies (subdomain under locality)-->
+    <!--  k12.*.us      public school districts-->
+    <!--  pvt.k12.*.us  private schools-->
+    <!--  cc.*.us       community colleges-->
+    <!--  tec.*.us      technical and vocational schools-->
+    <!--  lib.*.us      state, regional, city, and county libraries-->
+    <!--  state.*.us    state government agencies-->
+    <!--  gen.*.us      general independent entities (groups not fitting into the above categories)-->
+
+    <!--  uy : http://www.antel.com.uy/-->
+
+    <!--  uz : http://www.reg.uz/registerr.html-->
+    <!--  are there other 2nd level tlds ?-->
+    <suffix domain="com.uz" />
+    <suffix domain="co.uz" />
+
+    <!--  va : http://en.wikipedia.org/wiki/.va-->
+
+    <!--  vc : http://en.wikipedia.org/wiki/.vc-->
+    <!--  list of 2nd level tlds ?-->
+
+    <!--  ve : http://registro.nic.ve/nicve/registro/index.html-->
+
+    <!--  vg : http://en.wikipedia.org/wiki/.vg-->
+
+    <!--  vi : http://www.nic.vi/Domain_Rules/body_domain_rules.html-->
+    <suffix domain="com.vi" />
+    <suffix domain="org.vi" />
+    <suffix domain="edu.vi" />
+    <suffix domain="gov.vi" />
+
+    <!--  vn : https://www.dot.vn/vnnic/vnnic/domainregistration.jsp-->
+    <suffix domain="com.vn" />
+    <suffix domain="net.vn" />
+    <suffix domain="org.vn" />
+    <suffix domain="edu.vn" />
+    <suffix domain="gov.vn" />
+    <suffix domain="int.vn" />
+    <suffix domain="ac.vn" />
+    <suffix domain="biz.vn" />
+    <suffix domain="info.vn" />
+    <suffix domain="name.vn" />
+    <suffix domain="pro.vn" />
+    <suffix domain="health.vn" />
+
+    <!--  vu : http://en.wikipedia.org/wiki/.vu-->
+    <!--  list of 2nd level tlds ?-->
+
+    <!--  ws : http://en.wikipedia.org/wiki/.ws-->
+
+    <!--  ye : http://www.y.net.ye/services/domain_name.htm-->
+
+    <!--  yu : http://www.nic.yu/pravilnik-e.html-->
+
+    <!--  za : http://www.zadna.org.za/slds.html-->
+
+    <!--  zm : http://en.wikipedia.org/wiki/.zm-->
+
+    <!--  zw : http://en.wikipedia.org/wiki/.zw-->
+
+  </suffixes>
+</domains>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/domain-suffixes.xsd
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/domain-suffixes.xsd	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/domain-suffixes.xsd	(revision 66)
@@ -0,0 +1,130 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!--
+  Document   : domain-suffixes.xsd
+  Author     : Enis Soztutar - enis.soz.nutch@gmail.com
+  Description: This document is the schema for valid domain-suffixes
+  definitions. For successful parsing of domain-suffixes xml files, 
+  the xml file should be validated with this xsd. 
+  See        : org.apache.nutch.util.domain.DomainSuffixesReader.java
+-->
+
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  targetNamespace="http://lucene.apache.org/nutch"
+  xmlns="http://lucene.apache.org/nutch"
+  elementFormDefault="qualified">
+
+  <xs:element name="domains">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="tlds">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:element name="itlds">
+                <xs:complexType>
+                  <xs:sequence>
+                    <xs:element name="tld" maxOccurs="unbounded"
+                      type="gtld" />
+                  </xs:sequence>
+                </xs:complexType>
+              </xs:element>
+
+              <xs:element name="gtlds">
+                <xs:complexType>
+                  <xs:sequence>
+                    <xs:element name="tld" maxOccurs="unbounded"
+                      type="gtld" />
+                  </xs:sequence>
+                </xs:complexType>
+              </xs:element>
+
+              <xs:element name="cctlds">
+                <xs:complexType>
+                  <xs:sequence>
+                    <xs:element name="tld" maxOccurs="unbounded"
+                      type="cctld" />
+                  </xs:sequence>
+                </xs:complexType>
+              </xs:element>
+
+            </xs:sequence>
+          </xs:complexType>
+        </xs:element>
+
+        <xs:element name="suffixes">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:element name="suffix" maxOccurs="unbounded"
+                type="sldType" />
+            </xs:sequence>
+          </xs:complexType>
+        </xs:element>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:complexType name="gtld">
+    <xs:sequence>
+      <xs:element name="status" minOccurs="0">
+        <xs:simpleType>
+          <xs:restriction base="xs:string">
+            <xs:enumeration value="INFRASTRUCTURE" />
+            <xs:enumeration value="SPONSORED" />
+            <xs:enumeration value="UNSPONSORED" />
+            <xs:enumeration value="STARTUP" />
+            <xs:enumeration value="PROPOSED" />
+            <xs:enumeration value="DELETED" />
+            <xs:enumeration value="PSEUDO_DOMAIN" />
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:element>
+      <xs:element name="boost" type="xs:float" minOccurs="0" />
+      <xs:element name="description" type="xs:string" minOccurs="0" />
+    </xs:sequence>
+    <xs:attribute name="domain" type="xs:string" />
+  </xs:complexType>
+
+  <xs:complexType name="cctld">
+    <xs:sequence>
+      <xs:element name="country" type="xs:string" />
+      <xs:element name="status" type="statusType" minOccurs="0" />
+      <xs:element name="boost" type="xs:float" minOccurs="0" />
+      <xs:element name="description" type="xs:string" minOccurs="0" />
+    </xs:sequence>
+    <xs:attribute name="domain" type="xs:string" />
+  </xs:complexType>
+
+  <xs:complexType name="sldType">
+    <xs:sequence>
+      <xs:element name="status" type="statusType" minOccurs="0" />
+      <xs:element name="boost" type="xs:float" minOccurs="0" />
+      <xs:element name="description" type="xs:string" minOccurs="0" />
+    </xs:sequence>
+    <xs:attribute name="domain" type="xs:string" />
+  </xs:complexType>
+
+  <xs:simpleType name="statusType">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="IN_USE" />
+      <xs:enumeration value="NOT_IN_USE" />
+      <xs:enumeration value="DELETED" />
+    </xs:restriction>
+  </xs:simpleType>
+
+</xs:schema>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/domain-urlfilter.txt
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/domain-urlfilter.txt	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/domain-urlfilter.txt	(revision 66)
@@ -0,0 +1,16 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# config file for urlfilter-domsin plugin
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/hadoop-env.sh
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/hadoop-env.sh	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/hadoop-env.sh	(revision 66)
@@ -0,0 +1,33 @@
+# Set Hadoop-specific environment variables here.
+
+# The only required environment variable is JAVA_HOME.  All others are
+# optional.  When running a distributed configuration it is best to
+# set JAVA_HOME in this file, so that it is correctly defined on
+# remote nodes.
+
+# The java implementation to use.  Required.
+# export JAVA_HOME=/usr/bin/java
+
+# The maximum amount of heap to use, in MB. Default is 1000.
+# export HADOOP_HEAPSIZE=2000
+
+# Extra Java runtime options.  Empty by default.
+# export HADOOP_OPTS=-server
+
+# Extra ssh options.  Default: '-o ConnectTimeout=1 -o SendEnv=HADOOP_CONF_DIR'.
+# export HADOOP_SSH_OPTS="-o ConnectTimeout=1 -o SendEnv=HADOOP_CONF_DIR"
+
+# Where log files are stored.  $HADOOP_HOME/logs by default.
+# export HADOOP_LOG_DIR=${HADOOP_HOME}/logs
+
+# File naming remote slave hosts.  $HADOOP_HOME/conf/slaves by default.
+# export HADOOP_SLAVES=${HADOOP_HOME}/conf/slaves
+
+# host:path where hadoop code should be rsync'd from.  Unset by default.
+# export HADOOP_MASTER=master:/home/$USER/src/hadoop
+
+# The directory where pid files are stored. /tmp by default.
+# export HADOOP_PID_DIR=/var/hadoop/pids
+
+# A string representing this instance of hadoop. $USER by default.
+# export HADOOP_IDENT_STRING=$USER
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/hadoop-site.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/hadoop-site.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/hadoop-site.xml	(revision 66)
@@ -0,0 +1,8 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
+
+<!-- Put site-specific property overrides in this file. -->
+
+<configuration>
+
+</configuration>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/httpclient-auth.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/httpclient-auth.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/httpclient-auth.xml	(revision 66)
@@ -0,0 +1,61 @@
+<?xml version="1.0"?>
+<!--
+  This is the authentication configuration file for protocol-httpclient.
+  Different credentials for different authentication scopes can be
+  configured in this file. If a set of credentials is configured for a 
+  particular authentication scope (i.e. particular host, port number,
+  scheme and realm), then that set of credentials would be sent only to
+  servers falling under the specified authentication scope. Apart from
+  this at most one set of credentials can be configured as 'default'.
+  
+  When authentication is required to fetch a resource from a web-server,
+  the authentication-scope is determined from the host, port, scheme and
+  realm (if present) obtained from the URL of the page and the
+  authentication headers in the HTTP response. If it matches any
+  'authscope' in this configuration file, then the 'credentials' for
+  that 'authscope' is used for authentication. Otherwise, it would use
+  the 'default' set of credentials (with an exception which is described
+  in the next paragraph), if present. If any attribute is missing, it
+  would match all values for that attribute.
+
+  If there are several pages having different authentication realms and
+  schemes on the same web-server (same host and port, but different
+  realms and schemes), and credentials for one or more of the realms and
+  schemes for that web-server is specified, then the 'default'
+  credentials would be ignored completely for that web-server (for that
+  host and port). So, credentials to handle all realms and schemes for
+  that server may be specified explicitly by adding an extra 'authscope'
+  tag with the 'realm' and 'scheme' attributes missing for that server.
+  This is demonstrated by the last 'authscope' tag for 'example:8080' in
+  the following example.
+
+  Example:-
+    <credentials username="susam" password="masus">
+      <default realm="sso"/>
+      <authscope host="192.168.101.33" port="80" realm="login"/>
+      <authscope host="example" port="8080" realm="blogs"/>
+      <authscope host="example" port="8080" realm="wiki"/>
+      <authscope host="example" port="80" realm="quiz" scheme="NTLM"/>
+    </credentials>
+    <credentials username="admin" password="nimda">
+      <authscope host="example" port="8080"/>
+    </credentials>
+
+  In the above example, 'example:8080' server has pages with multiple
+  authentication realms. The first set of credentials would be used for
+  'blogs' and 'wiki' authentication realms. The second set of
+  credentials would be used for all other realms. For 'login' realm of
+  '192.168.101.33', the first set of credentials would be used. For any
+  other realm of '192.168.101.33' authentication would not be done. For
+  the NTLM authentication required by 'example:80', the first set of
+  credentials would be used. For 'sso' realms of all other servers, the
+  first set of credentials would be used, since it is configured as
+  'default'.
+
+  NTLM does not use the notion of realms. The domain name may be
+  specified as the value for 'realm' attribute in case of NTLM.
+-->
+
+<auth-configuration>
+
+</auth-configuration>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/log4j.properties
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/log4j.properties	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/log4j.properties	(revision 66)
@@ -0,0 +1,7 @@
+# log4j configuration used by the front-end container
+
+log4j.rootLogger=info,stdout
+log4j.threshhold=ALL
+log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} %-5p %c{1} - %m%n
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/masters
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/masters	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/masters	(revision 66)
@@ -0,0 +1,1 @@
+localhost
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/nutch-conf.xsl
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/nutch-conf.xsl	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/nutch-conf.xsl	(revision 66)
@@ -0,0 +1,24 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+<xsl:output method="html"/>
+<xsl:template match="nutch-conf">
+<html>
+<body>
+<table border="1">
+<tr>
+ <td>name</td>
+ <td>value</td>
+ <td>description</td>
+</tr>
+<xsl:for-each select="property">
+<tr>
+  <td><xsl:value-of select="name"/></td>
+  <td><xsl:value-of select="value"/></td>
+  <td><xsl:value-of select="description"/></td>
+</tr>
+</xsl:for-each>
+</table>
+</body>
+</html>
+</xsl:template>
+</xsl:stylesheet>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/nutch-default.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/nutch-default.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/nutch-default.xml	(revision 66)
@@ -0,0 +1,1280 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!-- Do not modify this file directly.  Instead, copy entries that you -->
+<!-- wish to modify from this file into nutch-site.xml and change them -->
+<!-- there.  If nutch-site.xml does not already exist, create it.      -->
+
+<configuration>
+
+<!-- file properties -->
+
+<property>
+  <name>file.content.limit</name>
+  <value>65536</value>
+  <description>The length limit for downloaded content, in bytes.
+  If this value is nonnegative (>=0), content longer than it will be truncated;
+  otherwise, no truncation at all.
+  </description>
+</property>
+
+<property>
+  <name>file.content.ignored</name>
+  <value>true</value>
+  <description>If true, no file content will be saved during fetch.
+  And it is probably what we want to set most of time, since file:// URLs
+  are meant to be local and we can always use them directly at parsing
+  and indexing stages. Otherwise file contents will be saved.
+  !! NO IMPLEMENTED YET !!
+  </description>
+</property>
+
+<!-- HTTP properties -->
+
+<property>
+  <name>http.agent.name</name>
+  <value></value>
+  <description>HTTP 'User-Agent' request header. MUST NOT be empty - 
+  please set this to a single word uniquely related to your organization.
+
+  NOTE: You should also check other related properties:
+
+	http.robots.agents
+	http.agent.description
+	http.agent.url
+	http.agent.email
+	http.agent.version
+
+  and set their values appropriately.
+
+  </description>
+</property>
+
+<property>
+  <name>http.robots.agents</name>
+  <value>*</value>
+  <description>The agent strings we'll look for in robots.txt files,
+  comma-separated, in decreasing order of precedence. You should
+  put the value of http.agent.name as the first agent name, and keep the
+  default * at the end of the list. E.g.: BlurflDev,Blurfl,*
+  </description>
+</property>
+
+<property>
+  <name>http.robots.403.allow</name>
+  <value>true</value>
+  <description>Some servers return HTTP status 403 (Forbidden) if
+  /robots.txt doesn't exist. This should probably mean that we are
+  allowed to crawl the site nonetheless. If this is set to false,
+  then such sites will be treated as forbidden.</description>
+</property>
+
+<property>
+  <name>http.agent.description</name>
+  <value></value>
+  <description>Further description of our bot- this text is used in
+  the User-Agent header.  It appears in parenthesis after the agent name.
+  </description>
+</property>
+
+<property>
+  <name>http.agent.url</name>
+  <value></value>
+  <description>A URL to advertise in the User-Agent header.  This will 
+   appear in parenthesis after the agent name. Custom dictates that this
+   should be a URL of a page explaining the purpose and behavior of this
+   crawler.
+  </description>
+</property>
+
+<property>
+  <name>http.agent.email</name>
+  <value></value>
+  <description>An email address to advertise in the HTTP 'From' request
+   header and User-Agent header. A good practice is to mangle this
+   address (e.g. 'info at example dot com') to avoid spamming.
+  </description>
+</property>
+
+<property>
+  <name>http.agent.version</name>
+  <value>Nutch-1.0</value>
+  <description>A version string to advertise in the User-Agent 
+   header.</description>
+</property>
+
+<property>
+  <name>http.agent.host</name>
+  <value></value>
+  <description>Name or IP address of the host on which the Nutch crawler
+  would be running. Currently this is used by 'protocol-httpclient'
+  plugin.
+  </description>
+</property>
+
+<property>
+  <name>http.timeout</name>
+  <value>10000</value>
+  <description>The default network timeout, in milliseconds.</description>
+</property>
+
+<property>
+  <name>http.max.delays</name>
+  <value>100</value>
+  <description>The number of times a thread will delay when trying to
+  fetch a page.  Each time it finds that a host is busy, it will wait
+  fetcher.server.delay.  After http.max.delays attepts, it will give
+  up on the page for now.</description>
+</property>
+
+<property>
+  <name>http.content.limit</name>
+  <value>65536</value>
+  <description>The length limit for downloaded content, in bytes.
+  If this value is nonnegative (>=0), content longer than it will be truncated;
+  otherwise, no truncation at all.
+  </description>
+</property>
+
+<property>
+  <name>http.proxy.host</name>
+  <value></value>
+  <description>The proxy hostname.  If empty, no proxy is used.</description>
+</property>
+
+<property>
+  <name>http.proxy.port</name>
+  <value></value>
+  <description>The proxy port.</description>
+</property>
+
+<property>
+  <name>http.proxy.username</name>
+  <value></value>
+  <description>Username for proxy. This will be used by
+  'protocol-httpclient', if the proxy server requests basic, digest
+  and/or NTLM authentication. To use this, 'protocol-httpclient' must
+  be present in the value of 'plugin.includes' property.
+  NOTE: For NTLM authentication, do not prefix the username with the
+  domain, i.e. 'susam' is correct whereas 'DOMAIN\susam' is incorrect.
+  </description>
+</property>
+
+<property>
+  <name>http.proxy.password</name>
+  <value></value>
+  <description>Password for proxy. This will be used by
+  'protocol-httpclient', if the proxy server requests basic, digest
+  and/or NTLM authentication. To use this, 'protocol-httpclient' must
+  be present in the value of 'plugin.includes' property.
+  </description>
+</property>
+
+<property>
+  <name>http.proxy.realm</name>
+  <value></value>
+  <description>Authentication realm for proxy. Do not define a value
+  if realm is not required or authentication should take place for any
+  realm. NTLM does not use the notion of realms. Specify the domain name
+  of NTLM authentication as the value for this property. To use this,
+  'protocol-httpclient' must be present in the value of
+  'plugin.includes' property.
+  </description>
+</property>
+
+<property>
+  <name>http.auth.file</name>
+  <value>httpclient-auth.xml</value>
+  <description>Authentication configuration file for
+  'protocol-httpclient' plugin.
+  </description>
+</property>
+
+<property>
+  <name>http.verbose</name>
+  <value>false</value>
+  <description>If true, HTTP will log more verbosely.</description>
+</property>
+
+<property>
+  <name>http.redirect.max</name>
+  <value>0</value>
+  <description>The maximum number of redirects the fetcher will follow when
+  trying to fetch a page. If set to negative or 0, fetcher won't immediately
+  follow redirected URLs, instead it will record them for later fetching.
+  </description>
+</property>
+
+<property>
+  <name>http.useHttp11</name>
+  <value>false</value>
+  <description>NOTE: at the moment this works only for protocol-httpclient.
+  If true, use HTTP 1.1, if false use HTTP 1.0 .
+  </description>
+</property>
+
+<!-- FTP properties -->
+
+<property>
+  <name>ftp.username</name>
+  <value>anonymous</value>
+  <description>ftp login username.</description>
+</property>
+
+<property>
+  <name>ftp.password</name>
+  <value>anonymous@example.com</value>
+  <description>ftp login password.</description>
+</property>
+
+<property>
+  <name>ftp.content.limit</name>
+  <value>65536</value> 
+  <description>The length limit for downloaded content, in bytes.
+  If this value is nonnegative (>=0), content longer than it will be truncated;
+  otherwise, no truncation at all.
+  Caution: classical ftp RFCs never defines partial transfer and, in fact,
+  some ftp servers out there do not handle client side forced close-down very
+  well. Our implementation tries its best to handle such situations smoothly.
+  </description>
+</property>
+
+<property>
+  <name>ftp.timeout</name>
+  <value>60000</value>
+  <description>Default timeout for ftp client socket, in millisec.
+  Please also see ftp.keep.connection below.</description>
+</property>
+
+<property>
+  <name>ftp.server.timeout</name>
+  <value>100000</value>
+  <description>An estimation of ftp server idle time, in millisec.
+  Typically it is 120000 millisec for many ftp servers out there.
+  Better be conservative here. Together with ftp.timeout, it is used to
+  decide if we need to delete (annihilate) current ftp.client instance and
+  force to start another ftp.client instance anew. This is necessary because
+  a fetcher thread may not be able to obtain next request from queue in time
+  (due to idleness) before our ftp client times out or remote server
+  disconnects. Used only when ftp.keep.connection is true (please see below).
+  </description>
+</property>
+
+<property>
+  <name>ftp.keep.connection</name>
+  <value>false</value>
+  <description>Whether to keep ftp connection. Useful if crawling same host
+  again and again. When set to true, it avoids connection, login and dir list
+  parser setup for subsequent urls. If it is set to true, however, you must
+  make sure (roughly):
+  (1) ftp.timeout is less than ftp.server.timeout
+  (2) ftp.timeout is larger than (fetcher.threads.fetch * fetcher.server.delay)
+  Otherwise there will be too many "delete client because idled too long"
+  messages in thread logs.</description>
+</property>
+
+<property>
+  <name>ftp.follow.talk</name>
+  <value>false</value>
+  <description>Whether to log dialogue between our client and remote
+  server. Useful for debugging.</description>
+</property>
+
+<!-- web db properties -->
+
+<property>
+  <name>db.default.fetch.interval</name>
+  <value>30</value>
+  <description>(DEPRECATED) The default number of days between re-fetches of a page.
+  </description>
+</property>
+
+<property>
+  <name>db.fetch.interval.default</name>
+  <value>2592000</value>
+  <description>The default number of seconds between re-fetches of a page (30 days).
+  </description>
+</property>
+
+<property>
+  <name>db.fetch.interval.max</name>
+  <value>7776000</value>
+  <description>The maximum number of seconds between re-fetches of a page
+  (90 days). After this period every page in the db will be re-tried, no
+  matter what is its status.
+  </description>
+</property>
+
+<property>
+  <name>db.fetch.schedule.class</name>
+  <value>org.apache.nutch.crawl.DefaultFetchSchedule</value>
+  <description>The implementation of fetch schedule. DefaultFetchSchedule simply
+  adds the original fetchInterval to the last fetch time, regardless of
+  page changes.</description>
+</property>
+
+<property>
+  <name>db.fetch.schedule.adaptive.inc_rate</name>
+  <value>0.4</value>
+  <description>If a page is unmodified, its fetchInterval will be
+  increased by this rate. This value should not
+  exceed 0.5, otherwise the algorithm becomes unstable.</description>
+</property>
+
+<property>
+  <name>db.fetch.schedule.adaptive.dec_rate</name>
+  <value>0.2</value>
+  <description>If a page is modified, its fetchInterval will be
+  decreased by this rate. This value should not
+  exceed 0.5, otherwise the algorithm becomes unstable.</description>
+</property>
+
+<property>
+  <name>db.fetch.schedule.adaptive.min_interval</name>
+  <value>60.0</value>
+  <description>Minimum fetchInterval, in seconds.</description>
+</property>
+
+<property>
+  <name>db.fetch.schedule.adaptive.max_interval</name>
+  <value>31536000.0</value>
+  <description>Maximum fetchInterval, in seconds (365 days).
+  NOTE: this is limited by db.fetch.interval.max. Pages with
+  fetchInterval larger than db.fetch.interval.max
+  will be fetched anyway.</description>
+</property>
+
+<property>
+  <name>db.fetch.schedule.adaptive.sync_delta</name>
+  <value>true</value>
+  <description>If true, try to synchronize with the time of page change.
+  by shifting the next fetchTime by a fraction (sync_rate) of the difference
+  between the last modification time, and the last fetch time.</description>
+</property>
+
+<property>
+  <name>db.fetch.schedule.adaptive.sync_delta_rate</name>
+  <value>0.3</value>
+  <description>See sync_delta for description. This value should not
+  exceed 0.5, otherwise the algorithm becomes unstable.</description>
+</property>
+
+<property>
+  <name>db.update.additions.allowed</name>
+  <value>true</value>
+  <description>If true, updatedb will add newly discovered URLs, if false
+  only already existing URLs in the CrawlDb will be updated and no new
+  URLs will be added.
+  </description>
+</property>
+
+<property>
+  <name>db.ignore.internal.links</name>
+  <value>true</value>
+  <description>If true, when adding new links to a page, links from
+  the same host are ignored.  This is an effective way to limit the
+  size of the link database, keeping only the highest quality
+  links.
+  </description>
+</property>
+
+<property>
+  <name>db.ignore.external.links</name>
+  <value>false</value>
+  <description>If true, outlinks leading from a page to external hosts
+  will be ignored. This is an effective way to limit the crawl to include
+  only initially injected hosts, without creating complex URLFilters.
+  </description>
+</property>
+
+<property>
+  <name>db.score.injected</name>
+  <value>1.0</value>
+  <description>The score of new pages added by the injector.
+  </description>
+</property>
+
+<property>
+  <name>db.score.link.external</name>
+  <value>1.0</value>
+  <description>The score factor for new pages added due to a link from
+  another host relative to the referencing page's score. Scoring plugins
+  may use this value to affect initial scores of external links.
+  </description>
+</property>
+
+<property>
+  <name>db.score.link.internal</name>
+  <value>1.0</value>
+  <description>The score factor for pages added due to a link from the
+  same host, relative to the referencing page's score. Scoring plugins
+  may use this value to affect initial scores of internal links.
+  </description>
+</property>
+
+<property>
+  <name>db.score.count.filtered</name>
+  <value>false</value>
+  <description>The score value passed to newly discovered pages is
+  calculated as a fraction of the original page score divided by the
+  number of outlinks. If this option is false, only the outlinks that passed
+  URLFilters will count, if it's true then all outlinks will count.
+  </description>
+</property>
+
+<property>
+  <name>db.max.inlinks</name>
+  <value>10000</value>
+  <description>Maximum number of Inlinks per URL to be kept in LinkDb.
+  If "invertlinks" finds more inlinks than this number, only the first
+  N inlinks will be stored, and the rest will be discarded.
+  </description>
+</property>
+
+<property>
+  <name>db.max.outlinks.per.page</name>
+  <value>100</value>
+  <description>The maximum number of outlinks that we'll process for a page.
+  If this value is nonnegative (>=0), at most db.max.outlinks.per.page outlinks
+  will be processed for a page; otherwise, all outlinks will be processed.
+  </description>
+</property>
+
+<property>
+  <name>db.max.anchor.length</name>
+  <value>100</value>
+  <description>The maximum number of characters permitted in an anchor.
+  </description>
+</property>
+
+<property>
+  <name>db.fetch.retry.max</name>
+  <value>3</value>
+  <description>The maximum number of times a url that has encountered
+  recoverable errors is generated for fetch.</description>
+</property>
+
+<property>
+  <name>db.signature.class</name>
+  <value>org.apache.nutch.crawl.MD5Signature</value>
+  <description>The default implementation of a page signature. Signatures
+  created with this implementation will be used for duplicate detection
+  and removal.</description>
+</property>
+
+<property>
+  <name>db.signature.text_profile.min_token_len</name>
+  <value>2</value>
+  <description>Minimum token length to be included in the signature.
+  </description>
+</property>
+
+<property>
+  <name>db.signature.text_profile.quant_rate</name>
+  <value>0.01</value>
+  <description>Profile frequencies will be rounded down to a multiple of
+  QUANT = (int)(QUANT_RATE * maxFreq), where maxFreq is a maximum token
+  frequency. If maxFreq > 1 then QUANT will be at least 2, which means that
+  for longer texts tokens with frequency 1 will always be discarded.
+  </description>
+</property>
+
+<!-- generate properties -->
+
+<property>
+  <name>generate.max.per.host</name>
+  <value>-1</value>
+  <description>The maximum number of urls per host in a single
+  fetchlist.  -1 if unlimited.</description>
+</property>
+
+<property>
+  <name>generate.max.per.host.by.ip</name>
+  <value>false</value>
+  <description>If false, same host names are counted. If true,
+  hosts' IP addresses are resolved and the same IP-s are counted.
+  
+  -+-+-+- WARNING !!! -+-+-+-
+  When set to true, Generator will create a lot of DNS lookup
+  requests, rapidly. This may cause a DOS attack on
+  remote DNS servers, not to mention increased external traffic
+  and latency. For these reasons when using this option it is
+  required that a local caching DNS be used.</description>
+</property>
+
+<property>
+  <name>generate.update.crawldb</name>
+  <value>false</value>
+  <description>For highly-concurrent environments, where several
+  generate/fetch/update cycles may overlap, setting this to true ensures
+  that generate will create different fetchlists even without intervening
+  updatedb-s, at the cost of running an additional job to update CrawlDB.
+  If false, running generate twice without intervening
+  updatedb will generate identical fetchlists.</description>
+</property>
+
+<!-- fetcher properties -->
+
+<property>
+  <name>fetcher.server.delay</name>
+  <value>5.0</value>
+  <description>The number of seconds the fetcher will delay between 
+   successive requests to the same server.</description>
+</property>
+
+<property>
+  <name>fetcher.server.min.delay</name>
+  <value>0.0</value>
+  <description>The minimum number of seconds the fetcher will delay between 
+  successive requests to the same server. This value is applicable ONLY
+  if fetcher.threads.per.host is greater than 1 (i.e. the host blocking
+  is turned off).</description>
+</property>
+
+<property>
+ <name>fetcher.max.crawl.delay</name>
+ <value>30</value>
+ <description>
+ If the Crawl-Delay in robots.txt is set to greater than this value (in
+ seconds) then the fetcher will skip this page, generating an error report.
+ If set to -1 the fetcher will never skip such pages and will wait the
+ amount of time retrieved from robots.txt Crawl-Delay, however long that
+ might be.
+ </description>
+</property> 
+
+<property>
+  <name>fetcher.threads.fetch</name>
+  <value>10</value>
+  <description>The number of FetcherThreads the fetcher should use.
+    This is also determines the maximum number of requests that are 
+    made at once (each FetcherThread handles one connection).</description>
+</property>
+
+<property>
+  <name>fetcher.threads.per.host</name>
+  <value>1</value>
+  <description>This number is the maximum number of threads that
+    should be allowed to access a host at one time.</description>
+</property>
+
+<property>
+  <name>fetcher.threads.per.host.by.ip</name>
+  <value>true</value>
+  <description>If true, then fetcher will count threads by IP address,
+  to which the URL's host name resolves. If false, only host name will be
+  used. NOTE: this should be set to the same value as
+  "generate.max.per.host.by.ip" - default settings are different only for
+  reasons of backward-compatibility.</description>
+</property>
+
+<property>
+  <name>fetcher.verbose</name>
+  <value>false</value>
+  <description>If true, fetcher will log more verbosely.</description>
+</property>
+
+<property>
+  <name>fetcher.parse</name>
+  <value>true</value>
+  <description>If true, fetcher will parse content.</description>
+</property>
+
+<property>
+  <name>fetcher.store.content</name>
+  <value>true</value>
+  <description>If true, fetcher will store content.</description>
+</property>
+
+<!-- indexer properties -->
+
+<property>
+  <name>indexer.score.power</name>
+  <value>0.5</value>
+  <description>Determines the power of link analyis scores.  Each
+  pages's boost is set to <i>score<sup>scorePower</sup></i> where
+  <i>score</i> is its link analysis score and <i>scorePower</i> is the
+  value of this parameter.  This is compiled into indexes, so, when
+  this is changed, pages must be re-indexed for it to take
+  effect.</description>
+</property>
+
+<property>
+  <name>indexer.max.title.length</name>
+  <value>100</value>
+  <description>The maximum number of characters of a title that are indexed.
+  </description>
+</property>
+
+<property>
+  <name>indexer.max.tokens</name>
+  <value>10000</value>
+  <description>
+  The maximum number of tokens that will be indexed for a single field
+  in a document. This limits the amount of memory required for
+  indexing, so that collections with very large files will not crash
+  the indexing process by running out of memory.
+
+  Note that this effectively truncates large documents, excluding
+  from the index tokens that occur further in the document. If you
+  know your source documents are large, be sure to set this value
+  high enough to accomodate the expected size. If you set it to
+  -1, then the only limit is your memory, but you should anticipate
+  an OutOfMemoryError.
+  </description>
+</property>
+
+<property>
+  <name>indexer.mergeFactor</name>
+  <value>50</value>
+  <description>The factor that determines the frequency of Lucene segment
+  merges. This must not be less than 2, higher values increase indexing
+  speed but lead to increased RAM usage, and increase the number of
+  open file handles (which may lead to "Too many open files" errors).
+  NOTE: the "segments" here have nothing to do with Nutch segments, they
+  are a low-level data unit used by Lucene.
+  </description>
+</property>
+
+<property>
+  <name>indexer.minMergeDocs</name>
+  <value>50</value>
+  <description>This number determines the minimum number of Lucene
+  Documents buffered in memory between Lucene segment merges. Larger
+  values increase indexing speed and increase RAM usage.
+  </description>
+</property>
+
+<property>
+  <name>indexer.maxMergeDocs</name>
+  <value>2147483647</value>
+  <description>This number determines the maximum number of Lucene
+  Documents to be merged into a new Lucene segment. Larger values
+  increase batch indexing speed and reduce the number of Lucene segments,
+  which reduces the number of open file handles; however, this also
+  decreases incremental indexing performance.
+  </description>
+</property>
+
+<property>
+  <name>indexer.termIndexInterval</name>
+  <value>128</value>
+  <description>Determines the fraction of terms which Lucene keeps in
+  RAM when searching, to facilitate random-access.  Smaller values use
+  more memory but make searches somewhat faster.  Larger values use
+  less memory but make searches somewhat slower.
+  </description>
+</property>
+
+<!-- indexingfilter plugin properties -->
+
+<property>
+  <name>indexingfilter.order</name>
+  <value></value>
+  <description>The order by which index filters are applied.
+  If empty, all available index filters (as dictated by properties
+  plugin-includes and plugin-excludes above) are loaded and applied in system
+  defined order. If not empty, only named filters are loaded and applied
+  in given order. For example, if this property has value:
+  org.apache.nutch.indexer.basic.BasicIndexingFilter org.apache.nutch.indexer.more.MoreIndexingFilter
+  then BasicIndexingFilter is applied first, and MoreIndexingFilter second.
+  
+  Filter ordering might have impact on result if one filter depends on output of
+  another filter.
+  </description>
+</property>
+
+
+<!-- analysis properties -->
+
+<property>
+  <name>analysis.common.terms.file</name>
+  <value>common-terms.utf8</value>
+  <description>The name of a file containing a list of common terms
+  that should be indexed in n-grams.</description>
+</property>
+
+<!-- searcher properties -->
+
+<property>
+  <name>searcher.dir</name>
+  <value>crawl</value>
+  <description>
+  Path to root of crawl.  This directory is searched (in
+  order) for either the file search-servers.txt, containing a list of
+  distributed search servers, or the directory "index" containing
+  merged indexes, or the directory "segments" containing segment
+  indexes.
+  </description>
+</property>
+
+<property>
+  <name>searcher.filter.cache.size</name>
+  <value>16</value>
+  <description>
+  Maximum number of filters to cache.  Filters can accelerate certain
+  field-based queries, like language, document format, etc.  Each
+  filter requires one bit of RAM per page.  So, with a 10 million page
+  index, a cache size of 16 consumes two bytes per page, or 20MB.
+  </description>
+</property>
+
+<property>
+  <name>searcher.filter.cache.threshold</name>
+  <value>0.05</value>
+  <description>
+  Filters are cached when their term is matched by more than this
+  fraction of pages.  For example, with a threshold of 0.05, and 10
+  million pages, the term must match more than 1/20, or 50,000 pages.
+  So, if out of 10 million pages, 50% of pages are in English, and 2%
+  are in Finnish, then, with a threshold of 0.05, searches for
+  "lang:en" will use a cached filter, while searches for "lang:fi"
+  will score all 20,000 finnish documents.
+  </description>
+</property>
+
+<property>
+  <name>searcher.hostgrouping.rawhits.factor</name>
+  <value>2.0</value>
+  <description>
+  A factor that is used to determine the number of raw hits
+  initially fetched, before host grouping is done.
+  </description>
+</property>
+
+<property>
+  <name>searcher.summary.context</name>
+  <value>5</value>
+  <description>
+  The number of context terms to display preceding and following
+  matching terms in a hit summary.
+  </description>
+</property>
+
+<property>
+  <name>searcher.summary.length</name>
+  <value>20</value>
+  <description>
+  The total number of terms to display in a hit summary.
+  </description>
+</property>
+
+<property>
+  <name>searcher.max.hits</name>
+  <value>-1</value>
+  <description>If positive, search stops after this many hits are
+  found.  Setting this to small, positive values (e.g., 1000) can make
+  searches much faster.  With a sorted index, the quality of the hits
+  suffers little.</description>
+</property>
+
+<property>
+  <name>searcher.max.time.tick_count</name>
+  <value>-1</value>
+  <description>If positive value is defined here, limit search time for
+  every request to this number of elapsed ticks (see the tick_length
+  property below). The total maximum time for any search request will be
+  then limited to tick_count * tick_length milliseconds. When search time
+  is exceeded, partial results will be returned, and the total number of
+  hits will be estimated.
+  </description>
+</property>
+
+<property>
+  <name>searcher.max.time.tick_length</name>
+  <value>200</value>
+  <description>The number of milliseconds between ticks. Larger values
+  reduce the timer granularity (precision). Smaller values bring more
+  overhead.
+  </description>
+</property>
+
+<property>
+  <name>searcher.num.handlers</name>
+  <value>10</value>
+  <description>The number of handlers for the distributed search server.
+  </description>
+</property>
+
+<property>
+  <name>searcher.max.hits.per.page</name>
+  <value>1000</value>
+  <description> The maximum number of hits to show per page. -1 if
+    unlimited. If the number of hits requested by the user (via
+    hitsPerPage parameter in the query string) is more than the value
+    specified in this property, then this value is assumed as the number
+    of hits per page.
+  </description>
+</property>
+
+<!-- URL normalizer properties -->
+
+<property>
+  <name>urlnormalizer.order</name>
+  <value>org.apache.nutch.net.urlnormalizer.basic.BasicURLNormalizer org.apache.nutch.net.urlnormalizer.regex.RegexURLNormalizer</value>
+  <description>Order in which normalizers will run. If any of these isn't
+  activated it will be silently skipped. If other normalizers not on the
+  list are activated, they will run in random order after the ones
+  specified here are run.
+  </description>
+</property>
+
+<property>
+  <name>urlnormalizer.regex.file</name>
+  <value>regex-normalize.xml</value>
+  <description>Name of the config file used by the RegexUrlNormalizer class.
+  </description>
+</property>
+
+<property>
+  <name>urlnormalizer.loop.count</name>
+  <value>1</value>
+  <description>Optionally loop through normalizers several times, to make
+  sure that all transformations have been performed.
+  </description>
+</property>
+
+<!-- mime properties -->
+
+<property>
+  <name>mime.types.file</name>
+  <value>tika-mimetypes.xml</value>
+  <description>Name of file in CLASSPATH containing filename extension and
+  magic sequence to mime types mapping information</description>
+</property>
+
+<property>
+  <name>mime.type.magic</name>
+  <value>true</value>
+  <description>Defines if the mime content type detector uses magic resolution.
+  </description>
+</property>
+
+<!-- plugin properties -->
+
+<property>
+  <name>plugin.folders</name>
+  <value>plugins</value>
+  <description>Directories where nutch plugins are located.  Each
+  element may be a relative or absolute path.  If absolute, it is used
+  as is.  If relative, it is searched for on the classpath.</description>
+</property>
+
+<property>
+  <name>plugin.auto-activation</name>
+  <value>true</value>
+  <description>Defines if some plugins that are not activated regarding
+  the plugin.includes and plugin.excludes properties must be automaticaly
+  activated if they are needed by some actived plugins.
+  </description>
+</property>
+
+<property>
+  <name>plugin.includes</name>
+  <value>protocol-http|urlfilter-regex|parse-(text|html|js)|index-(basic|anchor)|query-(basic|site|url)|response-(json|xml)|summary-basic|scoring-opic|urlnormalizer-(pass|regex|basic)</value>
+  <description>Regular expression naming plugin directory names to
+  include.  Any plugin not matching this expression is excluded.
+  In any case you need at least include the nutch-extensionpoints plugin. By
+  default Nutch includes crawling just HTML and plain text via HTTP,
+  and basic indexing and search plugins. In order to use HTTPS please enable 
+  protocol-httpclient, but be aware of possible intermittent problems with the 
+  underlying commons-httpclient library.
+  </description>
+</property>
+
+<property>
+  <name>plugin.excludes</name>
+  <value></value>
+  <description>Regular expression naming plugin directory names to exclude.  
+  </description>
+</property>
+
+<!-- parser properties -->
+
+<property>
+  <name>parse.plugin.file</name>
+  <value>parse-plugins.xml</value>
+  <description>The name of the file that defines the associations between
+  content-types and parsers.</description>
+</property>
+
+<property>
+  <name>parser.character.encoding.default</name>
+  <value>windows-1252</value>
+  <description>The character encoding to fall back to when no other information
+  is available</description>
+</property>
+
+<property>
+  <name>encodingdetector.charset.min.confidence</name>
+  <value>-1</value>
+  <description>A integer between 0-100 indicating minimum confidence value
+  for charset auto-detection. Any negative value disables auto-detection.
+  </description>
+</property>
+
+<property>
+  <name>parser.caching.forbidden.policy</name>
+  <value>content</value>
+  <description>If a site (or a page) requests through its robot metatags
+  that it should not be shown as cached content, apply this policy. Currently
+  three keywords are recognized: "none" ignores any "noarchive" directives.
+  "content" doesn't show the content, but shows summaries (snippets).
+  "all" doesn't show either content or summaries.</description>
+</property>
+
+
+<property>
+  <name>parser.html.impl</name>
+  <value>neko</value>
+  <description>HTML Parser implementation. Currently the following keywords
+  are recognized: "neko" uses NekoHTML, "tagsoup" uses TagSoup.
+  </description>
+</property>
+
+<property>
+  <name>parser.html.form.use_action</name>
+  <value>false</value>
+  <description>If true, HTML parser will collect URLs from form action
+  attributes. This may lead to undesirable behavior (submitting empty
+  forms during next fetch cycle). If false, form action attribute will
+  be ignored.</description>
+</property>
+
+<property>
+  <name>parser.html.outlinks.ignore_tags</name>
+  <value></value>
+  <description>Comma separated list of HTML tags, from which outlinks 
+  shouldn't be extracted. Nutch takes links from: a, area, form, frame, 
+  iframe, script, link, img. If you add any of those tags here, it
+  won't be taken. Default is empty list. Probably reasonable value
+  for most people would be "img,script,link".</description>
+</property>
+
+
+<!-- urlfilter plugin properties -->
+
+<property>
+  <name>urlfilter.domain.file</name>
+  <value>domain-urlfilter.txt</value>
+  <description>Name of file on CLASSPATH containing either top level domains or
+  hostnames used by urlfilter-domain (DomainURLFilter) plugin.</description>
+</property>
+
+<property>
+  <name>urlfilter.regex.file</name>
+  <value>regex-urlfilter.txt</value>
+  <description>Name of file on CLASSPATH containing regular expressions
+  used by urlfilter-regex (RegexURLFilter) plugin.</description>
+</property>
+
+<property>
+  <name>urlfilter.automaton.file</name>
+  <value>automaton-urlfilter.txt</value>
+  <description>Name of file on CLASSPATH containing regular expressions
+  used by urlfilter-automaton (AutomatonURLFilter) plugin.</description>
+</property>
+
+<property>
+  <name>urlfilter.prefix.file</name>
+  <value>prefix-urlfilter.txt</value>
+  <description>Name of file on CLASSPATH containing url prefixes
+  used by urlfilter-prefix (PrefixURLFilter) plugin.</description>
+</property>
+
+<property>
+  <name>urlfilter.suffix.file</name>
+  <value>suffix-urlfilter.txt</value>
+  <description>Name of file on CLASSPATH containing url suffixes
+  used by urlfilter-suffix (SuffixURLFilter) plugin.</description>
+</property>
+
+<property>
+  <name>urlfilter.order</name>
+  <value></value>
+  <description>The order by which url filters are applied.
+  If empty, all available url filters (as dictated by properties
+  plugin-includes and plugin-excludes above) are loaded and applied in system
+  defined order. If not empty, only named filters are loaded and applied
+  in given order. For example, if this property has value:
+  org.apache.nutch.urlfilter.regex.RegexURLFilter org.apache.nutch.urlfilter.prefix.PrefixURLFilter
+  then RegexURLFilter is applied first, and PrefixURLFilter second.
+  Since all filters are AND'ed, filter ordering does not have impact
+  on end result, but it may have performance implication, depending
+  on relative expensiveness of filters.
+  </description>
+</property>
+
+<!-- scoring filters properties -->
+
+<property>
+  <name>scoring.filter.order</name>
+  <value></value>
+  <description>The order in which scoring filters are applied.
+  This may be left empty (in which case all available scoring
+  filters will be applied in the order defined in plugin-includes
+  and plugin-excludes), or a space separated list of implementation
+  classes.
+  </description>
+</property>
+
+<!-- clustering extension properties -->
+
+<property>
+  <name>extension.clustering.hits-to-cluster</name>
+  <value>100</value>
+  <description>Number of snippets retrieved for the clustering extension
+  if clustering extension is available and user requested results
+  to be clustered.</description>
+</property>
+
+<property>
+  <name>extension.clustering.extension-name</name>
+  <value></value>
+  <description>Use the specified online clustering extension. If empty,
+  the first available extension will be used. The "name" here refers to an 'id'
+  attribute of the 'implementation' element in the plugin descriptor XML
+  file.</description>
+</property>
+
+<!-- ontology extension properties -->
+
+<property>
+  <name>extension.ontology.extension-name</name>
+  <value></value>
+  <description>Use the specified online ontology extension. If empty,
+  the first available extension will be used. The "name" here refers to an 'id'
+  attribute of the 'implementation' element in the plugin descriptor XML
+  file.</description>
+</property>
+
+<property>
+  <name>extension.ontology.urls</name>
+  <value>
+  </value>
+  <description>Urls of owl files, separated by spaces, such as
+  http://www.example.com/ontology/time.owl
+  http://www.example.com/ontology/space.owl
+  http://www.example.com/ontology/wine.owl
+  Or
+  file:/ontology/time.owl
+  file:/ontology/space.owl
+  file:/ontology/wine.owl
+  You have to make sure each url is valid.
+  By default, there is no owl file, so query refinement based on ontology
+  is silently ignored.
+  </description>
+</property>
+
+<!-- query-basic plugin properties -->
+
+<property>
+  <name>query.url.boost</name>
+  <value>4.0</value>
+  <description> Used as a boost for url field in Lucene query.
+  </description>
+</property>
+
+<property>
+  <name>query.anchor.boost</name>
+  <value>2.0</value>
+  <description> Used as a boost for anchor field in Lucene query.
+  </description>
+</property>
+
+<property>
+  <name>query.title.boost</name>
+  <value>1.5</value>
+  <description> Used as a boost for title field in Lucene query.
+  </description>
+</property>
+
+<property>
+  <name>query.host.boost</name>
+  <value>2.0</value>
+  <description> Used as a boost for host field in Lucene query.
+  </description>
+</property>
+
+<property>
+  <name>query.phrase.boost</name>
+  <value>1.0</value>
+  <description> Used as a boost for phrase in Lucene query.
+  Multiplied by boost for field phrase is matched in.
+  </description>
+</property>
+
+<!--
+<property>
+  <name>query.basic.description.boost</name>
+  <value>1.0</value>
+  <description> Declares a custom field and its boost to be added to the default fields of the Lucene query.
+  </description>
+</property>
+-->
+
+<!-- creative-commons plugin properties -->
+
+<property>
+  <name>query.cc.boost</name>
+  <value>0.0</value>
+  <description> Used as a boost for cc field in Lucene query.
+  </description>
+</property>
+
+<!-- query-more plugin properties -->
+
+<property>
+  <name>query.type.boost</name>
+  <value>0.0</value>
+  <description> Used as a boost for type field in Lucene query.
+  </description>
+</property>
+
+<!-- query-site plugin properties -->
+
+<property>
+  <name>query.site.boost</name>
+  <value>0.0</value>
+  <description> Used as a boost for site field in Lucene query.
+  </description>
+</property>
+
+<!-- microformats-reltag plugin properties -->
+
+<property>
+  <name>query.tag.boost</name>
+  <value>1.0</value>
+  <description> Used as a boost for tag field in Lucene query.
+  </description>
+</property>
+
+<!-- language-identifier plugin properties -->
+
+<property>
+  <name>lang.ngram.min.length</name>
+  <value>1</value>
+  <description> The minimum size of ngrams to uses to identify
+  language (must be between 1 and lang.ngram.max.length).
+  The larger is the range between lang.ngram.min.length and
+  lang.ngram.max.length, the better is the identification, but
+  the slowest it is.
+  </description>
+</property>
+
+<property>
+  <name>lang.ngram.max.length</name>
+  <value>4</value>
+  <description> The maximum size of ngrams to uses to identify
+  language (must be between lang.ngram.min.length and 4).
+  The larger is the range between lang.ngram.min.length and
+  lang.ngram.max.length, the better is the identification, but
+  the slowest it is.
+  </description>
+</property>
+
+<property>
+  <name>lang.analyze.max.length</name>
+  <value>2048</value>
+  <description> The maximum bytes of data to uses to indentify
+  the language (0 means full content analysis).
+  The larger is this value, the better is the analysis, but the
+  slowest it is.
+  </description>
+</property>
+
+<property>
+  <name>query.lang.boost</name>
+  <value>0.0</value>
+  <description> Used as a boost for lang field in Lucene query.
+  </description>
+</property>
+
+<!-- Temporary Hadoop 0.17.x workaround. -->
+
+<property>
+  <name>hadoop.job.history.user.location</name>
+  <value>${hadoop.log.dir}/history/user</value>
+  <description>Hadoop 0.17.x comes with a default setting to create
+     user logs inside the output path of the job. This breaks some
+     Hadoop classes, which expect the output to contain only
+     part-XXXXX files. This setting changes the output to a
+     subdirectory of the regular log directory.
+  </description>
+</property>
+
+<!-- response writer properties -->
+
+<property>
+  <name>search.response.default.type</name>
+  <value>xml</value>
+  <description>
+  The default response type returned if none is specified.
+  </description>
+</property>
+
+<property>
+  <name>search.response.default.lang</name>
+  <value>en</value>
+  <description>
+  The default response language if none is specified.
+  </description>
+</property>
+
+<property>
+  <name>search.response.default.numrows</name>
+  <value>10</value>
+  <description>
+  The default number of rows to return if none is specified.
+  </description>
+</property>
+
+<property>
+  <name>search.response.default.dedupfield</name>
+  <value>site</value>
+  <description>
+  The default dedup field if none is specified.
+  </description>
+</property>
+
+<property>
+  <name>search.response.default.numdupes</name>
+  <value>1</value>
+  <description>
+  The default number of duplicates returned if none is specified.
+  </description>
+</property>
+
+<property>
+  <name>searcher.response.maxage</name>
+  <value>86400</value>
+  <description>
+  The maxage of a response in seconds. Used in caching headers.
+  </description>
+</property>
+
+<property>
+  <name>searcher.response.prettyprint</name>
+  <value>true</value>
+  <description>
+  Should the response output be pretty printed.  Setting to true enables better
+  debugging, false removes unneeded spaces and gives better throughput.
+  </description>
+</property>
+
+</configuration>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/nutch-site.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/nutch-site.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/nutch-site.xml	(revision 66)
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
+
+<!-- Put site-specific property overrides in this file. -->
+<configuration>
+    <property>
+        <name>searcher.dir</name>
+        <value>/opt/nutch/search</value>
+    </property>
+</configuration>
+
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/anchors.properties
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/anchors.properties	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/anchors.properties	(revision 66)
@@ -0,0 +1,3 @@
+title = anchors
+anchors = incoming anchor text:
+page = page: <a href="{0}">{0}</a>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/anchors_de.properties
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/anchors_de.properties	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/anchors_de.properties	(revision 66)
@@ -0,0 +1,3 @@
+title = Verweise 
+anchors = Herzeigende Link-Texte:
+page = Seite: <a href="{0}">{0}</a>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/anchors_en.properties
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/anchors_en.properties	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/anchors_en.properties	(revision 66)
@@ -0,0 +1,3 @@
+title = anchors
+anchors = incoming anchor text:
+page = page: <a href="{0}">{0}</a>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/anchors_pl.properties
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/anchors_pl.properties	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/anchors_pl.properties	(revision 66)
@@ -0,0 +1,3 @@
+title = odno\u015bniki
+anchors = tekst przychodz\u0105cego odno\u015bnika:
+page = strona: <a href="{0}">{0}</a>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/cached.properties
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/cached.properties	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/cached.properties	(revision 66)
@@ -0,0 +1,3 @@
+title = nutch cache
+page = page: <a href="{0}">{0}</a>
+noContent = <i>Sorry, no content is cached for this page.</i>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/cached_de.properties
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/cached_de.properties	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/cached_de.properties	(revision 66)
@@ -0,0 +1,3 @@
+title = Nutch Cache
+page = Seite: <a href="{0}">{0}</a>
+noContent = <i>Leider ist diese Seite nicht im Cache gespeichert.</i>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/cached_en.properties
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/cached_en.properties	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/cached_en.properties	(revision 66)
@@ -0,0 +1,3 @@
+title = nutch cache
+page = page: <a href="{0}">{0}</a>
+noContent = <i>Sorry, no content is cached for this page.</i>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/cached_pl.properties
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/cached_pl.properties	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/cached_pl.properties	(revision 66)
@@ -0,0 +1,3 @@
+title = kopia nutch-a
+page = strona: <a href="{0}">{0}</a>
+noContent = <i>Przepraszamy, brak kopii tej strony.</i>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/explain.properties
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/explain.properties	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/explain.properties	(revision 66)
@@ -0,0 +1,3 @@
+title = score explanation
+page = page
+scoreForQuery = score for query: <tt>{0}</tt>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/explain_de.properties
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/explain_de.properties	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/explain_de.properties	(revision 66)
@@ -0,0 +1,3 @@
+title = Seiteninformationen &amp; Rankingberechnung
+page = Gespeicherte Seiteninformationen
+scoreForQuery = Rankingberechnung f&uuml;r die Anfrage: <tt>{0}</tt>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/explain_en.properties
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/explain_en.properties	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/explain_en.properties	(revision 66)
@@ -0,0 +1,3 @@
+title = score explanation
+page = page
+scoreForQuery = score for query: <tt>{0}</tt>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/explain_pl.properties
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/explain_pl.properties	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/explain_pl.properties	(revision 66)
@@ -0,0 +1,3 @@
+title = wyja\u015bnienie wyniku
+page = strona
+scoreForQuery = wynik dla zapytania: <tt>{0}</tt>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/search.properties
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/search.properties	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/search.properties	(revision 66)
@@ -0,0 +1,11 @@
+title = search results
+search = Search
+hits = Hits <b>{0}-{1}</b> (out of about {2} total matching pages):
+cached = cached
+explain = explain
+anchors = anchors
+next = next page
+moreFrom = more from
+showAllHits = show all hits
+clustering = clustering
+viewAsText = View as Plain Text
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/search_ca.properties
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/search_ca.properties	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/search_ca.properties	(revision 66)
@@ -0,0 +1,9 @@
+title = resultats de cerca
+search = Cerca
+hits = Coincidències <b>{0}-{1}</b> (d'un total de {2} documents coincidents):
+cached = en memòria
+explain = explicació
+anchors = àncores
+next = Següent
+clustering = clustering
+viewAsText = View as Plain Text
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/search_de.properties
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/search_de.properties	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/search_de.properties	(revision 66)
@@ -0,0 +1,11 @@
+title = Suchergebnisse
+search = Suche
+hits = Treffer <b>{0}-{1}</b> (von insgesammt {2} gefundenen Seiten):
+cached = Im Cache
+explain = Erkl&auml;rung
+anchors = Referenzen
+next = Weiter
+clustering = Clustern
+viewAsText = HTML-Version
+moreFrom = Mehr von
+showAllHits = Alle Treffer anzeigen
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/search_en.properties
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/search_en.properties	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/search_en.properties	(revision 66)
@@ -0,0 +1,11 @@
+title = search results
+search = Search
+hits = Hits <b>{0}-{1}</b> (out of about {2} total matching pages):
+cached = cached
+explain = explain
+anchors = anchors
+next = next page
+moreFrom = more from
+showAllHits = show all hits
+clustering = clustering
+viewAsText = View as Plain Text
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/search_es.properties
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/search_es.properties	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/search_es.properties	(revision 66)
@@ -0,0 +1,9 @@
+﻿title = resultados de la bÃºsqueda
+search = Buscar
+hits = Resultados <b>{0}-{1}</b> (de un total de {2} documentos):
+cached = en cachÃ©
+explain = explicar
+anchors = anchors
+next = Siguiente
+clustering = clustering
+viewAsText = View as Plain Text
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/search_fi.properties
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/search_fi.properties	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/search_fi.properties	(revision 66)
@@ -0,0 +1,11 @@
+title = Hakutulokset
+search = Hae
+hits = Tulokset <b>{0}-{1}</b> (kaikkiaan {2} sopivasta dokumentista):
+cached = v\u00E4limuistissa
+explain = selit\u00E4
+anchors = linkit
+next = Seuraava
+clustering = ryv\u00e4stys
+moreFrom = lis\u00e4\u00e4 osumia kohteesta
+showAllHits = n\u00e4yt\u00e4 kaikki osumat
+viewAsText = View as Plain Text
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/search_fr.properties
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/search_fr.properties	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/search_fr.properties	(revision 66)
@@ -0,0 +1,9 @@
+﻿title = Résultats de recherche
+search = Recherche
+hits = Résultats <b>{0}-{1}</b> (sur un total de {2}):
+cached = En cache
+explain = Explications
+anchors = Ancres
+next = Suivant
+clustering = clustering
+viewAsText = View as Plain Text
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/search_hu.properties
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/search_hu.properties	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/search_hu.properties	(revision 66)
@@ -0,0 +1,9 @@
+title = keresés eredménye
+search = Keresés
+hits = <b>{0}-{1}</b>. találat a {2} közül:
+cached = Tárolt
+explain = Magyarázat
+anchors = Kapcsolódás
+next = Következõ
+clustering = clustering
+viewAsText = View as Plain Text
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/search_ms.properties
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/search_ms.properties	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/search_ms.properties	(revision 66)
@@ -0,0 +1,9 @@
+title = hasil carian
+carian = Carian
+bilangan hits = Bilangan Hits &lt;b&gt;{0}-{1}&lt;/b&gt; (daripada {2} jumlah dokumen bersesuaian):
+tampungan = tampungan
+penerangan = penerangan
+penunjuk = penunjuk
+selepas = Selepas
+clustering = clustering
+viewAsText = View as Plain Text
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/search_nl.properties
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/search_nl.properties	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/search_nl.properties	(revision 66)
@@ -0,0 +1,9 @@
+title = zoekresultaten
+search = Zoek
+hits = Treffers <b>{0}-{1}</b> (van in totaal {2} gevonden documenten):
+cached = opgeslagen
+explain = uitleg
+anchors = verwijzers
+next = Volgende
+clustering = clustering
+viewAsText = View as Plain Text
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/search_pl.properties
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/search_pl.properties	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/search_pl.properties	(revision 66)
@@ -0,0 +1,11 @@
+title = wyniki wyszukiwania
+search = Szukaj
+hits = Wyniki <b>{0}-{1}</b> (z oko\u0142o {2} pasuj\u0105cych dokument\u00f3w):
+cached = kopia
+explain = wyja\u015bnij
+anchors = odno\u015bniki
+next = Nast\u0119pna strona
+moreFrom = Wi\u0119cej z
+showAllHits = Poka\u017c wszystkie wyniki
+clustering = grupowanie
+viewAsText = View as Plain Text
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/search_pt.properties
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/search_pt.properties	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/search_pt.properties	(revision 66)
@@ -0,0 +1,9 @@
+title = resultados da pesquisa
+search = Localizar
+hits = Resultados <b>{0}-{1}</b> (de um total de {2} documentos):
+cached = arquivado
+explain = explicação
+anchors = semelhantes
+next = Próximo
+clustering = clustering
+viewAsText = View as Plain Text
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/search_sv.properties
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/search_sv.properties	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/search_sv.properties	(revision 66)
@@ -0,0 +1,11 @@
+title = sökresultat
+search = Sök
+hits = Träffar <b>{0}-{1}</b> (av ungefär totalt {2} matchande sidor):
+cached = cashad
+explain = förklara
+anchors = ankare
+next = nästa sida
+moreFrom = mer från
+showAllHits = visa alla träffar
+clustering = klustring
+viewAsText = View as Plain Text
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/search_th.properties
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/search_th.properties	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/search_th.properties	(revision 66)
@@ -0,0 +1,9 @@
+title = \u0e1c\u0e25\u0e01\u0e32\u0e23\u0e04\u0e49\u0e19\u0e2b\u0e32
+search = \u0e04\u0e49\u0e19\u0e2b\u0e32
+hits = \u0e1e\u0e1a <b>{0}-{1}</b> (\u0e08\u0e32\u0e01\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14 {2} \u0e2b\u0e19\u0e49\u0e32):
+cached = \u0e2b\u0e19\u0e49\u0e32\u0e17\u0e35\u0e48\u0e40\u0e01\u0e47\u0e1a\u0e44\u0e27\u0e49
+explain = \u0e04\u0e33\u0e2d\u0e18\u0e34\u0e1a\u0e32\u0e22
+anchors = \u0e41\u0e2d\u0e07\u0e40\u0e04\u0e2d\u0e23\u0e4c
+next = \u0e2b\u0e19\u0e49\u0e32\u0e15\u0e48\u0e2d\u0e44\u0e1b
+clustering = clustering
+viewAsText = View as Plain Text
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/search_zh.properties
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/search_zh.properties	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/search_zh.properties	(revision 66)
@@ -0,0 +1,9 @@
+title = \u67e5\u8be2\u7ed3\u679c
+search = \u641c\u7d22
+hits =  \u7b2c<b>{0}-{1}</b>\u9879 (\u5171\u6709 {2} \u9879\u67e5\u8be2\u7ed3\u679c):
+cached = \u7f51\u9875\u5feb\u7167
+explain = \u8bc4\u5206\u8be6\u89e3
+anchors = anchors
+next = \u4e0b\u4e00\u9875
+clustering = clustering
+viewAsText = View as Plain Text
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/text.properties
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/text.properties	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/text.properties	(revision 66)
@@ -0,0 +1,3 @@
+title = Nutch Plain Text Cache
+note = This is the plain text version of the file: <a href="{0}">{0}</a>.
+noText = <i>Sorry, no plain text version is available.</i>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/text_de.properties
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/text_de.properties	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/text_de.properties	(revision 66)
@@ -0,0 +1,3 @@
+title = Nutch Text Cache
+note = Dies ist die Text-Version von: <a href="{0}">{0}</a>.
+noText = <i>Leider ist keine Text-Version verf&uuml;gbar.</i>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/text_en.properties
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/text_en.properties	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/org/nutch/jsp/text_en.properties	(revision 66)
@@ -0,0 +1,3 @@
+title = Nutch Plain Text Cache
+note = This is the plain text version of the file: <a href="{0}">{0}</a>.
+noText = <i>Sorry, no plain text version is available.</i>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/parse-plugins.dtd
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/parse-plugins.dtd	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/parse-plugins.dtd	(revision 66)
@@ -0,0 +1,12 @@
+<!ELEMENT parse-plugins  (mimeType+,aliases)>
+<!ELEMENT mimeType (plugin+)>
+<!ATTLIST mimeType name CDATA #REQUIRED>
+
+<!ELEMENT plugin EMPTY>
+<!ATTLIST plugin id CDATA #REQUIRED>
+<!ATTLIST plugin order CDATA ''>
+
+<!ELEMENT aliases (alias+)>
+<!ELEMENT alias EMPTY>
+<!ATTLIST alias name CDATA #REQUIRED>
+<!ATTLIST alias extension-id CDATA #REQUIRED>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/parse-plugins.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/parse-plugins.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/parse-plugins.xml	(revision 66)
@@ -0,0 +1,221 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+	Licensed to the Apache Software Foundation (ASF) under one or more
+	contributor license agreements.  See the NOTICE file distributed with
+	this work for additional information regarding copyright ownership.
+	The ASF licenses this file to You under the Apache License, Version 2.0
+	(the "License"); you may not use this file except in compliance with
+	the License.  You may obtain a copy of the License at
+	
+	http://www.apache.org/licenses/LICENSE-2.0
+	
+	Unless required by applicable law or agreed to in writing, software
+	distributed under the License is distributed on an "AS IS" BASIS,
+	WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+	See the License for the specific language governing permissions and
+	limitations under the License.
+	
+	Author     : mattmann 
+	Description: This xml file represents a natural ordering for which parsing 
+	plugin should get called for a particular mimeType. 
+-->
+
+<parse-plugins>
+
+	<mimeType name="application/msword">
+		<plugin id="parse-msword" />
+	</mimeType>
+
+	<mimeType name="application/pdf">
+		<plugin id="parse-pdf" />
+	</mimeType>
+
+	<mimeType name="application/postscript">
+		<plugin id="parse-pdf" />
+	</mimeType>
+
+	<mimeType name="application/rss+xml">
+	    <plugin id="parse-rss" />
+	    <plugin id="feed" />
+	</mimeType>
+
+	<mimeType name="application/vnd.ms-excel">
+		<plugin id="parse-msexcel" />
+	</mimeType>
+
+	<mimeType name="application/vnd.ms-powerpoint">
+		<plugin id="parse-mspowerpoint" />
+	</mimeType>
+
+	<mimeType name="application/vnd.oasis.opendocument.text">
+		<plugin id="parse-oo" />
+	</mimeType>
+
+	<mimeType name="application/vnd.oasis.opendocument.text-template">
+		<plugin id="parse-oo" />
+	</mimeType>
+
+	<mimeType name="application/vnd.oasis.opendocument.text-master">
+		<plugin id="parse-oo" />
+	</mimeType>
+
+	<mimeType name="application/vnd.oasis.opendocument.text-web">
+		<plugin id="parse-oo" />
+	</mimeType>
+
+	<mimeType name="application/vnd.oasis.opendocument.presentation">
+		<plugin id="parse-oo" />
+	</mimeType>
+
+	<mimeType name="application/vnd.oasis.opendocument.presentation-template">
+		<plugin id="parse-oo" />
+	</mimeType>
+
+	<mimeType name="application/vnd.oasis.opendocument.spreadsheet">
+		<plugin id="parse-oo" />
+	</mimeType>
+
+	<mimeType name="application/vnd.oasis.opendocument.spreadsheet-template">
+		<plugin id="parse-oo" />
+	</mimeType>
+
+	<mimeType name="application/vnd.sun.xml.calc">
+		<plugin id="parse-oo" />
+	</mimeType>
+
+	<mimeType name="application/vnd.sun.xml.calc.template">
+		<plugin id="parse-oo" />
+	</mimeType>
+
+	<mimeType name="application/vnd.sun.xml.impress">
+		<plugin id="parse-oo" />
+	</mimeType>
+
+	<mimeType name="application/vnd.sun.xml.impress.template">
+		<plugin id="parse-oo" />
+	</mimeType>
+
+	<mimeType name="application/vnd.sun.xml.writer">
+		<plugin id="parse-oo" />
+	</mimeType>
+
+	<mimeType name="application/vnd.sun.xml.writer.template">
+		<plugin id="parse-oo" />
+	</mimeType>
+
+	<mimeType name="application/xhtml+xml">
+		<plugin id="parse-html" />
+	</mimeType>
+
+	<mimeType name="application/x-bzip2">
+		<!--  try and parse it with the zip parser -->
+		<plugin id="parse-zip" />
+	</mimeType>
+
+	<mimeType name="application/x-csh">
+		<plugin id="parse-text" />
+	</mimeType>
+
+	<mimeType name="application/x-gzip">
+		<!--  try and parse it with the zip parser -->
+		<plugin id="parse-zip" />
+	</mimeType>
+
+	<mimeType name="application/x-javascript">
+		<plugin id="parse-js" />
+	</mimeType>
+
+	<mimeType name="application/x-kword">
+		<!--  try and parse it with the word parser -->
+		<plugin id="parse-msword" />
+	</mimeType>
+
+	<mimeType name="application/x-kspread">
+		<!--  try and parse it with the msexcel parser -->
+		<plugin id="parse-msexcel" />
+	</mimeType>
+
+	<mimeType name="application/x-shockwave-flash">
+		<plugin id="parse-swf" />
+	</mimeType>
+
+	<mimeType name="application/zip">
+		<plugin id="parse-zip" />
+	</mimeType>
+
+	<mimeType name="text/html">
+		<plugin id="parse-html" />
+	</mimeType>
+
+	<mimeType name="text/plain">
+		<plugin id="parse-text" />
+	</mimeType>
+
+	<mimeType name="text/richtext">
+		<plugin id="parse-rtf" />
+		<plugin id="parse-msword" />
+	</mimeType>
+
+	<mimeType name="text/rtf">
+		<plugin id="parse-rtf" />
+		<plugin id="parse-msword" />
+	</mimeType>
+
+	<mimeType name="text/sgml">
+		<plugin id="parse-html" />
+	</mimeType>
+
+	<mimeType name="text/tab-separated-values">
+		<plugin id="parse-msexcel" />
+	</mimeType>
+
+	<mimeType name="text/xml">
+		<plugin id="parse-html" />
+		<plugin id="parse-rss" />
+        <plugin id="feed" />
+	</mimeType>
+
+       <!-- Types for parse-ext plugin: required for unit tests to pass. -->
+
+	<mimeType name="application/vnd.nutch.example.cat">
+		<plugin id="parse-ext" />
+	</mimeType>
+
+	<mimeType name="application/vnd.nutch.example.md5sum">
+		<plugin id="parse-ext" />
+	</mimeType>
+
+	<!--  alias mappings for parse-xxx names to the actual extension implementation 
+	ids described in each plugin's plugin.xml file -->
+	<aliases>
+		<alias name="parse-ext" extension-id="ExtParser" />
+		<alias name="parse-html"
+			extension-id="org.apache.nutch.parse.html.HtmlParser" />
+		<alias name="parse-js" extension-id="JSParser" />
+		<alias name="parse-mp3"
+			extension-id="org.apache.nutch.parse.mp3.MP3Parser" />
+		<alias name="parse-msexcel"
+			extension-id="org.apache.nutch.parse.msexcel.MSExcelParser" />
+		<alias name="parse-mspowerpoint"
+			extension-id="org.apache.nutch.parse.mspowerpoint.MSPowerPointParser" />
+		<alias name="parse-msword"
+			extension-id="org.apache.nutch.parse.msword.MSWordParser" />
+		<alias name="parse-oo"
+			extension-id="org.apache.nutch.parse.oo.OpenDocument.Text" />
+		<alias name="parse-pdf"
+			extension-id="org.apache.nutch.parse.pdf.PdfParser" />
+		<alias name="parse-rss"
+			extension-id="org.apache.nutch.parse.rss.RSSParser" />
+        <alias name="feed"
+            extension-id="org.apache.nutch.parse.feed.FeedParser" />
+		<alias name="parse-rtf"
+			extension-id="org.apache.nutch.parse.rtf.RTFParseFactory" />
+		<alias name="parse-swf"
+			extension-id="org.apache.nutch.parse.swf.SWFParser" />
+		<alias name="parse-text"
+			extension-id="org.apache.nutch.parse.text.TextParser" />
+		<alias name="parse-zip"
+			extension-id="org.apache.nutch.parse.zip.ZipParser" />
+	</aliases>
+	
+</parse-plugins>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/clustering-carrot2/plugin.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/clustering-carrot2/plugin.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/clustering-carrot2/plugin.xml	(revision 66)
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="clustering-carrot2"
+   name="Online Search Results Clustering using Carrot2's components"
+   version="1.0.3"
+   provider-name="www.carrot2.org">
+
+   <runtime>
+      <library name="clustering-carrot2.jar">
+         <export name="*"/>
+      </library>
+
+      <!--
+	   The defaults for Lingo. If you plan to use another clustering
+	   algorithm from the Carrot2 project, you'll need all the JARs
+	   required for that algorithm.
+	-->
+      <library name="carrot2-filter-lingo.jar"/>
+      <library name="carrot2-local-core.jar"/>
+      <library name="carrot2-snowball-stemmers.jar"/>
+      <library name="carrot2-util-common.jar"/>
+      <library name="carrot2-util-tokenizer.jar"/>
+
+      <library name="commons-collections-3.2.jar"/>
+      <library name="commons-pool-1.3.jar"/>
+      <library name="Jama-1.0.2.jar"/>
+      <library name="violinstrings-1.0.2.jar"/>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.clustering.carrot2"
+              name="Carrot2 Clusterer"
+              point="org.apache.nutch.clustering.OnlineClusterer">
+      <implementation id="Carrot2"
+                      class="org.apache.nutch.clustering.carrot2.Clusterer"/>
+   </extension>
+</plugin>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/creativecommons/plugin.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/creativecommons/plugin.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/creativecommons/plugin.xml	(revision 66)
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="creativecommons"
+   name="Creative Commons Plugins"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+   <runtime>
+      <library name="creativecommons.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.creativecommons.nutch.CCParseFilter"
+              name="Creative Commons Metadata Filter"
+              point="org.apache.nutch.parse.HtmlParseFilter">
+      <implementation id="CCParseFilter"
+                      class="org.creativecommons.nutch.CCParseFilter"/>
+   </extension>
+
+   <extension id="org.creativecommons.nutch.CCIndexingFilter"
+              name="Creative Commons Indexing Filter"
+              point="org.apache.nutch.indexer.IndexingFilter">
+      <implementation id="CCIndexingFilter"
+                      class="org.creativecommons.nutch.CCIndexingFilter"/>
+   </extension>
+
+   <extension id="org.creativecommons.nutch.CCQueryFilter"
+              name="Creative Commmons Query Filter"
+              point="org.apache.nutch.searcher.QueryFilter">
+      <implementation id="CCQueryFilter"
+                      class="org.creativecommons.nutch.CCQueryFilter">
+        <parameter name="fields" value="cc"/>
+      </implementation>
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/feed/plugin.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/feed/plugin.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/feed/plugin.xml	(revision 66)
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<!--
+	Licensed to the Apache Software Foundation (ASF) under one or more
+	contributor license agreements.  See the NOTICE file distributed with
+	this work for additional information regarding copyright ownership.
+	The ASF licenses this file to You under the Apache License, Version 2.0
+	(the "License"); you may not use this file except in compliance with
+	the License.  You may obtain a copy of the License at
+	
+	http://www.apache.org/licenses/LICENSE-2.0
+	
+	Unless required by applicable law or agreed to in writing, software
+	distributed under the License is distributed on an "AS IS" BASIS,
+	WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+	See the License for the specific language governing permissions and
+	limitations under the License.
+-->
+<plugin id="feed" name="Feed Parse/Index/Query Plug-in" version="1.0.0"
+	 provider-name="nutch.org">
+    <runtime>
+      <library name="feed.jar">
+        <export name="*" />
+      </library>
+      <library name="rome-0.9.jar" />
+    </runtime>
+    
+    <requires>
+      <import plugin="nutch-extensionpoints" />
+      <import plugin="lib-xml" />
+    </requires>
+    
+    <extension id="org.apache.nutch.parse.feed" name="Feed Parser"
+      point="org.apache.nutch.parse.Parser">
+      
+      <implementation id="org.apache.nutch.parse.feed.FeedParser"
+         class="org.apache.nutch.parse.feed.FeedParser">
+         <parameter name="contentType" value="application/rss+xml" />
+         <parameter name="contentType" value="application/atom+xml" />
+         <parameter name="contentType" value="text/xml" />
+         <parameter name="pathSuffix" value="rss" />
+     </implementation>
+    </extension>
+    <extension id="org.apache.nutch.indexer.feed" name="Feed Indexer"
+       point="org.apache.nutch.indexer.IndexingFilter">
+     <implementation id="FeedIndexingFilter"
+       class="org.apache.nutch.indexer.feed.FeedIndexingFilter" />
+    </extension>
+</plugin>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/field-basic/plugin.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/field-basic/plugin.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/field-basic/plugin.xml	(revision 66)
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="field-basic"
+   name="Basic Field Filter"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+   <runtime>
+      <library name="field-basic.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.indexer.field.basic"
+              name="Nutch Basic Field Filter"
+              point="org.apache.nutch.indexer.field.FieldFilter">
+      <implementation id="BasicFieldFilter"
+        class="org.apache.nutch.indexer.field.basic.BasicFieldFilter"/>
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/field-boost/plugin.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/field-boost/plugin.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/field-boost/plugin.xml	(revision 66)
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="field-boost"
+   name="Boost Field Filter"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+   <runtime>
+      <library name="field-boost.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.indexer.field.boost"
+              name="Nutch Boost Field Filter"
+              point="org.apache.nutch.indexer.field.FieldFilter">
+      <implementation id="BoostFieldFilter"
+        class="org.apache.nutch.indexer.field.boost.BoostFieldFilter"/>
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/index-anchor/plugin.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/index-anchor/plugin.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/index-anchor/plugin.xml	(revision 66)
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<plugin id="index-anchor" name="Anchor Indexing Filter" version="1.0.0"
+  provider-name="nutch.org">
+
+  <runtime>
+    <library name="index-anchor.jar">
+      <export name="*" />
+    </library>
+  </runtime>
+
+  <requires>
+    <import plugin="nutch-extensionpoints" />
+  </requires>
+
+  <extension id="org.apache.nutch.indexer.anchor"
+    name="Nutch Anchor Indexing Filter"
+    point="org.apache.nutch.indexer.IndexingFilter">
+    <implementation id="AnchorIndexingFilter"
+      class="org.apache.nutch.indexer.anchor.AnchorIndexingFilter" />
+  </extension>
+
+</plugin>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/index-basic/plugin.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/index-basic/plugin.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/index-basic/plugin.xml	(revision 66)
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="index-basic"
+   name="Basic Indexing Filter"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+
+   <runtime>
+      <library name="index-basic.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.indexer.basic"
+              name="Nutch Basic Indexing Filter"
+              point="org.apache.nutch.indexer.IndexingFilter">
+      <implementation id="BasicIndexingFilter"
+                      class="org.apache.nutch.indexer.basic.BasicIndexingFilter"/>
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/index-more/plugin.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/index-more/plugin.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/index-more/plugin.xml	(revision 66)
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="index-more"
+   name="More Indexing Filter"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+
+   <runtime>
+      <library name="index-more.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.indexer.more"
+              name="Nutch More Indexing Filter"
+              point="org.apache.nutch.indexer.IndexingFilter">
+      <implementation id="MoreIndexingFilter"
+                      class="org.apache.nutch.indexer.more.MoreIndexingFilter"/>
+   </extension>
+
+   <!--
+   <extension id="org.apache.nutch.searcher.more.MoreQueryFilter"
+              name="Nutch More Query Filter"
+              point="org.apache.nutch.searcher.QueryFilter">
+      <implementation id="MoreQueryFilter"
+                      class="org.apache.nutch.searcher.more.MoreQueryFilter"
+                      raw-fields="more"/>
+   </extension>
+   -->
+
+</plugin>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/language-identifier/plugin.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/language-identifier/plugin.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/language-identifier/plugin.xml	(revision 66)
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="language-identifier"
+   name="Language Identification Parser/Filter"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+    <runtime>
+      <library name="language-identifier.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.analysis.lang.LanguageParser"
+              name="Nutch language Parser"
+              point="org.apache.nutch.parse.HtmlParseFilter">
+      <implementation id="LanguageParser"
+                      class="org.apache.nutch.analysis.lang.HTMLLanguageParser"/>
+   </extension>
+
+   <extension id="org.apache.nutch.analysis.lang"
+              name="Nutch language identifier filter"
+              point="org.apache.nutch.indexer.IndexingFilter">
+      <implementation id="LanguageIdentifier"
+                      class="org.apache.nutch.analysis.lang.LanguageIndexingFilter"/>
+   </extension>
+
+
+   <extension id="org.apache.nutch.analysis.lang.LanguageQueryFilter"
+              name="Nutch Language Query Filter"
+              point="org.apache.nutch.searcher.QueryFilter">
+      <implementation id="LanguageQueryFilter"
+                      class="org.apache.nutch.analysis.lang.LanguageQueryFilter">
+        <parameter name="raw-fields" value="lang"/>
+      </implementation>
+   </extension>
+
+
+</plugin>
+
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/lib-http/plugin.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/lib-http/plugin.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/lib-http/plugin.xml	(revision 66)
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!--
+ ! A common framework for http protocol implementations
+ !-->
+<plugin
+   id="lib-http"
+   name="HTTP Framework"
+   version="1.0"
+   provider-name="org.apache.nutch">
+
+   <runtime>
+     <library name="lib-http.jar">
+        <export name="*"/>
+     </library>
+   </runtime>
+
+</plugin>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/lib-jakarta-poi/plugin.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/lib-jakarta-poi/plugin.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/lib-jakarta-poi/plugin.xml	(revision 66)
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!--
+ ! Jakarta POI - Java API To Access Microsoft Format Files
+ ! (http://jakarta.apache.org/poi/)
+ ! 
+ ! Dowload : http://www.apache.org/dyn/closer.cgi/jakarta/poi/
+ ! License : http://www.apache.org/licenses/LICENSE-2.0.txt
+ !-->
+<plugin
+   id="lib-jakarta-poi"
+   name="Jakarta POI - Java API To Access Microsoft Format Files"
+   version="2.5.1"
+   provider-name="jakarta.apache.org">
+
+   <runtime>
+     <library name="poi-3.5-beta4-20081128.jar">
+        <export name="*"/>
+     </library>
+     <library name="poi-scratchpad-3.5-beta4-20081128.jar">
+        <export name="*"/>
+     </library>
+   </runtime>
+
+</plugin>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/lib-lucene-analyzers/plugin.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/lib-lucene-analyzers/plugin.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/lib-lucene-analyzers/plugin.xml	(revision 66)
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!--
+ ! Lucene Analyzers
+ ! (http://lucene.apache.org/java/docs/lucene-sandbox/)
+ !
+ ! Dowload : http://www.apache.org/dyn/closer.cgi/jakarta/lucene/binaries/
+ ! License : http://www.apache.org/licenses/LICENSE-2.0.txt
+ !-->
+<plugin
+   id="lib-lucene-analyzers"
+   name="Lucene Analysers"
+   version="2.4.0"
+   provider-name="org.apache.lucene">
+
+   <runtime>
+     <library name="lucene-analyzers-2.4.0.jar">
+        <export name="*"/>
+     </library>
+   </runtime>
+
+</plugin>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/lib-nekohtml/plugin.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/lib-nekohtml/plugin.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/lib-nekohtml/plugin.xml	(revision 66)
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!--
+ ! NekoHTML is a simple HTML scanner and tag balancer.
+ ! (http://people.apache.org/~andyc/neko/doc/html/index.html)
+ ! 
+ ! Dowload : http://people.apache.org/~andyc/neko/doc/html/index.html
+ ! License : http://people.apache.org/~andyc/neko/LICENSE
+ !-->
+<plugin
+   id="lib-nekohtml"
+   name="CyberNeko HTML Parser"
+   version="1.9.11"
+   provider-name="org.cyberneko">
+
+   <runtime>
+     <library name="nekohtml-0.9.4.jar">
+        <export name="*"/>
+     </library>
+   </runtime>
+
+</plugin>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/lib-parsems/plugin.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/lib-parsems/plugin.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/lib-parsems/plugin.xml	(revision 66)
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!--
+ ! A common framework for microsoft documents parsers implementations
+ !-->
+<plugin
+   id="lib-parsems"
+   name="Parse MS Documents Framework"
+   version="1.0"
+   provider-name="org.apache.nutch">
+
+   <runtime>
+     <library name="lib-parsems.jar">
+        <export name="*"/>
+     </library>
+   </runtime>
+
+   <requires>
+      <import plugin="lib-jakarta-poi"/>
+   </requires>
+
+</plugin>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/lib-regex-filter/plugin.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/lib-regex-filter/plugin.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/lib-regex-filter/plugin.xml	(revision 66)
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!--
+ ! A common framework for RegExp based URL filters
+ !-->
+<plugin
+   id="lib-regex-filter"
+   name="Regex URL Filter Framework"
+   version="1.0"
+   provider-name="org.apache.nutch">
+
+   <runtime>
+     <library name="lib-regex-filter.jar">
+        <export name="*"/>
+     </library>
+   </runtime>
+
+</plugin>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/lib-xml/plugin.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/lib-xml/plugin.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/lib-xml/plugin.xml	(revision 66)
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!--
+ ! XML library - Gathers many XML related libraries:
+ !
+ ! * Jaxen
+ !     - Download : http://jaxen.org/releases.html
+ !     - License  : http://jaxen.org/license.html
+ !
+ !   * Xerces-J 2.6.1
+ !     - Download : http://xerces.apache.org/xerces2-j/download.cgi
+ !     - License  : http://www.apache.org/licenses/LICENSE-2.0
+ !
+ !   * SAXPath 1.0 FCS
+ !     - Note     : SAXPath has been incorporated into Jaxen.
+ !                  It has been merged into the Jaxen codebase
+ !                  and is no longer being maintained separately
+ !     - Download : http://sourceforge.net/project/showfiles.php?group_id=26014
+ !     - License  : OSI-Approved Open Source
+ !
+ !   * jdom 1.0 beta8-dev
+ !     - Download : http://www.jdom.org/downloads/index.html
+ !     - License  : http://www.jdom.org/docs/faq.html#a0030
+ !
+ !-->
+<plugin
+   id="lib-xml"
+   name="XML Libraries"
+   version="1.0"
+   provider-name="org.apache.nutch.xml">
+
+   <runtime>
+     <library name="jaxen-core.jar">
+       <export name="*"/>
+     </library>
+     <library name="jaxen-jdom.jar">
+       <export name="*"/>
+     </library>
+     <library name="xercesImpl.jar">
+       <export name="*"/>
+     </library>
+     <library name="saxpath.jar">
+       <export name="*"/>
+     </library>
+     <library name="jdom.jar">
+        <export name="*"/>
+     </library>
+   </runtime>
+
+</plugin>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/microformats-reltag/plugin.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/microformats-reltag/plugin.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/microformats-reltag/plugin.xml	(revision 66)
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="microformats-reltag"
+   name="Rel-Tag microformat Parser/Indexer/Querier"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+    <runtime>
+      <library name="microformats-reltag.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.microformats.reltag.RelTagParser"
+              name="Rel-Tag parser"
+              point="org.apache.nutch.parse.HtmlParseFilter">
+      <implementation id="RelTagParser"
+                      class="org.apache.nutch.microformats.reltag.RelTagParser"/>
+   </extension>
+
+   <extension id="org.apache.nutch.microformats.reltag.RelTagIndexingFilter"
+              name="Rel-Tag indexing filter"
+              point="org.apache.nutch.indexer.IndexingFilter">
+      <implementation id="RelTagIndexingFilter"
+                      class="org.apache.nutch.microformats.reltag.RelTagIndexingFilter"/>
+   </extension>
+
+
+   <extension id="org.apache.nutch.microformats.reltag.RelTagQueryFilter"
+              name="Rel-Tag query filter"
+              point="org.apache.nutch.searcher.QueryFilter">
+      <implementation id="RelTagQueryFilter"
+                      class="org.apache.nutch.microformats.reltag.RelTagQueryFilter">
+        <parameter name="raw-fields" value="tag"/>
+      </implementation>
+      
+   </extension>
+
+
+</plugin>
+
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/nutch-extensionpoints/plugin.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/nutch-extensionpoints/plugin.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/nutch-extensionpoints/plugin.xml	(revision 66)
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="nutch-extensionpoints"
+   name="the nutch core extension points"
+   version="0.8.0"
+   provider-name="nutch.org">
+
+   <!-- this file hosts all extension points nutch core code offers. 
+   Please not that plugins can define extension points as well to be extendable.-->
+
+<extension-point
+      id="org.apache.nutch.clustering.OnlineClusterer"
+      name="Nutch Online Search Results Clustering Plugin"/>
+
+<extension-point
+      id="org.apache.nutch.indexer.field.FieldFilter"
+      name="Nutch Field Filter"/>
+      
+<extension-point
+      id="org.apache.nutch.indexer.IndexingFilter"
+      name="Nutch Indexing Filter"/>
+
+<extension-point
+      id="org.apache.nutch.ontology.Ontology"
+      name="Ontology Model Loader"/>
+
+<extension-point
+      id="org.apache.nutch.parse.Parser"
+      name="Nutch Content Parser"/>
+ 
+<extension-point
+      id="org.apache.nutch.parse.HtmlParseFilter"
+      name="HTML Parse Filter"/>
+
+<extension-point
+      id="org.apache.nutch.protocol.Protocol"
+      name="Nutch Protocol"/>
+
+<extension-point
+      id="org.apache.nutch.searcher.QueryFilter"
+      name="Nutch Query Filter"/>
+
+<extension-point
+      id="org.apache.nutch.net.URLFilter"
+      name="Nutch URL Filter"/>
+
+<extension-point
+      id="org.apache.nutch.net.URLNormalizer"
+      name="Nutch URL Normalizer"/>
+
+<extension-point
+      id="org.apache.nutch.analysis.NutchAnalyzer"
+      name="Nutch Analysis"/>
+
+<extension-point
+      id="org.apache.nutch.searcher.response.ResponseWriter"
+      name="Nutch Search Results Response Writer"/>
+      
+<extension-point
+      id="org.apache.nutch.searcher.Summarizer"
+      name="Nutch Summarizer"/>
+
+<extension-point
+      id="org.apache.nutch.scoring.ScoringFilter"
+      name="Nutch Scoring"/>
+
+</plugin>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/ontology/plugin.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/ontology/plugin.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/ontology/plugin.xml	(revision 66)
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="ontology"
+   name="Ontology Plug-in"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+
+   <runtime>
+      <library name="ontology.jar">
+         <export name="*"/>
+      </library>
+
+      <library name="commons-logging-1.0.3.jar"/>
+      <library name="jena-2.1.jar"/>
+
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <!-- attribute "point" is the plugin interface class -->
+   <!-- seems kinda redundant to have to define the point here too -->   
+   <extension id="org.apache.nutch.ontology.jena"
+              name="Ontology Model Loader"
+              point="org.apache.nutch.ontology.Ontology">
+
+      <!-- define all the classes that implement the point defined above -->
+      <implementation id="org.apache.nutch.ontology.jena.OntologyImpl"
+                      class="org.apache.nutch.ontology.jena.OntologyImpl">
+        <parameter name="pathSuffix" value=""/>
+      </implementation>
+
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/parse-ext/command
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/parse-ext/command	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/parse-ext/command	(revision 66)
@@ -0,0 +1,24 @@
+#!/bin/bash
+#
+# Sample bash script as external command invoked by parse-ext plugin
+#
+# 20040701, John Xing
+
+set -e
+
+if  [ $# -ne 1 ]; then
+  echo Usage:$0 mimeType >&2
+  exit 1
+fi
+
+case $1 in
+"application/vnd.nutch.example.cat")
+  cat
+  ;;
+"application/vnd.nutch.example.md5sum")
+  md5sum
+  ;;
+*)
+  echo "Can't parse mimeType $1" >&2
+  exit 1
+esac
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/parse-ext/plugin.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/parse-ext/plugin.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/parse-ext/plugin.xml	(revision 66)
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="parse-ext"
+   name="External Parser Plug-in"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+   <runtime>
+      <library name="parse-ext.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.parse.ext"
+              name="ExtParse"
+              point="org.apache.nutch.parse.Parser">
+
+      <implementation id="ExtParser"
+                      class="org.apache.nutch.parse.ext.ExtParser">
+        <parameter name="contentType" value="application/vnd.nutch.example.cat"/>
+        <parameter name="pathSuffix"  value=""/>
+        <parameter name="command"     value="./build/plugins/parse-ext/command"/>
+        <parameter name="timeout"     value="10"/>
+      </implementation>
+
+      <implementation id="ExtParser"
+                      class="org.apache.nutch.parse.ext.ExtParser">
+        <parameter name="contentType" value="application/vnd.nutch.example.md5sum"/>
+        <parameter name="pathSuffix"  value=""/>
+        <parameter name="command"     value="./build/plugins/parse-ext/command"/>
+        <parameter name="timeout"     value="20"/>
+      </implementation>
+
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/parse-html/plugin.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/parse-html/plugin.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/parse-html/plugin.xml	(revision 66)
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="parse-html"
+   name="Html Parse Plug-in"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+   <runtime>
+      <library name="parse-html.jar">
+         <export name="*"/>
+      </library>
+      <library name="tagsoup-1.2.jar"/>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+      <import plugin="lib-nekohtml"/>
+   </requires>
+
+   <extension id="org.apache.nutch.parse.html"
+              name="HtmlParse"
+              point="org.apache.nutch.parse.Parser">
+
+      <implementation id="org.apache.nutch.parse.html.HtmlParser"
+                      class="org.apache.nutch.parse.html.HtmlParser">
+        <parameter name="contentType" value="text/html"/>
+        <parameter name="pathSuffix" value=""/>
+      </implementation>
+
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/parse-js/plugin.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/parse-js/plugin.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/parse-js/plugin.xml	(revision 66)
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="parse-js"
+   name="JavaScript Parser"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+   <runtime>
+      <library name="parse-js.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.parse.js"
+              name="JS Parser"
+              point="org.apache.nutch.parse.Parser">
+      <implementation id="JSParser"
+         class="org.apache.nutch.parse.js.JSParseFilter">
+        <parameter name="contentType" value="application/x-javascript"/>
+        <parameter name="pathSuffix"  value="js"/>
+      </implementation>
+   </extension>
+   <extension id="org.apache.nutch.parse.js.JSParseFilter"
+              name="Parse JS Filter"
+              point="org.apache.nutch.parse.HtmlParseFilter">
+      <implementation id="JSParseFilter"
+         class="org.apache.nutch.parse.js.JSParseFilter">
+        <parameter name="contentType" value="application/x-javascript"/>
+        <parameter name="pathSuffix"  value=""/>
+      </implementation>
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/parse-msexcel/plugin.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/parse-msexcel/plugin.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/parse-msexcel/plugin.xml	(revision 66)
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="parse-msexcel"
+   name="MSExcel Parse Plug-in"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+   <runtime>
+      <library name="parse-msexcel.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+     <import plugin="nutch-extensionpoints"/>
+     <import plugin="lib-jakarta-poi"/>
+     <import plugin="lib-parsems"/>
+   </requires>
+
+   <extension id="org.apache.nutch.parse.msexcel"
+              name="MSExcelParser" 
+              point="org.apache.nutch.parse.Parser">
+
+      <implementation id="org.apache.nutch.parse.msexcel.MSExcelParser"
+                      class="org.apache.nutch.parse.msexcel.MSExcelParser">
+        <parameter name="contentType" value="application/vnd.ms-excel"/>
+        <parameter name="pathSuffix"  value="xls"/>
+      </implementation>
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/parse-mspowerpoint/plugin.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/parse-mspowerpoint/plugin.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/parse-mspowerpoint/plugin.xml	(revision 66)
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="parse-mspowerpoint"
+   name="MSPowerPoint Parse Plug-in"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+   <runtime>
+      <library name="parse-mspowerpoint.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="lib-jakarta-poi"/>
+      <import plugin="nutch-extensionpoints"/>
+      <import plugin="lib-parsems"/>
+   </requires>
+
+   <extension id="net.nutch.parse.mspowerpoint"
+              name="MSPowerPointParse" 
+              point="org.apache.nutch.parse.Parser">
+      <implementation id="org.apache.nutch.parse.mspowerpoint.MSPowerPointParser" 
+                      class="org.apache.nutch.parse.mspowerpoint.MSPowerPointParser">
+        <parameter name="contentType" value="application/vnd.ms-powerpoint"/>
+        <parameter name="pathSuffix"  value=""/>
+      </implementation>
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/parse-msword/plugin.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/parse-msword/plugin.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/parse-msword/plugin.xml	(revision 66)
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="parse-msword"
+   name="MSWord Parse Plug-in"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+   <runtime>
+      <library name="parse-msword.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+      <import plugin="lib-jakarta-poi"/>
+      <import plugin="lib-parsems"/>
+   </requires>
+
+   <extension id="org.apache.nutch.parse.msword"
+              name="MSWordParse"
+              point="org.apache.nutch.parse.Parser">
+
+      <implementation id="org.apache.nutch.parse.msword.MSWordParser"
+                      class="org.apache.nutch.parse.msword.MSWordParser">
+        <parameter name="contentType" value="application/msword"/>
+        <parameter name="pathSuffix"  value=""/>
+      </implementation>
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/parse-oo/plugin.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/parse-oo/plugin.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/parse-oo/plugin.xml	(revision 66)
@@ -0,0 +1,134 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="parse-oo"
+   name="OpenOffice/OpenDocument Parse Plug-in"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+
+   <runtime>
+      <library name="parse-oo.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+      <import plugin="lib-xml"/>
+   </requires>
+
+   <extension id="org.apache.nutch.parse.oo"
+              name="OOParse"
+              point="org.apache.nutch.parse.Parser">
+
+      <!-- Text / Writer -->
+      <implementation id="org.apache.nutch.parse.oo.OpenDocument.Text"
+                      class="org.apache.nutch.parse.oo.OOParser">
+        <parameter name="contentType" value="application/vnd.oasis.opendocument.text"/>
+        <parameter name="pathSuffix"  value="odt"/>
+      </implementation>
+
+      <implementation id="org.apache.nutch.parse.oo.StarOffice.Writer"
+                      class="org.apache.nutch.parse.oo.OOParser">
+        <parameter name="contentType" value="application/vnd.sun.xml.writer"/>
+        <parameter name="pathSuffix"  value="sxw"/>
+      </implementation>
+
+      <!-- Text / Writer Template -->
+      <implementation id="org.apache.nutch.parse.oo.OpenDocument.TextTemplate"
+                      class="org.apache.nutch.parse.oo.OOParser">
+        <parameter name="contentType" value="application/vnd.oasis.opendocument.text-template"/>
+        <parameter name="pathSuffix"  value="ott"/>
+      </implementation>
+
+      <implementation id="org.apache.nutch.parse.oo.StarOffice.WriterTemplate"
+                      class="org.apache.nutch.parse.oo.OOParser">
+        <parameter name="contentType" value="application/vnd.sun.xml.writer.template"/>
+        <parameter name="pathSuffix"  value="stw"/>
+      </implementation>
+
+      <!-- Text-Web -->
+      <implementation id="org.apache.nutch.parse.oo.OpenDocument.TextWeb"
+                      class="org.apache.nutch.parse.oo.OOParser">
+        <parameter name="contentType" value="application/vnd.oasis.opendocument.text-web"/>
+        <parameter name="pathSuffix"  value="odh"/>
+      </implementation>
+
+      <!-- Text-Master -->
+      <implementation id="org.apache.nutch.parse.oo.OpenDocument.TextMaster"
+                      class="org.apache.nutch.parse.oo.OOParser">
+        <parameter name="contentType" value="application/vnd.oasis.opendocument.text-master"/>
+        <parameter name="pathSuffix"  value="odm"/>
+      </implementation>
+
+      <!-- Spreadsheet / Calc -->
+      <implementation id="org.apache.nutch.parse.oo.OpenDocument.Spreadsheet"
+                      class="org.apache.nutch.parse.oo.OOParser">
+        <parameter name="contentType" value="application/vnd.oasis.opendocument.spreadsheet"/>
+        <parameter name="pathSuffix"  value="ods"/>
+      </implementation>
+
+      <implementation id="org.apache.nutch.parse.oo.StarOffice.Calc"
+                      class="org.apache.nutch.parse.oo.OOParser">
+        <parameter name="contentType" value="application/vnd.sun.xml.calc"/>
+        <parameter name="pathSuffix"  value="sxc"/>
+      </implementation>
+
+      <!-- Spreadsheet / Calc Template -->
+      <implementation id="org.apache.nutch.parse.oo.OpenDocument.SpreadsheetTemplate"
+                      class="org.apache.nutch.parse.oo.OOParser">
+        <parameter name="contentType" value="application/vnd.oasis.opendocument.spreadsheet-template"/>
+        <parameter name="pathSuffix"  value="ots"/>
+      </implementation>
+
+      <implementation id="org.apache.nutch.parse.oo.StarOffice.CalcTemplate"
+                      class="org.apache.nutch.parse.oo.OOParser">
+        <parameter name="contentType" value="application/vnd.sun.xml.calc.template"/>
+        <parameter name="pathSuffix"  value="stc"/>
+      </implementation>
+
+      <!-- Presentation / Impress -->
+      <implementation id="org.apache.nutch.parse.oo.OpenDocument.Presentation"
+                      class="org.apache.nutch.parse.oo.OOParser">
+        <parameter name="contentType" value="application/vnd.oasis.opendocument.presentation"/>
+        <parameter name="pathSuffix"  value="odp"/>
+      </implementation>
+
+      <implementation id="org.apache.nutch.parse.oo.StarOffice.Impress"
+                      class="org.apache.nutch.parse.oo.OOParser">
+        <parameter name="contentType" value="application/vnd.sun.xml.impress"/>
+        <parameter name="pathSuffix"  value="sxi"/>
+      </implementation>
+
+      <!-- Presentation / Impress Template -->
+      <implementation id="org.apache.nutch.parse.oo.OpenDocument.PresentationTemplate"
+                      class="org.apache.nutch.parse.oo.OOParser">
+        <parameter name="contentType" value="application/vnd.oasis.opendocument.presentation-template"/>
+        <parameter name="pathSuffix"  value="otp"/>
+      </implementation>
+
+      <implementation id="org.apache.nutch.parse.oo.StarOffice.ImpressTemplate"
+                      class="org.apache.nutch.parse.oo.OOParser">
+        <parameter name="contentType" value="application/vnd.sun.xml.impress.template"/>
+        <parameter name="pathSuffix"  value="sti"/>
+      </implementation>
+
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/parse-pdf/plugin.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/parse-pdf/plugin.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/parse-pdf/plugin.xml	(revision 66)
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="parse-pdf"
+   name="Pdf Parse Plug-in"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+
+   <runtime>
+      <library name="parse-pdf.jar">
+         <export name="*"/>
+      </library>
+      <library name="PDFBox-0.7.4-dev.jar"/>
+      <library name="FontBox-0.2.0-dev.jar"/>
+      <library name="JempBox-0.2.0-dev.jar"/>
+      <library name="bcprov-jdk14-132.jar"/>
+      <!-- Uncomment the following two lines after you have downloaded the
+           libraries, see README.txt for more details.-->
+      <!--
+      <library name="jai_codec.jar"/>
+      <library name="jai_core.jar"/>
+      -->
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.parse.pdf"
+              name="PdfParse"
+              point="org.apache.nutch.parse.Parser">
+
+      <implementation id="org.apache.nutch.parse.pdf.PdfParser"
+                      class="org.apache.nutch.parse.pdf.PdfParser">
+        <parameter name="contentType" value="application/pdf"/>
+        <parameter name="pathSuffix"  value=""/>
+      </implementation>
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/parse-rss/plugin.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/parse-rss/plugin.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/parse-rss/plugin.xml	(revision 66)
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="parse-rss"
+   name="RSS Parse Plug-in"
+   version="1.0.0"
+   provider-name="edu.usc.cs.cs599">
+
+
+   <runtime>
+      <library name="parse-rss.jar">
+         <export name="*"/>
+      </library>
+      <library name="commons-feedparser-0.6-fork.jar"/>
+      <library name="xml-rpc-1.2.jar"/>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+      <import plugin="lib-xml"/>
+   </requires>
+
+   <extension id="org.apache.nutch.parse.rss"
+              name="RssParse"
+              point="org.apache.nutch.parse.Parser">
+
+      <implementation id="org.apache.nutch.parse.rss.RSSParser"
+                      class="org.apache.nutch.parse.rss.RSSParser">
+        <parameter name="contentType" value="application/rss+xml"/>
+        <parameter name="pathSuffix"  value="rss"/>
+      </implementation>
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/parse-swf/plugin.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/parse-swf/plugin.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/parse-swf/plugin.xml	(revision 66)
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="parse-swf"
+   name="SWF Parse Plug-in"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+
+   <runtime>
+      <library name="parse-swf.jar">
+         <export name="*"/>
+      </library>
+      <library name="javaswf.jar"/>
+   </runtime>
+
+   <extension id="org.apache.nutch.parse.swf"
+              name="SWFParse"
+              point="org.apache.nutch.parse.Parser">
+
+      <implementation id="org.apache.nutch.parse.swf.SWFParser"
+                      class="org.apache.nutch.parse.swf.SWFParser">
+        <parameter name="contentType" value="application/x-shockwave-flash"/>
+        <parameter name="pathSuffix"  value="swf"/>
+      </implementation>
+      
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/parse-text/plugin.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/parse-text/plugin.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/parse-text/plugin.xml	(revision 66)
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="parse-text"
+   name="Text Parse Plug-in"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+
+   <runtime>
+      <library name="parse-text.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.parse.text"
+              name="TextParse"
+              point="org.apache.nutch.parse.Parser">
+
+      <implementation id="org.apache.nutch.parse.text.TextParser"
+                      class="org.apache.nutch.parse.text.TextParser">
+        <parameter name="contentType" value="text/plain"/>
+        <parameter name="pathSuffix"  value="txt"/>
+      </implementation>
+
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/parse-zip/plugin.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/parse-zip/plugin.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/parse-zip/plugin.xml	(revision 66)
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="parse-zip"
+   name="Zip Parse Plug-in"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+   <runtime>
+      <library name="parse-zip.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.parse.zip"
+              name="ZipParser" 
+              point="org.apache.nutch.parse.Parser">
+
+      <implementation id="org.apache.nutch.parse.zip.ZipParser" 
+                      class="org.apache.nutch.parse.zip.ZipParser">
+        <parameter name="contentType" value="application/zip"/>
+        <parameter name="pathSuffix"  value="zip"/>
+      </implementation>
+      
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/protocol-file/plugin.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/protocol-file/plugin.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/protocol-file/plugin.xml	(revision 66)
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="protocol-file"
+   name="File Protocol Plug-in"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+
+   <runtime>
+      <library name="protocol-file.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.protocol.file"
+              name="FileProtocol"
+              point="org.apache.nutch.protocol.Protocol">
+
+      <implementation id="org.apache.nutch.protocol.file.File"
+                      class="org.apache.nutch.protocol.file.File">
+        <parameter name="protocolName" value="file"/>
+      </implementation>
+
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/protocol-ftp/plugin.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/protocol-ftp/plugin.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/protocol-ftp/plugin.xml	(revision 66)
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="protocol-ftp"
+   name="Ftp Protocol Plug-in"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+   <runtime>
+      <library name="protocol-ftp.jar">
+         <export name="*"/>
+      </library>
+      <library name="commons-net-1.2.0-dev.jar"/>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.protocol.ftp"
+              name="FtpProtocol"
+              point="org.apache.nutch.protocol.Protocol">
+
+      <implementation id="org.apache.nutch.protocol.ftp.Ftp"
+                      class="org.apache.nutch.protocol.ftp.Ftp">
+        <parameter name="protocolName" value="ftp"/>
+      </implementation>
+      
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/protocol-http/plugin.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/protocol-http/plugin.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/protocol-http/plugin.xml	(revision 66)
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="protocol-http"
+   name="Http Protocol Plug-in"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+   <runtime>
+      <library name="protocol-http.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+      <import plugin="lib-http"/>
+   </requires>
+
+   <extension id="org.apache.nutch.protocol.http"
+              name="HttpProtocol"
+              point="org.apache.nutch.protocol.Protocol">
+
+      <implementation id="org.apache.nutch.protocol.http.Http"
+                      class="org.apache.nutch.protocol.http.Http">
+        <parameter name="protocolName" value="http"/>
+      </implementation>
+
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/protocol-httpclient/plugin.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/protocol-httpclient/plugin.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/protocol-httpclient/plugin.xml	(revision 66)
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="protocol-httpclient"
+   name="Http / Https Protocol Plug-in"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+   <runtime>
+      <library name="protocol-httpclient.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+      <import plugin="lib-http"/>
+   </requires>
+
+   <extension id="org.apache.nutch.protocol.httpclient"
+              name="HttpProtocol"
+              point="org.apache.nutch.protocol.Protocol">
+
+      <implementation id="org.apache.nutch.protocol.httpclient.Http"
+                      class="org.apache.nutch.protocol.httpclient.Http">
+        <parameter name="protocolName" value="http"/>
+      </implementation>
+
+   </extension>
+
+   <extension id="org.apache.nutch.protocol.https"
+              name="HttpsProtocol"
+              point="org.apache.nutch.protocol.Protocol">
+
+      <implementation id="org.apache.nutch.protocol.httpclient.Http"
+                      class="org.apache.nutch.protocol.httpclient.Http">
+        <parameter name="protocolName" value="https"/>
+      </implementation>
+
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/query-basic/plugin.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/query-basic/plugin.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/query-basic/plugin.xml	(revision 66)
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="query-basic"
+   name="Basic Query Filter"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+   <runtime>
+      <library name="query-basic.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.searcher.basic"
+              name="Nutch Basic Query Filter"
+              point="org.apache.nutch.searcher.QueryFilter">
+      <implementation id="BasicQueryFilter"
+                      class="org.apache.nutch.searcher.basic.BasicQueryFilter">
+        <parameter name="fields" value="DEFAULT"/>
+      </implementation>
+      
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/query-custom/plugin.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/query-custom/plugin.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/query-custom/plugin.xml	(revision 66)
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="query-custom"
+   name="Custom Query Filter"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+   <runtime>
+      <library name="query-custom.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+   
+   <extension id="org.apache.nutch.searcher.custom"
+              name="Nutch Custom Field Query Filter"
+              point="org.apache.nutch.searcher.QueryFilter">
+      <implementation id="CustomQueryFilter"
+        class="org.apache.nutch.searcher.custom.CustomFieldQueryFilter">
+        <parameter name="fields" value="lang" />
+      </implementation>
+      
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/query-more/plugin.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/query-more/plugin.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/query-more/plugin.xml	(revision 66)
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="query-more"
+   name="More Query Filter"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+   <runtime>
+      <library name="query-more.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.searcher.more"
+              name="Nutch More Query Filter"
+              point="org.apache.nutch.searcher.QueryFilter">
+      <implementation id="TypeQueryFilter"
+                      class="org.apache.nutch.searcher.more.TypeQueryFilter">
+        <parameter name="raw-fields" value="type"/>
+      </implementation>
+      
+   </extension>
+
+   <extension id="org.apache.nutch.searcher.more"
+              name="Nutch More Query Filter"
+              point="org.apache.nutch.searcher.QueryFilter">
+      <implementation id="DateQueryFilter"
+                      class="org.apache.nutch.searcher.more.DateQueryFilter">
+        <parameter name="raw-fields" value="date"/>
+      </implementation>
+      
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/query-site/plugin.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/query-site/plugin.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/query-site/plugin.xml	(revision 66)
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="query-site"
+   name="Site Query Filter"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+   <runtime>
+      <library name="query-site.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.searcher.site.SiteQueryFilter"
+              name="Nutch Site Query Filter"
+              point="org.apache.nutch.searcher.QueryFilter">
+      <implementation id="SiteQueryFilter"
+                      class="org.apache.nutch.searcher.site.SiteQueryFilter">
+        <parameter name="raw-fields" value="site"/>
+      </implementation>
+      
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/query-url/plugin.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/query-url/plugin.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/query-url/plugin.xml	(revision 66)
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="query-url"
+   name="URL Query Filter"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+   <runtime>
+      <library name="query-url.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.searcher.url.URLQueryFilter"
+              name="Nutch URL Query Filter"
+              point="org.apache.nutch.searcher.QueryFilter">
+      <implementation id="URLQueryFilter"
+                      class="org.apache.nutch.searcher.url.URLQueryFilter">
+        <parameter name="fields" value="url"/>
+      </implementation>
+      
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/response-json/plugin.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/response-json/plugin.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/response-json/plugin.xml	(revision 66)
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!--
+ ! JSON-lib is a java library for transforming beans, maps, collections, java 
+ ! arrays and XML to JSON and back again.  EZMorph is one of its dependencies.
+ ! Both are licensed under the apache license.
+ ! 
+ ! JSON-lib Project: http://json-lib.sourceforge.net/index.html 
+ ! JSON-lib Download: http://sourceforge.net/project/showfiles.php?group_id=171425
+ ! License: http://json-lib.sourceforge.net/license.html
+ !
+ ! EZMorph Project: http://ezmorph.sourceforge.net/license.html
+ ! EZMorph Download: http://sourceforge.net/project/showfiles.php?group_id=174866
+ ! License: http://ezmorph.sourceforge.net/license.html
+ !-->
+<plugin
+   id="response-json"
+   name="JSON Response Writer Plug-in"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+   <runtime>
+      <library name="response-json.jar">
+         <export name="*"/>
+      </library>
+      <library name="ezmorph-1.0.6.jar"/>
+      <library name="json-lib-2.2.2-jdk15.jar"/>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.searcher.response"
+              name="ResponseWriter"
+              point="org.apache.nutch.searcher.response.ResponseWriter">
+
+      <implementation id="org.apache.nutch.searcher.response.json.JSONResponseWriter"
+        class="org.apache.nutch.searcher.response.json.JSONResponseWriter">
+        <parameter name="responseType" value="json"/>
+        <!--<parameter name="contentType" value="application/json"/>-->
+        <parameter name="contentType" value="text/plain"/>
+      </implementation>
+
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/response-xml/plugin.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/response-xml/plugin.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/response-xml/plugin.xml	(revision 66)
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="response-xml"
+   name="XML Response Writer Plug-in"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+   <runtime>
+      <library name="response-xml.jar">
+         <export name="*"/>
+      </library>    
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.searcher.response"
+              name="ResponseWriter"
+              point="org.apache.nutch.searcher.response.ResponseWriter">
+
+      <implementation id="org.apache.nutch.searcher.response.xml.XMLResponseWriter"
+        class="org.apache.nutch.searcher.response.xml.XMLResponseWriter">
+        <parameter name="responseType" value="xml"/>
+        <parameter name="contentType" value="text/xml"/>
+      </implementation>
+
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/scoring-link/plugin.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/scoring-link/plugin.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/scoring-link/plugin.xml	(revision 66)
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="scoring-link"
+   name="Link Analysis Scoring Plug-in"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+
+   <runtime>
+      <library name="scoring-link.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <extension id="org.apache.nutch.scoring.link"
+              name="LinkAnalysisScoring"
+              point="org.apache.nutch.scoring.ScoringFilter">
+
+      <implementation id="org.apache.nutch.scoring.link.LinkAnalysisScoringFilter"
+        class="org.apache.nutch.scoring.link.LinkAnalysisScoringFilter" />
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/scoring-opic/plugin.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/scoring-opic/plugin.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/scoring-opic/plugin.xml	(revision 66)
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="scoring-opic"
+   name="OPIC Scoring Plug-in"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+
+   <runtime>
+      <library name="scoring-opic.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <extension id="org.apache.nutch.scoring.opic"
+              name="OPICScoring"
+              point="org.apache.nutch.scoring.ScoringFilter">
+
+      <implementation id="org.apache.nutch.scoring.opic.OPICScoringFilter"
+                      class="org.apache.nutch.scoring.opic.OPICScoringFilter" />
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/subcollection/plugin.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/subcollection/plugin.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/subcollection/plugin.xml	(revision 66)
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="subcollection"
+   name="Subcollection indexing and query filter"
+   version="1.0.0"
+   provider-name="apache.org">
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <runtime>
+      <library name="subcollection.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+   
+   <extension id="org.apache.nutch.searcher.subcollection.query"
+              name="Subcollection Query Filter"
+              point="org.apache.nutch.searcher.QueryFilter">
+    <implementation id="SubcollectionQueryFilter"
+               class="org.apache.nutch.searcher.subcollection.SubcollectionQueryFilter">
+         <parameter name="raw-fields" value="subcollection"/>
+         </implementation>
+               
+   </extension>      
+
+   <extension id="org.apache.nutch.indexer.subcollection.indexing"
+              name="Subcollection Indexing Filter"
+              point="org.apache.nutch.indexer.IndexingFilter">
+      <implementation id="SubcollectionIndexingFilter"
+                      class="org.apache.nutch.indexer.subcollection.SubcollectionIndexingFilter"/>
+                      
+   </extension>
+</plugin>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/summary-basic/plugin.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/summary-basic/plugin.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/summary-basic/plugin.xml	(revision 66)
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="summary-basic"
+   name="Basic Summarizer Plug-in"
+   version="1.0.0"
+   provider-name="org.apache.nutch">
+
+   <runtime>
+      <library name="summary-basic.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.summary.basic"
+              name="Basic Summarizer"
+              point="org.apache.nutch.searcher.Summarizer">
+
+      <implementation id="Basic Summarizer"
+                      class="org.apache.nutch.summary.basic.BasicSummarizer"/>
+
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/summary-lucene/plugin.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/summary-lucene/plugin.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/summary-lucene/plugin.xml	(revision 66)
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="summary-lucene"
+   name="Lucene Highlighter Summary Plug-in"
+   version="1.0.0"
+   provider-name="org.apache.nutch">
+
+   <runtime>
+      <library name="summary-lucene.jar">
+         <export name="*"/>
+      </library>
+      <library name="lucene-highlighter-2.4.0.jar"/>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.summary.basic"
+              name="Lucene Highlighter Summarizer"
+              point="org.apache.nutch.searcher.Summarizer">
+
+      <implementation id="Basic Summarizer"
+                      class="org.apache.nutch.summary.lucene.LuceneSummarizer"/>
+
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/tld/plugin.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/tld/plugin.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/tld/plugin.xml	(revision 66)
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="tld"
+   name="Top Level Domain Plugin"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+
+   <runtime>
+      <library name="tld.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.indexer.tld"
+              name="Top Level Domain Indexing Filter"
+              point="org.apache.nutch.indexer.IndexingFilter">
+      <implementation id="TLDIndexingFilter"
+                      class="org.apache.nutch.indexer.tld.TLDIndexingFilter"/>
+   </extension>
+
+   <extension id="org.apache.nutch.scoring.tld"
+              name="Top Level Domain Scoring Filter"
+              point="org.apache.nutch.scoring.ScoringFilter">
+
+      <implementation id="org.apache.nutch.scoring.tld.TLDScoringFilter"
+                      class="org.apache.nutch.scoring.tld.TLDScoringFilter" />
+   </extension>
+
+
+</plugin>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/urlfilter-automaton/plugin.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/urlfilter-automaton/plugin.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/urlfilter-automaton/plugin.xml	(revision 66)
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="urlfilter-automaton"
+   name="Automaton URL Filter"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+   <runtime>
+      <library name="urlfilter-automaton.jar">
+         <export name="*"/>
+      </library>
+      <library name="automaton.jar"/>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+      <import plugin="lib-regex-filter"/>
+   </requires>
+
+   <extension id="org.apache.nutch.net.urlfilter.automaton"
+              name="Nutch Automaton URL Filter"
+              point="org.apache.nutch.net.URLFilter">
+      <implementation id="AutomatonURLFilter"
+                      class="org.apache.nutch.urlfilter.automaton.AutomatonURLFilter"/>
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/urlfilter-domain/plugin.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/urlfilter-domain/plugin.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/urlfilter-domain/plugin.xml	(revision 66)
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="urlfilter-domain"
+   name="Domain URL Filter"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+   <runtime>
+      <library name="urlfilter-domain.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.net.urlfilter.domain"
+              name="Nutch Domain URL Filter"
+              point="org.apache.nutch.net.URLFilter">
+      <implementation id="DomainURLFilter"
+        class="org.apache.nutch.urlfilter.domain.DomainURLFilter">
+        <!-- <parameter name="file" value="domain-urlfilter.txt"/> -->
+      </implementation>
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/urlfilter-prefix/plugin.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/urlfilter-prefix/plugin.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/urlfilter-prefix/plugin.xml	(revision 66)
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="urlfilter-prefix"
+   name="Prefix URL Filter"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+   <runtime>
+      <library name="urlfilter-prefix.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.net.urlfilter.prefix"
+              name="Nutch Prefix URL Filter"
+              point="org.apache.nutch.net.URLFilter">
+      <implementation id="PrefixURLFilter"
+                      class="org.apache.nutch.urlfilter.prefix.PrefixURLFilter"/>
+      <!-- by default, attribute "file" is undefined, to keep classic behavior.
+      <implementation id="PrefixURLFilter"
+                      class="org.apache.nutch.net.PrefixURLFilter">
+        <parameter name="file" value="urlfilter-prefix.txt"/>
+      </implementation>
+      -->
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/urlfilter-regex/plugin.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/urlfilter-regex/plugin.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/urlfilter-regex/plugin.xml	(revision 66)
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="urlfilter-regex"
+   name="Regex URL Filter"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+   <runtime>
+      <library name="urlfilter-regex.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+      <import plugin="lib-regex-filter"/>
+   </requires>
+
+   <extension id="org.apache.nutch.net.urlfilter.regex"
+              name="Nutch Regex URL Filter"
+              point="org.apache.nutch.net.URLFilter">
+      <implementation id="RegexURLFilter"
+                      class="org.apache.nutch.urlfilter.regex.RegexURLFilter"/>
+      <!-- by default, attribute "file" is undefined, to keep classic behavior.
+      <implementation id="RegexURLFilter"
+                      class="org.apache.nutch.net.RegexURLFilter">
+        <parameter name="file" value="urlfilter-regex.txt"/>
+      </implementation>
+      -->
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/urlfilter-suffix/plugin.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/urlfilter-suffix/plugin.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/urlfilter-suffix/plugin.xml	(revision 66)
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="urlfilter-suffix"
+   name="Suffix URL Filter"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+   <runtime>
+      <library name="urlfilter-suffix.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.net.urlfilter.suffix"
+              name="Nutch Suffix URL Filter"
+              point="org.apache.nutch.net.URLFilter">
+      <implementation id="SuffixURLFilter"
+                      class="org.apache.nutch.urlfilter.suffix.SuffixURLFilter"/>
+      <!-- by default, attribute "file" is undefined, to keep classic behavior.
+      <implementation id="SuffixURLFilter"
+                      class="org.apache.nutch.net.SuffixURLFilter">
+        <parameter name="file" value="urlfilter-suffix.txt"/>
+      </implementation>
+      -->
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/urlfilter-validator/plugin.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/urlfilter-validator/plugin.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/urlfilter-validator/plugin.xml	(revision 66)
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="urlfilter-validator"
+   name="URL Validator"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+   <runtime>
+      <library name="urlfilter-validator.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.net.urlfilter.validator"
+              name="Nutch URL Validatorr"
+              point="org.apache.nutch.net.URLFilter">
+      <implementation id="URLValidator"
+                      class="org.apache.nutch.urlfilter.validator.UrlValidator"/>
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/urlnormalizer-basic/plugin.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/urlnormalizer-basic/plugin.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/urlnormalizer-basic/plugin.xml	(revision 66)
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="urlnormalizer-basic"
+   name="Basic URL Normalizer"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+   <runtime>
+      <library name="urlnormalizer-basic.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.net.urlnormalizer.basic"
+              name="Nutch Basic URL Normalizer"
+              point="org.apache.nutch.net.URLNormalizer">
+      <implementation id="BasicURLNormalizer"
+                      class="org.apache.nutch.net.urlnormalizer.basic.BasicURLNormalizer"/>
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/urlnormalizer-pass/plugin.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/urlnormalizer-pass/plugin.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/urlnormalizer-pass/plugin.xml	(revision 66)
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="urlnormalizer-pass"
+   name="Pass-through URL Normalizer"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+   <runtime>
+      <library name="urlnormalizer-pass.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.net.urlnormalizer.pass"
+              name="Nutch Pass-through URL Normalizer"
+              point="org.apache.nutch.net.URLNormalizer">
+      <implementation id="PassURLNormalizer"
+                      class="org.apache.nutch.net.urlnormalizer.pass.PassURLNormalizer"/>
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/urlnormalizer-regex/plugin.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/urlnormalizer-regex/plugin.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/plugins/urlnormalizer-regex/plugin.xml	(revision 66)
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<plugin
+   id="urlnormalizer-regex"
+   name="Regex URL Normalizer"
+   version="1.0.0"
+   provider-name="nutch.org">
+
+   <runtime>
+      <library name="urlnormalizer-regex.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="nutch-extensionpoints"/>
+   </requires>
+
+   <extension id="org.apache.nutch.net.urlnormalizer.regex"
+              name="Nutch Regex URL Normalizer"
+              point="org.apache.nutch.net.URLNormalizer">
+      <implementation id="RegexURLNormalizer"
+                      class="org.apache.nutch.net.urlnormalizer.regex.RegexURLNormalizer"/>
+   </extension>
+
+</plugin>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/prefix-urlfilter.txt
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/prefix-urlfilter.txt	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/prefix-urlfilter.txt	(revision 66)
@@ -0,0 +1,21 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# config file for urlfilter-prefix plugin
+
+http://
+https://
+ftp://
+file://
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/regex-normalize.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/regex-normalize.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/regex-normalize.xml	(revision 66)
@@ -0,0 +1,66 @@
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!-- This is the configuration file for the RegexUrlNormalize Class.
+     This is intended so that users can specify substitutions to be
+     done on URLs. The regex engine that is used is Perl5 compatible.
+     The rules are applied to URLs in the order they occur in this file.  -->
+
+<!-- WATCH OUT: an xml parser reads this file an ampersands must be
+     expanded to &amp; -->
+
+<!-- The following rules show how to strip out session IDs, default pages, 
+     interpage anchors, etc. Order does matter!  -->
+<regex-normalize>
+
+<!-- removes session ids from urls (such as jsessionid and PHPSESSID) -->
+<regex>
+  <pattern>([;_]?((?i)l|j|bv_)?((?i)sid|phpsessid|sessionid)=.*?)(\?|&amp;|#|$)</pattern>
+  <substitution>$4</substitution>
+</regex>
+
+<!-- changes default pages into standard for /index.html, etc. into /
+<regex>
+  <pattern>/((?i)index|default)\.((?i)js[pf]{1}?[afx]?|cgi|cfm|asp[x]?|[psx]?htm[l]?|php[3456]?)(\?|&amp;|#|$)</pattern>
+  <substitution>/$3</substitution>
+</regex> -->
+
+<!-- removes interpage href anchors such as site.com#location -->
+<regex>
+  <pattern>#.*?(\?|&amp;|$)</pattern>
+  <substitution>$1</substitution>
+</regex>
+
+<!-- cleans ?&amp;var=value into ?var=value -->
+<regex>
+  <pattern>\?&amp;</pattern>
+  <substitution>\?</substitution>
+</regex>
+
+<!-- cleans multiple sequential ampersands into a single ampersand -->
+<regex>
+  <pattern>&amp;{2,}</pattern>
+  <substitution>&amp;</substitution>
+</regex>
+
+<!-- removes trailing ? -->
+<regex>
+  <pattern>[\?&amp;\.]$</pattern>
+  <substitution></substitution>
+</regex>
+
+</regex-normalize>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/regex-urlfilter.txt
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/regex-urlfilter.txt	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/regex-urlfilter.txt	(revision 66)
@@ -0,0 +1,38 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
+# The default url filter.
+# Better for whole-internet crawling.
+
+# Each non-comment, non-blank line contains a regular expression
+# prefixed by '+' or '-'.  The first matching pattern in the file
+# determines whether a URL is included or ignored.  If no pattern
+# matches, the URL is ignored.
+
+# skip file: ftp: and mailto: urls
+-^(file|ftp|mailto):
+
+# skip image and other suffixes we can't yet parse
+-\.(gif|GIF|jpg|JPG|png|PNG|ico|ICO|css|sit|eps|wmf|zip|ppt|mpg|xls|gz|rpm|tgz|mov|MOV|exe|jpeg|JPEG|bmp|BMP)$
+
+# skip URLs containing certain characters as probable queries, etc.
+-[?*!@=]
+
+# skip URLs with slash-delimited segment that repeats 3+ times, to break loops
+-.*(/[^/]+)/[^/]+\1/[^/]+\1/
+
+# accept anything else
++.
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/schema.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/schema.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/schema.xml	(revision 66)
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+    <!--
+        Licensed to the Apache Software Foundation (ASF) under one or
+        more contributor license agreements. See the NOTICE file
+        distributed with this work for additional information regarding
+        copyright ownership. The ASF licenses this file to You under the
+        Apache License, Version 2.0 (the "License"); you may not use
+        this file except in compliance with the License. You may obtain
+        a copy of the License at
+        http://www.apache.org/licenses/LICENSE-2.0 Unless required by
+        applicable law or agreed to in writing, software distributed
+        under the License is distributed on an "AS IS" BASIS, WITHOUT
+        WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+        See the License for the specific language governing permissions
+        and limitations under the License.
+    -->
+    <!--
+        Description: This document contains solr schema definition to be
+        used with solr integration currently build into Nutch. See
+        https://issues.apache.org/jira/browse/NUTCH-442
+        https://issues.apache.org/jira/browse/NUTCH-699 for more info.
+    -->
+<schema name="nutch" version="1.1">
+    <types>
+        <fieldType name="string" class="solr.StrField"
+            sortMissingLast="true" omitNorms="true"/>
+        <fieldType name="long" class="solr.LongField"
+            omitNorms="true"/>
+        <fieldType name="float" class="solr.FloatField"
+            omitNorms="true"/>
+        <fieldType name="text" class="solr.TextField"
+            positionIncrementGap="100">
+            <analyzer>
+                <tokenizer class="solr.WhitespaceTokenizerFactory"/>
+                <filter class="solr.StopFilterFactory"
+                    ignoreCase="true" words="stopwords.txt"/>
+                <filter class="solr.WordDelimiterFilterFactory"
+                    generateWordParts="1" generateNumberParts="1"
+                    catenateWords="1" catenateNumbers="1" catenateAll="0"
+                    splitOnCaseChange="1"/>
+                <filter class="solr.LowerCaseFilterFactory"/>
+                <filter class="solr.EnglishPorterFilterFactory"
+                    protected="protwords.txt"/>
+                <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
+            </analyzer>
+        </fieldType>
+        <fieldType name="url" class="solr.TextField"
+            positionIncrementGap="100">
+            <analyzer>
+                <tokenizer class="solr.StandardTokenizerFactory"/>
+                <filter class="solr.LowerCaseFilterFactory"/>
+                <filter class="solr.WordDelimiterFilterFactory"
+                    generateWordParts="1" generateNumberParts="1"/>
+                <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
+            </analyzer>
+        </fieldType>
+    </types>
+    <fields>
+        <field name="id" type="string" stored="true" indexed="true"/>
+
+        <!-- core fields -->
+        <field name="segment" type="string" stored="true" indexed="false"/>
+        <field name="digest" type="string" stored="true" indexed="false"/>
+        <field name="boost" type="float" stored="true" indexed="false"/>
+
+        <!-- fields for index-basic plugin -->
+        <field name="host" type="url" stored="false" indexed="true"/>
+        <field name="site" type="string" stored="false" indexed="true"/>
+        <field name="url" type="url" stored="true" indexed="true"
+            required="true"/>
+        <field name="content" type="text" stored="false" indexed="true"/>
+        <field name="title" type="text" stored="true" indexed="true"/>
+        <field name="cache" type="string" stored="true" indexed="false"/>
+        <field name="tstamp" type="long" stored="true" indexed="false"/>
+
+        <!-- fields for index-anchor plugin -->
+        <field name="anchor" type="string" stored="true" indexed="true"
+            multiValued="true"/>
+
+        <!-- fields for index-more plugin -->
+        <field name="type" type="string" stored="true" indexed="true"
+            multiValued="true"/>
+        <field name="contentLength" type="long" stored="true"
+            indexed="false"/>
+        <field name="lastModified" type="long" stored="true"
+            indexed="false"/>
+        <field name="date" type="string" stored="true" indexed="true"/>
+
+        <!-- fields for languageidentifier plugin -->
+        <field name="lang" type="string" stored="true" indexed="true"/>
+
+        <!-- fields for subcollection plugin -->
+        <field name="subcollection" type="string" stored="true"
+            indexed="true"/>
+
+        <!-- fields for feed plugin -->
+        <field name="author" type="string" stored="true" indexed="true"/>
+        <field name="tag" type="string" stored="true" indexed="true"/>
+        <field name="feed" type="string" stored="true" indexed="true"/>
+        <field name="publishedDate" type="string" stored="true"
+            indexed="true"/>
+        <field name="updatedDate" type="string" stored="true"
+            indexed="true"/>
+    </fields>
+    <uniqueKey>id</uniqueKey>
+    <defaultSearchField>content</defaultSearchField>
+    <solrQueryParser defaultOperator="OR"/>
+    <copyField source="url" dest="id"/>
+</schema>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/slaves
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/slaves	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/slaves	(revision 66)
@@ -0,0 +1,1 @@
+localhost
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/subcollections.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/subcollections.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/subcollections.xml	(revision 66)
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<subcollections>
+	<subcollection>
+		<name>nutch</name>
+		<id>nutch</id>
+		<whitelist>
+http://lucene.apache.org/nutch/
+http://wiki.apache.org/nutch/
+                </whitelist>
+		<blacklist />
+	</subcollection>
+</subcollections>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/suffix-urlfilter.txt
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/suffix-urlfilter.txt	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/suffix-urlfilter.txt	(revision 66)
@@ -0,0 +1,91 @@
+# config file for urlfilter-suffix plugin
+
+# case-insensitive, allow unknown suffixes
++I
+# uncomment the line below to filter on url path
+#+P
+
+### prohibit these
+# pictures
+.gif
+.jpg
+.jpeg
+.bmp
+.png
+.tif
+.tiff
+.ico
+.eps
+.ps
+.wmf
+.fpx
+.cur
+.ani
+.img
+.lwf
+.pcd
+.psp
+.psd
+.tga
+.xbm
+.xpm
+
+# web-formats
+.css
+
+# archives/packages
+.arj
+.arc
+.7z
+.cab
+.lzw
+.lha
+.lzh
+.zip
+.gz
+.tar
+.tgz
+.sit
+.rpm
+.deb
+.pkg
+
+# audio/video
+.mid
+.midi
+.rmi
+.mpeg
+.mpg
+.mpe
+.mp3
+.mp2
+.aac
+.mov
+.fla
+.flv
+.ra
+.ram
+.rm
+.rmv
+.wma
+.wmv
+.wav
+.wave
+.ogg
+.avi
+.au
+.snd
+
+# executables
+.exe
+.com
+
+# windows links
+.lnk
+
+# typo3-extensions
+.t3x
+
+# disc-images
+.iso
+.bin
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/tika-mimetypes.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/tika-mimetypes.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/classes/tika-mimetypes.xml	(revision 66)
@@ -0,0 +1,367 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+	Licensed to the Apache Software Foundation (ASF) under one or more
+	contributor license agreements.  See the NOTICE file distributed with
+	this work for additional information regarding copyright ownership.
+	The ASF licenses this file to You under the Apache License, Version 2.0
+	(the "License"); you may not use this file except in compliance with
+	the License.  You may obtain a copy of the License at
+	
+	http://www.apache.org/licenses/LICENSE-2.0
+	
+	Unless required by applicable law or agreed to in writing, software
+	distributed under the License is distributed on an "AS IS" BASIS,
+	WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+	See the License for the specific language governing permissions and
+	limitations under the License.
+	
+	Description: This xml file defines the valid mime types used by Tika.
+	The mime types within this file are based on the types in the mime-types.xml 
+	file available in Apache Nutch.
+-->
+
+<mime-info>
+
+	<mime-type type="text/plain">
+		<magic priority="50">
+			<match value="This is TeX," type="string" offset="0" />
+			<match value="This is METAFONT," type="string" offset="0" />
+		</magic>
+		<glob pattern="*.txt" />
+		<glob pattern="*.asc" />
+	</mime-type>
+
+	<mime-type type="text/html">
+		<magic priority="50">
+			<match value="&lt;!DOCTYPE HTML" type="string"
+				offset="0:64" />
+			<match value="&lt;!doctype html" type="string"
+				offset="0:64" />
+			<match value="&lt;HEAD" type="string" offset="0:64" />
+			<match value="&lt;head" type="string" offset="0:64" />
+			<match value="&lt;TITLE" type="string" offset="0:64" />
+			<match value="&lt;title" type="string" offset="0:64" />
+			<match value="&lt;html" type="string" offset="0:64" />
+			<match value="&lt;HTML" type="string" offset="0:64" />
+			<match value="&lt;BODY" type="string" offset="0" />
+			<match value="&lt;body" type="string" offset="0" />
+			<match value="&lt;TITLE" type="string" offset="0" />
+			<match value="&lt;title" type="string" offset="0" />
+			<match value="&lt;!--" type="string" offset="0" />
+			<match value="&lt;h1" type="string" offset="0" />
+			<match value="&lt;H1" type="string" offset="0" />
+			<match value="&lt;!doctype HTML" type="string" offset="0" />
+			<match value="&lt;!DOCTYPE html" type="string" offset="0" />
+		</magic>
+		<glob pattern="*.html" />
+		<glob pattern="*.htm" />
+	</mime-type>
+
+	<mime-type type="application/xhtml+xml">
+		<glob pattern="*.xhtml" />
+		<root-XML namespaceURI='http://www.w3.org/1999/xhtml'
+			localName='html' />
+	</mime-type>
+
+	<mime-type type="application/vnd.ms-powerpoint">
+		<glob pattern="*.ppz" />
+		<glob pattern="*.ppt" />
+		<glob pattern="*.pps" />
+		<glob pattern="*.pot" />
+		<magic priority="50">
+			<match value="0xcfd0e011" type="little32" offset="0" />
+		</magic>
+	</mime-type>
+
+	<mime-type type="application/vnd.ms-excel">
+		<magic priority="50">
+			<match value="Microsoft Excel 5.0 Worksheet" type="string"
+				offset="2080" />
+		</magic>
+		<glob pattern="*.xls" />
+		<glob pattern="*.xlc" />
+		<glob pattern="*.xll" />
+		<glob pattern="*.xlm" />
+		<glob pattern="*.xlw" />
+		<glob pattern="*.xla" />
+		<glob pattern="*.xlt" />
+		<glob pattern="*.xld" />
+		<alias type="application/msexcel" />
+	</mime-type>
+
+	<mime-type type="application/vnd.oasis.opendocument.text">
+		<glob pattern="*.odt" />
+	</mime-type>
+
+
+	<mime-type type="application/zip">
+		<alias type="application/x-zip-compressed" />
+		<magic priority="40">
+			<match value="PK\003\004" type="string" offset="0" />
+		</magic>
+		<glob pattern="*.zip" />
+	</mime-type>
+
+	<mime-type type="application/vnd.oasis.opendocument.text">
+		<glob pattern="*.oth" />
+	</mime-type>
+
+	<mime-type type="application/msword">
+		<magic priority="50">
+			<match value="\x31\xbe\x00\x00" type="string" offset="0" />
+			<match value="PO^Q`" type="string" offset="0" />
+			<match value="\376\067\0\043" type="string" offset="0" />
+			<match value="\333\245-\0\0\0" type="string" offset="0" />
+			<match value="Microsoft Word 6.0 Document" type="string"
+				offset="2080" />
+			<match value="Microsoft Word document data" type="string"
+				offset="2112" />
+		</magic>
+		<glob pattern="*.doc" />
+		<alias type="application/vnd.ms-word" />
+	</mime-type>
+
+	<mime-type type="application/octet-stream">
+		<magic priority="50">
+			<match value="\037\036" type="string" offset="0" />
+			<match value="017437" type="host16" offset="0" />
+			<match value="0x1fff" type="host16" offset="0" />
+			<match value="\377\037" type="string" offset="0" />
+			<match value="0145405" type="host16" offset="0" />
+		</magic>
+		<glob pattern="*.bin" />
+	</mime-type>
+
+	<mime-type type="application/pdf">
+		<magic priority="50">
+			<match value="%PDF-" type="string" offset="0" />
+		</magic>
+		<glob pattern="*.pdf" />
+		<alias type="application/x-pdf" />
+	</mime-type>
+
+	<mime-type type="application/atom+xml">
+		<root-XML localName="feed"
+			namespaceURI="http://purl.org/atom/ns#" />
+	</mime-type>
+
+	<mime-type type="application/mac-binhex40">
+		<glob pattern="*.hqx" />
+	</mime-type>
+
+	<mime-type type="application/mac-compactpro">
+		<glob pattern="*.cpt" />
+	</mime-type>
+
+	<mime-type type="application/rtf">
+	    <glob pattern="*.rtf"/>
+		<alias type="text/rtf" />
+	</mime-type>
+
+	<mime-type type="application/rss+xml">
+		<alias type="text/rss" />
+		<root-XML localName="rss" />
+		<root-XML namespaceURI="http://purl.org/rss/1.0/" />
+		<glob pattern="*.rss" />
+	</mime-type>
+
+	<!--  added in by mattmann -->
+	<mime-type type="application/xml">
+		<alias type="text/xml" />
+		<glob pattern="*.xml" />
+	</mime-type>
+
+	<mime-type type="application/x-mif">
+		<alias type="application/vnd.mif" />
+	</mime-type>
+
+	<mime-type type="application/vnd.wap.wbxml">
+		<glob pattern="*.wbxml" />
+	</mime-type>
+
+	<mime-type type="application/vnd.wap.wmlc">
+		<_comment>Compiled WML Document</_comment>
+		<glob pattern="*.wmlc" />
+	</mime-type>
+
+	<mime-type type="application/vnd.wap.wmlscriptc">
+		<_comment>Compiled WML Script</_comment>
+		<glob pattern="*.wmlsc" />
+	</mime-type>
+
+	<mime-type type="text/vnd.wap.wmlscript">
+		<_comment>WML Script</_comment>
+		<glob pattern="*.wmls" />
+	</mime-type>
+
+	<mime-type type="application/x-bzip">
+		<alias type="application/x-bzip2" />
+	</mime-type>
+
+	<mime-type type="application/x-bzip-compressed-tar">
+		<glob pattern="*.tbz" />
+		<glob pattern="*.tbz2" />
+	</mime-type>
+
+	<mime-type type="application/x-cdlink">
+		<_comment>Virtual CD-ROM CD Image File</_comment>
+		<glob pattern="*.vcd" />
+	</mime-type>
+
+	<mime-type type="application/x-director">
+		<_comment>Shockwave Movie</_comment>
+		<glob pattern="*.dcr" />
+		<glob pattern="*.dir" />
+		<glob pattern="*.dxr" />
+	</mime-type>
+
+	<mime-type type="application/x-futuresplash">
+		<_comment>Macromedia FutureSplash File</_comment>
+		<glob pattern="*.spl" />
+	</mime-type>
+
+	<mime-type type="application/x-java">
+		<alias type="application/java" />
+	</mime-type>
+
+	<mime-type type="application/x-koan">
+		<_comment>SSEYO Koan File</_comment>
+		<glob pattern="*.skp" />
+		<glob pattern="*.skd" />
+		<glob pattern="*.skt" />
+		<glob pattern="*.skm" />
+	</mime-type>
+
+	<mime-type type="application/x-latex">
+		<_comment>LaTeX Source Document</_comment>
+		<glob pattern="*.latex" />
+	</mime-type>
+
+	<!-- JC CHANGED
+		<mime-type type="application/x-mif">
+		<_comment>FrameMaker MIF document</_comment>
+		<glob pattern="*.mif"/>
+		</mime-type> -->
+
+	<mime-type type="application/x-ms-dos-executable">
+		<alias type="application/x-dosexec" />
+	</mime-type>
+
+	<mime-type type="application/ogg">
+		<alias type="application/x-ogg" />
+	</mime-type>
+
+	<mime-type type="application/x-rar">
+		<alias type="application/x-rar-compressed" />
+	</mime-type>
+
+	<mime-type type="application/x-shellscript">
+		<alias type="application/x-sh" />
+	</mime-type>
+
+	<mime-type type="application/xhtml+xml">
+		<glob pattern="*.xht" />
+	</mime-type>
+
+	<mime-type type="audio/midi">
+		<glob pattern="*.kar" />
+	</mime-type>
+
+	<mime-type type="audio/x-pn-realaudio">
+		<alias type="audio/x-realaudio" />
+	</mime-type>
+
+	<mime-type type="image/tiff">
+		<magic priority="50">
+			<match value="0x4d4d2a00" type="string" offset="0" />
+			<match value="0x49492a00" type="string" offset="0" />
+		</magic>
+	</mime-type>
+
+	<mime-type type="message/rfc822">
+		<magic priority="50">
+			<match type="string" value="Relay-Version:" offset="0" />
+			<match type="string" value="#! rnews" offset="0" />
+			<match type="string" value="N#! rnews" offset="0" />
+			<match type="string" value="Forward to" offset="0" />
+			<match type="string" value="Pipe to" offset="0" />
+			<match type="string" value="Return-Path:" offset="0" />
+			<match type="string" value="From:" offset="0" />
+			<match type="string" value="Message-ID:" offset="0" />
+			<match type="string" value="Date:" offset="0" />
+		</magic>
+	</mime-type>
+	
+	<mime-type type="application/x-javascript">
+        <glob pattern="*.js" />
+    </mime-type>
+    
+
+	<mime-type type="image/vnd.wap.wbmp">
+		<_comment>Wireless Bitmap File Format</_comment>
+		<glob pattern="*.wbmp" />
+	</mime-type>
+
+	<mime-type type="image/x-psd">
+		<alias type="image/photoshop" />
+	</mime-type>
+
+	<mime-type type="image/x-xcf">
+		<alias type="image/xcf" />
+		<magic priority="50">
+			<match type="string" value="gimp xcf " offset="0" />
+		</magic>
+	</mime-type>
+	
+	<mime-type type="application/x-shockwave-flash">
+      <glob pattern="*.swf"/>
+      <magic priority="50">
+        <match type="string" value="FWS" offset="0"/>
+        <match type="string" value="CWS" offset="0"/>
+      </magic>
+    </mime-type>
+
+	<mime-type type="model/iges">
+		<_comment>
+			Initial Graphics Exchange Specification Format
+		</_comment>
+		<glob pattern="*.igs" />
+		<glob pattern="*.iges" />
+	</mime-type>
+
+	<mime-type type="model/mesh">
+		<glob pattern="*.msh" />
+		<glob pattern="*.mesh" />
+		<glob pattern="*.silo" />
+	</mime-type>
+
+	<mime-type type="model/vrml">
+		<glob pattern="*.vrml" />
+	</mime-type>
+
+	<mime-type type="text/x-tcl">
+		<alias type="application/x-tcl" />
+	</mime-type>
+
+	<mime-type type="text/x-tex">
+		<alias type="application/x-tex" />
+	</mime-type>
+
+	<mime-type type="text/x-texinfo">
+		<alias type="application/x-texinfo" />
+	</mime-type>
+
+	<mime-type type="text/x-troff-me">
+		<alias type="application/x-troff-me" />
+	</mime-type>
+
+	<mime-type type="video/vnd.mpegurl">
+		<glob pattern="*.mxu" />
+	</mime-type>
+
+	<mime-type type="x-conference/x-cooltalk">
+		<_comment>Cooltalk Audio</_comment>
+		<glob pattern="*.ice" />
+	</mime-type>
+
+</mime-info>
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/taglibs-i18n.tld
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/taglibs-i18n.tld	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/taglibs-i18n.tld	(revision 66)
@@ -0,0 +1,406 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+
+
+
+
+
+<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
+<taglib>
+  <tlibversion>1.0</tlibversion>
+  <jspversion>1.1</jspversion>
+  <shortname>i18n</shortname>
+  <uri>http://jakarta.apache.org/taglibs/i18n-1.0</uri>
+  <info>
+The i18n custom tag library contains tags that help manage the complexity of creating internationalized web applications. These tags provide similar (though not identical) functionality to the internationalization available in the struts framework, but do not require adopting the entire struts framework.
+
+"i18n" is a common abbreviation for internationalization, because there are 18
+letters between the first "i" and the last "n".
+
+For more information on internationalization with Java, the java.sun.com site
+contains a good 
+tutorial written by Dale Green.
+</info>
+  <tag>
+    <name>bundle</name>
+    <tagclass>org.apache.taglibs.i18n.BundleTag</tagclass>
+    <teiclass>org.apache.taglibs.i18n.BundleTEI</teiclass>
+    <bodycontent>JSP</bodycontent>
+    <attribute>
+      <name>id</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>baseName</name>
+      <required>true</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>changeResponseLocale</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>scope</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>locale</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>localeAttribute</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>localeRef</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>debug</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+  </tag>
+  <tag>
+    <name>message</name>
+    <tagclass>org.apache.taglibs.i18n.MessageTag</tagclass>
+    <teiclass>org.apache.taglibs.i18n.MessageTEI</teiclass>
+    <bodycontent>JSP</bodycontent>
+    <attribute>
+      <name>id</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>key</name>
+      <required>true</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>args</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>bundle</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>bundleRef</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>debug</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+  </tag>
+  <tag>
+    <name>messageArg</name>
+    <tagclass>org.apache.taglibs.i18n.MessageArgumentTag</tagclass>
+    <bodycontent>empty</bodycontent>
+    <attribute>
+      <name>value</name>
+      <required>true</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+  </tag>
+  <tag>
+    <name>ifdef</name>
+    <tagclass>org.apache.taglibs.i18n.IfdefTag</tagclass>
+    <bodycontent>JSP</bodycontent>
+    <attribute>
+      <name>key</name>
+      <required>true</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>bundle</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>bundleRef</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+  </tag>
+  <tag>
+    <name>ifndef</name>
+    <tagclass>org.apache.taglibs.i18n.IfndefTag</tagclass>
+    <bodycontent>JSP</bodycontent>
+    <attribute>
+      <name>key</name>
+      <required>true</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>bundle</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>bundleRef</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+  </tag>
+  <tag>
+    <name>locale</name>
+    <tagclass>org.apache.taglibs.i18n.LocaleTag</tagclass>
+    <teiclass>org.apache.taglibs.i18n.LocaleTEI</teiclass>
+    <bodycontent>JSP</bodycontent>
+    <attribute>
+      <name>id</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>locale</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>localeRef</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>language</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>country</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>variant</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+  </tag>
+  <tag>
+    <name>formatString</name>
+    <tagclass>org.apache.taglibs.i18n.FormatStringTag</tagclass>
+    <teiclass>org.apache.taglibs.i18n.FormatStringTEI</teiclass>
+    <bodycontent>JSP</bodycontent>
+    <attribute>
+      <name>id</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>value</name>
+      <required>true</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>defaultText</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+  </tag>
+  <tag>
+    <name>formatNumber</name>
+    <tagclass>org.apache.taglibs.i18n.FormatNumberTag</tagclass>
+    <teiclass>org.apache.taglibs.i18n.FormatNumberTEI</teiclass>
+    <bodycontent>JSP</bodycontent>
+    <attribute>
+      <name>id</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>value</name>
+      <required>true</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>pattern</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>locale</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>defaultText</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+  </tag>
+  <tag>
+    <name>formatCurrency</name>
+    <tagclass>org.apache.taglibs.i18n.FormatCurrencyTag</tagclass>
+    <teiclass>org.apache.taglibs.i18n.FormatCurrencyTEI</teiclass>
+    <bodycontent>JSP</bodycontent>
+    <attribute>
+      <name>id</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>value</name>
+      <required>true</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>locale</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>defaultText</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+  </tag>
+  <tag>
+    <name>formatPercent</name>
+    <tagclass>org.apache.taglibs.i18n.FormatPercentTag</tagclass>
+    <teiclass>org.apache.taglibs.i18n.FormatPercentTEI</teiclass>
+    <bodycontent>JSP</bodycontent>
+    <attribute>
+      <name>id</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>value</name>
+      <required>true</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>locale</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>defaultText</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+  </tag>
+  <tag>
+    <name>formatDateTime</name>
+    <tagclass>org.apache.taglibs.i18n.FormatDateTimeTag</tagclass>
+    <teiclass>org.apache.taglibs.i18n.FormatDateTimeTEI</teiclass>
+    <bodycontent>JSP</bodycontent>
+    <attribute>
+      <name>id</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>value</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>locale</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>dateStyle</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>timeStyle</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>defaultText</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+  </tag>
+  <tag>
+    <name>formatDate</name>
+    <tagclass>org.apache.taglibs.i18n.FormatDateTag</tagclass>
+    <teiclass>org.apache.taglibs.i18n.FormatDateTEI</teiclass>
+    <bodycontent>JSP</bodycontent>
+    <attribute>
+      <name>id</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>value</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>locale</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>pattern</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>style</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>defaultText</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+  </tag>
+  <tag>
+    <name>formatTime</name>
+    <tagclass>org.apache.taglibs.i18n.FormatTimeTag</tagclass>
+    <teiclass>org.apache.taglibs.i18n.FormatTimeTEI</teiclass>
+    <bodycontent>JSP</bodycontent>
+    <attribute>
+      <name>id</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>value</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>locale</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>style</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>defaultText</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+  </tag>
+</taglib>
+
+
+
+
+
+
+
Index: /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/web.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/web.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/WEB-INF/web.xml	(revision 66)
@@ -0,0 +1,70 @@
+<?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">
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<web-app>
+
+<!-- order is very important here -->
+
+<listener>
+  <listener-class>org.apache.nutch.searcher.NutchBean$NutchBeanConstructor</listener-class>
+</listener>
+
+<servlet>
+  <servlet-name>Cached</servlet-name>
+  <servlet-class>org.apache.nutch.servlet.Cached</servlet-class>
+</servlet>
+
+<servlet>
+  <servlet-name>OpenSearch</servlet-name>
+  <servlet-class>org.apache.nutch.searcher.OpenSearchServlet</servlet-class>
+</servlet>
+
+<servlet>
+  <servlet-name>SearchServlet</servlet-name>
+  <servlet-class>org.apache.nutch.searcher.response.SearchServlet</servlet-class>
+</servlet>
+
+<servlet-mapping>
+  <servlet-name>Cached</servlet-name>
+  <url-pattern>/servlet/cached</url-pattern>
+</servlet-mapping>
+
+<servlet-mapping>
+  <servlet-name>OpenSearch</servlet-name>
+  <url-pattern>/opensearch</url-pattern>
+</servlet-mapping>
+
+<servlet-mapping>
+  <servlet-name>SearchServlet</servlet-name>
+  <url-pattern>/search</url-pattern>
+</servlet-mapping>
+
+<welcome-file-list>
+  <welcome-file>search.html</welcome-file>
+  <welcome-file>index.html</welcome-file>
+  <welcome-file>index.jsp</welcome-file>
+</welcome-file-list>
+
+<taglib>
+  <taglib-uri>http://jakarta.apache.org/taglibs/i18n</taglib-uri>
+  <taglib-location>/WEB-INF/taglibs-i18n.tld</taglib-location>
+ </taglib>
+
+</web-app>
Index: /nutchez-0.1/tomcat/webapps/ROOT/anchors.jsp
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/anchors.jsp	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/anchors.jsp	(revision 66)
@@ -0,0 +1,86 @@
+<%--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+--%>
+<%@ page 
+  session="false"
+  contentType="text/html; charset=UTF-8"
+  pageEncoding="UTF-8"
+
+  import="java.io.*"
+  import="java.util.*"
+
+  import="org.apache.nutch.html.Entities"
+  import="org.apache.nutch.searcher.*"
+  import="org.apache.hadoop.conf.Configuration"
+  import="org.apache.nutch.util.NutchConfiguration"
+%><%
+  Configuration nutchConf = NutchConfiguration.get(application);
+  NutchBean bean = NutchBean.get(application, nutchConf);
+  // set the character encoding to use when interpreting request values 
+  request.setCharacterEncoding("UTF-8");
+  bean.LOG.info("anchors request from " + request.getRemoteAddr());
+  Hit hit = new Hit(Integer.parseInt(request.getParameter("idx")),
+                    request.getParameter("id"));
+  HitDetails details = bean.getDetails(hit);
+  String language =
+    ResourceBundle.getBundle("org.nutch.jsp.anchors", request.getLocale())
+    .getLocale().getLanguage();
+  String requestURI = HttpUtils.getRequestURL(request).toString();
+  String base = requestURI.substring(0, requestURI.lastIndexOf('/'));
+%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<%
+  // To prevent the character encoding declared with 'contentType' page
+  // directive from being overriden by JSTL (apache i18n), we freeze it
+  // by flushing the output buffer. 
+  // see http://java.sun.com/developer/technicalArticles/Intl/MultilingualJSP/
+  out.flush();
+%>
+<%@ taglib uri="http://jakarta.apache.org/taglibs/i18n" prefix="i18n" %>
+<i18n:bundle baseName="org.nutch.jsp.anchors"/>
+<html lang="<%= language %>">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<head>
+<title>Nutch: <i18n:message key="title"/></title>
+<jsp:include page="/include/style.html"/>
+<base href="<%= base + "/" + language + "/" %>">
+</head>
+
+<body>
+
+<jsp:include page="<%= language + \"/include/header.html\"%>"/>
+
+<h3>
+<i18n:message key="page">
+  <i18n:messageArg value="<%=details.getValue(\"url\")%>"/>
+</i18n:message>
+</h3>
+
+<h3><i18n:message key="anchors"/></h3>
+
+<ul>
+<%
+  String[] anchors = bean.getAnchors(details);
+  if (anchors != null) {
+    for (int i = 0; i < anchors.length; i++) {
+%><li><%=Entities.encode(anchors[i])%>
+<%   } %>
+<% } %>
+</ul>
+     
+<jsp:include page="/include/footer.html"/>
+
+</body>     
+</html>
Index: /nutchez-0.1/tomcat/webapps/ROOT/ca/about.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/ca/about.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/ca/about.html	(revision 66)
@@ -0,0 +1,220 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><!--This page is automatically generated.  Do not edit!-->
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Nutch: Quan a</title>
+<style type="text/css">
+
+.menuTd {
+  background-color: #F9F7F4;
+  height: 25px;
+}
+
+.menuTdhover {
+  background-color: #ECE5DC;
+  height: 25px;
+}
+
+.menuEntry {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.body {
+  background-color: #F9F7F4;
+}
+
+.bodytext {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.title {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 26px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.intro {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.orangeTd {
+  background-color: #FF9900
+}
+
+ul {
+  list-style-image: url(../img/reiter/ul.gif)
+}
+
+h3 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 16px;
+  color: #000000;
+}
+
+h4 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 14px;
+  color: #000000;
+}
+
+.url {
+  color: #996600;
+}
+
+.highlight {
+  font-weight: bold;
+}
+
+.ellipsis {
+  font-weight: bold;
+}
+
+</style>
+<link rel="icon" href="../img/favicon.ico" type="image/x-icon">
+<link rel="shortcut icon" href="../img/favicon.ico" type="image/x-icon">
+<script type="text/javascript">
+<!--
+function queryfocus() {
+  search = document.search;
+  if (search != null) { search.query.focus(); }
+}
+// --></script>
+</head>
+<body onLoad="queryfocus();">
+<!--This file is automatically generated.  Do not edit!-->
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td valign="bottom" width="140" rowspan="2"><a href="./"><img src="../img/reiter/logo_nutch.gif" border="0"></a><img src="../img/reiter/spacer_666666.gif" width="140" height="1"></td>
+</tr>
+<tr>
+<td width="495" valign="bottom" align="right">
+<table border="0" cellpadding="0" cellspacing="0" width="495">
+<tr>
+<td background="../img/reiter/_bg_reiter.gif" width="400">&nbsp;</td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le1.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="about.html">Quan a</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="http://wiki.apache.org/nutch/FAQ">FAQ</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr valign="top">
+<td width="140">
+<table width="100%" cellpadding="0" cellspacing="0">
+<tr class="menuTd" height="25">
+<td class="menuTd" onmouseover="this.className='menuTdhover';" onmouseout="this.className='menuTd'" width="100%">&#160;:: <a href="http://lucene.apache.org/nutch/credits.html" class="menuEntry">Credits</a></td>
+</tr>
+<tr height="1px">
+<td><img src="../img/reiter/spacer_666666.gif" height="1" width="100%"></td>
+</tr>
+<tr class="menuTd" height="25">
+<td class="menuTd" onmouseover="this.className='menuTdhover';" onmouseout="this.className='menuTd'" width="100%">&#160;:: <a href="http://lucene.apache.org/nutch/index.html" class="menuEntry">Status</a></td>
+</tr>
+<tr height="1px">
+<td><img src="../img/reiter/spacer_666666.gif" height="1" width="100%"></td>
+</tr>
+<tr>
+<td>&#160;</td>
+</tr>
+</table>
+</td><td width="20" background="../img/reiter/_spacer_cccccc.gif">&#160;</td><td width="475" class="body">
+<table width="475" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td class="title" height="125" width="275" valign="bottom">Quan a</td><td height="125" width="200" valign="bottom"><img src="../img/reiter/robots.gif"></td>
+</tr>
+</table>
+<br class="br">
+<span class="bodytext">
+
+</span><span class="intro">
+<p>Nutch &eacute;s un nou projecte per implementar un cercador Web amb codi obert.</p>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>La cerca al Web &eacute;s un requeriment b&agrave;sic per la navegaci&oacute; a Internet, malgrat aquest fet, el nombre de cercadors disminueix dia a dia. L'oligopoli actual es pot convertir, aviat, en un monopoli amb una &uacute;nica companyia controlant gariab&eacute; totes les cerques que es facin al Web pels seus interessos comercials.</p>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>Nutch proporciona una alternativa transparent als motors de cerca comercials. Nom&eacute;s els resultats de cerca obtinguts a partir d'un sistema fet amb codi obert es poden considerar realment fiables i no esbiaxats. Tots els grans cercadors comercials tenen f&oacute;rmules de r&agrave;nquing propiet&agrave;ries, i no explicaran mai perqu&egrave; una p&agrave;gina en particular surt en una determinada posici&oacute; del r&agrave;nquing. A m&eacute;s, alguns cercadors determinien quins llocs Web indexar en funci&oacute; de pagaments i no pas en funci&oacute; dels m&egrave;rits intr&iacute;nsecs del lloc Web. Nutch, per la seva banda, no t&eacute; res a amagar ni cap motiu per prioritzar esbiaxadament els seus resultats o el seu crawler, i nom&eacute;s busca proporcionar a cada usuari els millors resultats de cerca possibles.</p>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>L'objectiu de Nutch &eacute;s permetre a qualsevol persona muntar un cercador Web de primera classe de forma barata i efectiva. Per aconseguir-ho, el programari Nutch ha de capa&ccedil; de:</p>
+</span><span class="bodytext">
+</span><span class="bodytext">
+<ul>
+	
+<li>Recollir diversos milers de mil&middot;lions de p&agrave;gines Web mensualment.</li>
+	
+<li>Mantenir un &iacute;ndex d'aquestes p&agrave;gines.</li>
+	
+<li>Cercar en aquest &iacute;ndex fins a 1000 vegades per segon.</li>
+	
+<li>Proporcionar resultats de cerca d'alta qualitat.</li>
+	
+<li>Operar amb un cost m&iacute;nim.</li>
+
+</ul>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>Aquesta proposta &eacute;s sens dubte, un repte. Si creus en els m&egrave;rits d'aquest projecte, si us plau, ajuda-n's, tant com a <a href="http://www.apache.org/dev/">desenvolupador</a> o amb una <a href="http://www.apache.org/foundation/contributing.html">donaci&oacute;</a>
+.</p>
+</span><span class="bodytext">
+
+</span>
+<br class="br">
+<br class="br">
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+  
+<tr>
+    
+<td width="140">&nbsp;</td>
+    <td width="20">&nbsp;</td>
+    <td width="475" align="center">
+    <span class="bodytext">
+    
+<br>
+      
+<a href="../ca/">ca</a> |
+      <a href="../de/">de</a> |
+      <a href="../en/">en</a> |
+      <a href="../es/">es</a> |
+      <a href="../fi/">fi</a> |
+      <a href="../fr/">fr</a> |
+      <a href="../hu/">hu</a> |
+      <a href="../it/">it</a> |
+      <a href="../jp/">jp</a> |
+      <a href="../ms/">ms</a> |
+      <a href="../nl/">nl</a> |
+      <a href="../pl/">pl</a> |
+      <a href="../pt/">pt</a> |
+      <a href="../sh/">sh</a> |
+      <a href="../sr/">sr</a> |
+      <a href="../sv/">sv</a> |
+      <a href="../th/">th</a> |
+      <a href="../zh/">zh</a>
+    </span>
+    </td>
+  
+</tr>
+  
+<tr>
+  
+</tr>
+
+</table>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/ROOT/ca/help.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/ca/help.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/ca/help.html	(revision 66)
@@ -0,0 +1,212 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><!--This page is automatically generated.  Do not edit!-->
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Nutch: Ajuda per la cerca</title>
+<style type="text/css">
+
+.menuTd {
+  background-color: #F9F7F4;
+  height: 25px;
+}
+
+.menuTdhover {
+  background-color: #ECE5DC;
+  height: 25px;
+}
+
+.menuEntry {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.body {
+  background-color: #F9F7F4;
+}
+
+.bodytext {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.title {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 26px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.intro {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.orangeTd {
+  background-color: #FF9900
+}
+
+ul {
+  list-style-image: url(../img/reiter/ul.gif)
+}
+
+h3 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 16px;
+  color: #000000;
+}
+
+h4 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 14px;
+  color: #000000;
+}
+
+.url {
+  color: #996600;
+}
+
+.highlight {
+  font-weight: bold;
+}
+
+.ellipsis {
+  font-weight: bold;
+}
+
+</style>
+<link rel="icon" href="../img/favicon.ico" type="image/x-icon">
+<link rel="shortcut icon" href="../img/favicon.ico" type="image/x-icon">
+<script type="text/javascript">
+<!--
+function queryfocus() {
+  search = document.search;
+  if (search != null) { search.query.focus(); }
+}
+// --></script>
+</head>
+<body onLoad="queryfocus();">
+<!--This file is automatically generated.  Do not edit!-->
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td valign="bottom" width="140" rowspan="2"><a href="./"><img src="../img/reiter/logo_nutch.gif" border="0"></a><img src="../img/reiter/spacer_666666.gif" width="140" height="1"></td>
+</tr>
+<tr>
+<td width="495" valign="bottom" align="right">
+<table border="0" cellpadding="0" cellspacing="0" width="495">
+<tr>
+<td background="../img/reiter/_bg_reiter.gif" width="400">&nbsp;</td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le1.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="about.html">Quan a</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="http://wiki.apache.org/nutch/FAQ">FAQ</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr valign="top">
+<td width="140">
+<table width="100%" cellpadding="0" cellspacing="0">
+<tr>
+<td>&#160;</td>
+</tr>
+</table>
+</td><td width="20" background="../img/reiter/_spacer_cccccc.gif">&#160;</td><td width="475" class="body">
+<table width="475" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td class="title" height="125" width="275" valign="bottom">Ajuda per la cerca</td><td height="125" width="200" valign="bottom"><img src="../img/reiter/robots.gif"></td>
+</tr>
+</table>
+<br class="br">
+<span class="bodytext">
+
+	</span><span class="bodytext">
+<h3>Consultes</h3>
+</span><span class="bodytext">
+	
+	Per cercar amb Nutch, simplement escriu algunes paraules.
+</span><span class="bodytext">
+<ul>
+	
+<li>Els resultats nom&eacute;s inclouen p&agrave;gines que contenen <span style="font-style: italic;">totes</span> les paraules de la consulta.</li>
+  
+<li>Fes servir cometes per indicar les paraules que han d'apar&egrave;ixer, for&ccedil;osament, una al costat de l'altra, com una frase,
+p.e., <span style="font-weight: bold;">"pilar de sis"</span>.</li>
+  
+<li>La puntuaci&oacute; entre paraules tamb&eacute; provoca que es cerqui com una frase. Aix&iacute;, cercar <span style="font-weight: bold;">http://www.apache.org/</span> &eacute;s el mateix que cercar <span style="font-weight: bold;">"http www
+apache org"</span>.</li>
+  
+<li>Les cerques no diferencien entre min&uacute;scules i maj&uacute;scules, d'aquesta manera, cercar <span style="font-weight: bold;">NuTcH</span> &eacute;s el mateix que cercar <span style="font-weight: bold;">nUtCh</span>.</li>
+  
+<li>Es pot prohibir una paraula de les p&agrave;gines que resulten de la cerca posant un signe menys davant seu, p.e., cercar <span style="font-weight: bold;">futbol -lliga</span> buscar&aacute; p&agrave;gines que parlin de futbol per&ograve; que no emprin la paraula "lliga".</li>
+  
+<li>Aix&ograve; &eacute;s tot!</li>
+
+</ul>
+</span><span class="bodytext">
+</span><span class="bodytext">
+<h3>Resultats</h3>
+</span><span class="bodytext">
+Cada plana coincident resultat de la cerca t&eacute; els seg&uuml;ents enlla&ccedil;os:
+</span><span class="bodytext">
+<ul>
+	
+<li>(<span style="color: rgb(51, 51, 255);">en mem&ograve;ria</span>) mostra la versi&oacute; de la plana que s'ha baixat Nutch.</li>
+	
+<li>(<span style="color: rgb(51, 51, 255);">explicaci&oacute;</span>) mostra una explicaci&oacute; de com s'ha puntuat aquesta plana</li>
+  
+<li>(<span style="color: rgb(51, 51, 255);">&agrave;ncores</span>) mostra la llista d'enlla&ccedil;os d'entrada indexats per aquesta p&agrave;gina.</li>
+
+</ul>
+</span><span class="bodytext">
+
+</span>
+<br class="br">
+<br class="br">
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+  
+<tr>
+    
+<td width="140">&nbsp;</td>
+    <td width="20">&nbsp;</td>
+    <td width="475" align="center">
+    <span class="bodytext">
+    
+<br>
+      
+<a href="../ca/">ca</a> |
+      <a href="../de/">de</a> |
+      <a href="../en/">en</a> |
+      <a href="../es/">es</a> |
+      <a href="../fi/">fi</a> |
+      <a href="../fr/">fr</a> |
+      <a href="../hu/">hu</a> |
+      <a href="../it/">it</a> |
+      <a href="../jp/">jp</a> |
+      <a href="../ms/">ms</a> |
+      <a href="../nl/">nl</a> |
+      <a href="../pl/">pl</a> |
+      <a href="../pt/">pt</a> |
+      <a href="../sh/">sh</a> |
+      <a href="../sr/">sr</a> |
+      <a href="../sv/">sv</a> |
+      <a href="../th/">th</a> |
+      <a href="../zh/">zh</a>
+    </span>
+    </td>
+  
+</tr>
+  
+<tr>
+  
+</tr>
+
+</table>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/ROOT/ca/include/header.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/ca/include/header.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/ca/include/header.html	(revision 66)
@@ -0,0 +1,1 @@
+<?xml version="1.0" encoding="UTF-8"?><!--This file is automatically generated.  Do not edit!--><table cellspacing="0" cellpadding="0" border="0" width="635"><tr><td rowspan="2" width="140" valign="bottom"><a href="./"><img border="0" src="../img/reiter/logo_nutch.gif"/></a><img height="1" width="140" src="../img/reiter/spacer_666666.gif"/></td></tr><tr><td align="right" valign="bottom" width="495"><table width="495" cellspacing="0" cellpadding="0" border="0"><tr><td width="400" background="../img/reiter/_bg_reiter.gif">&#160;</td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le1.gif"/></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="about.html" class="bodytext">Quan a</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"/></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le.gif"/></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="http://wiki.apache.org/nutch/FAQ" class="bodytext">FAQ</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"/></td></tr></table></td></tr></table>
Index: /nutchez-0.1/tomcat/webapps/ROOT/ca/search.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/ca/search.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/ca/search.html	(revision 66)
@@ -0,0 +1,184 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><!--This page is automatically generated.  Do not edit!-->
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Nutch: </title>
+<style type="text/css">
+
+.menuTd {
+  background-color: #F9F7F4;
+  height: 25px;
+}
+
+.menuTdhover {
+  background-color: #ECE5DC;
+  height: 25px;
+}
+
+.menuEntry {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.body {
+  background-color: #F9F7F4;
+}
+
+.bodytext {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.title {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 26px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.intro {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.orangeTd {
+  background-color: #FF9900
+}
+
+ul {
+  list-style-image: url(../img/reiter/ul.gif)
+}
+
+h3 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 16px;
+  color: #000000;
+}
+
+h4 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 14px;
+  color: #000000;
+}
+
+.url {
+  color: #996600;
+}
+
+.highlight {
+  font-weight: bold;
+}
+
+.ellipsis {
+  font-weight: bold;
+}
+
+</style>
+<link type="image/x-icon" href="../img/favicon.ico" rel="icon">
+<link type="image/x-icon" href="../img/favicon.ico" rel="shortcut icon">
+<script type="text/javascript">
+<!--
+function queryfocus() {
+  search = document.search;
+  if (search != null) { search.query.focus(); }
+}
+// --></script>
+</head>
+<body onLoad="queryfocus();">
+<!--This file is automatically generated.  Do not edit!-->
+<table cellspacing="0" cellpadding="0" border="0" width="635">
+<tr>
+<td rowspan="2" width="140" valign="bottom"><a href="./"><img border="0" src="../img/reiter/logo_nutch.gif"></a><img height="1" width="140" src="../img/reiter/spacer_666666.gif"></td>
+</tr>
+<tr>
+<td align="right" valign="bottom" width="495">
+<table width="495" cellspacing="0" cellpadding="0" border="0">
+<tr>
+<td width="400" background="../img/reiter/_bg_reiter.gif">&nbsp;</td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le1.gif"></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="about.html" class="bodytext">Quan a</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le.gif"></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="http://wiki.apache.org/nutch/FAQ" class="bodytext">FAQ</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<table cellspacing="0" cellpadding="0" border="0" width="635">
+<tr valign="top">
+<td width="140">
+<table cellspacing="0" cellpadding="0" width="100%">
+<tr>
+<td>&#160;</td>
+</tr>
+</table>
+</td><td background="../img/reiter/_spacer_cccccc.gif" width="20">&#160;</td><td class="body" width="475">
+<table cellspacing="0" cellpadding="0" border="0" width="475">
+<tr>
+<td valign="bottom" width="275" height="125" class="title"></td><td valign="bottom" width="200" height="125"><img src="../img/reiter/robots.gif"></td>
+</tr>
+</table>
+<br class="br">
+<span class="bodytext">
+</span><span class="bodytext">
+<center>
+
+<form name="search" action="../search.jsp" method="get">
+  
+<input type="hidden" name="lang" value="ca">
+  <input name="query" size="44">&nbsp;<input type="submit" value="Cerca">
+  <a href="help.html">Ajuda</a>
+
+</form>
+
+</center>
+</span><span class="bodytext">
+</span>
+<br class="br">
+<br class="br">
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+  
+<tr>
+    
+<td width="140">&nbsp;</td>
+    <td width="20">&nbsp;</td>
+    <td width="475" align="center">
+    <span class="bodytext">
+    
+<br>
+      
+<a href="../ca/">ca</a> |
+      <a href="../de/">de</a> |
+      <a href="../en/">en</a> |
+      <a href="../es/">es</a> |
+      <a href="../fi/">fi</a> |
+      <a href="../fr/">fr</a> |
+      <a href="../hu/">hu</a> |
+      <a href="../it/">it</a> |
+      <a href="../jp/">jp</a> |
+      <a href="../ms/">ms</a> |
+      <a href="../nl/">nl</a> |
+      <a href="../pl/">pl</a> |
+      <a href="../pt/">pt</a> |
+      <a href="../sh/">sh</a> |
+      <a href="../sr/">sr</a> |
+      <a href="../sv/">sv</a> |
+      <a href="../th/">th</a> |
+      <a href="../zh/">zh</a>
+    </span>
+    </td>
+  
+</tr>
+  
+<tr>
+  
+</tr>
+
+</table>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/ROOT/cached.jsp
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/cached.jsp	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/cached.jsp	(revision 66)
@@ -0,0 +1,110 @@
+<%--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+--%>
+<%@ page
+  session="false"
+  contentType="text/html; charset=UTF-8"
+  import="java.io.*"
+  import="java.util.*"
+
+  import="org.apache.nutch.searcher.*"
+  import="org.apache.nutch.parse.ParseData"
+  import="org.apache.nutch.metadata.Metadata"
+  import="org.apache.nutch.metadata.Nutch"
+  import="org.apache.hadoop.conf.Configuration"
+  import="org.apache.nutch.util.NutchConfiguration"
+%><%
+  Configuration nutchConf = NutchConfiguration.get(application);
+  NutchBean bean = NutchBean.get(application, nutchConf);
+  bean.LOG.info("cache request from " + request.getRemoteAddr());
+  Hit hit = new Hit(Integer.parseInt(request.getParameter("idx")),
+                    request.getParameter("id"));
+  HitDetails details = bean.getDetails(hit);
+  String id = "idx=" + hit.getIndexNo() + "&id=" + hit.getUniqueKey();
+
+  String language =
+    ResourceBundle.getBundle("org.nutch.jsp.cached", request.getLocale())
+    .getLocale().getLanguage();
+
+  Metadata metaData = bean.getParseData(details).getContentMeta();
+
+  String content = null;
+  String contentType = (String) metaData.get(Metadata.CONTENT_TYPE);
+  if (contentType.startsWith("text/html")) {
+    // FIXME : it's better to emit the original 'byte' sequence 
+    // with 'charset' set to the value of 'CharEncoding',
+    // but I don't know how to emit 'byte sequence' in JSP.
+    // out.getOutputStream().write(bean.getContent(details)) may work, 
+    // but I'm not sure.
+    String encoding = (String) metaData.get("CharEncodingForConversion"); 
+    if (encoding != null) {
+      try {
+        content = new String(bean.getContent(details), encoding);
+      }
+      catch (UnsupportedEncodingException e) {
+        // fallback to windows-1252
+        content = new String(bean.getContent(details), "windows-1252");
+      }
+    }
+    else 
+      content = new String(bean.getContent(details));
+  }
+%>
+<!--
+<base href="<%=details.getValue("url")%>">
+-->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<%
+  out.flush();
+%>
+<%@ taglib uri="http://jakarta.apache.org/taglibs/i18n" prefix="i18n" %>
+<i18n:bundle baseName="org.nutch.jsp.cached"/>
+<h2 style="{color: rgb(255, 153, 0)}"><i18n:message key="title"/></h2>
+<h3>
+<i18n:message key="page">
+  <i18n:messageArg value="<%=details.getValue(\"url\")%>"/>
+</i18n:message>
+</h3>
+<hr>
+<!-- 
+   FIXME: have to sanitize 'content' : e.g. removing unncessary part
+        of head elememt
+-->
+<%
+   String caching = details.getValue("cache");
+   String url = details.getValue("url");
+   if (caching != null && !caching.equals(Nutch.CACHING_FORBIDDEN_NONE)) {
+%>
+Display of this content was administratively prohibited by the webmaster.
+You may visit the original page instead: <a href="<%=url%>"><%=url%></a>.
+<%
+     return;
+   }
+%>
+<% if (contentType.startsWith("text/html")) {%>
+
+<% if (content != null && !content.equals("")) {%>
+<%= content %>
+<% } else { %>
+<i18n:message key="noContent"/>
+<% } %>
+
+<% } else { %>
+
+The cached content has mime type "<%=contentType%>",
+click this <a href="./servlet/cached?<%=id%>">link</a> to download it directly.
+
+<% } %>
Index: /nutchez-0.1/tomcat/webapps/ROOT/cluster.jsp
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/cluster.jsp	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/cluster.jsp	(revision 66)
@@ -0,0 +1,105 @@
+<%--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+--%>
+<%
+
+// @author Dawid Weiss
+//
+// PERFORMANCE/USER INTERFACE NOTE:
+//
+// What I do here is merely a demonstration. In real life the clustering
+// process should be done in a separate "processing" stream, most likely
+// a separate HTML frame that the user's browser requests data to.
+// We don't want the user to wait with plain snippets until the clusters
+// are created.
+//
+// Also: clustering is resource consuming, so a cache of recent queries 
+// would be in place. Besides, such cache would also be beneficial for the
+// purpose of re-querying existing clusters (remember that the
+// clustering extension may be a heuristic returning a DIFFERENT set of
+// clusters for an identical input).
+// See www.vivisimo.com for details of how this can be done using frames, or
+// http://carrot.cs.put.poznan.pl for an example of a Javascript solution.
+
+// cluster the hits
+HitsCluster [] clusters = null;
+if (clusterer != null) {
+  final long clusteringStart = System.currentTimeMillis();
+  try {
+    clusters = clusterer.clusterHits( details, Summary.toStrings(summaries) );
+    final long clusteringDuration = System.currentTimeMillis() - clusteringStart;
+    bean.LOG.info("Clustering took: " + clusteringDuration + " milliseconds.");
+  } catch (Exception e) {
+    // failed to do clustering (see below)
+  }
+}
+
+if (clusterer == null) {
+  %>No clustering extension found.<%
+} else {
+  if (clusters == null) {
+    %>Unable to do clustering.<%
+  } else if (clusters.length == 0) {
+    %>No clusters found.<%
+  } else {
+    // display top N clusters and top Q documents inside them.
+    int N = 10;
+    int Q = 3;
+    int maxLabels = 2;
+    
+    int displayCounter = 0;
+    N = Math.min(N, clusters.length );
+
+    for (int clusterIndex = 0 ; clusterIndex < N ; clusterIndex++) {
+      HitsCluster cluster = clusters[ clusterIndex ];
+      String [] clusterLabels = cluster.getDescriptionLabels();
+      
+      // probably leave it on for now
+      //if (cluster.isJunkCluster()) continue;
+
+      // output cluster label.
+      %><div style="margin: 0px; padding: 0px; font-weight: bold;"><%
+      for (int k=0;k<maxLabels && k<clusterLabels.length;k++) {
+        if (k>0) out.print(", ");
+        out.print( Entities.encode(clusterLabels[k]) );
+      }
+      %></div><%
+       
+      // now output sample documents from the inside
+      HitDetails[] documents = cluster.getHits();
+      if (documents.length > 0) {
+        %><ul style="font-size: 90%; margin-top: .5em;"><%
+        for (int k = 0; k < Q && k < documents.length; k++) {
+          HitDetails detail = documents[ k ];
+          String title = detail.getValue("title");
+          String url = detail.getValue("url");
+          if (title == null || title.equals("")) title = url;
+          if (title.length() > 35) title = title.substring(0,35) + "...";
+          %>
+            <li><a href="<%=url%>"><%= Entities.encode(title) %></a></li>
+          <%
+        }
+        %></ul><%
+      }
+       
+      // ignore subclusters for now, ALTHOUGH HIERARCHICAL CLUSTERING
+      // METHODS DO EXIST AND ARE VERY USEFUL
+      // HitsCluster [] subclusters = cluster.getSubclusters();
+    }
+  }
+}
+
+%>
Index: /nutchez-0.1/tomcat/webapps/ROOT/de/about.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/de/about.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/de/about.html	(revision 66)
@@ -0,0 +1,245 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><!--This page is automatically generated.  Do not edit!-->
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Nutch: Über</title>
+<style type="text/css">
+
+.menuTd {
+  background-color: #F9F7F4;
+  height: 25px;
+}
+
+.menuTdhover {
+  background-color: #ECE5DC;
+  height: 25px;
+}
+
+.menuEntry {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.body {
+  background-color: #F9F7F4;
+}
+
+.bodytext {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.title {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 26px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.intro {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.orangeTd {
+  background-color: #FF9900
+}
+
+ul {
+  list-style-image: url(../img/reiter/ul.gif)
+}
+
+h3 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 16px;
+  color: #000000;
+}
+
+h4 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 14px;
+  color: #000000;
+}
+
+.url {
+  color: #996600;
+}
+
+.highlight {
+  font-weight: bold;
+}
+
+.ellipsis {
+  font-weight: bold;
+}
+
+</style>
+<link rel="icon" href="../img/favicon.ico" type="image/x-icon">
+<link rel="shortcut icon" href="../img/favicon.ico" type="image/x-icon">
+<script type="text/javascript">
+<!--
+function queryfocus() {
+  search = document.search;
+  if (search != null) { search.query.focus(); }
+}
+// --></script>
+</head>
+<body onLoad="queryfocus();">
+<!--This file is automatically generated.  Do not edit!-->
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td valign="bottom" width="140" rowspan="2"><a href="./"><img src="../img/reiter/logo_nutch.gif" border="0"></a><img src="../img/reiter/spacer_666666.gif" width="140" height="1"></td>
+</tr>
+<tr>
+<td width="495" valign="bottom" align="right">
+<table border="0" cellpadding="0" cellspacing="0" width="495">
+<tr>
+<td background="../img/reiter/_bg_reiter.gif" width="400">&nbsp;</td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le1.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="about.html">&Uuml;ber</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="http://wiki.apache.org/nutch/FAQ">FAQ</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr valign="top">
+<td width="140">
+<table width="100%" cellpadding="0" cellspacing="0">
+<tr class="menuTd" height="25">
+<td class="menuTd" onmouseover="this.className='menuTdhover';" onmouseout="this.className='menuTd'" width="100%">&#160;:: <a href="http://lucene.apache.org/nutch/credits.html" class="menuEntry">Danksagungen</a></td>
+</tr>
+<tr height="1px">
+<td><img src="../img/reiter/spacer_666666.gif" height="1" width="100%"></td>
+</tr>
+<tr class="menuTd" height="25">
+<td class="menuTd" onmouseover="this.className='menuTdhover';" onmouseout="this.className='menuTd'" width="100%">&#160;:: <a href="http://lucene.apache.org/nutch/index.html" class="menuEntry">Status</a></td>
+</tr>
+<tr height="1px">
+<td><img src="../img/reiter/spacer_666666.gif" height="1" width="100%"></td>
+</tr>
+<tr>
+<td>&#160;</td>
+</tr>
+</table>
+</td><td width="20" background="../img/reiter/_spacer_cccccc.gif">&#160;</td><td width="475" class="body">
+<table width="475" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td class="title" height="125" width="275" valign="bottom">Über</td><td height="125" width="200" valign="bottom"><img src="../img/reiter/robots.gif"></td>
+</tr>
+</table>
+<br class="br">
+<span class="bodytext">
+
+</span><span class="intro">
+<p>
+"Nutch" ist der Versuch, eine Suchmaschine auf Open-Source-Basis zu implementieren.
+</p>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>
+Suchmaschinen dienen heute als Grundlage zur Navigation im Internet.
+Trotz der hohen Nachfrage gibt es immer weniger davon. Bald k&ouml;nnte sich
+das bestehende Oligopol zu einem Monopol entwickeln. Eine einzelne Firma 
+w&uuml;rde fast alle Internet-Suchen und damit den Zugriff zu Informationen 
+kontrollieren - kein w&uuml;nschenswertes Szenario f&uuml;r Internet-Nutzer.
+</p>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>
+"Nutch" stellt Ihnen eine transparente Alternative zu kommerziellen
+Suchmaschinen zur Verf&uuml;gung. Nur von offenen Suchergebnissen k&ouml;nnen sie eine
+vollkommene Unvoreingenommenheit erwarten (Oder zumindest k&ouml;nnen Sie Ihre
+Voreingenommenheit &ouml;ffentlich einsehen). Alle bestehenden Suchmaschinen haben propriet&auml;re
+Bewertungsalgorithmen. Sie k&ouml;nnen nicht nachvollziehen, warum Ihre Seite ein gewisses
+Ranking bekommt. Zudem erlauben es einige Suchmaschinen, gute Positionen zu erkaufen.
+"Nutch" hingegen hat nichts zu verbergen und keine Motivation, seine Resultate
+zu verf&auml;lschen.
+"Nutch"s einziges Ziel ist es, den Benutzer mit den bestm&ouml;glichen Suchresultaten 
+zu versorgen.
+</p>
+</span><span class="bodytext">
+
+
+</span><span class="bodytext">
+<p>
+"Nutch" ziehlt darauf ab, jedem die M&ouml;glichkeit zu geben, kosteneffizient 
+und auf einfache Art und Weise eine Suchmaschine einzurichten. Um erfolgreich zu sein,
+muss "Nutch" Folgendes leisten k&ouml;nnen:
+</p>
+</span><span class="bodytext">
+</span><span class="bodytext">
+<ul>
+  
+<li>Mehrere Millionen Webseiten pro Monat indexieren</li>
+  
+<li>Durchsuchen der indexierten Seiten bis zu 1000 mal pro Sekunde</li>
+  
+<li>Qualitativ hochwertige Suchresultate zur Verf&uuml;gung stellen</li>
+  
+<li>Minimalste Kosten verursachen</li>
+
+</ul>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>
+Dieses Vorhaben ist eine grosse Herausforderung, und wenn Sie wie wir an die 
+Vorz&uuml;ge eines solchen Projektes glauben, so bitten wir Sie uns zu unterst&uuml;tzen - 
+entweder als <a href="http://www.apache.org/dev/" shape="rect">Entwickler</a> oder durch eine <a href="http://www.apache.org/foundation/contributing.html" shape="rect">Spende</a>.
+</p>
+</span><span class="bodytext">
+
+</span>
+<br class="br">
+<br class="br">
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+  
+<tr>
+    
+<td width="140">&nbsp;</td>
+    <td width="20">&nbsp;</td>
+    <td width="475" align="center">
+    <span class="bodytext">
+    
+<br>
+      
+<a href="../ca/">ca</a> |
+      <a href="../de/">de</a> |
+      <a href="../en/">en</a> |
+      <a href="../es/">es</a> |
+      <a href="../fi/">fi</a> |
+      <a href="../fr/">fr</a> |
+      <a href="../hu/">hu</a> |
+      <a href="../it/">it</a> |
+      <a href="../jp/">jp</a> |
+      <a href="../ms/">ms</a> |
+      <a href="../nl/">nl</a> |
+      <a href="../pl/">pl</a> |
+      <a href="../pt/">pt</a> |
+      <a href="../sh/">sh</a> |
+      <a href="../sr/">sr</a> |
+      <a href="../sv/">sv</a> |
+      <a href="../th/">th</a> |
+      <a href="../zh/">zh</a>
+    </span>
+    </td>
+  
+</tr>
+  
+<tr>
+  
+</tr>
+
+</table>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/ROOT/de/help.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/de/help.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/de/help.html	(revision 66)
@@ -0,0 +1,223 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><!--This page is automatically generated.  Do not edit!-->
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Nutch: Hilfe zur Suche</title>
+<style type="text/css">
+
+.menuTd {
+  background-color: #F9F7F4;
+  height: 25px;
+}
+
+.menuTdhover {
+  background-color: #ECE5DC;
+  height: 25px;
+}
+
+.menuEntry {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.body {
+  background-color: #F9F7F4;
+}
+
+.bodytext {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.title {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 26px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.intro {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.orangeTd {
+  background-color: #FF9900
+}
+
+ul {
+  list-style-image: url(../img/reiter/ul.gif)
+}
+
+h3 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 16px;
+  color: #000000;
+}
+
+h4 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 14px;
+  color: #000000;
+}
+
+.url {
+  color: #996600;
+}
+
+.highlight {
+  font-weight: bold;
+}
+
+.ellipsis {
+  font-weight: bold;
+}
+
+</style>
+<link rel="icon" href="../img/favicon.ico" type="image/x-icon">
+<link rel="shortcut icon" href="../img/favicon.ico" type="image/x-icon">
+<script type="text/javascript">
+<!--
+function queryfocus() {
+  search = document.search;
+  if (search != null) { search.query.focus(); }
+}
+// --></script>
+</head>
+<body onLoad="queryfocus();">
+<!--This file is automatically generated.  Do not edit!-->
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td valign="bottom" width="140" rowspan="2"><a href="./"><img src="../img/reiter/logo_nutch.gif" border="0"></a><img src="../img/reiter/spacer_666666.gif" width="140" height="1"></td>
+</tr>
+<tr>
+<td width="495" valign="bottom" align="right">
+<table border="0" cellpadding="0" cellspacing="0" width="495">
+<tr>
+<td background="../img/reiter/_bg_reiter.gif" width="400">&nbsp;</td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le1.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="about.html">&Uuml;ber</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="http://wiki.apache.org/nutch/FAQ">FAQ</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr valign="top">
+<td width="140">
+<table width="100%" cellpadding="0" cellspacing="0">
+<tr>
+<td>&#160;</td>
+</tr>
+</table>
+</td><td width="20" background="../img/reiter/_spacer_cccccc.gif">&#160;</td><td width="475" class="body">
+<table width="475" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td class="title" height="125" width="275" valign="bottom">Hilfe zur Suche</td><td height="125" width="200" valign="bottom"><img src="../img/reiter/robots.gif"></td>
+</tr>
+</table>
+<br class="br">
+<span class="bodytext">
+
+</span><span class="bodytext">
+<h3>Suchanfragen</h3>
+</span><span class="bodytext">
+Nutch ben&ouml;tigt nur wenige W&ouml;rter, um Ihnen zufriedenstellende Resultate zu liefern..
+</span><span class="bodytext">
+<ul>
+  
+<li>Die Resultate enthalten nur Seiten, welche <em>alle </em>Suchw&ouml;rter 
+    enthalten.</li>
+  
+<li>Benutzen Sie Anf&uuml;hrungs und Schlusszeichen um W&ouml;rter, welche als 
+    Satzteil in exact dieser Folge vorkommen m&uuml;ssen. Z.B. <strong>"Thomas 
+    Jefferson"</strong>
+</li>
+  
+<li>Interpunktionszeichen werden wie Leerzeichen behandelt und trennen Wortgruppen 
+    in einzelne Suchw&ouml;rter.Wenn Sie also nach <strong>http://www.apache.org/</strong> 
+    suchen, entspricht dies einer Suche nach <strong>"http www apache org"</strong>.</li>
+  
+<li>Die Gross-/Kleinschreibung wird bei der Suchen nicht beachtet.</li>
+  
+<li>Sie k&ouml;nnen ein Wort explizit aus den Suchresultat ausschliessen indem 
+    Sie ein Minus vor dieses Sezten. Wenn Sie zum Beispiel <strong>"Fussball 
+    -uefa" </strong>eingeben, so wird nach allen Seiten mit dem Thema Fussball 
+    gessucht, welche aber das Wort "uefa" nicht enthalten.</li>
+  
+<li>Das ist alles!</li>
+
+</ul>
+</span><span class="bodytext">
+</span><span class="bodytext">
+<h3>Resultate</h3>
+</span><span class="bodytext">
+</span><span class="bodytext">
+<p>Jede resultierende Seite hat folgende Links:</p>
+</span><span class="bodytext">
+</span><span class="bodytext">
+<ul>
+  
+<li>(<span style="color: rgb(51, 51, 255);">cached</span>) zeigt eine von Nutch 
+    zwischengespeicherte Version der Seite.</li>
+  
+<li>(<span style="color: rgb(51, 51, 255);">explain</span>) zeigt eine detaillierte 
+    Auflistung der Bewertung dieser Seite.</li>
+  
+<li>(<span style="color: rgb(51, 51, 255);">anchors</span>) zeigt eine Liste 
+    von Seiten, welche diese Seite referenzieren.</li>
+
+</ul>
+</span><span class="bodytext">
+
+</span>
+<br class="br">
+<br class="br">
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+  
+<tr>
+    
+<td width="140">&nbsp;</td>
+    <td width="20">&nbsp;</td>
+    <td width="475" align="center">
+    <span class="bodytext">
+    
+<br>
+      
+<a href="../ca/">ca</a> |
+      <a href="../de/">de</a> |
+      <a href="../en/">en</a> |
+      <a href="../es/">es</a> |
+      <a href="../fi/">fi</a> |
+      <a href="../fr/">fr</a> |
+      <a href="../hu/">hu</a> |
+      <a href="../it/">it</a> |
+      <a href="../jp/">jp</a> |
+      <a href="../ms/">ms</a> |
+      <a href="../nl/">nl</a> |
+      <a href="../pl/">pl</a> |
+      <a href="../pt/">pt</a> |
+      <a href="../sh/">sh</a> |
+      <a href="../sr/">sr</a> |
+      <a href="../sv/">sv</a> |
+      <a href="../th/">th</a> |
+      <a href="../zh/">zh</a>
+    </span>
+    </td>
+  
+</tr>
+  
+<tr>
+  
+</tr>
+
+</table>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/ROOT/de/include/header.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/de/include/header.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/de/include/header.html	(revision 66)
@@ -0,0 +1,1 @@
+<?xml version="1.0" encoding="UTF-8"?><!--This file is automatically generated.  Do not edit!--><table cellspacing="0" cellpadding="0" border="0" width="635"><tr><td rowspan="2" width="140" valign="bottom"><a href="./"><img border="0" src="../img/reiter/logo_nutch.gif"/></a><img height="1" width="140" src="../img/reiter/spacer_666666.gif"/></td></tr><tr><td align="right" valign="bottom" width="495"><table width="495" cellspacing="0" cellpadding="0" border="0"><tr><td width="400" background="../img/reiter/_bg_reiter.gif">&#160;</td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le1.gif"/></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="about.html" class="bodytext">Über</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"/></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le.gif"/></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="http://wiki.apache.org/nutch/FAQ" class="bodytext">FAQ</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"/></td></tr></table></td></tr></table>
Index: /nutchez-0.1/tomcat/webapps/ROOT/de/search.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/de/search.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/de/search.html	(revision 66)
@@ -0,0 +1,184 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><!--This page is automatically generated.  Do not edit!-->
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Nutch: </title>
+<style type="text/css">
+
+.menuTd {
+  background-color: #F9F7F4;
+  height: 25px;
+}
+
+.menuTdhover {
+  background-color: #ECE5DC;
+  height: 25px;
+}
+
+.menuEntry {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.body {
+  background-color: #F9F7F4;
+}
+
+.bodytext {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.title {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 26px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.intro {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.orangeTd {
+  background-color: #FF9900
+}
+
+ul {
+  list-style-image: url(../img/reiter/ul.gif)
+}
+
+h3 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 16px;
+  color: #000000;
+}
+
+h4 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 14px;
+  color: #000000;
+}
+
+.url {
+  color: #996600;
+}
+
+.highlight {
+  font-weight: bold;
+}
+
+.ellipsis {
+  font-weight: bold;
+}
+
+</style>
+<link type="image/x-icon" href="../img/favicon.ico" rel="icon">
+<link type="image/x-icon" href="../img/favicon.ico" rel="shortcut icon">
+<script type="text/javascript">
+<!--
+function queryfocus() {
+  search = document.search;
+  if (search != null) { search.query.focus(); }
+}
+// --></script>
+</head>
+<body onLoad="queryfocus();">
+<!--This file is automatically generated.  Do not edit!-->
+<table cellspacing="0" cellpadding="0" border="0" width="635">
+<tr>
+<td rowspan="2" width="140" valign="bottom"><a href="./"><img border="0" src="../img/reiter/logo_nutch.gif"></a><img height="1" width="140" src="../img/reiter/spacer_666666.gif"></td>
+</tr>
+<tr>
+<td align="right" valign="bottom" width="495">
+<table width="495" cellspacing="0" cellpadding="0" border="0">
+<tr>
+<td width="400" background="../img/reiter/_bg_reiter.gif">&nbsp;</td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le1.gif"></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="about.html" class="bodytext">&Uuml;ber</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le.gif"></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="http://wiki.apache.org/nutch/FAQ" class="bodytext">FAQ</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<table cellspacing="0" cellpadding="0" border="0" width="635">
+<tr valign="top">
+<td width="140">
+<table cellspacing="0" cellpadding="0" width="100%">
+<tr>
+<td>&#160;</td>
+</tr>
+</table>
+</td><td background="../img/reiter/_spacer_cccccc.gif" width="20">&#160;</td><td class="body" width="475">
+<table cellspacing="0" cellpadding="0" border="0" width="475">
+<tr>
+<td valign="bottom" width="275" height="125" class="title"></td><td valign="bottom" width="200" height="125"><img src="../img/reiter/robots.gif"></td>
+</tr>
+</table>
+<br class="br">
+<span class="bodytext">
+</span><span class="bodytext">
+<center>
+
+<form name="search" action="../search.jsp" method="get" enctype="application/x-www-form-urlencoded">
+  
+<input type="hidden" name="lang" value="de">
+  <input name="query" size="44" type="text">&nbsp;<input type="submit" value="Suchen">
+  <a href="help.html" shape="rect">Hilfe</a>
+
+</form>
+
+</center>
+</span><span class="bodytext">
+</span>
+<br class="br">
+<br class="br">
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+  
+<tr>
+    
+<td width="140">&nbsp;</td>
+    <td width="20">&nbsp;</td>
+    <td width="475" align="center">
+    <span class="bodytext">
+    
+<br>
+      
+<a href="../ca/">ca</a> |
+      <a href="../de/">de</a> |
+      <a href="../en/">en</a> |
+      <a href="../es/">es</a> |
+      <a href="../fi/">fi</a> |
+      <a href="../fr/">fr</a> |
+      <a href="../hu/">hu</a> |
+      <a href="../it/">it</a> |
+      <a href="../jp/">jp</a> |
+      <a href="../ms/">ms</a> |
+      <a href="../nl/">nl</a> |
+      <a href="../pl/">pl</a> |
+      <a href="../pt/">pt</a> |
+      <a href="../sh/">sh</a> |
+      <a href="../sr/">sr</a> |
+      <a href="../sv/">sv</a> |
+      <a href="../th/">th</a> |
+      <a href="../zh/">zh</a>
+    </span>
+    </td>
+  
+</tr>
+  
+<tr>
+  
+</tr>
+
+</table>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/ROOT/en/about.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/en/about.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/en/about.html	(revision 66)
@@ -0,0 +1,237 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><!--This page is automatically generated.  Do not edit!-->
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Nutch: about</title>
+<style type="text/css">
+
+.menuTd {
+  background-color: #F9F7F4;
+  height: 25px;
+}
+
+.menuTdhover {
+  background-color: #ECE5DC;
+  height: 25px;
+}
+
+.menuEntry {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.body {
+  background-color: #F9F7F4;
+}
+
+.bodytext {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.title {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 26px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.intro {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.orangeTd {
+  background-color: #FF9900
+}
+
+ul {
+  list-style-image: url(../img/reiter/ul.gif)
+}
+
+h3 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 16px;
+  color: #000000;
+}
+
+h4 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 14px;
+  color: #000000;
+}
+
+.url {
+  color: #996600;
+}
+
+.highlight {
+  font-weight: bold;
+}
+
+.ellipsis {
+  font-weight: bold;
+}
+
+</style>
+<link rel="icon" href="../img/favicon.ico" type="image/x-icon">
+<link rel="shortcut icon" href="../img/favicon.ico" type="image/x-icon">
+<script type="text/javascript">
+<!--
+function queryfocus() {
+  search = document.search;
+  if (search != null) { search.query.focus(); }
+}
+// --></script>
+</head>
+<body onLoad="queryfocus();">
+<!--This file is automatically generated.  Do not edit!-->
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td valign="bottom" width="140" rowspan="2"><a href="./"><img src="../img/reiter/logo_nutch.gif" border="0"></a><img src="../img/reiter/spacer_666666.gif" width="140" height="1"></td>
+</tr>
+<tr>
+<td width="495" valign="bottom" align="right">
+<table border="0" cellpadding="0" cellspacing="0" width="495">
+<tr>
+<td background="../img/reiter/_bg_reiter.gif" width="400">&nbsp;</td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le1.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="about.html">About</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="http://wiki.apache.org/nutch/FAQ">FAQ</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr valign="top">
+<td width="140">
+<table width="100%" cellpadding="0" cellspacing="0">
+<tr class="menuTd" height="25">
+<td class="menuTd" onmouseover="this.className='menuTdhover';" onmouseout="this.className='menuTd'" width="100%">&#160;:: <a href="http://lucene.apache.org/nutch/credits.html" class="menuEntry">Credits</a></td>
+</tr>
+<tr height="1px">
+<td><img src="../img/reiter/spacer_666666.gif" height="1" width="100%"></td>
+</tr>
+<tr class="menuTd" height="25">
+<td class="menuTd" onmouseover="this.className='menuTdhover';" onmouseout="this.className='menuTd'" width="100%">&#160;:: <a href="http://lucene.apache.org/nutch/index.html" class="menuEntry">Status</a></td>
+</tr>
+<tr height="1px">
+<td><img src="../img/reiter/spacer_666666.gif" height="1" width="100%"></td>
+</tr>
+<tr>
+<td>&#160;</td>
+</tr>
+</table>
+</td><td width="20" background="../img/reiter/_spacer_cccccc.gif">&#160;</td><td width="475" class="body">
+<table width="475" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td class="title" height="125" width="275" valign="bottom">about</td><td height="125" width="200" valign="bottom"><img src="../img/reiter/robots.gif"></td>
+</tr>
+</table>
+<br class="br">
+<span class="bodytext">
+
+</span><span class="intro">
+<p>Nutch is a nascent effort to implement an open-source web search
+engine.</p>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>Web search is a basic requirement for internet navigation, yet the
+number of web search engines is decreasing. Today's oligopoly could
+soon be a monopoly, with a single company controlling nearly all web
+search for its commercial gain.  That would not be good for users of
+the internet.</p>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>Nutch provides a transparent alternative to commercial web search
+engines.  Only open source search results can be fully trusted to be
+without bias.  (Or at least their bias is public.)  All existing major
+search engines have proprietary ranking formulas, and will not explain
+why a given page ranks as it does.  Additionally, some search engines
+determine which sites to index based on payments, rather than on the
+merits of the sites themselves.  Nutch, on the other hand, has nothing
+to hide and no motive to bias its results or its crawler in any way
+other than to try to give each user the best results possible.</p>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>Nutch aims to enable anyone to easily and cost-effectively deploy a
+world-class web search engine.  This is a substantial challenge.  To
+succeed, Nutch software must be able to:</p>
+</span><span class="bodytext">
+</span><span class="bodytext">
+<ul>
+  
+<li>fetch several billion pages per month</li>
+  
+<li>maintain an index of these pages</li>
+  
+<li>search that index up to 1000 times per second</li>
+  
+<li>provide very high quality search results</li>
+  
+<li>operate at minimal cost</li>
+
+</ul>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>This is a challenging proposition.  If you believe in the merits of
+this project, please help out, either as a <a href="http://www.apache.org/dev/">developer</a> or with a <a href="http://www.apache.org/foundation/contributing.html">donation</a>
+
+</p>
+</span><span class="bodytext">
+
+</span>
+<br class="br">
+<br class="br">
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+  
+<tr>
+    
+<td width="140">&nbsp;</td>
+    <td width="20">&nbsp;</td>
+    <td width="475" align="center">
+    <span class="bodytext">
+    
+<br>
+      
+<a href="../ca/">ca</a> |
+      <a href="../de/">de</a> |
+      <a href="../en/">en</a> |
+      <a href="../es/">es</a> |
+      <a href="../fi/">fi</a> |
+      <a href="../fr/">fr</a> |
+      <a href="../hu/">hu</a> |
+      <a href="../it/">it</a> |
+      <a href="../jp/">jp</a> |
+      <a href="../ms/">ms</a> |
+      <a href="../nl/">nl</a> |
+      <a href="../pl/">pl</a> |
+      <a href="../pt/">pt</a> |
+      <a href="../sh/">sh</a> |
+      <a href="../sr/">sr</a> |
+      <a href="../sv/">sv</a> |
+      <a href="../th/">th</a> |
+      <a href="../zh/">zh</a>
+    </span>
+    </td>
+  
+</tr>
+  
+<tr>
+  
+</tr>
+
+</table>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/ROOT/en/help.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/en/help.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/en/help.html	(revision 66)
@@ -0,0 +1,219 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><!--This page is automatically generated.  Do not edit!-->
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Nutch: search help</title>
+<style type="text/css">
+
+.menuTd {
+  background-color: #F9F7F4;
+  height: 25px;
+}
+
+.menuTdhover {
+  background-color: #ECE5DC;
+  height: 25px;
+}
+
+.menuEntry {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.body {
+  background-color: #F9F7F4;
+}
+
+.bodytext {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.title {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 26px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.intro {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.orangeTd {
+  background-color: #FF9900
+}
+
+ul {
+  list-style-image: url(../img/reiter/ul.gif)
+}
+
+h3 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 16px;
+  color: #000000;
+}
+
+h4 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 14px;
+  color: #000000;
+}
+
+.url {
+  color: #996600;
+}
+
+.highlight {
+  font-weight: bold;
+}
+
+.ellipsis {
+  font-weight: bold;
+}
+
+</style>
+<link rel="icon" href="../img/favicon.ico" type="image/x-icon">
+<link rel="shortcut icon" href="../img/favicon.ico" type="image/x-icon">
+<script type="text/javascript">
+<!--
+function queryfocus() {
+  search = document.search;
+  if (search != null) { search.query.focus(); }
+}
+// --></script>
+</head>
+<body onLoad="queryfocus();">
+<!--This file is automatically generated.  Do not edit!-->
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td valign="bottom" width="140" rowspan="2"><a href="./"><img src="../img/reiter/logo_nutch.gif" border="0"></a><img src="../img/reiter/spacer_666666.gif" width="140" height="1"></td>
+</tr>
+<tr>
+<td width="495" valign="bottom" align="right">
+<table border="0" cellpadding="0" cellspacing="0" width="495">
+<tr>
+<td background="../img/reiter/_bg_reiter.gif" width="400">&nbsp;</td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le1.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="about.html">About</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="http://wiki.apache.org/nutch/FAQ">FAQ</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr valign="top">
+<td width="140">
+<table width="100%" cellpadding="0" cellspacing="0">
+<tr>
+<td>&#160;</td>
+</tr>
+</table>
+</td><td width="20" background="../img/reiter/_spacer_cccccc.gif">&#160;</td><td width="475" class="body">
+<table width="475" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td class="title" height="125" width="275" valign="bottom">search help</td><td height="125" width="200" valign="bottom"><img src="../img/reiter/robots.gif"></td>
+</tr>
+</table>
+<br class="br">
+<span class="bodytext">
+
+</span><span class="bodytext">
+<h3>Queries</h3>
+</span><span class="bodytext">
+To search with Nutch, just type in a few words.
+</span><span class="bodytext">
+<ul>
+  
+<li>Results only include pages that contain <span style="font-style: italic;">all</span> of the query words.</li>
+  
+<li>Use quotes around words that must occur adjacently, as a phrase,
+e.g., <span style="font-weight: bold;">"New Zealand"</span>.</li>
+  
+<li>Punctuation between words also triggers phrase matching.  So
+searching for <span style="font-weight: bold;">http://www.apache.org/</span>
+is the same as searching for <span style="font-weight: bold;">"http www
+apache org"</span>.</li>
+  
+<li>Searches are not case-sensitive, so searching for <span style="font-weight: bold;">NuTcH</span> is the same as searching for <span style="font-weight: bold;">nUtCh</span>.</li>
+  
+<li>You can prohibit a term from resulting pages by putting a minus
+before it, e.g., searching for <span style="font-weight: bold;">football
+-nfl</span> will find pages that discuss football, but don't use the
+word "nfl".</li>
+  
+<li>That's it!</li>
+
+</ul>
+</span><span class="bodytext">
+</span><span class="bodytext">
+<h3>Results</h3>
+</span><span class="bodytext">
+Each matching page in the results has the following links:
+</span><span class="bodytext">
+<ul>
+  
+<li>(<span style="color: rgb(51, 51, 255);">cached</span>) displays
+the version of the page that Nutch downloaded.</li>
+  
+<li>(<span style="color: rgb(51, 51, 255);">explain</span>) displays
+an explanation of how this page scored.</li>
+  
+<li>(<span style="color: rgb(51, 51, 255);">anchors</span>) shows the
+list of incoming anchors indexed for this page.</li>
+
+</ul>
+</span><span class="bodytext">
+
+</span>
+<br class="br">
+<br class="br">
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+  
+<tr>
+    
+<td width="140">&nbsp;</td>
+    <td width="20">&nbsp;</td>
+    <td width="475" align="center">
+    <span class="bodytext">
+    
+<br>
+      
+<a href="../ca/">ca</a> |
+      <a href="../de/">de</a> |
+      <a href="../en/">en</a> |
+      <a href="../es/">es</a> |
+      <a href="../fi/">fi</a> |
+      <a href="../fr/">fr</a> |
+      <a href="../hu/">hu</a> |
+      <a href="../it/">it</a> |
+      <a href="../jp/">jp</a> |
+      <a href="../ms/">ms</a> |
+      <a href="../nl/">nl</a> |
+      <a href="../pl/">pl</a> |
+      <a href="../pt/">pt</a> |
+      <a href="../sh/">sh</a> |
+      <a href="../sr/">sr</a> |
+      <a href="../sv/">sv</a> |
+      <a href="../th/">th</a> |
+      <a href="../zh/">zh</a>
+    </span>
+    </td>
+  
+</tr>
+  
+<tr>
+  
+</tr>
+
+</table>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/ROOT/en/include/header.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/en/include/header.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/en/include/header.html	(revision 66)
@@ -0,0 +1,1 @@
+<?xml version="1.0" encoding="UTF-8"?><!--This file is automatically generated.  Do not edit!--><table cellspacing="0" cellpadding="0" border="0" width="635"><tr><td rowspan="2" width="140" valign="bottom"><a href="./"><img border="0" src="../img/reiter/logo_nutch.gif"/></a><img height="1" width="140" src="../img/reiter/spacer_666666.gif"/></td></tr><tr><td align="right" valign="bottom" width="495"><table width="495" cellspacing="0" cellpadding="0" border="0"><tr><td width="400" background="../img/reiter/_bg_reiter.gif">&#160;</td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le1.gif"/></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="about.html" class="bodytext">About</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"/></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le.gif"/></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="http://wiki.apache.org/nutch/FAQ" class="bodytext">FAQ</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"/></td></tr></table></td></tr></table>
Index: /nutchez-0.1/tomcat/webapps/ROOT/en/search.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/en/search.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/en/search.html	(revision 66)
@@ -0,0 +1,193 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><!--This page is automatically generated.  Do not edit!-->
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Nutch: </title>
+<style type="text/css">
+
+.menuTd {
+  background-color: #F9F7F4;
+  height: 25px;
+}
+
+.menuTdhover {
+  background-color: #ECE5DC;
+  height: 25px;
+}
+
+.menuEntry {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.body {
+  background-color: #F9F7F4;
+}
+
+.bodytext {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.title {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 26px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.intro {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.orangeTd {
+  background-color: #FF9900
+}
+
+ul {
+  list-style-image: url(../img/reiter/ul.gif)
+}
+
+h3 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 16px;
+  color: #000000;
+}
+
+h4 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 14px;
+  color: #000000;
+}
+
+.url {
+  color: #996600;
+}
+
+.highlight {
+  font-weight: bold;
+}
+
+.ellipsis {
+  font-weight: bold;
+}
+
+</style>
+<link type="image/x-icon" href="../img/favicon.ico" rel="icon">
+<link type="image/x-icon" href="../img/favicon.ico" rel="shortcut icon">
+<script type="text/javascript">
+<!--
+function queryfocus() {
+  search = document.search;
+  if (search != null) { search.query.focus(); }
+}
+// --></script>
+</head>
+<body onLoad="queryfocus();">
+<!--This file is automatically generated.  Do not edit!-->
+<table cellspacing="0" cellpadding="0" border="0" width="635">
+<tr>
+<td rowspan="2" width="140" valign="bottom"><a href="./"><img border="0" src="../img/reiter/logo_nutch.gif"></a><img height="1" width="140" src="../img/reiter/spacer_666666.gif"></td>
+</tr>
+<tr>
+<td align="right" valign="bottom" width="495">
+<table width="495" cellspacing="0" cellpadding="0" border="0">
+<tr>
+<td width="400" background="../img/reiter/_bg_reiter.gif">&nbsp;</td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le1.gif"></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="about.html" class="bodytext">About</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le.gif"></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="http://wiki.apache.org/nutch/FAQ" class="bodytext">FAQ</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<table cellspacing="0" cellpadding="0" border="0" width="635">
+<tr valign="top">
+<td width="140">
+<table cellspacing="0" cellpadding="0" width="100%">
+<tr>
+<td>&#160;</td>
+</tr>
+</table>
+</td><td background="../img/reiter/_spacer_cccccc.gif" width="20">&#160;</td><td class="body" width="475">
+<table cellspacing="0" cellpadding="0" border="0" width="475">
+<tr>
+<td valign="bottom" width="275" height="125" class="title"></td><td valign="bottom" width="200" height="125"><img src="../img/reiter/robots.gif"></td>
+</tr>
+</table>
+<br class="br">
+<span class="bodytext">
+</span><span class="bodytext">
+<center>
+
+<form name="search" action="../search.jsp" method="get">
+  
+<input type="hidden" name="lang" value="en">
+  <input name="query" size="44">&nbsp;<input type="submit" value="Search">
+  <a href="help.html">help</a>
+
+</form>
+
+</center>
+</span><span class="bodytext">
+</span><span class="bodytext">
+<div style="text-align: right;">
+
+<a href="http://lucene.apache.org/nutch/index.html">
+<img border="0" src="../img/poweredbynutch_01.gif">
+</a>
+
+</div>
+</span><span class="bodytext">
+</span>
+<br class="br">
+<br class="br">
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+  
+<tr>
+    
+<td width="140">&nbsp;</td>
+    <td width="20">&nbsp;</td>
+    <td width="475" align="center">
+    <span class="bodytext">
+    
+<br>
+      
+<a href="../ca/">ca</a> |
+      <a href="../de/">de</a> |
+      <a href="../en/">en</a> |
+      <a href="../es/">es</a> |
+      <a href="../fi/">fi</a> |
+      <a href="../fr/">fr</a> |
+      <a href="../hu/">hu</a> |
+      <a href="../it/">it</a> |
+      <a href="../jp/">jp</a> |
+      <a href="../ms/">ms</a> |
+      <a href="../nl/">nl</a> |
+      <a href="../pl/">pl</a> |
+      <a href="../pt/">pt</a> |
+      <a href="../sh/">sh</a> |
+      <a href="../sr/">sr</a> |
+      <a href="../sv/">sv</a> |
+      <a href="../th/">th</a> |
+      <a href="../zh/">zh</a>
+    </span>
+    </td>
+  
+</tr>
+  
+<tr>
+  
+</tr>
+
+</table>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/ROOT/es/about.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/es/about.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/es/about.html	(revision 66)
@@ -0,0 +1,242 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><!--This page is automatically generated.  Do not edit!-->
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Nutch: Acerca de...</title>
+<style type="text/css">
+
+.menuTd {
+  background-color: #F9F7F4;
+  height: 25px;
+}
+
+.menuTdhover {
+  background-color: #ECE5DC;
+  height: 25px;
+}
+
+.menuEntry {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.body {
+  background-color: #F9F7F4;
+}
+
+.bodytext {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.title {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 26px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.intro {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.orangeTd {
+  background-color: #FF9900
+}
+
+ul {
+  list-style-image: url(../img/reiter/ul.gif)
+}
+
+h3 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 16px;
+  color: #000000;
+}
+
+h4 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 14px;
+  color: #000000;
+}
+
+.url {
+  color: #996600;
+}
+
+.highlight {
+  font-weight: bold;
+}
+
+.ellipsis {
+  font-weight: bold;
+}
+
+</style>
+<link rel="icon" href="../img/favicon.ico" type="image/x-icon">
+<link rel="shortcut icon" href="../img/favicon.ico" type="image/x-icon">
+<script type="text/javascript">
+<!--
+function queryfocus() {
+  search = document.search;
+  if (search != null) { search.query.focus(); }
+}
+// --></script>
+</head>
+<body onLoad="queryfocus();">
+<!--This file is automatically generated.  Do not edit!-->
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td valign="bottom" width="140" rowspan="2"><a href="./"><img src="../img/reiter/logo_nutch.gif" border="0"></a><img src="../img/reiter/spacer_666666.gif" width="140" height="1"></td>
+</tr>
+<tr>
+<td width="495" valign="bottom" align="right">
+<table border="0" cellpadding="0" cellspacing="0" width="495">
+<tr>
+<td background="../img/reiter/_bg_reiter.gif" width="400">&nbsp;</td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le1.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="about.html">Acerca de</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="http://wiki.apache.org/nutch/FAQ">Preguntas frecuentes</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr valign="top">
+<td width="140">
+<table width="100%" cellpadding="0" cellspacing="0">
+<tr class="menuTd" height="25">
+<td class="menuTd" onmouseover="this.className='menuTdhover';" onmouseout="this.className='menuTd'" width="100%">&#160;:: <a href="http://lucene.apache.org/nutch/credits.html" class="menuEntry">Cr&eacute;ditos</a></td>
+</tr>
+<tr height="1px">
+<td><img src="../img/reiter/spacer_666666.gif" height="1" width="100%"></td>
+</tr>
+<tr class="menuTd" height="25">
+<td class="menuTd" onmouseover="this.className='menuTdhover';" onmouseout="this.className='menuTd'" width="100%">&#160;:: <a href="http://lucene.apache.org/nutch/index.html" class="menuEntry">Status</a></td>
+</tr>
+<tr height="1px">
+<td><img src="../img/reiter/spacer_666666.gif" height="1" width="100%"></td>
+</tr>
+<tr>
+<td>&#160;</td>
+</tr>
+</table>
+</td><td width="20" background="../img/reiter/_spacer_cccccc.gif">&#160;</td><td width="475" class="body">
+<table width="475" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td class="title" height="125" width="275" valign="bottom">Acerca de...</td><td height="125" width="200" valign="bottom"><img src="../img/reiter/robots.gif"></td>
+</tr>
+</table>
+<br class="br">
+<span class="bodytext">
+
+</span><span class="intro">
+<p>Nutch es un esfuerzo naciente para implementar un buscador de web de 
+fuentes abiertos (open-source).</p>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>La b&uacute;squeda en la web es un requisito b&aacute;sico para la navegaci&oacute;n 
+de internet. Sin embargo, el n&uacute;mero de motores de b&uacute;squeda de web 
+se encuentra en disminuci&oacute;n. El oligopolio actual podr&iacute;a convertirse en 
+un monopolio en un futuro pr&oacute;ximo, con una &uacute;nica empresa que controlar&iacute;a 
+cerca de la totalidad de las b&uacute;squedas de web para su beneficio comercial. 
+Esto no ser&iacute;a beneficioso para los usuarios de internet.</p>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>Nutch provee una alternativa transparente en relaci&oacute;n a los buscadores 
+comerciales. Solamente los resultados de un buscador open-source pueden 
+ser considerados imparciales (o al menos, su parcialidad es p&uacute;blica). Todos 
+los buscadores l&iacute;deres tienen f&oacute;rmulas propietarias para generar su 
+ranking de resultados y no revelan por qu&eacute; una p&aacute;gina determinada ocupa 
+una cierta posici&oacute;n en la lista. Adem&aacute;s, algunos buscadores deciden 
+qu&eacute; sitios incluir en su &iacute;ndice en base a pagos, en lugar de basarse en 
+el m&eacute;rito propio de cada sitio. Nutch, por otro lado, no tiene nada que 
+ocultar ni motivos para sesgar sus resultados o las p&aacute;ginas visitadas 
+por su ara&ntilde;a (crawler) en forma alguna, m&aacute;s all&aacute; de la intenci&oacute;n de 
+proporcionar a cada usuario los mejores resultados posibles.</p>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>Nutch apunta a permitir que cualquiera pueda implementar un motor 
+de b&uacute;squeda con tecnolog&iacute;a de nivel mundial en forma sencilla y eficiente 
+en cuanto a los costos. Este es un desaf&iacute;o significativo. Para tener &eacute;xito, 
+el software de Nutch debe ser capaz de:</p>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<ul>
+  
+<li>visitar miles de millones de p&aacute;ginas cada mes</li>
+  
+<li>mantener un &iacute;ndice de dichas p&aacute;ginas</li>
+  
+<li>buscar en ese &iacute;ndice hasta mil veces por segundo</li>
+  
+<li>proveer resultados de b&uacute;squeda de muy alta calidad</li>
+  
+<li>operar a un costo m&iacute;nimo</li>
+
+</ul>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>Esta es una propuesta ambiciosa. Si te convencen los m&eacute;ritos de
+este proyecto, te pedimos que colabores, ya sea como <a href="http://www.apache.org/dev/">desarrollador</a> o bien a trav&eacute;s de una <a href="http://www.apache.org/foundation/contributing.html">donaci&oacute;n</a>
+
+</p>
+</span><span class="bodytext">
+
+</span>
+<br class="br">
+<br class="br">
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+  
+<tr>
+    
+<td width="140">&nbsp;</td>
+    <td width="20">&nbsp;</td>
+    <td width="475" align="center">
+    <span class="bodytext">
+    
+<br>
+      
+<a href="../ca/">ca</a> |
+      <a href="../de/">de</a> |
+      <a href="../en/">en</a> |
+      <a href="../es/">es</a> |
+      <a href="../fi/">fi</a> |
+      <a href="../fr/">fr</a> |
+      <a href="../hu/">hu</a> |
+      <a href="../it/">it</a> |
+      <a href="../jp/">jp</a> |
+      <a href="../ms/">ms</a> |
+      <a href="../nl/">nl</a> |
+      <a href="../pl/">pl</a> |
+      <a href="../pt/">pt</a> |
+      <a href="../sh/">sh</a> |
+      <a href="../sr/">sr</a> |
+      <a href="../sv/">sv</a> |
+      <a href="../th/">th</a> |
+      <a href="../zh/">zh</a>
+    </span>
+    </td>
+  
+</tr>
+  
+<tr>
+  
+</tr>
+
+</table>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/ROOT/es/help.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/es/help.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/es/help.html	(revision 66)
@@ -0,0 +1,213 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><!--This page is automatically generated.  Do not edit!-->
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Nutch: Ayuda para la búsqueda</title>
+<style type="text/css">
+
+.menuTd {
+  background-color: #F9F7F4;
+  height: 25px;
+}
+
+.menuTdhover {
+  background-color: #ECE5DC;
+  height: 25px;
+}
+
+.menuEntry {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.body {
+  background-color: #F9F7F4;
+}
+
+.bodytext {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.title {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 26px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.intro {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.orangeTd {
+  background-color: #FF9900
+}
+
+ul {
+  list-style-image: url(../img/reiter/ul.gif)
+}
+
+h3 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 16px;
+  color: #000000;
+}
+
+h4 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 14px;
+  color: #000000;
+}
+
+.url {
+  color: #996600;
+}
+
+.highlight {
+  font-weight: bold;
+}
+
+.ellipsis {
+  font-weight: bold;
+}
+
+</style>
+<link rel="icon" href="../img/favicon.ico" type="image/x-icon">
+<link rel="shortcut icon" href="../img/favicon.ico" type="image/x-icon">
+<script type="text/javascript">
+<!--
+function queryfocus() {
+  search = document.search;
+  if (search != null) { search.query.focus(); }
+}
+// --></script>
+</head>
+<body onLoad="queryfocus();">
+<!--This file is automatically generated.  Do not edit!-->
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td valign="bottom" width="140" rowspan="2"><a href="./"><img src="../img/reiter/logo_nutch.gif" border="0"></a><img src="../img/reiter/spacer_666666.gif" width="140" height="1"></td>
+</tr>
+<tr>
+<td width="495" valign="bottom" align="right">
+<table border="0" cellpadding="0" cellspacing="0" width="495">
+<tr>
+<td background="../img/reiter/_bg_reiter.gif" width="400">&nbsp;</td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le1.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="about.html">Acerca de</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="http://wiki.apache.org/nutch/FAQ">Preguntas frecuentes</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr valign="top">
+<td width="140">
+<table width="100%" cellpadding="0" cellspacing="0">
+<tr>
+<td>&#160;</td>
+</tr>
+</table>
+</td><td width="20" background="../img/reiter/_spacer_cccccc.gif">&#160;</td><td width="475" class="body">
+<table width="475" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td class="title" height="125" width="275" valign="bottom">Ayuda para la búsqueda</td><td height="125" width="200" valign="bottom"><img src="../img/reiter/robots.gif"></td>
+</tr>
+</table>
+<br class="br">
+<span class="bodytext">
+
+</span><span class="bodytext">
+<h3>B&uacute;squedas</h3>
+</span><span class="bodytext">
+Para buscar con Nutch, simplemente tipea unas palabras.
+</span><span class="bodytext">
+<ul>
+  
+<li>Los resultados solamente incluyen p&aacute;ginas que contienen <span style="font-style: italic;">todas</span> las palabras buscadas.</li>
+  
+<li>Usa comillas a ambos lados de grupos de palabras que deben 
+aparecer en forma adyacente, como una frase, por ejemplo <span style="font-weight: bold;">"Nueva Zelanda"</span>.</li>
+  
+<li>El uso de puntuaci&oacute;n entre palabras tambi&eacute;n resulta en la b&uacute;squeda 
+ de una frase. Por lo tanto, buscar <span style="font-weight: bold;">http://www.apache.org/</span>
+es lo mismo que buscar <span style="font-weight: bold;">"http www
+apache org"</span>.</li>
+  
+<li>La b&uacute;squeda no diferencia entre may&uacute;sculas y min&uacute;sculas, por lo que buscar <span style="font-weight: bold;">NuTcH</span> es equivalente a buscar <span style="font-weight: bold;">nUtCh</span>.</li>
+  
+<li>Se pueden descartar resultados con una palabra dada colocando un signo menos (-) delante de &eacute;sta, por ejemplo la b&uacute;squeda <span style="font-weight: bold;">deportes -golf</span> hallar&aacute; p&aacute;ginas acerca de deportes que no contengan la palabra "golf".</li>
+  
+<li>Eso es todo.</li>
+
+</ul>
+</span><span class="bodytext">
+</span><span class="bodytext">
+<h3>Resultados</h3>
+</span><span class="bodytext">
+Cada p&aacute;gina que aparece en los resultados tiene los siguientes enlaces:
+</span><span class="bodytext">
+<ul>
+  
+<li>(<span style="color: rgb(51, 51, 255);">en cach&eacute;</span>) muestra la versi&oacute;n de la p&aacute;gina visitada por Nutch.</li>
+  
+<li>(<span style="color: rgb(51, 51, 255);">explicar</span>) muestra una explicaci&oacute;n del puntaje de esta p&aacute;gina.</li>
+  
+<li>(<span style="color: rgb(51, 51, 255);">anchors</span>) muestra la lista del texto que aparece en enlaces que apuntan a esta p&aacute;gina.</li>
+
+</ul>
+</span><span class="bodytext">
+
+</span>
+<br class="br">
+<br class="br">
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+  
+<tr>
+    
+<td width="140">&nbsp;</td>
+    <td width="20">&nbsp;</td>
+    <td width="475" align="center">
+    <span class="bodytext">
+    
+<br>
+      
+<a href="../ca/">ca</a> |
+      <a href="../de/">de</a> |
+      <a href="../en/">en</a> |
+      <a href="../es/">es</a> |
+      <a href="../fi/">fi</a> |
+      <a href="../fr/">fr</a> |
+      <a href="../hu/">hu</a> |
+      <a href="../it/">it</a> |
+      <a href="../jp/">jp</a> |
+      <a href="../ms/">ms</a> |
+      <a href="../nl/">nl</a> |
+      <a href="../pl/">pl</a> |
+      <a href="../pt/">pt</a> |
+      <a href="../sh/">sh</a> |
+      <a href="../sr/">sr</a> |
+      <a href="../sv/">sv</a> |
+      <a href="../th/">th</a> |
+      <a href="../zh/">zh</a>
+    </span>
+    </td>
+  
+</tr>
+  
+<tr>
+  
+</tr>
+
+</table>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/ROOT/es/include/header.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/es/include/header.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/es/include/header.html	(revision 66)
@@ -0,0 +1,1 @@
+<?xml version="1.0" encoding="UTF-8"?><!--This file is automatically generated.  Do not edit!--><table cellspacing="0" cellpadding="0" border="0" width="635"><tr><td rowspan="2" width="140" valign="bottom"><a href="./"><img border="0" src="../img/reiter/logo_nutch.gif"/></a><img height="1" width="140" src="../img/reiter/spacer_666666.gif"/></td></tr><tr><td align="right" valign="bottom" width="495"><table width="495" cellspacing="0" cellpadding="0" border="0"><tr><td width="400" background="../img/reiter/_bg_reiter.gif">&#160;</td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le1.gif"/></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="about.html" class="bodytext">Acerca de</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"/></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le.gif"/></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="http://wiki.apache.org/nutch/FAQ" class="bodytext">Preguntas frecuentes</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"/></td></tr></table></td></tr></table>
Index: /nutchez-0.1/tomcat/webapps/ROOT/es/search.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/es/search.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/es/search.html	(revision 66)
@@ -0,0 +1,184 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><!--This page is automatically generated.  Do not edit!-->
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Nutch: </title>
+<style type="text/css">
+
+.menuTd {
+  background-color: #F9F7F4;
+  height: 25px;
+}
+
+.menuTdhover {
+  background-color: #ECE5DC;
+  height: 25px;
+}
+
+.menuEntry {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.body {
+  background-color: #F9F7F4;
+}
+
+.bodytext {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.title {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 26px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.intro {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.orangeTd {
+  background-color: #FF9900
+}
+
+ul {
+  list-style-image: url(../img/reiter/ul.gif)
+}
+
+h3 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 16px;
+  color: #000000;
+}
+
+h4 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 14px;
+  color: #000000;
+}
+
+.url {
+  color: #996600;
+}
+
+.highlight {
+  font-weight: bold;
+}
+
+.ellipsis {
+  font-weight: bold;
+}
+
+</style>
+<link type="image/x-icon" href="../img/favicon.ico" rel="icon">
+<link type="image/x-icon" href="../img/favicon.ico" rel="shortcut icon">
+<script type="text/javascript">
+<!--
+function queryfocus() {
+  search = document.search;
+  if (search != null) { search.query.focus(); }
+}
+// --></script>
+</head>
+<body onLoad="queryfocus();">
+<!--This file is automatically generated.  Do not edit!-->
+<table cellspacing="0" cellpadding="0" border="0" width="635">
+<tr>
+<td rowspan="2" width="140" valign="bottom"><a href="./"><img border="0" src="../img/reiter/logo_nutch.gif"></a><img height="1" width="140" src="../img/reiter/spacer_666666.gif"></td>
+</tr>
+<tr>
+<td align="right" valign="bottom" width="495">
+<table width="495" cellspacing="0" cellpadding="0" border="0">
+<tr>
+<td width="400" background="../img/reiter/_bg_reiter.gif">&nbsp;</td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le1.gif"></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="about.html" class="bodytext">Acerca de</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le.gif"></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="http://wiki.apache.org/nutch/FAQ" class="bodytext">Preguntas frecuentes</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<table cellspacing="0" cellpadding="0" border="0" width="635">
+<tr valign="top">
+<td width="140">
+<table cellspacing="0" cellpadding="0" width="100%">
+<tr>
+<td>&#160;</td>
+</tr>
+</table>
+</td><td background="../img/reiter/_spacer_cccccc.gif" width="20">&#160;</td><td class="body" width="475">
+<table cellspacing="0" cellpadding="0" border="0" width="475">
+<tr>
+<td valign="bottom" width="275" height="125" class="title"></td><td valign="bottom" width="200" height="125"><img src="../img/reiter/robots.gif"></td>
+</tr>
+</table>
+<br class="br">
+<span class="bodytext">
+</span><span class="bodytext">
+<center>
+
+<form name="search" action="../search.jsp" method="get">
+  
+<input type="hidden" name="lang" value="es">
+  <input name="query" size="44">&nbsp;<input type="submit" value="Buscar">
+  <a href="help.html">ayuda</a>
+
+</form>
+
+</center>
+</span><span class="bodytext">
+</span>
+<br class="br">
+<br class="br">
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+  
+<tr>
+    
+<td width="140">&nbsp;</td>
+    <td width="20">&nbsp;</td>
+    <td width="475" align="center">
+    <span class="bodytext">
+    
+<br>
+      
+<a href="../ca/">ca</a> |
+      <a href="../de/">de</a> |
+      <a href="../en/">en</a> |
+      <a href="../es/">es</a> |
+      <a href="../fi/">fi</a> |
+      <a href="../fr/">fr</a> |
+      <a href="../hu/">hu</a> |
+      <a href="../it/">it</a> |
+      <a href="../jp/">jp</a> |
+      <a href="../ms/">ms</a> |
+      <a href="../nl/">nl</a> |
+      <a href="../pl/">pl</a> |
+      <a href="../pt/">pt</a> |
+      <a href="../sh/">sh</a> |
+      <a href="../sr/">sr</a> |
+      <a href="../sv/">sv</a> |
+      <a href="../th/">th</a> |
+      <a href="../zh/">zh</a>
+    </span>
+    </td>
+  
+</tr>
+  
+<tr>
+  
+</tr>
+
+</table>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/ROOT/explain.jsp
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/explain.jsp	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/explain.jsp	(revision 66)
@@ -0,0 +1,81 @@
+<%--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+--%>
+<%@ page 
+  session="false"
+  contentType="text/html; charset=UTF-8"
+  pageEncoding="UTF-8" 
+
+  import="java.io.*"
+  import="java.util.*"
+  import="org.apache.nutch.searcher.*"
+  import="org.apache.hadoop.conf.Configuration"
+  import="org.apache.nutch.util.NutchConfiguration"
+%><%
+  Configuration nutchConf = NutchConfiguration.get(application);
+  NutchBean bean = NutchBean.get(application, nutchConf);
+  // set the character encoding to use when interpreting request values 
+  request.setCharacterEncoding("UTF-8");
+  bean.LOG.info("explain request from " + request.getRemoteAddr());
+  Hit hit = new Hit(Integer.parseInt(request.getParameter("idx")),
+                    request.getParameter("id"));
+  HitDetails details = bean.getDetails(hit);
+  // get the lang from request
+  String queryLang = request.getParameter("lang");
+  if (queryLang == null) { queryLang = ""; }
+  Query query = Query.parse(request.getParameter("query"), queryLang, nutchConf);
+  String language =
+    ResourceBundle.getBundle("org.nutch.jsp.explain", request.getLocale())
+    .getLocale().getLanguage();
+  String requestURI = HttpUtils.getRequestURL(request).toString();
+  String base = requestURI.substring(0, requestURI.lastIndexOf('/'));
+%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<%
+  // To prevent the character encoding declared with 'contentType' page
+  // directive from being overriden by JSTL (apache i18n), we freeze it
+  // by flushing the output buffer. 
+  // see http://java.sun.com/developer/technicalArticles/Intl/MultilingualJSP/
+  out.flush();
+%>
+<%@ taglib uri="http://jakarta.apache.org/taglibs/i18n" prefix="i18n" %>
+<i18n:bundle baseName="org.nutch.jsp.explain"/>
+<html lang="<%= language %>">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<head>
+<title>Nutch: <i18n:message key="title"/></title>
+<jsp:include page="/include/style.html"/>
+<base href="<%= base  + "/" + language %>/">
+</head>
+
+<body>
+
+<jsp:include page="<%= language + \"/include/header.html\"%>"/>
+
+<h3><i18n:message key="page"/></h3>
+
+<%=bean.getDetails(hit).toHtml()%>
+
+<h3><i18n:message key="scoreForQuery">
+  <i18n:messageArg value="<%=query%>"/>
+</i18n:message>
+</h3>
+
+<%=bean.getExplanation(query, hit)%>
+
+<jsp:include page="/include/footer.html"/>
+
+</body>     
+</html>
Index: /nutchez-0.1/tomcat/webapps/ROOT/fi/about.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/fi/about.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/fi/about.html	(revision 66)
@@ -0,0 +1,233 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><!--This page is automatically generated.  Do not edit!-->
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Nutch: projektista</title>
+<style type="text/css">
+
+.menuTd {
+  background-color: #F9F7F4;
+  height: 25px;
+}
+
+.menuTdhover {
+  background-color: #ECE5DC;
+  height: 25px;
+}
+
+.menuEntry {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.body {
+  background-color: #F9F7F4;
+}
+
+.bodytext {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.title {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 26px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.intro {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.orangeTd {
+  background-color: #FF9900
+}
+
+ul {
+  list-style-image: url(../img/reiter/ul.gif)
+}
+
+h3 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 16px;
+  color: #000000;
+}
+
+h4 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 14px;
+  color: #000000;
+}
+
+.url {
+  color: #996600;
+}
+
+.highlight {
+  font-weight: bold;
+}
+
+.ellipsis {
+  font-weight: bold;
+}
+
+</style>
+<link rel="icon" href="../img/favicon.ico" type="image/x-icon">
+<link rel="shortcut icon" href="../img/favicon.ico" type="image/x-icon">
+<script type="text/javascript">
+<!--
+function queryfocus() {
+  search = document.search;
+  if (search != null) { search.query.focus(); }
+}
+// --></script>
+</head>
+<body onLoad="queryfocus();">
+<!--This file is automatically generated.  Do not edit!-->
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td valign="bottom" width="140" rowspan="2"><a href="./"><img src="../img/reiter/logo_nutch.gif" border="0"></a><img src="../img/reiter/spacer_666666.gif" width="140" height="1"></td>
+</tr>
+<tr>
+<td width="495" valign="bottom" align="right">
+<table border="0" cellpadding="0" cellspacing="0" width="495">
+<tr>
+<td background="../img/reiter/_bg_reiter.gif" width="400">&nbsp;</td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le1.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="about.html">Projektista</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="http://wiki.apache.org/nutch/FAQ">FAQ</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr valign="top">
+<td width="140">
+<table width="100%" cellpadding="0" cellspacing="0">
+<tr class="menuTd" height="25">
+<td class="menuTd" onmouseover="this.className='menuTdhover';" onmouseout="this.className='menuTd'" width="100%">&#160;:: <a href="http://lucene.apache.org/nutch/credits.html" class="menuEntry">Tekij&auml;t</a></td>
+</tr>
+<tr height="1px">
+<td><img src="../img/reiter/spacer_666666.gif" height="1" width="100%"></td>
+</tr>
+<tr class="menuTd" height="25">
+<td class="menuTd" onmouseover="this.className='menuTdhover';" onmouseout="this.className='menuTd'" width="100%">&#160;:: <a href="http://lucene.apache.org/nutch/index.html" class="menuEntry">Projektin tila</a></td>
+</tr>
+<tr height="1px">
+<td><img src="../img/reiter/spacer_666666.gif" height="1" width="100%"></td>
+</tr>
+<tr>
+<td>&#160;</td>
+</tr>
+</table>
+</td><td width="20" background="../img/reiter/_spacer_cccccc.gif">&#160;</td><td width="475" class="body">
+<table width="475" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td class="title" height="125" width="275" valign="bottom">projektista</td><td height="125" width="200" valign="bottom"><img src="../img/reiter/robots.gif"></td>
+</tr>
+</table>
+<br class="br">
+<span class="bodytext">
+
+</span><span class="intro">
+<p>Nutch on syntyvaiheessa oleva avoimen l&auml;hdekoodin verkkohakukone.</p>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>Verkkohaku on internet-navigaation perusehto, mutta siit&auml; huolimatta
+hakukoneiden lukum&auml;&auml;r&auml; on v&auml;henem&auml;ss&auml;. Nykyinen oligopoli voi pian muuttua
+monopoliksi, jossa yksi yhti&ouml; hallitsee l&auml;hes kaikkia verkkohakuja, omaksi
+taloudelliseksi hy&ouml;dykseen. T&auml;m&auml; ei olisi hyv&auml;ksi Internetin k&auml;ytt&auml;jille.</p>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>Nutch tarjoaa l&auml;pin&auml;kyv&auml;n vaihtoehdon kaupallisille hakukoneille. Vain
+avoimeen l&auml;hdekoodiin perustuvien hakutulosten puolueettomuuteen voidaan
+luottaa. (Tai ainakin niiden puolueellisuus on julkista.) Kaikkien
+merkitt&auml;vien olemassa olevien hakukoneiden j&auml;rjestelyperusteet ovat salaisia,
+eiv&auml;tk&auml; koneiden tekij&auml;t selit&auml; miksi tietty sivu saa tietyn sijoituksen.
+Lis&auml;ksi tietyt hakukoneet p&auml;&auml;tt&auml;v&auml;t luetteloimistaan sivuista maksun
+perusteella, luetteloitavien sivujen hyvyyden asemesta. Nutchilla taas ei ole
+mit&auml;&auml;n salattavaa tai syyt&auml; v&auml;&auml;ristell&auml; hakukoneensa tuloksia, tai robottinsa
+toimintaa, ellei seurauksena ole parempia hakutuloksia k&auml;ytt&auml;jille.</p>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>Nutch yritt&auml;&auml; mahdollistaa sen, ett&auml; kaikki voivat helposti ja halvalla tuoda
+n&auml;kyville maailmanluokan hakukoneen. T&auml;m&auml; on mittava haaste. Onnistuakseen
+Nutchin t&auml;ytyy pysty&auml;:</p>
+</span><span class="bodytext">
+</span><span class="bodytext">
+<ul>
+  
+<li>noutamaan useita miljardeja sivuja kuukaudessa</li>
+  
+<li>yll&auml;pit&auml;m&auml;&auml;n hakemistoa n&auml;ist&auml; sivuista</li>
+  
+<li>hakemaan hakemistosta tuhatkunta kertaa sekunnissa</li>
+  
+<li>tarjoamaan eritt&auml;in korkeatasoisia hakutuloksia</li>
+  
+<li>toimimaan mahdollisimman alhaisin kustannuksin</li>
+
+</ul>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>Ongelma on haastava. Jos uskot projektin mahdollisuuksiin voit auttaa joko sen
+<a href="http://www.apache.org/dev/">kehitt&auml;misess&auml;</a> tai <a href="http://www.apache.org/foundation/contributing.html">lahjoittamalla sille varoja</a>.</p>
+</span><span class="bodytext">
+
+</span>
+<br class="br">
+<br class="br">
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+  
+<tr>
+    
+<td width="140">&nbsp;</td>
+    <td width="20">&nbsp;</td>
+    <td width="475" align="center">
+    <span class="bodytext">
+    
+<br>
+      
+<a href="../ca/">ca</a> |
+      <a href="../de/">de</a> |
+      <a href="../en/">en</a> |
+      <a href="../es/">es</a> |
+      <a href="../fi/">fi</a> |
+      <a href="../fr/">fr</a> |
+      <a href="../hu/">hu</a> |
+      <a href="../it/">it</a> |
+      <a href="../jp/">jp</a> |
+      <a href="../ms/">ms</a> |
+      <a href="../nl/">nl</a> |
+      <a href="../pl/">pl</a> |
+      <a href="../pt/">pt</a> |
+      <a href="../sh/">sh</a> |
+      <a href="../sr/">sr</a> |
+      <a href="../sv/">sv</a> |
+      <a href="../th/">th</a> |
+      <a href="../zh/">zh</a>
+    </span>
+    </td>
+  
+</tr>
+  
+<tr>
+  
+</tr>
+
+</table>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/ROOT/fi/help.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/fi/help.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/fi/help.html	(revision 66)
@@ -0,0 +1,224 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><!--This page is automatically generated.  Do not edit!-->
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Nutch: apua</title>
+<style type="text/css">
+
+.menuTd {
+  background-color: #F9F7F4;
+  height: 25px;
+}
+
+.menuTdhover {
+  background-color: #ECE5DC;
+  height: 25px;
+}
+
+.menuEntry {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.body {
+  background-color: #F9F7F4;
+}
+
+.bodytext {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.title {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 26px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.intro {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.orangeTd {
+  background-color: #FF9900
+}
+
+ul {
+  list-style-image: url(../img/reiter/ul.gif)
+}
+
+h3 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 16px;
+  color: #000000;
+}
+
+h4 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 14px;
+  color: #000000;
+}
+
+.url {
+  color: #996600;
+}
+
+.highlight {
+  font-weight: bold;
+}
+
+.ellipsis {
+  font-weight: bold;
+}
+
+</style>
+<link rel="icon" href="../img/favicon.ico" type="image/x-icon">
+<link rel="shortcut icon" href="../img/favicon.ico" type="image/x-icon">
+<script type="text/javascript">
+<!--
+function queryfocus() {
+  search = document.search;
+  if (search != null) { search.query.focus(); }
+}
+// --></script>
+</head>
+<body onLoad="queryfocus();">
+<!--This file is automatically generated.  Do not edit!-->
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td valign="bottom" width="140" rowspan="2"><a href="./"><img src="../img/reiter/logo_nutch.gif" border="0"></a><img src="../img/reiter/spacer_666666.gif" width="140" height="1"></td>
+</tr>
+<tr>
+<td width="495" valign="bottom" align="right">
+<table border="0" cellpadding="0" cellspacing="0" width="495">
+<tr>
+<td background="../img/reiter/_bg_reiter.gif" width="400">&nbsp;</td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le1.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="about.html">Projektista</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="http://wiki.apache.org/nutch/FAQ">FAQ</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr valign="top">
+<td width="140">
+<table width="100%" cellpadding="0" cellspacing="0">
+<tr>
+<td>&#160;</td>
+</tr>
+</table>
+</td><td width="20" background="../img/reiter/_spacer_cccccc.gif">&#160;</td><td width="475" class="body">
+<table width="475" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td class="title" height="125" width="275" valign="bottom">apua</td><td height="125" width="200" valign="bottom"><img src="../img/reiter/robots.gif"></td>
+</tr>
+</table>
+<br class="br">
+<span class="bodytext">
+
+</span><span class="bodytext">
+<h3>Kyselyt</h3>
+</span><span class="bodytext">
+Etsi&auml;ksesi Nutchilla kirjoita vain muutama hakusana.
+</span><span class="bodytext">
+<ul>
+  
+<li>Tulokset sis&auml;lt&auml;v&auml;t vain sivuja, joilla
+      <span style="font-style: italic;">kaikki</span> hakusanat
+      esiintyv&auml;t.</li>
+  
+<li>K&auml;yt&auml; lainausmerkkej&auml; sellaisten sanojen ymp&auml;rill&auml;, joiden pit&auml;&auml; esiinty&auml;
+      yhten&auml;isen&auml; rypp&auml;&auml;n&auml;. Esimerkiksi:
+      <span style="font-weight: bold;">"Yhdistyneet kansakunnat"</span>.</li>
+  
+<li>V&auml;limerkit sanojen v&auml;liss&auml; katkaisevat hakutermin. On samantekev&auml;&auml; etsitk&ouml;
+      hakusanalla <span style="font-weight: bold;">http://www.apache.org/</span>
+      vai sanoilla <span style="font-weight: bold;">"http www apache org"</span>.</li>
+  
+<li>Haut eiv&auml;t katso kirjaimen kokoon, eli hakusana
+      <span style="font-weight: bold;">NuTcH</span> on sama kuin
+      <span style="font-weight: bold;">nUtCh</span>.</li>
+  
+<li>Voit est&auml;&auml; hakusanaa ilmaantumasta tuloksissa liitt&auml;m&auml;ll&auml; sen eteen
+      miinus-merkin; <span style="font-weight: bold;">jalkapallo -nfl</span>
+      etsii sivut joilla puhutaan jalkapallosta mutta jotka eiv&auml;t k&auml;yt&auml; sanaa
+      "nfl".</li>
+  
+<li>Se siit&auml;!</li>
+
+</ul>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<h3>Tulokset</h3>
+</span><span class="bodytext">
+Kukin hakutulos tuottaa seuraavat linkit:
+</span><span class="bodytext">
+<ul>
+  
+<li>(<span style="color: rgb(51, 51, 255);">v&auml;limuistissa</span>) n&auml;ytt&auml;&auml;
+      Nutchin lataaman version sivusta.</li>
+  
+<li>(<span style="color: rgb(51, 51, 255);">selit&auml;</span>) selitt&auml;&auml; miksi sivu
+      sijoitettiin t&auml;ll&auml; tavalla.</li>
+  
+<li>(<span style="color: rgb(51, 51, 255);">linkit</span>) n&auml;ytt&auml;&auml; sivulle
+      viittaavat luetteloidut linkit.</li>
+
+</ul>
+</span><span class="bodytext">
+
+</span>
+<br class="br">
+<br class="br">
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+  
+<tr>
+    
+<td width="140">&nbsp;</td>
+    <td width="20">&nbsp;</td>
+    <td width="475" align="center">
+    <span class="bodytext">
+    
+<br>
+      
+<a href="../ca/">ca</a> |
+      <a href="../de/">de</a> |
+      <a href="../en/">en</a> |
+      <a href="../es/">es</a> |
+      <a href="../fi/">fi</a> |
+      <a href="../fr/">fr</a> |
+      <a href="../hu/">hu</a> |
+      <a href="../it/">it</a> |
+      <a href="../jp/">jp</a> |
+      <a href="../ms/">ms</a> |
+      <a href="../nl/">nl</a> |
+      <a href="../pl/">pl</a> |
+      <a href="../pt/">pt</a> |
+      <a href="../sh/">sh</a> |
+      <a href="../sr/">sr</a> |
+      <a href="../sv/">sv</a> |
+      <a href="../th/">th</a> |
+      <a href="../zh/">zh</a>
+    </span>
+    </td>
+  
+</tr>
+  
+<tr>
+  
+</tr>
+
+</table>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/ROOT/fi/include/header.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/fi/include/header.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/fi/include/header.html	(revision 66)
@@ -0,0 +1,1 @@
+<?xml version="1.0" encoding="UTF-8"?><!--This file is automatically generated.  Do not edit!--><table cellspacing="0" cellpadding="0" border="0" width="635"><tr><td rowspan="2" width="140" valign="bottom"><a href="./"><img border="0" src="../img/reiter/logo_nutch.gif"/></a><img height="1" width="140" src="../img/reiter/spacer_666666.gif"/></td></tr><tr><td align="right" valign="bottom" width="495"><table width="495" cellspacing="0" cellpadding="0" border="0"><tr><td width="400" background="../img/reiter/_bg_reiter.gif">&#160;</td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le1.gif"/></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="about.html" class="bodytext">Projektista</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"/></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le.gif"/></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="http://wiki.apache.org/nutch/FAQ" class="bodytext">FAQ</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"/></td></tr></table></td></tr></table>
Index: /nutchez-0.1/tomcat/webapps/ROOT/fi/search.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/fi/search.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/fi/search.html	(revision 66)
@@ -0,0 +1,184 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><!--This page is automatically generated.  Do not edit!-->
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Nutch: </title>
+<style type="text/css">
+
+.menuTd {
+  background-color: #F9F7F4;
+  height: 25px;
+}
+
+.menuTdhover {
+  background-color: #ECE5DC;
+  height: 25px;
+}
+
+.menuEntry {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.body {
+  background-color: #F9F7F4;
+}
+
+.bodytext {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.title {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 26px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.intro {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.orangeTd {
+  background-color: #FF9900
+}
+
+ul {
+  list-style-image: url(../img/reiter/ul.gif)
+}
+
+h3 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 16px;
+  color: #000000;
+}
+
+h4 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 14px;
+  color: #000000;
+}
+
+.url {
+  color: #996600;
+}
+
+.highlight {
+  font-weight: bold;
+}
+
+.ellipsis {
+  font-weight: bold;
+}
+
+</style>
+<link type="image/x-icon" href="../img/favicon.ico" rel="icon">
+<link type="image/x-icon" href="../img/favicon.ico" rel="shortcut icon">
+<script type="text/javascript">
+<!--
+function queryfocus() {
+  search = document.search;
+  if (search != null) { search.query.focus(); }
+}
+// --></script>
+</head>
+<body onLoad="queryfocus();">
+<!--This file is automatically generated.  Do not edit!-->
+<table cellspacing="0" cellpadding="0" border="0" width="635">
+<tr>
+<td rowspan="2" width="140" valign="bottom"><a href="./"><img border="0" src="../img/reiter/logo_nutch.gif"></a><img height="1" width="140" src="../img/reiter/spacer_666666.gif"></td>
+</tr>
+<tr>
+<td align="right" valign="bottom" width="495">
+<table width="495" cellspacing="0" cellpadding="0" border="0">
+<tr>
+<td width="400" background="../img/reiter/_bg_reiter.gif">&nbsp;</td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le1.gif"></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="about.html" class="bodytext">Projektista</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le.gif"></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="http://wiki.apache.org/nutch/FAQ" class="bodytext">FAQ</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<table cellspacing="0" cellpadding="0" border="0" width="635">
+<tr valign="top">
+<td width="140">
+<table cellspacing="0" cellpadding="0" width="100%">
+<tr>
+<td>&#160;</td>
+</tr>
+</table>
+</td><td background="../img/reiter/_spacer_cccccc.gif" width="20">&#160;</td><td class="body" width="475">
+<table cellspacing="0" cellpadding="0" border="0" width="475">
+<tr>
+<td valign="bottom" width="275" height="125" class="title"></td><td valign="bottom" width="200" height="125"><img src="../img/reiter/robots.gif"></td>
+</tr>
+</table>
+<br class="br">
+<span class="bodytext">
+</span><span class="bodytext">
+<center>
+
+<form name="search" action="../search.jsp" method="get">
+  
+<input type="hidden" name="lang" value="fi">
+  <input name="query" size="44">&nbsp;<input type="submit" value="Hae">
+  <a href="help.html">Apua</a>
+
+</form>
+
+</center>
+</span><span class="bodytext">
+</span>
+<br class="br">
+<br class="br">
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+  
+<tr>
+    
+<td width="140">&nbsp;</td>
+    <td width="20">&nbsp;</td>
+    <td width="475" align="center">
+    <span class="bodytext">
+    
+<br>
+      
+<a href="../ca/">ca</a> |
+      <a href="../de/">de</a> |
+      <a href="../en/">en</a> |
+      <a href="../es/">es</a> |
+      <a href="../fi/">fi</a> |
+      <a href="../fr/">fr</a> |
+      <a href="../hu/">hu</a> |
+      <a href="../it/">it</a> |
+      <a href="../jp/">jp</a> |
+      <a href="../ms/">ms</a> |
+      <a href="../nl/">nl</a> |
+      <a href="../pl/">pl</a> |
+      <a href="../pt/">pt</a> |
+      <a href="../sh/">sh</a> |
+      <a href="../sr/">sr</a> |
+      <a href="../sv/">sv</a> |
+      <a href="../th/">th</a> |
+      <a href="../zh/">zh</a>
+    </span>
+    </td>
+  
+</tr>
+  
+<tr>
+  
+</tr>
+
+</table>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/ROOT/fr/about.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/fr/about.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/fr/about.html	(revision 66)
@@ -0,0 +1,224 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><!--This page is automatically generated.  Do not edit!-->
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Nutch: A propos de Nutch</title>
+<style type="text/css">
+
+.menuTd {
+  background-color: #F9F7F4;
+  height: 25px;
+}
+
+.menuTdhover {
+  background-color: #ECE5DC;
+  height: 25px;
+}
+
+.menuEntry {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.body {
+  background-color: #F9F7F4;
+}
+
+.bodytext {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.title {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 26px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.intro {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.orangeTd {
+  background-color: #FF9900
+}
+
+ul {
+  list-style-image: url(../img/reiter/ul.gif)
+}
+
+h3 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 16px;
+  color: #000000;
+}
+
+h4 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 14px;
+  color: #000000;
+}
+
+.url {
+  color: #996600;
+}
+
+.highlight {
+  font-weight: bold;
+}
+
+.ellipsis {
+  font-weight: bold;
+}
+
+</style>
+<link rel="icon" href="../img/favicon.ico" type="image/x-icon">
+<link rel="shortcut icon" href="../img/favicon.ico" type="image/x-icon">
+<script type="text/javascript">
+<!--
+function queryfocus() {
+  search = document.search;
+  if (search != null) { search.query.focus(); }
+}
+// --></script>
+</head>
+<body onLoad="queryfocus();">
+<!--This file is automatically generated.  Do not edit!-->
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td valign="bottom" width="140" rowspan="2"><a href="./"><img src="../img/reiter/logo_nutch.gif" border="0"></a><img src="../img/reiter/spacer_666666.gif" width="140" height="1"></td>
+</tr>
+<tr>
+<td width="495" valign="bottom" align="right">
+<table border="0" cellpadding="0" cellspacing="0" width="495">
+<tr>
+<td background="../img/reiter/_bg_reiter.gif" width="400">&nbsp;</td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le1.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="about.html">A propos</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="http://wiki.apache.org/nutch/FAQ">Questions fr&eacute;quentes</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr valign="top">
+<td width="140">
+<table width="100%" cellpadding="0" cellspacing="0">
+<tr>
+<td>&#160;</td>
+</tr>
+</table>
+</td><td width="20" background="../img/reiter/_spacer_cccccc.gif">&#160;</td><td width="475" class="body">
+<table width="475" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td class="title" height="125" width="275" valign="bottom">A propos de Nutch</td><td height="125" width="200" valign="bottom"><img src="../img/reiter/robots.gif"></td>
+</tr>
+</table>
+<br class="br">
+<span class="bodytext">
+
+</span><span class="intro">
+<p>Le projet Nutch a pour but le d&eacute;veloppement d'un moteur de
+recherche open source pour le web.</p>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>Bien que les moteurs de recherche soient indispensables pour naviguer sur Internet, 
+ leur nombre est en diminution. Ce qui aujourd'hui est un oligopole pourrait
+ se changer rapidement en monopole, o&ugrave; une seule entreprise contr&ocirc;lerait presque
+ toute la recherche sur le web pour son profit commercial. Cela ne serait pas bon pour 
+ les utilisateurs d'Internet.</p>
+</span><span class="bodytext">
+  
+</span><span class="bodytext">
+<p>Nutch constitue une alternative transparente aux moteurs de recherche commerciaux.
+  Seuls les r&eacute;sultats d'un syst&egrave;me de recherche open source peuvent &ecirc;tre garantis comme n'&eacute;tant pas
+  fauss&eacute;s (ou du moins le biais serait publique). Tous les principaux moteurs de recherche 
+  ont des formules de classement propri&eacute;taires et n'expliqueront jamais pourquoi telle 
+  ou telle page a &eacute;t&eacute; class&eacute;e d'une certaine fa&ccedil;on. De plus, certains moteurs de recherche
+  choisissent les sites &agrave; indexer en &eacute;change d'une r&eacute;mun&eacute;ration plus que sur la valeur 
+  intrins&egrave;que du site. Nutch, lui, n'a rien &agrave; cacher et n'a aucune raison de fausser  
+  ses r&eacute;sultats ou son crawling si ce n'est pour donner &agrave; chaque utilisateur les meilleurs 
+  r&eacute;sultats possibles.</p>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>Nutch a pour but de permettre &agrave; quiconque de mettre en place un moteur de recherche web 
+facilement et &agrave; moindre frais. Ce n'est pas une mince affaire. Pour y parvenir, le logiciel Nutch doit
+ &ecirc;tre capable de :</p>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<ul>
+  
+<li>r&eacute;cup&eacute;rer plusieurs milliards de pages par mois</li>
+  
+<li>maintenir un index de ces pages</li>
+  
+<li>faire des recherches sur cet index jusqu'&agrave; un millier de fois par seconde</li>
+  
+<li>offrir des r&eacute;sultats de tr&egrave;s haute qualit&eacute;</li>
+  
+<li>fonctionner &agrave; moindre co&ucirc;t</li>
+
+</ul>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>C'est un d&eacute;fi de taille.  Si vous croyez dans les m&eacute;rites de ce projet, merci d'y contribuer en 
+tant que <a href="http://www.apache.org/dev/">d&eacute;veloppeur</a> ou bien en <a href="http://www.apache.org/foundation/contributing.html">faisant un don</a>.
+</p>
+</span><span class="bodytext">
+</span>
+<br class="br">
+<br class="br">
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+  
+<tr>
+    
+<td width="140">&nbsp;</td>
+    <td width="20">&nbsp;</td>
+    <td width="475" align="center">
+    <span class="bodytext">
+    
+<br>
+      
+<a href="../ca/">ca</a> |
+      <a href="../de/">de</a> |
+      <a href="../en/">en</a> |
+      <a href="../es/">es</a> |
+      <a href="../fi/">fi</a> |
+      <a href="../fr/">fr</a> |
+      <a href="../hu/">hu</a> |
+      <a href="../it/">it</a> |
+      <a href="../jp/">jp</a> |
+      <a href="../ms/">ms</a> |
+      <a href="../nl/">nl</a> |
+      <a href="../pl/">pl</a> |
+      <a href="../pt/">pt</a> |
+      <a href="../sh/">sh</a> |
+      <a href="../sr/">sr</a> |
+      <a href="../sv/">sv</a> |
+      <a href="../th/">th</a> |
+      <a href="../zh/">zh</a>
+    </span>
+    </td>
+  
+</tr>
+  
+<tr>
+  
+</tr>
+
+</table>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/ROOT/fr/help.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/fr/help.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/fr/help.html	(revision 66)
@@ -0,0 +1,219 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><!--This page is automatically generated.  Do not edit!-->
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Nutch: aide</title>
+<style type="text/css">
+
+.menuTd {
+  background-color: #F9F7F4;
+  height: 25px;
+}
+
+.menuTdhover {
+  background-color: #ECE5DC;
+  height: 25px;
+}
+
+.menuEntry {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.body {
+  background-color: #F9F7F4;
+}
+
+.bodytext {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.title {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 26px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.intro {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.orangeTd {
+  background-color: #FF9900
+}
+
+ul {
+  list-style-image: url(../img/reiter/ul.gif)
+}
+
+h3 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 16px;
+  color: #000000;
+}
+
+h4 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 14px;
+  color: #000000;
+}
+
+.url {
+  color: #996600;
+}
+
+.highlight {
+  font-weight: bold;
+}
+
+.ellipsis {
+  font-weight: bold;
+}
+
+</style>
+<link rel="icon" href="../img/favicon.ico" type="image/x-icon">
+<link rel="shortcut icon" href="../img/favicon.ico" type="image/x-icon">
+<script type="text/javascript">
+<!--
+function queryfocus() {
+  search = document.search;
+  if (search != null) { search.query.focus(); }
+}
+// --></script>
+</head>
+<body onLoad="queryfocus();">
+<!--This file is automatically generated.  Do not edit!-->
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td valign="bottom" width="140" rowspan="2"><a href="./"><img src="../img/reiter/logo_nutch.gif" border="0"></a><img src="../img/reiter/spacer_666666.gif" width="140" height="1"></td>
+</tr>
+<tr>
+<td width="495" valign="bottom" align="right">
+<table border="0" cellpadding="0" cellspacing="0" width="495">
+<tr>
+<td background="../img/reiter/_bg_reiter.gif" width="400">&nbsp;</td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le1.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="about.html">A propos</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="http://wiki.apache.org/nutch/FAQ">Questions fr&eacute;quentes</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr valign="top">
+<td width="140">
+<table width="100%" cellpadding="0" cellspacing="0">
+<tr>
+<td>&#160;</td>
+</tr>
+</table>
+</td><td width="20" background="../img/reiter/_spacer_cccccc.gif">&#160;</td><td width="475" class="body">
+<table width="475" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td class="title" height="125" width="275" valign="bottom">aide</td><td height="125" width="200" valign="bottom"><img src="../img/reiter/robots.gif"></td>
+</tr>
+</table>
+<br class="br">
+<span class="bodytext">
+
+</span><span class="bodytext">
+<h3>Requ&ecirc;tes</h3>
+</span><span class="bodytext">
+Pour effectuer une recherche avec Nutch, il suffit de saisir quelques mots.
+</span><span class="bodytext">
+<ul>
+  
+<li>Les r&eacute;sultats contiendront uniquement les pages qui contiennent
+<span style="font-style: italic;">tous</span> les mots de la question.</li>
+  
+<li>Utilisez les doubles chevrons autour des termes qui doivent &ecirc;tre adjacents,
+comme dans le cas d'une phrase. Par exemple <span style="font-weight: bold;">
+"Nouvelle Z&eacute;lande"</span>.</li>
+  
+<li>La ponctuation entre les mots est ignor&eacute;e. Ainsi, la recherche 
+<span style="font-weight: bold;">http://www.apache.org/</span> est &eacute;quivalente &agrave;
+<span style="font-weight: bold;">"http www apache org"</span>.</li>
+  
+<li>La recherche n'est pas sensible &agrave; la casse. Ainsi, la recherche
+<span style="font-weight: bold;">NuTcH</span> est &eacute;quivalente &agrave; <span style="font-weight: bold;">nUtCh</span>.</li>
+  
+<li>Vous pouvez exclure un mot des r&eacute;sultats en pla&ccedil;ant un signe moins
+devant. Ainsi, la recherche <span style="font-weight: bold;">football
+-nfl</span> retournera les pages qui parlent de football, mais qui ne contiennent
+pas le mot "nfl".</li>
+
+</ul>
+</span><span class="bodytext">
+</span><span class="bodytext">
+<h3>R&eacute;sultats</h3>
+</span><span class="bodytext">
+Chaque page affich&eacute;e dans la liste des r&eacute;sultats propose les liens suivants:
+</span><span class="bodytext">
+<ul>
+  
+<li>(<span style="color: rgb(51, 51, 255);">En cache</span>) affiche la version
+de la page t&eacute;l&eacute;charg&eacute;e par Nutch.</li>
+  
+<li>(<span style="color: rgb(51, 51, 255);">Explications</span>) affiche des explications
+sur la mani&egrave;re dont le score de la page a &eacute;t&eacute; calcul&eacute;.</li>
+  
+<li>(<span style="color: rgb(51, 51, 255);">Ancres</span>) affiche la liste des documents
+index&eacute;s pointant vers cette page.</li>
+
+</ul>
+</span><span class="bodytext">
+
+</span>
+<br class="br">
+<br class="br">
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+  
+<tr>
+    
+<td width="140">&nbsp;</td>
+    <td width="20">&nbsp;</td>
+    <td width="475" align="center">
+    <span class="bodytext">
+    
+<br>
+      
+<a href="../ca/">ca</a> |
+      <a href="../de/">de</a> |
+      <a href="../en/">en</a> |
+      <a href="../es/">es</a> |
+      <a href="../fi/">fi</a> |
+      <a href="../fr/">fr</a> |
+      <a href="../hu/">hu</a> |
+      <a href="../it/">it</a> |
+      <a href="../jp/">jp</a> |
+      <a href="../ms/">ms</a> |
+      <a href="../nl/">nl</a> |
+      <a href="../pl/">pl</a> |
+      <a href="../pt/">pt</a> |
+      <a href="../sh/">sh</a> |
+      <a href="../sr/">sr</a> |
+      <a href="../sv/">sv</a> |
+      <a href="../th/">th</a> |
+      <a href="../zh/">zh</a>
+    </span>
+    </td>
+  
+</tr>
+  
+<tr>
+  
+</tr>
+
+</table>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/ROOT/fr/include/header.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/fr/include/header.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/fr/include/header.html	(revision 66)
@@ -0,0 +1,1 @@
+<?xml version="1.0" encoding="UTF-8"?><!--This file is automatically generated.  Do not edit!--><table cellspacing="0" cellpadding="0" border="0" width="635"><tr><td rowspan="2" width="140" valign="bottom"><a href="./"><img border="0" src="../img/reiter/logo_nutch.gif"/></a><img height="1" width="140" src="../img/reiter/spacer_666666.gif"/></td></tr><tr><td align="right" valign="bottom" width="495"><table width="495" cellspacing="0" cellpadding="0" border="0"><tr><td width="400" background="../img/reiter/_bg_reiter.gif">&#160;</td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le1.gif"/></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="about.html" class="bodytext">A propos</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"/></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le.gif"/></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="http://wiki.apache.org/nutch/FAQ" class="bodytext">Questions fréquentes</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"/></td></tr></table></td></tr></table>
Index: /nutchez-0.1/tomcat/webapps/ROOT/fr/search.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/fr/search.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/fr/search.html	(revision 66)
@@ -0,0 +1,184 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><!--This page is automatically generated.  Do not edit!-->
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Nutch: </title>
+<style type="text/css">
+
+.menuTd {
+  background-color: #F9F7F4;
+  height: 25px;
+}
+
+.menuTdhover {
+  background-color: #ECE5DC;
+  height: 25px;
+}
+
+.menuEntry {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.body {
+  background-color: #F9F7F4;
+}
+
+.bodytext {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.title {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 26px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.intro {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.orangeTd {
+  background-color: #FF9900
+}
+
+ul {
+  list-style-image: url(../img/reiter/ul.gif)
+}
+
+h3 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 16px;
+  color: #000000;
+}
+
+h4 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 14px;
+  color: #000000;
+}
+
+.url {
+  color: #996600;
+}
+
+.highlight {
+  font-weight: bold;
+}
+
+.ellipsis {
+  font-weight: bold;
+}
+
+</style>
+<link type="image/x-icon" href="../img/favicon.ico" rel="icon">
+<link type="image/x-icon" href="../img/favicon.ico" rel="shortcut icon">
+<script type="text/javascript">
+<!--
+function queryfocus() {
+  search = document.search;
+  if (search != null) { search.query.focus(); }
+}
+// --></script>
+</head>
+<body onLoad="queryfocus();">
+<!--This file is automatically generated.  Do not edit!-->
+<table cellspacing="0" cellpadding="0" border="0" width="635">
+<tr>
+<td rowspan="2" width="140" valign="bottom"><a href="./"><img border="0" src="../img/reiter/logo_nutch.gif"></a><img height="1" width="140" src="../img/reiter/spacer_666666.gif"></td>
+</tr>
+<tr>
+<td align="right" valign="bottom" width="495">
+<table width="495" cellspacing="0" cellpadding="0" border="0">
+<tr>
+<td width="400" background="../img/reiter/_bg_reiter.gif">&nbsp;</td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le1.gif"></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="about.html" class="bodytext">A propos</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le.gif"></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="http://wiki.apache.org/nutch/FAQ" class="bodytext">Questions fr&eacute;quentes</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<table cellspacing="0" cellpadding="0" border="0" width="635">
+<tr valign="top">
+<td width="140">
+<table cellspacing="0" cellpadding="0" width="100%">
+<tr>
+<td>&#160;</td>
+</tr>
+</table>
+</td><td background="../img/reiter/_spacer_cccccc.gif" width="20">&#160;</td><td class="body" width="475">
+<table cellspacing="0" cellpadding="0" border="0" width="475">
+<tr>
+<td valign="bottom" width="275" height="125" class="title"></td><td valign="bottom" width="200" height="125"><img src="../img/reiter/robots.gif"></td>
+</tr>
+</table>
+<br class="br">
+<span class="bodytext">
+</span><span class="bodytext">
+<center>
+
+<form name="search" action="../search.jsp" method="get">
+  
+<input type="hidden" name="lang" value="fr">
+  <input name="query" size="44">&nbsp;<input type="submit" value="Recherche">
+  <a href="help.html">Aide</a>
+
+</form>
+
+</center>
+</span><span class="bodytext">
+</span>
+<br class="br">
+<br class="br">
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+  
+<tr>
+    
+<td width="140">&nbsp;</td>
+    <td width="20">&nbsp;</td>
+    <td width="475" align="center">
+    <span class="bodytext">
+    
+<br>
+      
+<a href="../ca/">ca</a> |
+      <a href="../de/">de</a> |
+      <a href="../en/">en</a> |
+      <a href="../es/">es</a> |
+      <a href="../fi/">fi</a> |
+      <a href="../fr/">fr</a> |
+      <a href="../hu/">hu</a> |
+      <a href="../it/">it</a> |
+      <a href="../jp/">jp</a> |
+      <a href="../ms/">ms</a> |
+      <a href="../nl/">nl</a> |
+      <a href="../pl/">pl</a> |
+      <a href="../pt/">pt</a> |
+      <a href="../sh/">sh</a> |
+      <a href="../sr/">sr</a> |
+      <a href="../sv/">sv</a> |
+      <a href="../th/">th</a> |
+      <a href="../zh/">zh</a>
+    </span>
+    </td>
+  
+</tr>
+  
+<tr>
+  
+</tr>
+
+</table>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/ROOT/hu/about.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/hu/about.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/hu/about.html	(revision 66)
@@ -0,0 +1,233 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><!--This page is automatically generated.  Do not edit!-->
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Nutch: névjegy</title>
+<style type="text/css">
+
+.menuTd {
+  background-color: #F9F7F4;
+  height: 25px;
+}
+
+.menuTdhover {
+  background-color: #ECE5DC;
+  height: 25px;
+}
+
+.menuEntry {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.body {
+  background-color: #F9F7F4;
+}
+
+.bodytext {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.title {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 26px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.intro {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.orangeTd {
+  background-color: #FF9900
+}
+
+ul {
+  list-style-image: url(../img/reiter/ul.gif)
+}
+
+h3 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 16px;
+  color: #000000;
+}
+
+h4 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 14px;
+  color: #000000;
+}
+
+.url {
+  color: #996600;
+}
+
+.highlight {
+  font-weight: bold;
+}
+
+.ellipsis {
+  font-weight: bold;
+}
+
+</style>
+<link rel="icon" href="../img/favicon.ico" type="image/x-icon">
+<link rel="shortcut icon" href="../img/favicon.ico" type="image/x-icon">
+<script type="text/javascript">
+<!--
+function queryfocus() {
+  search = document.search;
+  if (search != null) { search.query.focus(); }
+}
+// --></script>
+</head>
+<body onLoad="queryfocus();">
+<!--This file is automatically generated.  Do not edit!-->
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td valign="bottom" width="140" rowspan="2"><a href="./"><img src="../img/reiter/logo_nutch.gif" border="0"></a><img src="../img/reiter/spacer_666666.gif" width="140" height="1"></td>
+</tr>
+<tr>
+<td width="495" valign="bottom" align="right">
+<table border="0" cellpadding="0" cellspacing="0" width="495">
+<tr>
+<td background="../img/reiter/_bg_reiter.gif" width="400">&nbsp;</td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le1.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="about.html">A Nutch-r&oacute;l</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="http://wiki.apache.org/nutch/FAQ">GYIK</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr valign="top">
+<td width="140">
+<table width="100%" cellpadding="0" cellspacing="0">
+<tr class="menuTd" height="25">
+<td class="menuTd" onmouseover="this.className='menuTdhover';" onmouseout="this.className='menuTd'" width="100%">&#160;:: <a href="http://lucene.apache.org/nutch/credits.html" class="menuEntry">R&oacute;lunk</a></td>
+</tr>
+<tr height="1px">
+<td><img src="../img/reiter/spacer_666666.gif" height="1" width="100%"></td>
+</tr>
+<tr class="menuTd" height="25">
+<td class="menuTd" onmouseover="this.className='menuTdhover';" onmouseout="this.className='menuTd'" width="100%">&#160;:: <a href="http://lucene.apache.org/nutch/index.html" class="menuEntry">St&aacute;tusz</a></td>
+</tr>
+<tr height="1px">
+<td><img src="../img/reiter/spacer_666666.gif" height="1" width="100%"></td>
+</tr>
+<tr>
+<td>&#160;</td>
+</tr>
+</table>
+</td><td width="20" background="../img/reiter/_spacer_cccccc.gif">&#160;</td><td width="475" class="body">
+<table width="475" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td class="title" height="125" width="275" valign="bottom">névjegy</td><td height="125" width="200" valign="bottom"><img src="../img/reiter/robots.gif"></td>
+</tr>
+</table>
+<br class="br">
+<span class="bodytext">
+
+</span><span class="intro">
+<p>A Nutch egy most indul&oacute;, ny&iacute;lt forr&aacute;s&uacute;, webes keres&otilde;motor.</p>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>B&aacute;r a webes keres&eacute;s alapvet&otilde;en fontos az interneten val&oacute; navig&aacute;l&aacute;sban, m&eacute;gis, a
+keres&otilde;k sz&aacute;ma egyre cs&ouml;kken. A ma l&eacute;tez&otilde; t&ouml;bbszerepl&otilde;s keres&otilde;-piac hely&eacute;t hamarosan &aacute;tveheti
+az anyagi alapon m&ucirc;k&ouml;d&otilde; egyszem&eacute;lyes, monop&oacute;l piac. 
+Ez sem a felhaszn&aacute;l&oacute;knak, sem az internetnek nem tenne j&oacute;t.</p>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>A Nutch az &uuml;zleti keres&otilde;g&eacute;pekkel szemben k&iacute;n&aacute;l alternat&iacute;v&aacute;t.
+Csak a ny&iacute;lt forr&aacute;s&uacute; projektek mentesek minden buktat&oacute;t&oacute;l. (Vagy legal&aacute;bbis a
+benn&uuml;k l&eacute;v&otilde; hib&aacute;k ismertek, publikusak.)  Minden m&aacute;r megl&eacute;v&otilde; keres&otilde;motor rangsorolja a tal&aacute;latokat,
+de nem &iacute;rj&aacute;k le, hogy mi alapj&aacute;n teszik ezt. R&aacute;ad&aacute;sul, n&eacute;h&aacute;ny keres&otilde;motor nem az oldal alapj&aacute;n,
+hanem anyagi megfontol&aacute;sok alapj&aacute;n indexelik az adott lapot. A Nutch, ezzel ellent&eacute;tben, semmi
+hasonl&oacute;t nem tesz, csak a legjobb tal&aacute;lati ar&aacute;nyra &ouml;sszpontos&iacute;t.</p>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>A Nutch c&eacute;lja, hogy b&aacute;rki k&eacute;pes legyen olcs&oacute;n nagy teljes&iacute;tm&eacute;ny&ucirc; keres&otilde;g&eacute;pet
+&uuml;zembe &aacute;ll&iacute;tani. Ez az alapvet&otilde; c&eacute;l.
+A sikerhez a Nutch-nak a k&ouml;vetkez&otilde;knek kell megfelelnie:</p>
+</span><span class="bodytext">
+</span><span class="bodytext">
+<ul>
+  
+<li>&aacute;t kell tudnia vizsg&aacute;lni t&ouml;bb milli&aacute;rd oldalt havonta</li>
+  
+<li>indexelni ezeket az oldalakat</li>
+  
+<li>keresni ezekben az indexekben (1000 tal&aacute;lat m&aacute;sodpercenk&eacute;nt)</li>
+  
+<li>nagyon j&oacute;l illeszked&otilde; tal&aacute;latokat adni</li>
+  
+<li>k&ouml;lts&eacute;ghat&eacute;konynak lenni</li>
+
+</ul>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>Ez egy felh&iacute;v&aacute;s. Ha a projekt felkeltette az &eacute;rdekl&otilde;d&eacute;seset, k&eacute;rlek seg&iacute;ts, 
+ vagy mint <a href="http://www.apache.org/dev/" shape="rect">fejleszt&otilde;</a>, vagy mint
+ <a href="http://www.apache.org/foundation/contributing.html" shape="rect">t&aacute;mogat&oacute;</a>
+
+</p>
+</span><span class="bodytext">
+
+</span>
+<br class="br">
+<br class="br">
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+  
+<tr>
+    
+<td width="140">&nbsp;</td>
+    <td width="20">&nbsp;</td>
+    <td width="475" align="center">
+    <span class="bodytext">
+    
+<br>
+      
+<a href="../ca/">ca</a> |
+      <a href="../de/">de</a> |
+      <a href="../en/">en</a> |
+      <a href="../es/">es</a> |
+      <a href="../fi/">fi</a> |
+      <a href="../fr/">fr</a> |
+      <a href="../hu/">hu</a> |
+      <a href="../it/">it</a> |
+      <a href="../jp/">jp</a> |
+      <a href="../ms/">ms</a> |
+      <a href="../nl/">nl</a> |
+      <a href="../pl/">pl</a> |
+      <a href="../pt/">pt</a> |
+      <a href="../sh/">sh</a> |
+      <a href="../sr/">sr</a> |
+      <a href="../sv/">sv</a> |
+      <a href="../th/">th</a> |
+      <a href="../zh/">zh</a>
+    </span>
+    </td>
+  
+</tr>
+  
+<tr>
+  
+</tr>
+
+</table>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/ROOT/hu/help.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/hu/help.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/hu/help.html	(revision 66)
@@ -0,0 +1,218 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><!--This page is automatically generated.  Do not edit!-->
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Nutch: Segítség</title>
+<style type="text/css">
+
+.menuTd {
+  background-color: #F9F7F4;
+  height: 25px;
+}
+
+.menuTdhover {
+  background-color: #ECE5DC;
+  height: 25px;
+}
+
+.menuEntry {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.body {
+  background-color: #F9F7F4;
+}
+
+.bodytext {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.title {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 26px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.intro {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.orangeTd {
+  background-color: #FF9900
+}
+
+ul {
+  list-style-image: url(../img/reiter/ul.gif)
+}
+
+h3 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 16px;
+  color: #000000;
+}
+
+h4 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 14px;
+  color: #000000;
+}
+
+.url {
+  color: #996600;
+}
+
+.highlight {
+  font-weight: bold;
+}
+
+.ellipsis {
+  font-weight: bold;
+}
+
+</style>
+<link rel="icon" href="../img/favicon.ico" type="image/x-icon">
+<link rel="shortcut icon" href="../img/favicon.ico" type="image/x-icon">
+<script type="text/javascript">
+<!--
+function queryfocus() {
+  search = document.search;
+  if (search != null) { search.query.focus(); }
+}
+// --></script>
+</head>
+<body onLoad="queryfocus();">
+<!--This file is automatically generated.  Do not edit!-->
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td valign="bottom" width="140" rowspan="2"><a href="./"><img src="../img/reiter/logo_nutch.gif" border="0"></a><img src="../img/reiter/spacer_666666.gif" width="140" height="1"></td>
+</tr>
+<tr>
+<td width="495" valign="bottom" align="right">
+<table border="0" cellpadding="0" cellspacing="0" width="495">
+<tr>
+<td background="../img/reiter/_bg_reiter.gif" width="400">&nbsp;</td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le1.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="about.html">A Nutch-r&oacute;l</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="http://wiki.apache.org/nutch/FAQ">GYIK</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr valign="top">
+<td width="140">
+<table width="100%" cellpadding="0" cellspacing="0">
+<tr>
+<td>&#160;</td>
+</tr>
+</table>
+</td><td width="20" background="../img/reiter/_spacer_cccccc.gif">&#160;</td><td width="475" class="body">
+<table width="475" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td class="title" height="125" width="275" valign="bottom">Segítség</td><td height="125" width="200" valign="bottom"><img src="../img/reiter/robots.gif"></td>
+</tr>
+</table>
+<br class="br">
+<span class="bodytext">
+
+</span><span class="bodytext">
+<h3>Keres&eacute;s</h3>
+</span><span class="bodytext">
+A keres&eacute;s megkezd&eacute;s&eacute;hez &iacute;rj be n&eacute;h&aacute;ny sz&oacute;t.
+</span><span class="bodytext">
+<ul>
+  
+<li>A tal&aacute;latok k&ouml;z&ouml;tt csak azok az oldalak fognak szerepelni, amelyeken <span style="font-style: italic;">az &ouml;sszes</span> keresend&otilde; sz&oacute; megtal&aacute;lhat&oacute;.</li>
+  
+<li>Id&eacute;z&otilde;jelek haszn&aacute;lat&aacute;val pontos kifejez&eacute;sre kereshetsz,
+	pl. <span style="font-weight: bold;">"Soltvadkerti bor"</span>.</li>
+  
+<li>A szavak k&ouml;z&ouml;tti pontok hat&aacute;s&aacute;ra az egyes szvakra keres r&aacute; a Nutch. 
+  	Teh&aacute;t a <span style="font-weight: bold;">http://www.apache.org/</span>-ra 
+	val&oacute; keres&eacute;s ugyan az, mintha <span style="font-weight: bold;">"http www
+	apache org"</span>-ra keresn&eacute;l.</li>
+  
+<li>A keres&eacute;s nem &eacute;rz&eacute;keny a kis- &eacute;s nagybet&ucirc;kre, teh&aacute;t a <span style="font-weight: bold;">NuTcH</span> itt ugyanaz, mint a<span style="font-weight: bold;">nUtCh</span>.</li>
+  
+<li>Megtilthatod egyes szavak szerepl&eacute;s&eacute;t a tal&aacute;latok k&ouml;z&ouml;tt a minusz jel seg&iacute;ts&eacute;g&eacute;vel ,pl.
+  <span style="font-weight: bold;">foci -nb1</span> minden oldalt megtal&aacute;l, ami focival foglalkozik,
+  	de nem szerepel rajta az "nb1".</li>
+  
+<li>Ennyi!</li>
+
+</ul>
+</span><span class="bodytext">
+</span><span class="bodytext">
+<h3>Tal&aacute;latok</h3>
+</span><span class="bodytext">
+A tal&aacute;latok list&aacute;j&aacute;ban minden :
+</span><span class="bodytext">
+<ul>
+  
+<li>(<span style="color: rgb(51, 51, 255);">t&aacute;rolt</span>) megmutatja
+  	az oldalnak azt a verzi&oacute;j&aacute;t, amit a Nutch let&aacute;rolt..</li>
+  
+<li>(<span style="color: rgb(51, 51, 255);">magyar&aacute;zat</span>) megmutatja,
+  	hogy mi alapj&aacute;n rangsorolta az oldalt a Nutch.</li>
+  
+<li>(<span style="color: rgb(51, 51, 255);">kapcsolatok</span>) megmutatja
+  	az oldal kapcsol&oacute;d&oacute; lapjait.</li>
+
+</ul>
+</span><span class="bodytext">
+
+</span>
+<br class="br">
+<br class="br">
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+  
+<tr>
+    
+<td width="140">&nbsp;</td>
+    <td width="20">&nbsp;</td>
+    <td width="475" align="center">
+    <span class="bodytext">
+    
+<br>
+      
+<a href="../ca/">ca</a> |
+      <a href="../de/">de</a> |
+      <a href="../en/">en</a> |
+      <a href="../es/">es</a> |
+      <a href="../fi/">fi</a> |
+      <a href="../fr/">fr</a> |
+      <a href="../hu/">hu</a> |
+      <a href="../it/">it</a> |
+      <a href="../jp/">jp</a> |
+      <a href="../ms/">ms</a> |
+      <a href="../nl/">nl</a> |
+      <a href="../pl/">pl</a> |
+      <a href="../pt/">pt</a> |
+      <a href="../sh/">sh</a> |
+      <a href="../sr/">sr</a> |
+      <a href="../sv/">sv</a> |
+      <a href="../th/">th</a> |
+      <a href="../zh/">zh</a>
+    </span>
+    </td>
+  
+</tr>
+  
+<tr>
+  
+</tr>
+
+</table>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/ROOT/hu/include/header.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/hu/include/header.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/hu/include/header.html	(revision 66)
@@ -0,0 +1,1 @@
+<?xml version="1.0" encoding="UTF-8"?><!--This file is automatically generated.  Do not edit!--><table cellspacing="0" cellpadding="0" border="0" width="635"><tr><td rowspan="2" width="140" valign="bottom"><a href="./"><img border="0" src="../img/reiter/logo_nutch.gif"/></a><img height="1" width="140" src="../img/reiter/spacer_666666.gif"/></td></tr><tr><td align="right" valign="bottom" width="495"><table width="495" cellspacing="0" cellpadding="0" border="0"><tr><td width="400" background="../img/reiter/_bg_reiter.gif">&#160;</td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le1.gif"/></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="about.html" class="bodytext">A Nutch-ról</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"/></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le.gif"/></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="http://wiki.apache.org/nutch/FAQ" class="bodytext">GYIK</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"/></td></tr></table></td></tr></table>
Index: /nutchez-0.1/tomcat/webapps/ROOT/hu/search.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/hu/search.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/hu/search.html	(revision 66)
@@ -0,0 +1,184 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><!--This page is automatically generated.  Do not edit!-->
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Nutch: </title>
+<style type="text/css">
+
+.menuTd {
+  background-color: #F9F7F4;
+  height: 25px;
+}
+
+.menuTdhover {
+  background-color: #ECE5DC;
+  height: 25px;
+}
+
+.menuEntry {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.body {
+  background-color: #F9F7F4;
+}
+
+.bodytext {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.title {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 26px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.intro {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.orangeTd {
+  background-color: #FF9900
+}
+
+ul {
+  list-style-image: url(../img/reiter/ul.gif)
+}
+
+h3 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 16px;
+  color: #000000;
+}
+
+h4 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 14px;
+  color: #000000;
+}
+
+.url {
+  color: #996600;
+}
+
+.highlight {
+  font-weight: bold;
+}
+
+.ellipsis {
+  font-weight: bold;
+}
+
+</style>
+<link type="image/x-icon" href="../img/favicon.ico" rel="icon">
+<link type="image/x-icon" href="../img/favicon.ico" rel="shortcut icon">
+<script type="text/javascript">
+<!--
+function queryfocus() {
+  search = document.search;
+  if (search != null) { search.query.focus(); }
+}
+// --></script>
+</head>
+<body onLoad="queryfocus();">
+<!--This file is automatically generated.  Do not edit!-->
+<table cellspacing="0" cellpadding="0" border="0" width="635">
+<tr>
+<td rowspan="2" width="140" valign="bottom"><a href="./"><img border="0" src="../img/reiter/logo_nutch.gif"></a><img height="1" width="140" src="../img/reiter/spacer_666666.gif"></td>
+</tr>
+<tr>
+<td align="right" valign="bottom" width="495">
+<table width="495" cellspacing="0" cellpadding="0" border="0">
+<tr>
+<td width="400" background="../img/reiter/_bg_reiter.gif">&nbsp;</td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le1.gif"></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="about.html" class="bodytext">A Nutch-r&oacute;l</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le.gif"></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="http://wiki.apache.org/nutch/FAQ" class="bodytext">GYIK</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<table cellspacing="0" cellpadding="0" border="0" width="635">
+<tr valign="top">
+<td width="140">
+<table cellspacing="0" cellpadding="0" width="100%">
+<tr>
+<td>&#160;</td>
+</tr>
+</table>
+</td><td background="../img/reiter/_spacer_cccccc.gif" width="20">&#160;</td><td class="body" width="475">
+<table cellspacing="0" cellpadding="0" border="0" width="475">
+<tr>
+<td valign="bottom" width="275" height="125" class="title"></td><td valign="bottom" width="200" height="125"><img src="../img/reiter/robots.gif"></td>
+</tr>
+</table>
+<br class="br">
+<span class="bodytext">
+</span><span class="bodytext">
+<center>
+
+<form name="search" action="../search.jsp" method="get" enctype="application/x-www-form-urlencoded">
+  
+<input type="hidden" name="lang" value="hu">
+  <input name="query" size="44" type="text">&nbsp;<input type="submit" value="Keres&eacute;s">
+  <a href="help.html" shape="rect">seg&iacute;ts&eacute;g</a>
+
+</form>
+
+</center>
+</span><span class="bodytext">
+</span>
+<br class="br">
+<br class="br">
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+  
+<tr>
+    
+<td width="140">&nbsp;</td>
+    <td width="20">&nbsp;</td>
+    <td width="475" align="center">
+    <span class="bodytext">
+    
+<br>
+      
+<a href="../ca/">ca</a> |
+      <a href="../de/">de</a> |
+      <a href="../en/">en</a> |
+      <a href="../es/">es</a> |
+      <a href="../fi/">fi</a> |
+      <a href="../fr/">fr</a> |
+      <a href="../hu/">hu</a> |
+      <a href="../it/">it</a> |
+      <a href="../jp/">jp</a> |
+      <a href="../ms/">ms</a> |
+      <a href="../nl/">nl</a> |
+      <a href="../pl/">pl</a> |
+      <a href="../pt/">pt</a> |
+      <a href="../sh/">sh</a> |
+      <a href="../sr/">sr</a> |
+      <a href="../sv/">sv</a> |
+      <a href="../th/">th</a> |
+      <a href="../zh/">zh</a>
+    </span>
+    </td>
+  
+</tr>
+  
+<tr>
+  
+</tr>
+
+</table>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/ROOT/include/footer.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/include/footer.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/include/footer.html	(revision 66)
@@ -0,0 +1,31 @@
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+  <tr>
+    <td width="140">&#160;</td>
+    <td width="20">&#160;</td>
+    <td width="475" align="center">
+    <span class="bodytext">
+    <br/>
+      <a href="../ca/">ca</a> |
+      <a href="../de/">de</a> |
+      <a href="../en/">en</a> |
+      <a href="../es/">es</a> |
+      <a href="../fi/">fi</a> |
+      <a href="../fr/">fr</a> |
+      <a href="../hu/">hu</a> |
+      <a href="../it/">it</a> |
+      <a href="../jp/">jp</a> |
+      <a href="../ms/">ms</a> |
+      <a href="../nl/">nl</a> |
+      <a href="../pl/">pl</a> |
+      <a href="../pt/">pt</a> |
+      <a href="../sh/">sh</a> |
+      <a href="../sr/">sr</a> |
+      <a href="../sv/">sv</a> |
+      <a href="../th/">th</a> |
+      <a href="../zh/">zh</a>
+    </span>
+    </td>
+  </tr>
+  <tr>
+  </tr>
+</table>
Index: /nutchez-0.1/tomcat/webapps/ROOT/include/style.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/include/style.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/include/style.html	(revision 66)
@@ -0,0 +1,77 @@
+<style type="text/css">
+
+.menuTd {
+  background-color: #F9F7F4;
+  height: 25px;
+}
+
+.menuTdhover {
+  background-color: #ECE5DC;
+  height: 25px;
+}
+
+.menuEntry {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.body {
+  background-color: #F9F7F4;
+}
+
+.bodytext {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.title {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 26px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.intro {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.orangeTd {
+  background-color: #FF9900
+}
+
+ul {
+  list-style-image: url(../img/reiter/ul.gif)
+}
+
+h3 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 16px;
+  color: #000000;
+}
+
+h4 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 14px;
+  color: #000000;
+}
+
+.url {
+  color: #996600;
+}
+
+.highlight {
+  font-weight: bold;
+}
+
+.ellipsis {
+  font-weight: bold;
+}
+
+</style>
Index: /nutchez-0.1/tomcat/webapps/ROOT/index.jsp
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/index.jsp	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/index.jsp	(revision 66)
@@ -0,0 +1,28 @@
+<%--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+--%>
+<%@ page
+  session="false"
+  import="java.io.*"
+  import="java.util.*"
+%><%
+  String language =
+    ResourceBundle.getBundle("org.nutch.jsp.search", request.getLocale())
+    .getLocale().getLanguage();
+  String requestURI = HttpUtils.getRequestURL(request).toString();
+  String base = requestURI.substring(0, requestURI.lastIndexOf('/'));
+  response.sendRedirect(language + "/");
+%>
Index: /nutchez-0.1/tomcat/webapps/ROOT/it/about.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/it/about.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/it/about.html	(revision 66)
@@ -0,0 +1,251 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><!--This page is automatically generated.  Do not edit!-->
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Nutch: A proposito</title>
+<style type="text/css">
+
+.menuTd {
+  background-color: #F9F7F4;
+  height: 25px;
+}
+
+.menuTdhover {
+  background-color: #ECE5DC;
+  height: 25px;
+}
+
+.menuEntry {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.body {
+  background-color: #F9F7F4;
+}
+
+.bodytext {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.title {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 26px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.intro {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.orangeTd {
+  background-color: #FF9900
+}
+
+ul {
+  list-style-image: url(../img/reiter/ul.gif)
+}
+
+h3 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 16px;
+  color: #000000;
+}
+
+h4 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 14px;
+  color: #000000;
+}
+
+.url {
+  color: #996600;
+}
+
+.highlight {
+  font-weight: bold;
+}
+
+.ellipsis {
+  font-weight: bold;
+}
+
+</style>
+<link rel="icon" href="../img/favicon.ico" type="image/x-icon">
+<link rel="shortcut icon" href="../img/favicon.ico" type="image/x-icon">
+<script type="text/javascript">
+<!--
+function queryfocus() {
+  search = document.search;
+  if (search != null) { search.query.focus(); }
+}
+// --></script>
+</head>
+<body onLoad="queryfocus();">
+<!--This file is automatically generated.  Do not edit!-->
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td valign="bottom" width="140" rowspan="2"><a href="./"><img src="../img/reiter/logo_nutch.gif" border="0"></a><img src="../img/reiter/spacer_666666.gif" width="140" height="1"></td>
+</tr>
+<tr>
+<td width="495" valign="bottom" align="right">
+<table border="0" cellpadding="0" cellspacing="0" width="495">
+<tr>
+<td background="../img/reiter/_bg_reiter.gif" width="400">&nbsp;</td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le1.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="about.html">A proposito</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="http://wiki.apache.org/nutch/FAQ">Domande frequenti</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr valign="top">
+<td width="140">
+<table width="100%" cellpadding="0" cellspacing="0">
+<tr class="menuTd" height="25">
+<td class="menuTd" onmouseover="this.className='menuTdhover';" onmouseout="this.className='menuTd'" width="100%">&#160;:: <a href="org.html" class="menuEntry">Organization</a></td>
+</tr>
+<tr height="1px">
+<td><img src="../img/reiter/spacer_666666.gif" height="1" width="100%"></td>
+</tr>
+<tr class="menuTd" height="25">
+<td class="menuTd" onmouseover="this.className='menuTdhover';" onmouseout="this.className='menuTd'" width="100%">&#160;:: <a href="credits.html" class="menuEntry">Credits</a></td>
+</tr>
+<tr height="1px">
+<td><img src="../img/reiter/spacer_666666.gif" height="1" width="100%"></td>
+</tr>
+<tr class="menuTd" height="25">
+<td class="menuTd" onmouseover="this.className='menuTdhover';" onmouseout="this.className='menuTd'" width="100%">&#160;:: <a href="press.html" class="menuEntry">Press</a></td>
+</tr>
+<tr height="1px">
+<td><img src="../img/reiter/spacer_666666.gif" height="1" width="100%"></td>
+</tr>
+<tr class="menuTd" height="25">
+<td class="menuTd" onmouseover="this.className='menuTdhover';" onmouseout="this.className='menuTd'" width="100%">&#160;:: <a href="status.html" class="menuEntry">Status</a></td>
+</tr>
+<tr height="1px">
+<td><img src="../img/reiter/spacer_666666.gif" height="1" width="100%"></td>
+</tr>
+<tr>
+<td>&#160;</td>
+</tr>
+</table>
+</td><td width="20" background="../img/reiter/_spacer_cccccc.gif">&#160;</td><td width="475" class="body">
+<table width="475" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td class="title" height="125" width="275" valign="bottom">A proposito</td><td height="125" width="200" valign="bottom"><img src="../img/reiter/robots.gif"></td>
+</tr>
+</table>
+<br class="br">
+<span class="bodytext">
+
+</span><span class="intro">
+<p>Nutch &egrave; un progetto che ha come obbiettivo implementare un motore
+di ricerca open-source.</p>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>La ricerca sul Web ha un requisito fondamentale per la navigazione
+internet, nonostante ci&ograve; il numero dei motori di ricerca sta diminuendo.
+La oligopolia di oggi potrebbe diventare presto un monopolio, con un'uni-
+ca compagnia che controlla quasi tutte le ricerche web per il suo
+profitto commerciale.</p>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>Nutch fornisce un'alternativa trasparente ai motori di ricerca commerciali.
+Solo con i risultati di ricerca open-source si pu&ograve; essere sicuri che non ci 
+sia stata nessuna forzatura.(O almeno la loro forzatura &egrave; pubblica).
+Tutti i maggiori motori di ricerca commerciali esistenti hanno le loro formule
+proprietarie per i punteggi, e non spiegheranno mai perch&egrave; una pagina ottiene
+un certo punteggio. Inoltre, alcuni motori di ricerca determinano quale sito
+indicizzare basandosi sui pagamenti, piuttosto che sui meriti dei siti stessi.
+Nutch, d'altra parte, non ha niente da nascondere e nessun motivo di forzare
+i suoi risultati o il suo crawler se non per dare ad ogni utente i migliori
+risultati possibili.</p>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>L'obiettivo di nutch &egrave; quello di permettere a chiunque di utilizzare un 
+motore di ricerca mondiale facile ed economico. Ci&ograve; &egrave; una sfida notevole.
+Per avere successo,il software nutch deve poter:</p>
+</span><span class="bodytext">
+</span><span class="bodytext">
+<ul>
+  
+<li>recupera miliardi di pagine al mese</li>
+  
+<li>mantenere un indice di queste pagine</li>
+  
+<li>cercare in questo indice fino a 1000 volte al secondo</li>
+  
+<li>fornire risultati di altissima qualit&agrave;</li>
+  
+<li>operare al minimo costo</li>
+
+</ul>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>Questa &egrave; una proposta stimolante. Se credi nei meriti di questo progetto,
+per favore dai un contributo, sia come<a href="developers.html">sviluppatore</a>
+o con una <a href="donate.html">donazione</a>
+
+</p>
+</span><span class="bodytext">
+
+</span>
+<br class="br">
+<br class="br">
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+  
+<tr>
+    
+<td width="140">&nbsp;</td>
+    <td width="20">&nbsp;</td>
+    <td width="475" align="center">
+    <span class="bodytext">
+    
+<br>
+      
+<a href="../ca/">ca</a> |
+      <a href="../de/">de</a> |
+      <a href="../en/">en</a> |
+      <a href="../es/">es</a> |
+      <a href="../fi/">fi</a> |
+      <a href="../fr/">fr</a> |
+      <a href="../hu/">hu</a> |
+      <a href="../it/">it</a> |
+      <a href="../jp/">jp</a> |
+      <a href="../ms/">ms</a> |
+      <a href="../nl/">nl</a> |
+      <a href="../pl/">pl</a> |
+      <a href="../pt/">pt</a> |
+      <a href="../sh/">sh</a> |
+      <a href="../sr/">sr</a> |
+      <a href="../sv/">sv</a> |
+      <a href="../th/">th</a> |
+      <a href="../zh/">zh</a>
+    </span>
+    </td>
+  
+</tr>
+  
+<tr>
+  
+</tr>
+
+</table>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/ROOT/it/help.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/it/help.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/it/help.html	(revision 66)
@@ -0,0 +1,217 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><!--This page is automatically generated.  Do not edit!-->
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Nutch: Nutch: aiuto sulle ricerche</title>
+<style type="text/css">
+
+.menuTd {
+  background-color: #F9F7F4;
+  height: 25px;
+}
+
+.menuTdhover {
+  background-color: #ECE5DC;
+  height: 25px;
+}
+
+.menuEntry {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.body {
+  background-color: #F9F7F4;
+}
+
+.bodytext {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.title {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 26px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.intro {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.orangeTd {
+  background-color: #FF9900
+}
+
+ul {
+  list-style-image: url(../img/reiter/ul.gif)
+}
+
+h3 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 16px;
+  color: #000000;
+}
+
+h4 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 14px;
+  color: #000000;
+}
+
+.url {
+  color: #996600;
+}
+
+.highlight {
+  font-weight: bold;
+}
+
+.ellipsis {
+  font-weight: bold;
+}
+
+</style>
+<link rel="icon" href="../img/favicon.ico" type="image/x-icon">
+<link rel="shortcut icon" href="../img/favicon.ico" type="image/x-icon">
+<script type="text/javascript">
+<!--
+function queryfocus() {
+  search = document.search;
+  if (search != null) { search.query.focus(); }
+}
+// --></script>
+</head>
+<body onLoad="queryfocus();">
+<!--This file is automatically generated.  Do not edit!-->
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td valign="bottom" width="140" rowspan="2"><a href="./"><img src="../img/reiter/logo_nutch.gif" border="0"></a><img src="../img/reiter/spacer_666666.gif" width="140" height="1"></td>
+</tr>
+<tr>
+<td width="495" valign="bottom" align="right">
+<table border="0" cellpadding="0" cellspacing="0" width="495">
+<tr>
+<td background="../img/reiter/_bg_reiter.gif" width="400">&nbsp;</td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le1.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="about.html">A proposito</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="http://wiki.apache.org/nutch/FAQ">Domande frequenti</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr valign="top">
+<td width="140">
+<table width="100%" cellpadding="0" cellspacing="0">
+<tr>
+<td>&#160;</td>
+</tr>
+</table>
+</td><td width="20" background="../img/reiter/_spacer_cccccc.gif">&#160;</td><td width="475" class="body">
+<table width="475" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td class="title" height="125" width="275" valign="bottom">Nutch: aiuto sulle ricerche</td><td height="125" width="200" valign="bottom"><img src="../img/reiter/robots.gif"></td>
+</tr>
+</table>
+<br class="br">
+<span class="bodytext">
+
+</span><span class="bodytext">
+<h3>Ricerche</h3>
+</span><span class="bodytext">
+Per cercare con Nutch, digita solo alcune parole.
+</span><span class="bodytext">
+<ul>
+  
+<li>I risultai includono solo pagine che contengono <span style="font-style: italic;">tutte</span> le parole della ricerca.</li>
+  
+<li>Usa le virgolette attorno alle parole che devono essere adiacenti,
+ come una frase, e.g., <span style="font-weight: bold;">"New Zealand"</span>.</li>
+  
+<li>Anche l'uso della punteggiatura tra le parole attiva la ricerca per frase. In
+ questo modo cercare<span style="font-weight: bold;">http://www.apache.org/</span>
+ equivale a cercare <span style="font-weight: bold;">"http www apache org"</span>.</li>
+  
+<li>Le ricerche non tengono conto di lettere maiuscole e minuscole, quindi cercare <span style="font-weight: bold;">NuTcH</span> &egrave; come cercare <span style="font-weight: bold;">nUtCh</span>.</li>
+  
+<li>Puoi escludere un termine dalla ricerca inserendo un meno prima di esso, e.g., 
+ la ricerca <span style="font-weight: bold;">football-nfl</span> 
+ trover&agrave; tutte le pagine che parlano di football, ma non usano la parola "nfl".</li>
+  
+<li>Tutto qui!</li>
+
+</ul>
+</span><span class="bodytext">
+</span><span class="bodytext">
+<h3>Risultati</h3>
+</span><span class="bodytext">
+Ogni pagina trovata ha i seguenti links:
+</span><span class="bodytext">
+<ul>
+  
+<li>(<span style="color: rgb(51, 51, 255);">cached</span>) mostra la versione della
+ pagina scaricata da Nutch.</li>
+  
+<li>(<span style="color: rgb(51, 51, 255);">explain</span>) mostra una spiegazione
+ sul punteggio ottenuto dalla pagina.</li>
+  
+<li>(<span style="color: rgb(51, 51, 255);">anchors</span>) mostra una lista di links
+ che riferiscono la pagina che &egrave; stata indicizzata.</li>
+
+</ul>
+</span><span class="bodytext">
+
+</span>
+<br class="br">
+<br class="br">
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+  
+<tr>
+    
+<td width="140">&nbsp;</td>
+    <td width="20">&nbsp;</td>
+    <td width="475" align="center">
+    <span class="bodytext">
+    
+<br>
+      
+<a href="../ca/">ca</a> |
+      <a href="../de/">de</a> |
+      <a href="../en/">en</a> |
+      <a href="../es/">es</a> |
+      <a href="../fi/">fi</a> |
+      <a href="../fr/">fr</a> |
+      <a href="../hu/">hu</a> |
+      <a href="../it/">it</a> |
+      <a href="../jp/">jp</a> |
+      <a href="../ms/">ms</a> |
+      <a href="../nl/">nl</a> |
+      <a href="../pl/">pl</a> |
+      <a href="../pt/">pt</a> |
+      <a href="../sh/">sh</a> |
+      <a href="../sr/">sr</a> |
+      <a href="../sv/">sv</a> |
+      <a href="../th/">th</a> |
+      <a href="../zh/">zh</a>
+    </span>
+    </td>
+  
+</tr>
+  
+<tr>
+  
+</tr>
+
+</table>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/ROOT/it/include/header.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/it/include/header.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/it/include/header.html	(revision 66)
@@ -0,0 +1,1 @@
+<?xml version="1.0" encoding="UTF-8"?><!--This file is automatically generated.  Do not edit!--><table cellspacing="0" cellpadding="0" border="0" width="635"><tr><td rowspan="2" width="140" valign="bottom"><a href="./"><img border="0" src="../img/reiter/logo_nutch.gif"/></a><img height="1" width="140" src="../img/reiter/spacer_666666.gif"/></td></tr><tr><td align="right" valign="bottom" width="495"><table width="495" cellspacing="0" cellpadding="0" border="0"><tr><td width="400" background="../img/reiter/_bg_reiter.gif">&#160;</td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le1.gif"/></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="about.html" class="bodytext">A proposito</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"/></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le.gif"/></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="http://wiki.apache.org/nutch/FAQ" class="bodytext">Domande frequenti</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"/></td></tr></table></td></tr></table>
Index: /nutchez-0.1/tomcat/webapps/ROOT/it/search.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/it/search.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/it/search.html	(revision 66)
@@ -0,0 +1,193 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><!--This page is automatically generated.  Do not edit!-->
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Nutch: </title>
+<style type="text/css">
+
+.menuTd {
+  background-color: #F9F7F4;
+  height: 25px;
+}
+
+.menuTdhover {
+  background-color: #ECE5DC;
+  height: 25px;
+}
+
+.menuEntry {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.body {
+  background-color: #F9F7F4;
+}
+
+.bodytext {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.title {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 26px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.intro {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.orangeTd {
+  background-color: #FF9900
+}
+
+ul {
+  list-style-image: url(../img/reiter/ul.gif)
+}
+
+h3 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 16px;
+  color: #000000;
+}
+
+h4 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 14px;
+  color: #000000;
+}
+
+.url {
+  color: #996600;
+}
+
+.highlight {
+  font-weight: bold;
+}
+
+.ellipsis {
+  font-weight: bold;
+}
+
+</style>
+<link type="image/x-icon" href="../img/favicon.ico" rel="icon">
+<link type="image/x-icon" href="../img/favicon.ico" rel="shortcut icon">
+<script type="text/javascript">
+<!--
+function queryfocus() {
+  search = document.search;
+  if (search != null) { search.query.focus(); }
+}
+// --></script>
+</head>
+<body onLoad="queryfocus();">
+<!--This file is automatically generated.  Do not edit!-->
+<table cellspacing="0" cellpadding="0" border="0" width="635">
+<tr>
+<td rowspan="2" width="140" valign="bottom"><a href="./"><img border="0" src="../img/reiter/logo_nutch.gif"></a><img height="1" width="140" src="../img/reiter/spacer_666666.gif"></td>
+</tr>
+<tr>
+<td align="right" valign="bottom" width="495">
+<table width="495" cellspacing="0" cellpadding="0" border="0">
+<tr>
+<td width="400" background="../img/reiter/_bg_reiter.gif">&nbsp;</td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le1.gif"></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="about.html" class="bodytext">A proposito</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le.gif"></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="http://wiki.apache.org/nutch/FAQ" class="bodytext">Domande frequenti</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<table cellspacing="0" cellpadding="0" border="0" width="635">
+<tr valign="top">
+<td width="140">
+<table cellspacing="0" cellpadding="0" width="100%">
+<tr>
+<td>&#160;</td>
+</tr>
+</table>
+</td><td background="../img/reiter/_spacer_cccccc.gif" width="20">&#160;</td><td class="body" width="475">
+<table cellspacing="0" cellpadding="0" border="0" width="475">
+<tr>
+<td valign="bottom" width="275" height="125" class="title"></td><td valign="bottom" width="200" height="125"><img src="../img/reiter/robots.gif"></td>
+</tr>
+</table>
+<br class="br">
+<span class="bodytext">
+</span><span class="bodytext">
+<center>
+
+<form name="cerca" action="../search.jsp" method="get">
+  
+<input type="hidden" name="lang" value="it">
+  <input name="query" size="44">&nbsp;<input type="submit" value="Cerca">
+  <a href="help.html">aiuto</a>
+
+</form>
+
+</center>
+</span><span class="bodytext">
+</span><span class="bodytext">
+<div style="text-align: right;">
+
+<a href="http://lucene.apache.org/nutch/">
+<img border="0" src="../img/poweredbynutch_01.gif">
+</a>
+
+</div>
+</span><span class="bodytext">
+</span>
+<br class="br">
+<br class="br">
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+  
+<tr>
+    
+<td width="140">&nbsp;</td>
+    <td width="20">&nbsp;</td>
+    <td width="475" align="center">
+    <span class="bodytext">
+    
+<br>
+      
+<a href="../ca/">ca</a> |
+      <a href="../de/">de</a> |
+      <a href="../en/">en</a> |
+      <a href="../es/">es</a> |
+      <a href="../fi/">fi</a> |
+      <a href="../fr/">fr</a> |
+      <a href="../hu/">hu</a> |
+      <a href="../it/">it</a> |
+      <a href="../jp/">jp</a> |
+      <a href="../ms/">ms</a> |
+      <a href="../nl/">nl</a> |
+      <a href="../pl/">pl</a> |
+      <a href="../pt/">pt</a> |
+      <a href="../sh/">sh</a> |
+      <a href="../sr/">sr</a> |
+      <a href="../sv/">sv</a> |
+      <a href="../th/">th</a> |
+      <a href="../zh/">zh</a>
+    </span>
+    </td>
+  
+</tr>
+  
+<tr>
+  
+</tr>
+
+</table>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/ROOT/jp/about.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/jp/about.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/jp/about.html	(revision 66)
@@ -0,0 +1,234 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><!--This page is automatically generated.  Do not edit!-->
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Nutch: Nutchについて</title>
+<style type="text/css">
+
+.menuTd {
+  background-color: #F9F7F4;
+  height: 25px;
+}
+
+.menuTdhover {
+  background-color: #ECE5DC;
+  height: 25px;
+}
+
+.menuEntry {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.body {
+  background-color: #F9F7F4;
+}
+
+.bodytext {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.title {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 26px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.intro {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.orangeTd {
+  background-color: #FF9900
+}
+
+ul {
+  list-style-image: url(../img/reiter/ul.gif)
+}
+
+h3 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 16px;
+  color: #000000;
+}
+
+h4 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 14px;
+  color: #000000;
+}
+
+.url {
+  color: #996600;
+}
+
+.highlight {
+  font-weight: bold;
+}
+
+.ellipsis {
+  font-weight: bold;
+}
+
+</style>
+<link rel="icon" href="../img/favicon.ico" type="image/x-icon">
+<link rel="shortcut icon" href="../img/favicon.ico" type="image/x-icon">
+<script type="text/javascript">
+<!--
+function queryfocus() {
+  search = document.search;
+  if (search != null) { search.query.focus(); }
+}
+// --></script>
+</head>
+<body onLoad="queryfocus();">
+<!--This file is automatically generated.  Do not edit!-->
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td valign="bottom" width="140" rowspan="2"><a href="./"><img src="../img/reiter/logo_nutch.gif" border="0"></a><img src="../img/reiter/spacer_666666.gif" width="140" height="1"></td>
+</tr>
+<tr>
+<td width="495" valign="bottom" align="right">
+<table border="0" cellpadding="0" cellspacing="0" width="495">
+<tr>
+<td background="../img/reiter/_bg_reiter.gif" width="400">&nbsp;</td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le1.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="about.html">Nutchについて</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="http://wiki.apache.org/nutch/FAQ">よくある質問</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr valign="top">
+<td width="140">
+<table width="100%" cellpadding="0" cellspacing="0">
+<tr class="menuTd" height="25">
+<td class="menuTd" onmouseover="this.className='menuTdhover';" onmouseout="this.className='menuTd'" width="100%">&#160;:: <a href="http://lucene.apache.org/nutch/credits.html" class="menuEntry">協力者</a></td>
+</tr>
+<tr height="1px">
+<td><img src="../img/reiter/spacer_666666.gif" height="1" width="100%"></td>
+</tr>
+<tr class="menuTd" height="25">
+<td class="menuTd" onmouseover="this.className='menuTdhover';" onmouseout="this.className='menuTd'" width="100%">&#160;:: <a href="http://lucene.apache.org/nutch/index.html" class="menuEntry">状態</a></td>
+</tr>
+<tr height="1px">
+<td><img src="../img/reiter/spacer_666666.gif" height="1" width="100%"></td>
+</tr>
+<tr>
+<td>&#160;</td>
+</tr>
+</table>
+</td><td width="20" background="../img/reiter/_spacer_cccccc.gif">&#160;</td><td width="475" class="body">
+<table width="475" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td class="title" height="125" width="275" valign="bottom">Nutchについて</td><td height="125" width="200" valign="bottom"><img src="../img/reiter/robots.gif"></td>
+</tr>
+</table>
+<br class="br">
+<span class="bodytext">
+
+</span><span class="intro">
+<p>Nutchは、オープンソース・ウェブ検索エンジンを実装する初めての試みです。
+</p>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>ウェブ検索はインターネット・ナビゲーションのために必用な基本的機能です。ところが現在では、ウェブ検索エンジンの数は減少しています。
+今日の寡占状態は、すぐに、ほとんど全てのウェブ検索を提供している一つの会社の商業利用に独占されるかもしれません。
+一社の独占は、多くのインターネットのユーザーにとって良くないことです。
+</p>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>Nutch は、商用ウェブ検索エンジンには無い透過性（公開性）をもたらすものです。
+Nutch による検索結果は、充分に偏見が無いことがわかっており、安心して検索をまかせることができます（少なくとも、Nutsh のバイアスは、公共のためのものです）。
+全ての既存の主な検索エンジンは、検索エンジン所有者の実装した公式によって順位が決められます。検索結果として与えられたページの順位付けの理由が説明されるわけではありません。
+その上、いくつかの検索エンジンは、各サイトがインデックス順位に対して支払った金額によって順位を決定する場合さえあります。
+Nutch は各々のユーザーにできる限り最高の検索結果を与えようとするものであり、
+その結果や関係する情報に偏見を加える理由は何もありません。
+</p>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>Nutch は、誰でも簡単に、そして低コストで、効率よく国際的なウェブ検索エンジンを設置するのを可能にしようとするものです。
+これは、とても困難な挑戦です。
+Nutch ソフトウェアが成功するためには以下の要件を満たした有能なものでなければなりません：
+</p>
+</span><span class="bodytext">
+</span><span class="bodytext">
+<ul>
+  
+<li>一ヶ月ごとに10億ページを取ってくること</li>
+  
+<li>これらのページのインデックスを維持すること</li>
+  
+<li>1秒につき最高1000回の検索インデックスを付けること</li>
+  
+<li>非常に高品質ですばらしい検索結果を提供すること</li>
+  
+<li>最小のコストで動作すること</li>
+
+</ul>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>これはとても挑戦的な提案です。
+あなたが Nutch プロジェクトの価値を信じるならば、<a href="http://www.apache.org/dev/">開発者</a>として、又は<a href="http://www.apache.org/foundation/contributing.html">寄付</a>をしてこのプロジェクトを是非とも応援してください。
+</p>
+</span><span class="bodytext">
+
+</span>
+<br class="br">
+<br class="br">
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+  
+<tr>
+    
+<td width="140">&nbsp;</td>
+    <td width="20">&nbsp;</td>
+    <td width="475" align="center">
+    <span class="bodytext">
+    
+<br>
+      
+<a href="../ca/">ca</a> |
+      <a href="../de/">de</a> |
+      <a href="../en/">en</a> |
+      <a href="../es/">es</a> |
+      <a href="../fi/">fi</a> |
+      <a href="../fr/">fr</a> |
+      <a href="../hu/">hu</a> |
+      <a href="../it/">it</a> |
+      <a href="../jp/">jp</a> |
+      <a href="../ms/">ms</a> |
+      <a href="../nl/">nl</a> |
+      <a href="../pl/">pl</a> |
+      <a href="../pt/">pt</a> |
+      <a href="../sh/">sh</a> |
+      <a href="../sr/">sr</a> |
+      <a href="../sv/">sv</a> |
+      <a href="../th/">th</a> |
+      <a href="../zh/">zh</a>
+    </span>
+    </td>
+  
+</tr>
+  
+<tr>
+  
+</tr>
+
+</table>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/ROOT/jp/help.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/jp/help.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/jp/help.html	(revision 66)
@@ -0,0 +1,210 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><!--This page is automatically generated.  Do not edit!-->
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Nutch: 検索のヘルプ</title>
+<style type="text/css">
+
+.menuTd {
+  background-color: #F9F7F4;
+  height: 25px;
+}
+
+.menuTdhover {
+  background-color: #ECE5DC;
+  height: 25px;
+}
+
+.menuEntry {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.body {
+  background-color: #F9F7F4;
+}
+
+.bodytext {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.title {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 26px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.intro {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.orangeTd {
+  background-color: #FF9900
+}
+
+ul {
+  list-style-image: url(../img/reiter/ul.gif)
+}
+
+h3 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 16px;
+  color: #000000;
+}
+
+h4 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 14px;
+  color: #000000;
+}
+
+.url {
+  color: #996600;
+}
+
+.highlight {
+  font-weight: bold;
+}
+
+.ellipsis {
+  font-weight: bold;
+}
+
+</style>
+<link rel="icon" href="../img/favicon.ico" type="image/x-icon">
+<link rel="shortcut icon" href="../img/favicon.ico" type="image/x-icon">
+<script type="text/javascript">
+<!--
+function queryfocus() {
+  search = document.search;
+  if (search != null) { search.query.focus(); }
+}
+// --></script>
+</head>
+<body onLoad="queryfocus();">
+<!--This file is automatically generated.  Do not edit!-->
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td valign="bottom" width="140" rowspan="2"><a href="./"><img src="../img/reiter/logo_nutch.gif" border="0"></a><img src="../img/reiter/spacer_666666.gif" width="140" height="1"></td>
+</tr>
+<tr>
+<td width="495" valign="bottom" align="right">
+<table border="0" cellpadding="0" cellspacing="0" width="495">
+<tr>
+<td background="../img/reiter/_bg_reiter.gif" width="400">&nbsp;</td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le1.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="about.html">Nutchについて</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="http://wiki.apache.org/nutch/FAQ">よくある質問</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr valign="top">
+<td width="140">
+<table width="100%" cellpadding="0" cellspacing="0">
+<tr>
+<td>&#160;</td>
+</tr>
+</table>
+</td><td width="20" background="../img/reiter/_spacer_cccccc.gif">&#160;</td><td width="475" class="body">
+<table width="475" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td class="title" height="125" width="275" valign="bottom">検索のヘルプ</td><td height="125" width="200" valign="bottom"><img src="../img/reiter/robots.gif"></td>
+</tr>
+</table>
+<br class="br">
+<span class="bodytext">
+
+</span><span class="bodytext">
+<h3>検索</h3>
+</span><span class="bodytext">
+Nutch で検索するために 2〜3語を入力してください。
+</span><span class="bodytext">
+<ul>
+  
+<li>検索結果は検索語の <span style="font-style: italic;">全て</span> を含むページだけです。</li>
+  
+<li>例えば繋がって表記されなければいけない単語の場合は引用符で囲ってください。例：<span style="font-weight: bold;">"New Zealand"</span>.</li>
+  
+<li>単語の間のピリオドは、同じフレーズを示します。<span style="font-weight: bold;">http://www.apache.org/</span> を検索することと、<span style="font-weight: bold;">"http www apache org"</span> を検索するのは同じことです。</li>
+  
+<li>検索語は、大文字と小文字の区別ができません。 <span style="font-weight: bold;">NuTcH</span> を検索することと <span style="font-weight: bold;">nUtCh</span> を検索するのは同じことです。</li>
+  
+<li>単語の前にマイナス記号をつけることによって、その単語が含まれるページを検索対象から外すことができます。例：<span style="font-weight: bold;">football
+-nfl</span> サッカー関連のページを検索しますが、NFL という単語を使っていないページを探します。</li>
+  
+<li>以上です!</li>
+
+</ul>
+</span><span class="bodytext">
+</span><span class="bodytext">
+<h3>検索結果</h3>
+</span><span class="bodytext">
+各検索結果のページには、以下のリンクが加えられます:
+</span><span class="bodytext">
+<ul>
+  
+<li>(<span style="color: rgb(51, 51, 255);">cached</span>) Nutch が保存しているキャッシュの表示</li>
+  
+<li>(<span style="color: rgb(51, 51, 255);">explain</span>) このページがこの順位を得た理由の説明</li>
+  
+<li>(<span style="color: rgb(51, 51, 255);">anchors</span>) このページへリンクしているページ</li>
+
+</ul>
+</span><span class="bodytext">
+
+</span>
+<br class="br">
+<br class="br">
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+  
+<tr>
+    
+<td width="140">&nbsp;</td>
+    <td width="20">&nbsp;</td>
+    <td width="475" align="center">
+    <span class="bodytext">
+    
+<br>
+      
+<a href="../ca/">ca</a> |
+      <a href="../de/">de</a> |
+      <a href="../en/">en</a> |
+      <a href="../es/">es</a> |
+      <a href="../fi/">fi</a> |
+      <a href="../fr/">fr</a> |
+      <a href="../hu/">hu</a> |
+      <a href="../it/">it</a> |
+      <a href="../jp/">jp</a> |
+      <a href="../ms/">ms</a> |
+      <a href="../nl/">nl</a> |
+      <a href="../pl/">pl</a> |
+      <a href="../pt/">pt</a> |
+      <a href="../sh/">sh</a> |
+      <a href="../sr/">sr</a> |
+      <a href="../sv/">sv</a> |
+      <a href="../th/">th</a> |
+      <a href="../zh/">zh</a>
+    </span>
+    </td>
+  
+</tr>
+  
+<tr>
+  
+</tr>
+
+</table>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/ROOT/jp/include/header.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/jp/include/header.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/jp/include/header.html	(revision 66)
@@ -0,0 +1,1 @@
+<?xml version="1.0" encoding="UTF-8"?><!--This file is automatically generated.  Do not edit!--><table cellspacing="0" cellpadding="0" border="0" width="635"><tr><td rowspan="2" width="140" valign="bottom"><a href="./"><img border="0" src="../img/reiter/logo_nutch.gif"/></a><img height="1" width="140" src="../img/reiter/spacer_666666.gif"/></td></tr><tr><td align="right" valign="bottom" width="495"><table width="495" cellspacing="0" cellpadding="0" border="0"><tr><td width="400" background="../img/reiter/_bg_reiter.gif">&#160;</td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le1.gif"/></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="about.html" class="bodytext">Nutchについて</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"/></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le.gif"/></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="http://wiki.apache.org/nutch/FAQ" class="bodytext">よくある質問</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"/></td></tr></table></td></tr></table>
Index: /nutchez-0.1/tomcat/webapps/ROOT/jp/search.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/jp/search.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/jp/search.html	(revision 66)
@@ -0,0 +1,184 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><!--This page is automatically generated.  Do not edit!-->
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Nutch: </title>
+<style type="text/css">
+
+.menuTd {
+  background-color: #F9F7F4;
+  height: 25px;
+}
+
+.menuTdhover {
+  background-color: #ECE5DC;
+  height: 25px;
+}
+
+.menuEntry {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.body {
+  background-color: #F9F7F4;
+}
+
+.bodytext {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.title {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 26px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.intro {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.orangeTd {
+  background-color: #FF9900
+}
+
+ul {
+  list-style-image: url(../img/reiter/ul.gif)
+}
+
+h3 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 16px;
+  color: #000000;
+}
+
+h4 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 14px;
+  color: #000000;
+}
+
+.url {
+  color: #996600;
+}
+
+.highlight {
+  font-weight: bold;
+}
+
+.ellipsis {
+  font-weight: bold;
+}
+
+</style>
+<link type="image/x-icon" href="../img/favicon.ico" rel="icon">
+<link type="image/x-icon" href="../img/favicon.ico" rel="shortcut icon">
+<script type="text/javascript">
+<!--
+function queryfocus() {
+  search = document.search;
+  if (search != null) { search.query.focus(); }
+}
+// --></script>
+</head>
+<body onLoad="queryfocus();">
+<!--This file is automatically generated.  Do not edit!-->
+<table cellspacing="0" cellpadding="0" border="0" width="635">
+<tr>
+<td rowspan="2" width="140" valign="bottom"><a href="./"><img border="0" src="../img/reiter/logo_nutch.gif"></a><img height="1" width="140" src="../img/reiter/spacer_666666.gif"></td>
+</tr>
+<tr>
+<td align="right" valign="bottom" width="495">
+<table width="495" cellspacing="0" cellpadding="0" border="0">
+<tr>
+<td width="400" background="../img/reiter/_bg_reiter.gif">&nbsp;</td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le1.gif"></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="about.html" class="bodytext">Nutchについて</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le.gif"></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="http://wiki.apache.org/nutch/FAQ" class="bodytext">よくある質問</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<table cellspacing="0" cellpadding="0" border="0" width="635">
+<tr valign="top">
+<td width="140">
+<table cellspacing="0" cellpadding="0" width="100%">
+<tr>
+<td>&#160;</td>
+</tr>
+</table>
+</td><td background="../img/reiter/_spacer_cccccc.gif" width="20">&#160;</td><td class="body" width="475">
+<table cellspacing="0" cellpadding="0" border="0" width="475">
+<tr>
+<td valign="bottom" width="275" height="125" class="title"></td><td valign="bottom" width="200" height="125"><img src="../img/reiter/robots.gif"></td>
+</tr>
+</table>
+<br class="br">
+<span class="bodytext">
+</span><span class="bodytext">
+<center>
+
+<form name="search" action="../search.jsp" method="get">
+  
+<input type="hidden" name="lang" value="jp">
+  <input name="query" size="44">&nbsp;<input type="submit" value="検索">
+  <a href="help.html">ヘルプ</a>
+
+</form>
+
+</center>
+</span><span class="bodytext">
+</span>
+<br class="br">
+<br class="br">
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+  
+<tr>
+    
+<td width="140">&nbsp;</td>
+    <td width="20">&nbsp;</td>
+    <td width="475" align="center">
+    <span class="bodytext">
+    
+<br>
+      
+<a href="../ca/">ca</a> |
+      <a href="../de/">de</a> |
+      <a href="../en/">en</a> |
+      <a href="../es/">es</a> |
+      <a href="../fi/">fi</a> |
+      <a href="../fr/">fr</a> |
+      <a href="../hu/">hu</a> |
+      <a href="../it/">it</a> |
+      <a href="../jp/">jp</a> |
+      <a href="../ms/">ms</a> |
+      <a href="../nl/">nl</a> |
+      <a href="../pl/">pl</a> |
+      <a href="../pt/">pt</a> |
+      <a href="../sh/">sh</a> |
+      <a href="../sr/">sr</a> |
+      <a href="../sv/">sv</a> |
+      <a href="../th/">th</a> |
+      <a href="../zh/">zh</a>
+    </span>
+    </td>
+  
+</tr>
+  
+<tr>
+  
+</tr>
+
+</table>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/ROOT/more.jsp
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/more.jsp	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/more.jsp	(revision 66)
@@ -0,0 +1,68 @@
+<%--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+--%>
+<%
+    // @author John Xing
+    // show meta info (currently type, size, date of last-modified)
+    // for each hit. These info are indexed by ./src/plugin/index-more.
+
+    // do not show unless we have something
+    boolean showMore = false;
+
+    // Content-Type
+    String primaryType = detail.getValue("primaryType");
+    String subType = detail.getValue("subType");
+
+    String contentType = subType;
+    if (contentType == null)
+      contentType = primaryType;
+    if (contentType != null) {
+      contentType = "[<span class=\"contentType\">" + contentType + "</span>]";
+      showMore = true;
+    } else {
+      contentType = "";
+    }
+
+    // Content-Length
+    String contentLength = detail.getValue("contentLength");
+    if (contentLength != null) {
+      contentLength = "(" + contentLength + " bytes)";
+      showMore = true;
+    } else {
+      contentLength = "";
+    }
+
+    // Last-Modified
+    String lastModified = detail.getValue("lastModified");
+    if (lastModified != null) {
+      Calendar cal = new GregorianCalendar();
+      cal.setTimeInMillis(new Long(lastModified).longValue());
+      lastModified = cal.get(Calendar.YEAR)
+                  + "." + (1+cal.get(Calendar.MONTH)) // it is 0-based
+                  + "." + cal.get(Calendar.DAY_OF_MONTH);
+      showMore = true;
+    } else {
+      lastModified = "";
+    }
+%>
+
+<% if (showMore) {
+    if ("text".equalsIgnoreCase(primaryType)) { %>
+    <br><font size=-1><nobr><%=contentType%> <%=contentLength%> <%=lastModified%></nobr></font>
+<%  } else { %>
+    <br><font size=-1><nobr><%=contentType%> <%=contentLength%> <%=lastModified%> - <a href="../text.jsp?<%=id%>"><i18n:message key="viewAsText"/></a></nobr></font>
+<%  }
+  } %>
Index: /nutchez-0.1/tomcat/webapps/ROOT/ms/about.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/ms/about.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/ms/about.html	(revision 66)
@@ -0,0 +1,227 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><!--This page is automatically generated.  Do not edit!-->
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Nutch: perihal</title>
+<style type="text/css">
+
+.menuTd {
+  background-color: #F9F7F4;
+  height: 25px;
+}
+
+.menuTdhover {
+  background-color: #ECE5DC;
+  height: 25px;
+}
+
+.menuEntry {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.body {
+  background-color: #F9F7F4;
+}
+
+.bodytext {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.title {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 26px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.intro {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.orangeTd {
+  background-color: #FF9900
+}
+
+ul {
+  list-style-image: url(../img/reiter/ul.gif)
+}
+
+h3 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 16px;
+  color: #000000;
+}
+
+h4 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 14px;
+  color: #000000;
+}
+
+.url {
+  color: #996600;
+}
+
+.highlight {
+  font-weight: bold;
+}
+
+.ellipsis {
+  font-weight: bold;
+}
+
+</style>
+<link rel="icon" href="../img/favicon.ico" type="image/x-icon">
+<link rel="shortcut icon" href="../img/favicon.ico" type="image/x-icon">
+<script type="text/javascript">
+<!--
+function queryfocus() {
+  search = document.search;
+  if (search != null) { search.query.focus(); }
+}
+// --></script>
+</head>
+<body onLoad="queryfocus();">
+<!--This file is automatically generated.  Do not edit!-->
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td valign="bottom" width="140" rowspan="2"><a href="./"><img src="../img/reiter/logo_nutch.gif" border="0"></a><img src="../img/reiter/spacer_666666.gif" width="140" height="1"></td>
+</tr>
+<tr>
+<td width="495" valign="bottom" align="right">
+<table border="0" cellpadding="0" cellspacing="0" width="495">
+<tr>
+<td background="../img/reiter/_bg_reiter.gif" width="400">&nbsp;</td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le1.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="about.html">Perihal</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="http://wiki.apache.org/nutch/FAQ">Soalan-Soalan Lazim</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr valign="top">
+<td width="140">
+<table width="100%" cellpadding="0" cellspacing="0">
+<tr class="menuTd" height="25">
+<td class="menuTd" onmouseover="this.className='menuTdhover';" onmouseout="this.className='menuTd'" width="100%">&#160;:: <a href="http://lucene.apache.org/nutch/credits.html" class="menuEntry">Penghargaan</a></td>
+</tr>
+<tr height="1px">
+<td><img src="../img/reiter/spacer_666666.gif" height="1" width="100%"></td>
+</tr>
+<tr class="menuTd" height="25">
+<td class="menuTd" onmouseover="this.className='menuTdhover';" onmouseout="this.className='menuTd'" width="100%">&#160;:: <a href="http://lucene.apache.org/nutch/index.html" class="menuEntry">Status</a></td>
+</tr>
+<tr height="1px">
+<td><img src="../img/reiter/spacer_666666.gif" height="1" width="100%"></td>
+</tr>
+<tr>
+<td>&#160;</td>
+</tr>
+</table>
+</td><td width="20" background="../img/reiter/_spacer_cccccc.gif">&#160;</td><td width="475" class="body">
+<table width="475" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td class="title" height="125" width="275" valign="bottom">perihal</td><td height="125" width="200" valign="bottom"><img src="../img/reiter/robots.gif"></td>
+</tr>
+</table>
+<br class="br">
+<span class="bodytext">
+
+</span><span class="intro">
+<p>Nutch merupakan inisiatif baru untuk membangunkan enjin carian web berasaskan prinsip sumber terbuka.</p>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>Carian web merupakan keperluan asas untuk melayari internet, tetapi bilangan enjin pencari semakin berkurangan. Oligopoli pada hari ini akan menjadi monopoli, 
+dengan sebuah organisasi mengawal hampir keseluruhan carian web untuk keuntungan komersil. Ini tidak membawa sebarang manfaat kepada pengguna internet.</p>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>Nutch adalah satu alternatif transparen kepada enjin-enjin carian komersil. Hanya hasil pencarian yang berasaskan konsep sumber terbuka boleh dipercayai 
+sepenuhnya tanpa berat sebelah (sekurang-kurangnya, kewujudan berat sebelah adalah umum). Kesemua enjin-enjin carian semasa memiliki formula ranking khusus, 
+dan pemilik-pemilik enjin carian tersebut tidak akan mendedahkan sebab-sebab kenapa sesuatu hasil pencarian berada pada ranking yang dipaparkan. Sesetengah 
+enjin-enjin carian mengindekkan laman-laman web berasaskan bayaran dan menghiraukan merit laman-laman web tersebut. Disebaliknya, Nutch, dengan tanpa selindung 
+dan tidak memiliki motif untuk berat sebelah dalam pencariannya, akan senantiasa berusaha memberi hasil-hasil pencarian yang terbaik kepada pengguna.</p>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>Tujuan Nutch adalah untuk memberi kesemua masyarakat internet satu enjin carian web yang bertaraf antarabangsa, senang dan kos efektif untuk diimplementasikan. 
+Ini merupakan cabaran yang besar. Untuk berjaya, perisian Nutch mesti berupaya:</p>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<ul>
+  
+<li>mengaut beberapa bilion laman-laman web dalam satu bulan</li>
+  
+<li>menyengara indek bagi laman-laman web tersebut</li>
+  
+<li>berupaya mencari indek tersebut pada kelajuan 1000 kali sesaat</li>
+  
+<li>memberi hasil-hasil pencarian yang berkualiti</li>
+  
+<li>beroperasi dengan kos yang minima</li>
+
+</ul>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>Ini adalah proposisi yang mencabar. Jikalau anda percaya dengan merit projek ini, anda dipelawa untuk menghulurkan bantuan, samada sebagai 
+<a href="http://www.apache.org/dev/">pembangun perisian</a>atau <a href="http://www.apache.org/foundation/contributing.html">menderma</a>.</p>
+</span><span class="bodytext"> 
+
+</span>
+<br class="br">
+<br class="br">
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+  
+<tr>
+    
+<td width="140">&nbsp;</td>
+    <td width="20">&nbsp;</td>
+    <td width="475" align="center">
+    <span class="bodytext">
+    
+<br>
+      
+<a href="../ca/">ca</a> |
+      <a href="../de/">de</a> |
+      <a href="../en/">en</a> |
+      <a href="../es/">es</a> |
+      <a href="../fi/">fi</a> |
+      <a href="../fr/">fr</a> |
+      <a href="../hu/">hu</a> |
+      <a href="../it/">it</a> |
+      <a href="../jp/">jp</a> |
+      <a href="../ms/">ms</a> |
+      <a href="../nl/">nl</a> |
+      <a href="../pl/">pl</a> |
+      <a href="../pt/">pt</a> |
+      <a href="../sh/">sh</a> |
+      <a href="../sr/">sr</a> |
+      <a href="../sv/">sv</a> |
+      <a href="../th/">th</a> |
+      <a href="../zh/">zh</a>
+    </span>
+    </td>
+  
+</tr>
+  
+<tr>
+  
+</tr>
+
+</table>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/ROOT/ms/help.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/ms/help.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/ms/help.html	(revision 66)
@@ -0,0 +1,219 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><!--This page is automatically generated.  Do not edit!-->
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Nutch: Petunjuk Carian</title>
+<style type="text/css">
+
+.menuTd {
+  background-color: #F9F7F4;
+  height: 25px;
+}
+
+.menuTdhover {
+  background-color: #ECE5DC;
+  height: 25px;
+}
+
+.menuEntry {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.body {
+  background-color: #F9F7F4;
+}
+
+.bodytext {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.title {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 26px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.intro {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.orangeTd {
+  background-color: #FF9900
+}
+
+ul {
+  list-style-image: url(../img/reiter/ul.gif)
+}
+
+h3 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 16px;
+  color: #000000;
+}
+
+h4 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 14px;
+  color: #000000;
+}
+
+.url {
+  color: #996600;
+}
+
+.highlight {
+  font-weight: bold;
+}
+
+.ellipsis {
+  font-weight: bold;
+}
+
+</style>
+<link rel="icon" href="../img/favicon.ico" type="image/x-icon">
+<link rel="shortcut icon" href="../img/favicon.ico" type="image/x-icon">
+<script type="text/javascript">
+<!--
+function queryfocus() {
+  search = document.search;
+  if (search != null) { search.query.focus(); }
+}
+// --></script>
+</head>
+<body onLoad="queryfocus();">
+<!--This file is automatically generated.  Do not edit!-->
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td valign="bottom" width="140" rowspan="2"><a href="./"><img src="../img/reiter/logo_nutch.gif" border="0"></a><img src="../img/reiter/spacer_666666.gif" width="140" height="1"></td>
+</tr>
+<tr>
+<td width="495" valign="bottom" align="right">
+<table border="0" cellpadding="0" cellspacing="0" width="495">
+<tr>
+<td background="../img/reiter/_bg_reiter.gif" width="400">&nbsp;</td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le1.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="about.html">Perihal</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="http://wiki.apache.org/nutch/FAQ">Soalan-Soalan Lazim</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr valign="top">
+<td width="140">
+<table width="100%" cellpadding="0" cellspacing="0">
+<tr>
+<td>&#160;</td>
+</tr>
+</table>
+</td><td width="20" background="../img/reiter/_spacer_cccccc.gif">&#160;</td><td width="475" class="body">
+<table width="475" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td class="title" height="125" width="275" valign="bottom">Petunjuk Carian</td><td height="125" width="200" valign="bottom"><img src="../img/reiter/robots.gif"></td>
+</tr>
+</table>
+<br class="br">
+<span class="bodytext">
+
+</span><span class="bodytext">
+<h3>Kueri</h3>
+</span><span class="bodytext">
+Untuk mencari dengan Nutch, taip beberapa katakunci.
+</span><span class="bodytext">
+<ul>
+   
+<li>Halaman-halaman hasil pencarian hanya mengandungi <span style="font-style: italic;">semua</span> perkataan yang dicari.</li>
+   
+<li>Gunakan tanda " " bagi perkataan yang wujud seiring, sebagai satu frasa
+ seperti. <span style="font-weight: bold;">"New Zealand"</span>.</li>
+   
+<li>Ruang kosong diantara perkataan juga akan mencetuskan pencarian frasa. Jadi, 
+ mencari <span style="font-weight: bold;">http://www.apache.org/</span>
+ adalah sama seperti mencari<span style="font-weight: bold;">"http www
+ apache org"</span>.</li>
+   
+<li>Pencarian Nutch adalah tidak kes sensitif, jadi mencari <span style="font-weight: bold;">NuTcH</span> adalah sama seperti mencari <span style="font-weight: bold;">nUtCh</span>.</li>
+   
+<li>Anda boleh mengelakkan pencarian untuk sesuatu perkataan dengan 
+ menggunakan tanda sempang sebelum perkataan tersebut. Jadi, mencari <span style="font-weight: bold;">football
+-nfl</span>, anda akan menerima halaman-halaman hasil pencarian mengenai bolasepak, tanpa
+perkataan "nfl".</li>
+  
+<li>Itu sahaja!</li>
+
+</ul>
+</span><span class="bodytext">
+</span><span class="bodytext">
+<h3>Hasil Pencarian</h3>
+</span><span class="bodytext">
+Setiap halaman hasil pencarian akan mengandungi link berikut:
+</span><span class="bodytext">
+<ul>
+  
+<li>(<span style="color: rgb(51, 51, 255);">tampungan</span>) menampilkan 
+versi halaman yang Nutch perolehi.</li>
+  
+<li>(<span style="color: rgb(51, 51, 255);">penerangan</span>) menampilkan 
+deskripsi mengenai tahap kesesuaian halaman tersebut.</li>
+  
+<li>(<span style="color: rgb(51, 51, 255);">penunjuk</span>) menunjukkan 
+  senarai penunjuk tuju-masuk yang diindekkan untuk halaman tersebut.</li>
+
+</ul>
+</span><span class="bodytext">
+
+</span>
+<br class="br">
+<br class="br">
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+  
+<tr>
+    
+<td width="140">&nbsp;</td>
+    <td width="20">&nbsp;</td>
+    <td width="475" align="center">
+    <span class="bodytext">
+    
+<br>
+      
+<a href="../ca/">ca</a> |
+      <a href="../de/">de</a> |
+      <a href="../en/">en</a> |
+      <a href="../es/">es</a> |
+      <a href="../fi/">fi</a> |
+      <a href="../fr/">fr</a> |
+      <a href="../hu/">hu</a> |
+      <a href="../it/">it</a> |
+      <a href="../jp/">jp</a> |
+      <a href="../ms/">ms</a> |
+      <a href="../nl/">nl</a> |
+      <a href="../pl/">pl</a> |
+      <a href="../pt/">pt</a> |
+      <a href="../sh/">sh</a> |
+      <a href="../sr/">sr</a> |
+      <a href="../sv/">sv</a> |
+      <a href="../th/">th</a> |
+      <a href="../zh/">zh</a>
+    </span>
+    </td>
+  
+</tr>
+  
+<tr>
+  
+</tr>
+
+</table>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/ROOT/ms/include/header.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/ms/include/header.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/ms/include/header.html	(revision 66)
@@ -0,0 +1,1 @@
+<?xml version="1.0" encoding="UTF-8"?><!--This file is automatically generated.  Do not edit!--><table cellspacing="0" cellpadding="0" border="0" width="635"><tr><td rowspan="2" width="140" valign="bottom"><a href="./"><img border="0" src="../img/reiter/logo_nutch.gif"/></a><img height="1" width="140" src="../img/reiter/spacer_666666.gif"/></td></tr><tr><td align="right" valign="bottom" width="495"><table width="495" cellspacing="0" cellpadding="0" border="0"><tr><td width="400" background="../img/reiter/_bg_reiter.gif">&#160;</td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le1.gif"/></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="about.html" class="bodytext">Perihal</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"/></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le.gif"/></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="http://wiki.apache.org/nutch/FAQ" class="bodytext">Soalan-Soalan Lazim</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"/></td></tr></table></td></tr></table>
Index: /nutchez-0.1/tomcat/webapps/ROOT/ms/search.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/ms/search.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/ms/search.html	(revision 66)
@@ -0,0 +1,184 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><!--This page is automatically generated.  Do not edit!-->
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Nutch: </title>
+<style type="text/css">
+
+.menuTd {
+  background-color: #F9F7F4;
+  height: 25px;
+}
+
+.menuTdhover {
+  background-color: #ECE5DC;
+  height: 25px;
+}
+
+.menuEntry {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.body {
+  background-color: #F9F7F4;
+}
+
+.bodytext {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.title {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 26px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.intro {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.orangeTd {
+  background-color: #FF9900
+}
+
+ul {
+  list-style-image: url(../img/reiter/ul.gif)
+}
+
+h3 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 16px;
+  color: #000000;
+}
+
+h4 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 14px;
+  color: #000000;
+}
+
+.url {
+  color: #996600;
+}
+
+.highlight {
+  font-weight: bold;
+}
+
+.ellipsis {
+  font-weight: bold;
+}
+
+</style>
+<link type="image/x-icon" href="../img/favicon.ico" rel="icon">
+<link type="image/x-icon" href="../img/favicon.ico" rel="shortcut icon">
+<script type="text/javascript">
+<!--
+function queryfocus() {
+  search = document.search;
+  if (search != null) { search.query.focus(); }
+}
+// --></script>
+</head>
+<body onLoad="queryfocus();">
+<!--This file is automatically generated.  Do not edit!-->
+<table cellspacing="0" cellpadding="0" border="0" width="635">
+<tr>
+<td rowspan="2" width="140" valign="bottom"><a href="./"><img border="0" src="../img/reiter/logo_nutch.gif"></a><img height="1" width="140" src="../img/reiter/spacer_666666.gif"></td>
+</tr>
+<tr>
+<td align="right" valign="bottom" width="495">
+<table width="495" cellspacing="0" cellpadding="0" border="0">
+<tr>
+<td width="400" background="../img/reiter/_bg_reiter.gif">&nbsp;</td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le1.gif"></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="about.html" class="bodytext">Perihal</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le.gif"></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="http://wiki.apache.org/nutch/FAQ" class="bodytext">Soalan-Soalan Lazim</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<table cellspacing="0" cellpadding="0" border="0" width="635">
+<tr valign="top">
+<td width="140">
+<table cellspacing="0" cellpadding="0" width="100%">
+<tr>
+<td>&#160;</td>
+</tr>
+</table>
+</td><td background="../img/reiter/_spacer_cccccc.gif" width="20">&#160;</td><td class="body" width="475">
+<table cellspacing="0" cellpadding="0" border="0" width="475">
+<tr>
+<td valign="bottom" width="275" height="125" class="title"></td><td valign="bottom" width="200" height="125"><img src="../img/reiter/robots.gif"></td>
+</tr>
+</table>
+<br class="br">
+<span class="bodytext">
+</span><span class="bodytext">
+<center>
+
+<form name="search" action="../search.jsp" method="get">
+  
+<input type="hidden" name="lang" value="ms">
+  <input name="query" size="44">&nbsp;<input type="submit" value="Search">
+  <a href="help.html">Penunjuk</a>
+
+</form>
+
+</center>
+</span><span class="bodytext">
+</span>
+<br class="br">
+<br class="br">
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+  
+<tr>
+    
+<td width="140">&nbsp;</td>
+    <td width="20">&nbsp;</td>
+    <td width="475" align="center">
+    <span class="bodytext">
+    
+<br>
+      
+<a href="../ca/">ca</a> |
+      <a href="../de/">de</a> |
+      <a href="../en/">en</a> |
+      <a href="../es/">es</a> |
+      <a href="../fi/">fi</a> |
+      <a href="../fr/">fr</a> |
+      <a href="../hu/">hu</a> |
+      <a href="../it/">it</a> |
+      <a href="../jp/">jp</a> |
+      <a href="../ms/">ms</a> |
+      <a href="../nl/">nl</a> |
+      <a href="../pl/">pl</a> |
+      <a href="../pt/">pt</a> |
+      <a href="../sh/">sh</a> |
+      <a href="../sr/">sr</a> |
+      <a href="../sv/">sv</a> |
+      <a href="../th/">th</a> |
+      <a href="../zh/">zh</a>
+    </span>
+    </td>
+  
+</tr>
+  
+<tr>
+  
+</tr>
+
+</table>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/ROOT/nl/about.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/nl/about.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/nl/about.html	(revision 66)
@@ -0,0 +1,240 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><!--This page is automatically generated.  Do not edit!-->
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Nutch: Over Nutch</title>
+<style type="text/css">
+
+.menuTd {
+  background-color: #F9F7F4;
+  height: 25px;
+}
+
+.menuTdhover {
+  background-color: #ECE5DC;
+  height: 25px;
+}
+
+.menuEntry {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.body {
+  background-color: #F9F7F4;
+}
+
+.bodytext {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.title {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 26px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.intro {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.orangeTd {
+  background-color: #FF9900
+}
+
+ul {
+  list-style-image: url(../img/reiter/ul.gif)
+}
+
+h3 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 16px;
+  color: #000000;
+}
+
+h4 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 14px;
+  color: #000000;
+}
+
+.url {
+  color: #996600;
+}
+
+.highlight {
+  font-weight: bold;
+}
+
+.ellipsis {
+  font-weight: bold;
+}
+
+</style>
+<link rel="icon" href="../img/favicon.ico" type="image/x-icon">
+<link rel="shortcut icon" href="../img/favicon.ico" type="image/x-icon">
+<script type="text/javascript">
+<!--
+function queryfocus() {
+  search = document.search;
+  if (search != null) { search.query.focus(); }
+}
+// --></script>
+</head>
+<body onLoad="queryfocus();">
+<!--This file is automatically generated.  Do not edit!-->
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td valign="bottom" width="140" rowspan="2"><a href="./"><img src="../img/reiter/logo_nutch.gif" border="0"></a><img src="../img/reiter/spacer_666666.gif" width="140" height="1"></td>
+</tr>
+<tr>
+<td width="495" valign="bottom" align="right">
+<table border="0" cellpadding="0" cellspacing="0" width="495">
+<tr>
+<td background="../img/reiter/_bg_reiter.gif" width="400">&nbsp;</td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le1.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="about.html">Over</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="http://wiki.apache.org/nutch/FAQ">Veelgestelde vragen (FAQ)</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr valign="top">
+<td width="140">
+<table width="100%" cellpadding="0" cellspacing="0">
+<tr class="menuTd" height="25">
+<td class="menuTd" onmouseover="this.className='menuTdhover';" onmouseout="this.className='menuTd'" width="100%">&#160;:: <a href="http://lucene.apache.org/nutch/credits.html" class="menuEntry">Credits</a></td>
+</tr>
+<tr height="1px">
+<td><img src="../img/reiter/spacer_666666.gif" height="1" width="100%"></td>
+</tr>
+<tr class="menuTd" height="25">
+<td class="menuTd" onmouseover="this.className='menuTdhover';" onmouseout="this.className='menuTd'" width="100%">&#160;:: <a href="http://lucene.apache.org/nutch/index.html" class="menuEntry">Status</a></td>
+</tr>
+<tr height="1px">
+<td><img src="../img/reiter/spacer_666666.gif" height="1" width="100%"></td>
+</tr>
+<tr>
+<td>&#160;</td>
+</tr>
+</table>
+</td><td width="20" background="../img/reiter/_spacer_cccccc.gif">&#160;</td><td width="475" class="body">
+<table width="475" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td class="title" height="125" width="275" valign="bottom">Over Nutch</td><td height="125" width="200" valign="bottom"><img src="../img/reiter/robots.gif"></td>
+</tr>
+</table>
+<br class="br">
+<span class="bodytext">
+
+</span><span class="intro">
+<p>Nutch heeft een begin gemaakt met het realiseren van een open-source webzoekmachine.</p>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>Het doorzoeken van het web vormt een basiseis voor het surfen over het internet. Toch vermindert
+het aantal zoekmachines. De huidige markt met enkele aanbieders kent binnenkort wellicht nog maar
+&eacute;&eacute;n enkele aanbieder. Die ene onderneming krijgt dan de macht over bijna alle zoekopdrachten en
+kan deze gebruiken voor haar commerci&euml;le doeleinden. Dat zou niet goed zijn voor de internetgebruikers.
+</p>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>Nutch biedt een transparant alternatief voor de commerci&euml;le webzoekmachines.
+Alleen bij open-source-zoekresultaten valt  er volledig op te vertrouwen dat zij zonder dubieuze
+filters zijn geselecteerd (of is hun filtering tenminste voor iedereen zichtbaar).
+Alle huidige belangrijke zoekmachines hanteren eigen formules
+voor de rangorde van treffers en leggen niet uit hoe een bepaalde pagina aan zijn plaats in de lijst van
+treffers komt.
+Bovendien bepalen sommige zoekmachines hun indexering op basis van betalingen in plaats van
+op de verdiensten van de sites zelf.
+Nutch, daarentegen, heeft niets te verbergen en heeft geen reden om
+zijn zoekresultaten of zijn crawler op welke manier dan ook te be&iuml;nvloeden,
+behalve dan door elke gebruiker het best mogelijke resultaat te willen bieden.
+</p>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>Nutch wil iedereen in staat stellen op eenvoudige en lonende wijze gebruik te maken van een zoekmachine
+van wereldklasse.
+Dit vormt een aanzienlijke uitdaging. Om erin te slagen dient de Nutch software in staat zijn om:</p>
+</span><span class="bodytext">
+</span><span class="bodytext">
+<ul>
+  
+<li>verscheidene miljarden pagina's per maand te bereiken; </li>
+  
+<li>een index van deze pagina's te onderhouden;</li>
+  
+<li>die index tot 1000 keer per seconde af te zoeken;</li>
+  
+<li>een zeer hoge kwaliteit van zoekresultaten te verschaffen;</li>
+  
+<li>tegen minimale kosten te functioneren.</li>
+
+</ul>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>Dit voornemen vormt een uitdaging.
+Als je in het belang van dit project gelooft, werk er dan aan mee, als
+<a href="http://www.apache.org/dev/">ontwikkelaar</a> of als
+<a href="http://www.apache.org/foundation/contributing.html">donateur</a>.
+</p>
+</span><span class="bodytext">
+
+</span>
+<br class="br">
+<br class="br">
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+  
+<tr>
+    
+<td width="140">&nbsp;</td>
+    <td width="20">&nbsp;</td>
+    <td width="475" align="center">
+    <span class="bodytext">
+    
+<br>
+      
+<a href="../ca/">ca</a> |
+      <a href="../de/">de</a> |
+      <a href="../en/">en</a> |
+      <a href="../es/">es</a> |
+      <a href="../fi/">fi</a> |
+      <a href="../fr/">fr</a> |
+      <a href="../hu/">hu</a> |
+      <a href="../it/">it</a> |
+      <a href="../jp/">jp</a> |
+      <a href="../ms/">ms</a> |
+      <a href="../nl/">nl</a> |
+      <a href="../pl/">pl</a> |
+      <a href="../pt/">pt</a> |
+      <a href="../sh/">sh</a> |
+      <a href="../sr/">sr</a> |
+      <a href="../sv/">sv</a> |
+      <a href="../th/">th</a> |
+      <a href="../zh/">zh</a>
+    </span>
+    </td>
+  
+</tr>
+  
+<tr>
+  
+</tr>
+
+</table>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/ROOT/nl/help.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/nl/help.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/nl/help.html	(revision 66)
@@ -0,0 +1,226 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><!--This page is automatically generated.  Do not edit!-->
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Nutch: Help voor het zoeken</title>
+<style type="text/css">
+
+.menuTd {
+  background-color: #F9F7F4;
+  height: 25px;
+}
+
+.menuTdhover {
+  background-color: #ECE5DC;
+  height: 25px;
+}
+
+.menuEntry {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.body {
+  background-color: #F9F7F4;
+}
+
+.bodytext {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.title {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 26px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.intro {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.orangeTd {
+  background-color: #FF9900
+}
+
+ul {
+  list-style-image: url(../img/reiter/ul.gif)
+}
+
+h3 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 16px;
+  color: #000000;
+}
+
+h4 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 14px;
+  color: #000000;
+}
+
+.url {
+  color: #996600;
+}
+
+.highlight {
+  font-weight: bold;
+}
+
+.ellipsis {
+  font-weight: bold;
+}
+
+</style>
+<link rel="icon" href="../img/favicon.ico" type="image/x-icon">
+<link rel="shortcut icon" href="../img/favicon.ico" type="image/x-icon">
+<script type="text/javascript">
+<!--
+function queryfocus() {
+  search = document.search;
+  if (search != null) { search.query.focus(); }
+}
+// --></script>
+</head>
+<body onLoad="queryfocus();">
+<!--This file is automatically generated.  Do not edit!-->
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td valign="bottom" width="140" rowspan="2"><a href="./"><img src="../img/reiter/logo_nutch.gif" border="0"></a><img src="../img/reiter/spacer_666666.gif" width="140" height="1"></td>
+</tr>
+<tr>
+<td width="495" valign="bottom" align="right">
+<table border="0" cellpadding="0" cellspacing="0" width="495">
+<tr>
+<td background="../img/reiter/_bg_reiter.gif" width="400">&nbsp;</td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le1.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="about.html">Over</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="http://wiki.apache.org/nutch/FAQ">Veelgestelde vragen (FAQ)</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr valign="top">
+<td width="140">
+<table width="100%" cellpadding="0" cellspacing="0">
+<tr>
+<td>&#160;</td>
+</tr>
+</table>
+</td><td width="20" background="../img/reiter/_spacer_cccccc.gif">&#160;</td><td width="475" class="body">
+<table width="475" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td class="title" height="125" width="275" valign="bottom">Help voor het zoeken</td><td height="125" width="200" valign="bottom"><img src="../img/reiter/robots.gif"></td>
+</tr>
+</table>
+<br class="br">
+<span class="bodytext">
+
+</span><span class="bodytext">
+<h3>Queries</h3>
+</span><span class="bodytext">
+Type een paar woorden in om met Nuch te zoeken.
+</span><span class="bodytext">
+<ul>
+  
+<li>Resultaten bevatten alleen pagina's die
+  <span style="font-style: italic;">alle</span> query woorden bevatten.</li>
+  
+<li>Gebruik quotes om woorden die achter elkaar moeten voorkomen, als een phrase,
+  b.v.  <span style="font-weight: bold;">"Nieuw Zeeland"</span>.</li>
+  
+<li>'Punktuering' tussen woorden (punten, komma's, dubbele punten ed.)
+  leidt ook tot het zoeken naar phrasen. Dus zoeken naar
+   <span style="font-weight: bold;">http://www.apache.org/</span>
+    is hetzelfde als zoeken naar
+    <span style="font-weight: bold;">"http www apache org"</span>.</li>
+  
+<li>Zoeken is niet kast-gevoelig, dus zoeken naar
+  <span style="font-weight: bold;">NuTcH</span>
+  is hetzelfde als zoeken naar
+  <span style="font-weight: bold;">nUtCh</span>.</li>
+  
+<li>U kunt een term in de resulterende pagina's voorkomen
+  door een min-streepje ervoor te zetten, b.v. zoeken naar
+<span style="font-weight: bold;">voetbal -knvb</span>
+zal pagina's vinden die over voetbal gaan, maar het woord "knvb" niet bevatten.
+</li>
+  
+<li>Dat is alles!</li>
+
+</ul>
+</span><span class="bodytext">
+</span><span class="bodytext">
+<h3>Resultaten</h3>
+</span><span class="bodytext">
+Iedere gevonden pagina in de resultaten heeft de volgende links:
+</span><span class="bodytext">
+<ul>
+  
+<li>(<span style="color: rgb(51, 51, 255);">opgeslagen</span>)
+  geeft de versie van de pagina weer die Nutch gedownload heeft.</li>
+  
+<li>(<span style="color: rgb(51, 51, 255);">uitleg</span>)
+  geeft een uitleg weer over hoe deze pagina scoorde.</li>
+  
+<li>(<span style="color: rgb(51, 51, 255);">verwijzers</span>)
+  laat een lijst zien van pagina's die naar deze pagina verwijzen.
+  </li>
+
+</ul>
+</span><span class="bodytext">
+
+</span>
+<br class="br">
+<br class="br">
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+  
+<tr>
+    
+<td width="140">&nbsp;</td>
+    <td width="20">&nbsp;</td>
+    <td width="475" align="center">
+    <span class="bodytext">
+    
+<br>
+      
+<a href="../ca/">ca</a> |
+      <a href="../de/">de</a> |
+      <a href="../en/">en</a> |
+      <a href="../es/">es</a> |
+      <a href="../fi/">fi</a> |
+      <a href="../fr/">fr</a> |
+      <a href="../hu/">hu</a> |
+      <a href="../it/">it</a> |
+      <a href="../jp/">jp</a> |
+      <a href="../ms/">ms</a> |
+      <a href="../nl/">nl</a> |
+      <a href="../pl/">pl</a> |
+      <a href="../pt/">pt</a> |
+      <a href="../sh/">sh</a> |
+      <a href="../sr/">sr</a> |
+      <a href="../sv/">sv</a> |
+      <a href="../th/">th</a> |
+      <a href="../zh/">zh</a>
+    </span>
+    </td>
+  
+</tr>
+  
+<tr>
+  
+</tr>
+
+</table>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/ROOT/nl/include/header.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/nl/include/header.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/nl/include/header.html	(revision 66)
@@ -0,0 +1,1 @@
+<?xml version="1.0" encoding="UTF-8"?><!--This file is automatically generated.  Do not edit!--><table cellspacing="0" cellpadding="0" border="0" width="635"><tr><td rowspan="2" width="140" valign="bottom"><a href="./"><img border="0" src="../img/reiter/logo_nutch.gif"/></a><img height="1" width="140" src="../img/reiter/spacer_666666.gif"/></td></tr><tr><td align="right" valign="bottom" width="495"><table width="495" cellspacing="0" cellpadding="0" border="0"><tr><td width="400" background="../img/reiter/_bg_reiter.gif">&#160;</td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le1.gif"/></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="about.html" class="bodytext">Over</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"/></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le.gif"/></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="http://wiki.apache.org/nutch/FAQ" class="bodytext">Veelgestelde vragen (FAQ)</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"/></td></tr></table></td></tr></table>
Index: /nutchez-0.1/tomcat/webapps/ROOT/nl/search.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/nl/search.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/nl/search.html	(revision 66)
@@ -0,0 +1,184 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><!--This page is automatically generated.  Do not edit!-->
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Nutch: </title>
+<style type="text/css">
+
+.menuTd {
+  background-color: #F9F7F4;
+  height: 25px;
+}
+
+.menuTdhover {
+  background-color: #ECE5DC;
+  height: 25px;
+}
+
+.menuEntry {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.body {
+  background-color: #F9F7F4;
+}
+
+.bodytext {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.title {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 26px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.intro {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.orangeTd {
+  background-color: #FF9900
+}
+
+ul {
+  list-style-image: url(../img/reiter/ul.gif)
+}
+
+h3 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 16px;
+  color: #000000;
+}
+
+h4 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 14px;
+  color: #000000;
+}
+
+.url {
+  color: #996600;
+}
+
+.highlight {
+  font-weight: bold;
+}
+
+.ellipsis {
+  font-weight: bold;
+}
+
+</style>
+<link type="image/x-icon" href="../img/favicon.ico" rel="icon">
+<link type="image/x-icon" href="../img/favicon.ico" rel="shortcut icon">
+<script type="text/javascript">
+<!--
+function queryfocus() {
+  search = document.search;
+  if (search != null) { search.query.focus(); }
+}
+// --></script>
+</head>
+<body onLoad="queryfocus();">
+<!--This file is automatically generated.  Do not edit!-->
+<table cellspacing="0" cellpadding="0" border="0" width="635">
+<tr>
+<td rowspan="2" width="140" valign="bottom"><a href="./"><img border="0" src="../img/reiter/logo_nutch.gif"></a><img height="1" width="140" src="../img/reiter/spacer_666666.gif"></td>
+</tr>
+<tr>
+<td align="right" valign="bottom" width="495">
+<table width="495" cellspacing="0" cellpadding="0" border="0">
+<tr>
+<td width="400" background="../img/reiter/_bg_reiter.gif">&nbsp;</td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le1.gif"></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="about.html" class="bodytext">Over</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le.gif"></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="http://wiki.apache.org/nutch/FAQ" class="bodytext">Veelgestelde vragen (FAQ)</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<table cellspacing="0" cellpadding="0" border="0" width="635">
+<tr valign="top">
+<td width="140">
+<table cellspacing="0" cellpadding="0" width="100%">
+<tr>
+<td>&#160;</td>
+</tr>
+</table>
+</td><td background="../img/reiter/_spacer_cccccc.gif" width="20">&#160;</td><td class="body" width="475">
+<table cellspacing="0" cellpadding="0" border="0" width="475">
+<tr>
+<td valign="bottom" width="275" height="125" class="title"></td><td valign="bottom" width="200" height="125"><img src="../img/reiter/robots.gif"></td>
+</tr>
+</table>
+<br class="br">
+<span class="bodytext">
+</span><span class="bodytext">
+<center>
+
+<form name="search" action="../search.jsp" method="get">
+  
+<input type="hidden" name="lang" value="nl">
+  <input name="query" size="44">&nbsp;<input type="submit" value="Zoeken">
+  <a href="help.html">Help</a>
+
+</form>
+
+</center>
+</span><span class="bodytext">
+</span>
+<br class="br">
+<br class="br">
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+  
+<tr>
+    
+<td width="140">&nbsp;</td>
+    <td width="20">&nbsp;</td>
+    <td width="475" align="center">
+    <span class="bodytext">
+    
+<br>
+      
+<a href="../ca/">ca</a> |
+      <a href="../de/">de</a> |
+      <a href="../en/">en</a> |
+      <a href="../es/">es</a> |
+      <a href="../fi/">fi</a> |
+      <a href="../fr/">fr</a> |
+      <a href="../hu/">hu</a> |
+      <a href="../it/">it</a> |
+      <a href="../jp/">jp</a> |
+      <a href="../ms/">ms</a> |
+      <a href="../nl/">nl</a> |
+      <a href="../pl/">pl</a> |
+      <a href="../pt/">pt</a> |
+      <a href="../sh/">sh</a> |
+      <a href="../sr/">sr</a> |
+      <a href="../sv/">sv</a> |
+      <a href="../th/">th</a> |
+      <a href="../zh/">zh</a>
+    </span>
+    </td>
+  
+</tr>
+  
+<tr>
+  
+</tr>
+
+</table>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/ROOT/pl/about.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/pl/about.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/pl/about.html	(revision 66)
@@ -0,0 +1,237 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><!--This page is automatically generated.  Do not edit!-->
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Nutch: O Projekcie</title>
+<style type="text/css">
+
+.menuTd {
+  background-color: #F9F7F4;
+  height: 25px;
+}
+
+.menuTdhover {
+  background-color: #ECE5DC;
+  height: 25px;
+}
+
+.menuEntry {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.body {
+  background-color: #F9F7F4;
+}
+
+.bodytext {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.title {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 26px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.intro {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.orangeTd {
+  background-color: #FF9900
+}
+
+ul {
+  list-style-image: url(../img/reiter/ul.gif)
+}
+
+h3 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 16px;
+  color: #000000;
+}
+
+h4 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 14px;
+  color: #000000;
+}
+
+.url {
+  color: #996600;
+}
+
+.highlight {
+  font-weight: bold;
+}
+
+.ellipsis {
+  font-weight: bold;
+}
+
+</style>
+<link rel="icon" href="../img/favicon.ico" type="image/x-icon">
+<link rel="shortcut icon" href="../img/favicon.ico" type="image/x-icon">
+<script type="text/javascript">
+<!--
+function queryfocus() {
+  search = document.search;
+  if (search != null) { search.query.focus(); }
+}
+// --></script>
+</head>
+<body onLoad="queryfocus();">
+<!--This file is automatically generated.  Do not edit!-->
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td valign="bottom" width="140" rowspan="2"><a href="./"><img src="../img/reiter/logo_nutch.gif" border="0"></a><img src="../img/reiter/spacer_666666.gif" width="140" height="1"></td>
+</tr>
+<tr>
+<td width="495" valign="bottom" align="right">
+<table border="0" cellpadding="0" cellspacing="0" width="495">
+<tr>
+<td background="../img/reiter/_bg_reiter.gif" width="400">&nbsp;</td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le1.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="about.html">O Nutch</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="http://wiki.apache.org/nutch/FAQ">Częste pytania</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr valign="top">
+<td width="140">
+<table width="100%" cellpadding="0" cellspacing="0">
+<tr class="menuTd" height="25">
+<td class="menuTd" onmouseover="this.className='menuTdhover';" onmouseout="this.className='menuTd'" width="100%">&#160;:: <a href="http://lucene.apache.org/nutch/credits.html" class="menuEntry">Podziękowania</a></td>
+</tr>
+<tr height="1px">
+<td><img src="../img/reiter/spacer_666666.gif" height="1" width="100%"></td>
+</tr>
+<tr class="menuTd" height="25">
+<td class="menuTd" onmouseover="this.className='menuTdhover';" onmouseout="this.className='menuTd'" width="100%">&#160;:: <a href="http://lucene.apache.org/nutch/index.html" class="menuEntry">Status</a></td>
+</tr>
+<tr height="1px">
+<td><img src="../img/reiter/spacer_666666.gif" height="1" width="100%"></td>
+</tr>
+<tr>
+<td>&#160;</td>
+</tr>
+</table>
+</td><td width="20" background="../img/reiter/_spacer_cccccc.gif">&#160;</td><td width="475" class="body">
+<table width="475" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td class="title" height="125" width="275" valign="bottom">O Projekcie</td><td height="125" width="200" valign="bottom"><img src="../img/reiter/robots.gif"></td>
+</tr>
+</table>
+<br class="br">
+<span class="bodytext">
+
+</span><span class="intro">
+<p>Projekt Nutch jest niedawno powstałą inicjatywą zmierzającą do zaimplementowania
+serwera wyszukiwania stron WWW, na licencji Open Source.</p>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>Wyszukiwarka sieciowa to podstawowe narzędzie do cel&oacute;w nawigacji
+internetowej - a jednak liczba dostępnych wyszukiwarek maleje. Obecna oligarchia
+kilku wiodących wyszukiwarek może wkr&oacute;tce przerodzić się w monopol, w kt&oacute;rym
+jedna firma będzie niemal całkiem kontrolowała wyszukiwanie dla swoich
+komercyjnych cel&oacute;w. Nie byłoby to dobre dla użytkownik&oacute;w Internetu.</p>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>Nutch oferuje przejrzystą alternatywę dla komercyjnych wyszukiwarek.
+Tylko rezultatom szukania opartym o technologię Open Source można w pełni zaufać,
+że nie są stronnicze (a przynajmniej ich stronniczość jest jawna). Wszystkie
+gł&oacute;wne wyszukiwarki stosują niejawne metody sortowania rezultat&oacute;w, i nie
+wyjaśniają dlaczego dana strona uzyskała taki wynik a nie inny. Co więcej,
+niekt&oacute;re wyszukiwarki decydują o tym, kt&oacute;re strony umieścić w swoim indeksie,
+na podstawie opłat a nie rzeczywistej wartości użytkowej stron. W
+przeciwieństwie do nich Nutch nie ma nic do ukrycia, i nie ma motywacji żeby
+uzależniać rezultaty wyszukiwania lub indeksowania od czegokolwiek innego niż
+ chęci dostarczenia użytkownikom jak najbardziej wiarygodnych rezultat&oacute;w.</p>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>Projekt Nutch pragnie umożliwić każdemu łatwą i efektywną instalację
+wyszukiwarki sieciowej światowej klasy. Jest to niemałe wyzwanie. W celu
+osiągnięcia sukcesu, oprogramowanie Nutch musi być w stanie:</p>
+</span><span class="bodytext">
+</span><span class="bodytext">
+<ul>
+  
+<li>pobrać kilka miliard&oacute;w stron na miesiąc</li>
+  
+<li>zarządzać indeksem tych stron</li>
+  
+<li>przeszukiwać indeks nawet 1000 razy na sekundę</li>
+  
+<li>zapewniać wysoką jakość wynik&oacute;w wyszukiwania</li>
+  
+<li>działać przy zachowaniu minimum koszt&oacute;w</li>
+
+</ul>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>Takie cele są prawdziwym wyzwaniem. Jeśli jesteś przekonany o
+zaletach tego projektu, to możesz nam pom&oacute;c jako <a href="http://www.apache.org/dev/">deweloper</a> lub poprzez <a href="http://www.apache.org/foundation/contributing.html">darowizny</a>.
+</p>
+</span><span class="bodytext">
+
+</span>
+<br class="br">
+<br class="br">
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+  
+<tr>
+    
+<td width="140">&nbsp;</td>
+    <td width="20">&nbsp;</td>
+    <td width="475" align="center">
+    <span class="bodytext">
+    
+<br>
+      
+<a href="../ca/">ca</a> |
+      <a href="../de/">de</a> |
+      <a href="../en/">en</a> |
+      <a href="../es/">es</a> |
+      <a href="../fi/">fi</a> |
+      <a href="../fr/">fr</a> |
+      <a href="../hu/">hu</a> |
+      <a href="../it/">it</a> |
+      <a href="../jp/">jp</a> |
+      <a href="../ms/">ms</a> |
+      <a href="../nl/">nl</a> |
+      <a href="../pl/">pl</a> |
+      <a href="../pt/">pt</a> |
+      <a href="../sh/">sh</a> |
+      <a href="../sr/">sr</a> |
+      <a href="../sv/">sv</a> |
+      <a href="../th/">th</a> |
+      <a href="../zh/">zh</a>
+    </span>
+    </td>
+  
+</tr>
+  
+<tr>
+  
+</tr>
+
+</table>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/ROOT/pl/help.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/pl/help.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/pl/help.html	(revision 66)
@@ -0,0 +1,221 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><!--This page is automatically generated.  Do not edit!-->
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Nutch: pomoc wyszukiwania</title>
+<style type="text/css">
+
+.menuTd {
+  background-color: #F9F7F4;
+  height: 25px;
+}
+
+.menuTdhover {
+  background-color: #ECE5DC;
+  height: 25px;
+}
+
+.menuEntry {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.body {
+  background-color: #F9F7F4;
+}
+
+.bodytext {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.title {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 26px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.intro {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.orangeTd {
+  background-color: #FF9900
+}
+
+ul {
+  list-style-image: url(../img/reiter/ul.gif)
+}
+
+h3 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 16px;
+  color: #000000;
+}
+
+h4 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 14px;
+  color: #000000;
+}
+
+.url {
+  color: #996600;
+}
+
+.highlight {
+  font-weight: bold;
+}
+
+.ellipsis {
+  font-weight: bold;
+}
+
+</style>
+<link rel="icon" href="../img/favicon.ico" type="image/x-icon">
+<link rel="shortcut icon" href="../img/favicon.ico" type="image/x-icon">
+<script type="text/javascript">
+<!--
+function queryfocus() {
+  search = document.search;
+  if (search != null) { search.query.focus(); }
+}
+// --></script>
+</head>
+<body onLoad="queryfocus();">
+<!--This file is automatically generated.  Do not edit!-->
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td valign="bottom" width="140" rowspan="2"><a href="./"><img src="../img/reiter/logo_nutch.gif" border="0"></a><img src="../img/reiter/spacer_666666.gif" width="140" height="1"></td>
+</tr>
+<tr>
+<td width="495" valign="bottom" align="right">
+<table border="0" cellpadding="0" cellspacing="0" width="495">
+<tr>
+<td background="../img/reiter/_bg_reiter.gif" width="400">&nbsp;</td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le1.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="about.html">O Nutch</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="http://wiki.apache.org/nutch/FAQ">Częste pytania</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr valign="top">
+<td width="140">
+<table width="100%" cellpadding="0" cellspacing="0">
+<tr>
+<td>&#160;</td>
+</tr>
+</table>
+</td><td width="20" background="../img/reiter/_spacer_cccccc.gif">&#160;</td><td width="475" class="body">
+<table width="475" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td class="title" height="125" width="275" valign="bottom">pomoc wyszukiwania</td><td height="125" width="200" valign="bottom"><img src="../img/reiter/robots.gif"></td>
+</tr>
+</table>
+<br class="br">
+<span class="bodytext">
+
+</span><span class="bodytext">
+<h3>Zapytania</h3>
+</span><span class="bodytext">
+W celu wyszukiwania przy użyciu Nutch, po prostu wpisz kilka sł&oacute;w.
+</span><span class="bodytext">
+<ul>
+  
+<li>Wyniki zawierają wyłącznie strony, kt&oacute;re posiadają <span style="font-style: italic;">wszystkie</span> słowa zapytania.</li>
+  
+<li>Zamykaj kilka sł&oacute;w w cudzysłowach, jeśli muszą one występować razem jako
+  fraza, n.p. <span style="font-weight: bold;">"Nowa Zelandia"</span>
+</li>
+  
+<li>Znaki interpunkcyjne pomiędzy słowami r&oacute;wnież powodują traktowanie
+  sł&oacute;w jako frazy. Zatem zapytanie
+  <span style="font-weight: bold;">http://www.apache.org/</span> jest
+  r&oacute;wnoznaczne z zapytaniem <span style="font-weight: bold;">"http www
+apache org"</span>.</li>
+  
+<li>Wyszukiwanie nie jest wrażliwe na wielkość liter, więc zapytanie
+  <span style="font-weight: bold;">NuTcH</span> jest r&oacute;wnoważne zapytaniu <span style="font-weight: bold;">nUtCh</span>.</li>
+  
+<li>Możesz zabronić występowania pewnego terminu przez umieszczenie minusa
+  przed danym słowem, tzn. zapytanie <span style="font-weight: bold;">football
+-nfl</span> odnajdzie strony, kt&oacute;re m&oacute;wią o futbolu, ale nie używają słowa "NFL".</li>
+  
+<li>To wszystko!</li>
+
+</ul>
+</span><span class="bodytext">
+</span><span class="bodytext">
+<h3>Wyniki</h3>
+</span><span class="bodytext">
+Każda pasująca strona na liście wynik&oacute;w posiada następujące odnośniki:
+</span><span class="bodytext">
+<ul>
+  
+<li>(<span style="color: rgb(51, 51, 255);">kopia</span>) pokazuje tę
+  wersję strony, kt&oacute;rą Nutch ściągnął do indeksowania.</li>
+  
+<li>(<span style="color: rgb(51, 51, 255);">wyjaśnij</span>) pokazuje
+  wyjaśnienie dlaczego ta strona otrzymała ten ranking.</li>
+  
+<li>(<span style="color: rgb(51, 51, 255);">odnośniki</span>) pokazuje listę
+  odnośnik&oacute;w w indeksie wskazujących na tę stronę.</li>
+
+</ul>
+</span><span class="bodytext">
+
+</span>
+<br class="br">
+<br class="br">
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+  
+<tr>
+    
+<td width="140">&nbsp;</td>
+    <td width="20">&nbsp;</td>
+    <td width="475" align="center">
+    <span class="bodytext">
+    
+<br>
+      
+<a href="../ca/">ca</a> |
+      <a href="../de/">de</a> |
+      <a href="../en/">en</a> |
+      <a href="../es/">es</a> |
+      <a href="../fi/">fi</a> |
+      <a href="../fr/">fr</a> |
+      <a href="../hu/">hu</a> |
+      <a href="../it/">it</a> |
+      <a href="../jp/">jp</a> |
+      <a href="../ms/">ms</a> |
+      <a href="../nl/">nl</a> |
+      <a href="../pl/">pl</a> |
+      <a href="../pt/">pt</a> |
+      <a href="../sh/">sh</a> |
+      <a href="../sr/">sr</a> |
+      <a href="../sv/">sv</a> |
+      <a href="../th/">th</a> |
+      <a href="../zh/">zh</a>
+    </span>
+    </td>
+  
+</tr>
+  
+<tr>
+  
+</tr>
+
+</table>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/ROOT/pl/include/header.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/pl/include/header.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/pl/include/header.html	(revision 66)
@@ -0,0 +1,1 @@
+<?xml version="1.0" encoding="UTF-8"?><!--This file is automatically generated.  Do not edit!--><table cellspacing="0" cellpadding="0" border="0" width="635"><tr><td rowspan="2" width="140" valign="bottom"><a href="./"><img border="0" src="../img/reiter/logo_nutch.gif"/></a><img height="1" width="140" src="../img/reiter/spacer_666666.gif"/></td></tr><tr><td align="right" valign="bottom" width="495"><table width="495" cellspacing="0" cellpadding="0" border="0"><tr><td width="400" background="../img/reiter/_bg_reiter.gif">&#160;</td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le1.gif"/></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="about.html" class="bodytext">O Nutch</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"/></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le.gif"/></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="http://wiki.apache.org/nutch/FAQ" class="bodytext">Częste pytania</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"/></td></tr></table></td></tr></table>
Index: /nutchez-0.1/tomcat/webapps/ROOT/pl/search.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/pl/search.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/pl/search.html	(revision 66)
@@ -0,0 +1,193 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><!--This page is automatically generated.  Do not edit!-->
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Nutch: </title>
+<style type="text/css">
+
+.menuTd {
+  background-color: #F9F7F4;
+  height: 25px;
+}
+
+.menuTdhover {
+  background-color: #ECE5DC;
+  height: 25px;
+}
+
+.menuEntry {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.body {
+  background-color: #F9F7F4;
+}
+
+.bodytext {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.title {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 26px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.intro {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.orangeTd {
+  background-color: #FF9900
+}
+
+ul {
+  list-style-image: url(../img/reiter/ul.gif)
+}
+
+h3 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 16px;
+  color: #000000;
+}
+
+h4 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 14px;
+  color: #000000;
+}
+
+.url {
+  color: #996600;
+}
+
+.highlight {
+  font-weight: bold;
+}
+
+.ellipsis {
+  font-weight: bold;
+}
+
+</style>
+<link type="image/x-icon" href="../img/favicon.ico" rel="icon">
+<link type="image/x-icon" href="../img/favicon.ico" rel="shortcut icon">
+<script type="text/javascript">
+<!--
+function queryfocus() {
+  search = document.search;
+  if (search != null) { search.query.focus(); }
+}
+// --></script>
+</head>
+<body onLoad="queryfocus();">
+<!--This file is automatically generated.  Do not edit!-->
+<table cellspacing="0" cellpadding="0" border="0" width="635">
+<tr>
+<td rowspan="2" width="140" valign="bottom"><a href="./"><img border="0" src="../img/reiter/logo_nutch.gif"></a><img height="1" width="140" src="../img/reiter/spacer_666666.gif"></td>
+</tr>
+<tr>
+<td align="right" valign="bottom" width="495">
+<table width="495" cellspacing="0" cellpadding="0" border="0">
+<tr>
+<td width="400" background="../img/reiter/_bg_reiter.gif">&nbsp;</td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le1.gif"></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="about.html" class="bodytext">O Nutch</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le.gif"></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="http://wiki.apache.org/nutch/FAQ" class="bodytext">Częste pytania</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<table cellspacing="0" cellpadding="0" border="0" width="635">
+<tr valign="top">
+<td width="140">
+<table cellspacing="0" cellpadding="0" width="100%">
+<tr>
+<td>&#160;</td>
+</tr>
+</table>
+</td><td background="../img/reiter/_spacer_cccccc.gif" width="20">&#160;</td><td class="body" width="475">
+<table cellspacing="0" cellpadding="0" border="0" width="475">
+<tr>
+<td valign="bottom" width="275" height="125" class="title"></td><td valign="bottom" width="200" height="125"><img src="../img/reiter/robots.gif"></td>
+</tr>
+</table>
+<br class="br">
+<span class="bodytext">
+</span><span class="bodytext">
+<center>
+
+<form name="search" action="../search.jsp" method="get">
+  
+<input type="hidden" name="lang" value="pl">
+  <input name="query" size="44">&nbsp;<input type="submit" value="Szukaj">
+  <a href="help.html">pomoc</a>
+
+</form>
+
+</center>
+</span><span class="bodytext">
+</span><span class="bodytext">
+<div style="text-align: right;">
+
+<a href="http://lucene.apache.org/nutch/index.html">
+<img border="0" src="../img/poweredbynutch_01.gif">
+</a>
+
+</div>
+</span><span class="bodytext">
+</span>
+<br class="br">
+<br class="br">
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+  
+<tr>
+    
+<td width="140">&nbsp;</td>
+    <td width="20">&nbsp;</td>
+    <td width="475" align="center">
+    <span class="bodytext">
+    
+<br>
+      
+<a href="../ca/">ca</a> |
+      <a href="../de/">de</a> |
+      <a href="../en/">en</a> |
+      <a href="../es/">es</a> |
+      <a href="../fi/">fi</a> |
+      <a href="../fr/">fr</a> |
+      <a href="../hu/">hu</a> |
+      <a href="../it/">it</a> |
+      <a href="../jp/">jp</a> |
+      <a href="../ms/">ms</a> |
+      <a href="../nl/">nl</a> |
+      <a href="../pl/">pl</a> |
+      <a href="../pt/">pt</a> |
+      <a href="../sh/">sh</a> |
+      <a href="../sr/">sr</a> |
+      <a href="../sv/">sv</a> |
+      <a href="../th/">th</a> |
+      <a href="../zh/">zh</a>
+    </span>
+    </td>
+  
+</tr>
+  
+<tr>
+  
+</tr>
+
+</table>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/ROOT/pt/about.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/pt/about.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/pt/about.html	(revision 66)
@@ -0,0 +1,243 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><!--This page is automatically generated.  Do not edit!-->
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Nutch: sobre</title>
+<style type="text/css">
+
+.menuTd {
+  background-color: #F9F7F4;
+  height: 25px;
+}
+
+.menuTdhover {
+  background-color: #ECE5DC;
+  height: 25px;
+}
+
+.menuEntry {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.body {
+  background-color: #F9F7F4;
+}
+
+.bodytext {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.title {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 26px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.intro {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.orangeTd {
+  background-color: #FF9900
+}
+
+ul {
+  list-style-image: url(../img/reiter/ul.gif)
+}
+
+h3 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 16px;
+  color: #000000;
+}
+
+h4 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 14px;
+  color: #000000;
+}
+
+.url {
+  color: #996600;
+}
+
+.highlight {
+  font-weight: bold;
+}
+
+.ellipsis {
+  font-weight: bold;
+}
+
+</style>
+<link rel="icon" href="../img/favicon.ico" type="image/x-icon">
+<link rel="shortcut icon" href="../img/favicon.ico" type="image/x-icon">
+<script type="text/javascript">
+<!--
+function queryfocus() {
+  search = document.search;
+  if (search != null) { search.query.focus(); }
+}
+// --></script>
+</head>
+<body onLoad="queryfocus();">
+<!--This file is automatically generated.  Do not edit!-->
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td valign="bottom" width="140" rowspan="2"><a href="./"><img src="../img/reiter/logo_nutch.gif" border="0"></a><img src="../img/reiter/spacer_666666.gif" width="140" height="1"></td>
+</tr>
+<tr>
+<td width="495" valign="bottom" align="right">
+<table border="0" cellpadding="0" cellspacing="0" width="495">
+<tr>
+<td background="../img/reiter/_bg_reiter.gif" width="400">&nbsp;</td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le1.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="about.html">Sobre</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="http://wiki.apache.org/nutch/FAQ">Perguntas Mais Freq&uuml;&ecirc;ntes</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr valign="top">
+<td width="140">
+<table width="100%" cellpadding="0" cellspacing="0">
+<tr class="menuTd" height="25">
+<td class="menuTd" onmouseover="this.className='menuTdhover';" onmouseout="this.className='menuTd'" width="100%">&#160;:: <a href="http://lucene.apache.org/nutch/credits.html" class="menuEntry">Cr&eacute;ditos</a></td>
+</tr>
+<tr height="1px">
+<td><img src="../img/reiter/spacer_666666.gif" height="1" width="100%"></td>
+</tr>
+<tr class="menuTd" height="25">
+<td class="menuTd" onmouseover="this.className='menuTdhover';" onmouseout="this.className='menuTd'" width="100%">&#160;:: <a href="http://lucene.apache.org/nutch/index.html" class="menuEntry">Status</a></td>
+</tr>
+<tr height="1px">
+<td><img src="../img/reiter/spacer_666666.gif" height="1" width="100%"></td>
+</tr>
+<tr>
+<td>&#160;</td>
+</tr>
+</table>
+</td><td width="20" background="../img/reiter/_spacer_cccccc.gif">&#160;</td><td width="475" class="body">
+<table width="475" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td class="title" height="125" width="275" valign="bottom">sobre</td><td height="125" width="200" valign="bottom"><img src="../img/reiter/robots.gif"></td>
+</tr>
+</table>
+<br class="br">
+<span class="bodytext">
+
+</span><span class="intro">
+<p>Nutch &eacute; o in&iacute;cio de um esfor&ccedil;o para implementar um sistema de
+localiza&ccedil;&atilde;o na web com c&oacute;digo-fonte aberto.</p>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>Apesar do n&uacute;mero de sistemas de localiza&ccedil;&atilde;o na web estarem diminu&iacute;ndo,
+a localiaz&ccedil;&atilde;o na web &eacute; um requisito b&aacute;sico para a navega&ccedil;&atilde;o na internet.
+Os atuais oligop&oacute;lios poder&atilde;o, em breve, vir a tornar monop&oacute;lios, tendo
+uma &uacute;nica empresa controlando praticamente todo o sistema de localiaz&ccedil;&atilde;o
+na web, visando seus interesses comerciais. Isso n&atilde;o seria bom para os
+usu&aacute;rios da internet.</p>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>Nutch oferece uma alternativa transparente aos sistemas comerciais de
+localiza&ccedil;&atilde;o na web. Somente os resultados gerados por sistemas de
+localiza&ccedil;&atilde;o feitos com c&oacute;digo-fonte aberto podem ser inteiramente
+confi&aacute;veis quanto a n&atilde;o serem direcionados (ou, ao menos, sua
+orienta&ccedil;&atilde;o &eacute; p&uacute;blica). Todos os principais sistemas de localiza&ccedil;&atilde;o
+existentes t&ecirc;m f&oacute;rmulas de ranking pr&oacute;prias e n&atilde;o v&atilde;o explicar porque
+foi dado um ranking a um determinado resultado. Al&eacute;m disso, alguns
+sistemas de localiza&ccedil;&atilde;o determinam em que locais posicionar os resultados
+baseados mais em pagamentos do que nos m&eacute;ritos deles mesmos. Ao contr&aacute;rio
+disso, Nutch n&atilde;o tem nada a esconder e nenhum motivo para direcionar seus
+resultados de nenhuma maneira exceto o de tentar dar a cada usu&aacute;rio os
+melhores resultados poss&iacute;veis.</p>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>Nutch espera permitir que qualquer possa desenvolver um sistema de
+localiaz&ccedil;&atilde;o na web com tecnologia de n&iacute;vel mundial, de maneira f&aacute;cil e
+com custos reduzidos. Isso &eacute; um grande desafio. Para ter sucesso, o
+software Nutch tem que ser capaz de:</p>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<ul>
+  
+<li>localizar as muitas bilh&otilde;es de p&aacute;ginas existentes pro mes</li>
+  
+<li>manter um &iacute;ndice dessas p&aacute;ginas</li>
+  
+<li>pesquisar esse &iacute;ndice mais de 1000 vezes por segundo</li>
+  
+<li>prover resultados de alta qualidade</li>
+  
+<li>operar com o menor custo poss&iacute;vel</li>
+
+</ul>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>Esta &eacute; uma pro&oacute;sta desafiadora.  Se voc&ecirc; acredita nos m&eacute;ritos desse
+projeto, por favor ajude, ou como um
+<a href="http://www.apache.org/dev/">desenvolvedor</a> ou com uma
+<a href="http://www.apache.org/foundation/contributing.html">doa&ccedil;&atilde;o</a>.</p>
+</span><span class="bodytext">
+
+</span>
+<br class="br">
+<br class="br">
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+  
+<tr>
+    
+<td width="140">&nbsp;</td>
+    <td width="20">&nbsp;</td>
+    <td width="475" align="center">
+    <span class="bodytext">
+    
+<br>
+      
+<a href="../ca/">ca</a> |
+      <a href="../de/">de</a> |
+      <a href="../en/">en</a> |
+      <a href="../es/">es</a> |
+      <a href="../fi/">fi</a> |
+      <a href="../fr/">fr</a> |
+      <a href="../hu/">hu</a> |
+      <a href="../it/">it</a> |
+      <a href="../jp/">jp</a> |
+      <a href="../ms/">ms</a> |
+      <a href="../nl/">nl</a> |
+      <a href="../pl/">pl</a> |
+      <a href="../pt/">pt</a> |
+      <a href="../sh/">sh</a> |
+      <a href="../sr/">sr</a> |
+      <a href="../sv/">sv</a> |
+      <a href="../th/">th</a> |
+      <a href="../zh/">zh</a>
+    </span>
+    </td>
+  
+</tr>
+  
+<tr>
+  
+</tr>
+
+</table>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/ROOT/pt/help.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/pt/help.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/pt/help.html	(revision 66)
@@ -0,0 +1,219 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><!--This page is automatically generated.  Do not edit!-->
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Nutch: ajuda</title>
+<style type="text/css">
+
+.menuTd {
+  background-color: #F9F7F4;
+  height: 25px;
+}
+
+.menuTdhover {
+  background-color: #ECE5DC;
+  height: 25px;
+}
+
+.menuEntry {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.body {
+  background-color: #F9F7F4;
+}
+
+.bodytext {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.title {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 26px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.intro {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.orangeTd {
+  background-color: #FF9900
+}
+
+ul {
+  list-style-image: url(../img/reiter/ul.gif)
+}
+
+h3 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 16px;
+  color: #000000;
+}
+
+h4 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 14px;
+  color: #000000;
+}
+
+.url {
+  color: #996600;
+}
+
+.highlight {
+  font-weight: bold;
+}
+
+.ellipsis {
+  font-weight: bold;
+}
+
+</style>
+<link rel="icon" href="../img/favicon.ico" type="image/x-icon">
+<link rel="shortcut icon" href="../img/favicon.ico" type="image/x-icon">
+<script type="text/javascript">
+<!--
+function queryfocus() {
+  search = document.search;
+  if (search != null) { search.query.focus(); }
+}
+// --></script>
+</head>
+<body onLoad="queryfocus();">
+<!--This file is automatically generated.  Do not edit!-->
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td valign="bottom" width="140" rowspan="2"><a href="./"><img src="../img/reiter/logo_nutch.gif" border="0"></a><img src="../img/reiter/spacer_666666.gif" width="140" height="1"></td>
+</tr>
+<tr>
+<td width="495" valign="bottom" align="right">
+<table border="0" cellpadding="0" cellspacing="0" width="495">
+<tr>
+<td background="../img/reiter/_bg_reiter.gif" width="400">&nbsp;</td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le1.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="about.html">Sobre</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="http://wiki.apache.org/nutch/FAQ">Perguntas Mais Freq&uuml;&ecirc;ntes</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr valign="top">
+<td width="140">
+<table width="100%" cellpadding="0" cellspacing="0">
+<tr>
+<td>&#160;</td>
+</tr>
+</table>
+</td><td width="20" background="../img/reiter/_spacer_cccccc.gif">&#160;</td><td width="475" class="body">
+<table width="475" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td class="title" height="125" width="275" valign="bottom">ajuda</td><td height="125" width="200" valign="bottom"><img src="../img/reiter/robots.gif"></td>
+</tr>
+</table>
+<br class="br">
+<span class="bodytext">
+
+</span><span class="bodytext">
+<h3>Pesquisas</h3>
+</span><span class="bodytext">
+Para pesquisar com Nutch, apenas digite algumas poucas palavras.
+</span><span class="bodytext">
+<ul>
+  
+<li>Resultados incluem apenas p&aacute;ginas que cont&eacute;m <span style="font-style: italic;">todas</span> as palavras da pesquisa.</li>
+  
+<li>Use aspas em volta das palavras que devem aparecer umas ao lado da outra, como uma frase,
+por exemplo, <span style="font-weight: bold;">"Nova Zel&acirc;ndia"</span>.</li>
+  
+<li>Pontos entre palavras tamb&eacute;m geram resultados baseados em frases.  Logo,
+pesquisar por <span style="font-weight: bold;">http://www.apache.org/</span>
+&eacute; o mesmo que pesquisar por <span style="font-weight: bold;">"http www
+apache org"</span>.</li>
+  
+<li>Pesquisar n&atilde;o s&atilde;o sens&iacute;veis &agrave; letras mai&uacute;sculas ou min&uacute;sculas, ent&atilde;o, pesquisar por <span style="font-weight: bold;">NuTcH</span> &eacute; o mesmo que pesquisar por <span style="font-weight: bold;">nUtCh</span>.</li>
+  
+<li>Voc&ecirc; pode excluir termos da sua pesquisar colocando o sinal de menos
+antes dele, por exemplo, pesquisar por <span style="font-weight: bold;">futebol
+-cbf</span> vai localizar p&aacute;ginas que falam sobre futebol mas n&atilde;o usam o termo
+ "cbf".</li>
+  
+<li>&Eacute; isso a&iacute;!</li>
+
+</ul>
+</span><span class="bodytext">
+</span><span class="bodytext">
+<h3>Resultados</h3>
+</span><span class="bodytext">
+Cada p&aacute;gina localizada cont&eacute;m os seguintes links:
+</span><span class="bodytext">
+<ul>
+  
+<li>(<span style="color: rgb(51, 51, 255);">arquivado</span>) apresenta
+a vers&atilde;o da p&aacute;gina que est&aacute; no arquivo do Nutch.</li>
+  
+<li>(<span style="color: rgb(51, 51, 255);">explica&ccedil;&atilde;o</span>) apresenta
+uma explica&ccedil;&atilde;o sobre como esta p&aacute;gina foi pontuada.</li>
+  
+<li>(<span style="color: rgb(51, 51, 255);">semelhantes</span>) apresenta
+uma lista dos resultados que t&ecirc;m links para esta p&aacute;gina.</li>
+
+</ul>
+</span><span class="bodytext">
+
+</span>
+<br class="br">
+<br class="br">
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+  
+<tr>
+    
+<td width="140">&nbsp;</td>
+    <td width="20">&nbsp;</td>
+    <td width="475" align="center">
+    <span class="bodytext">
+    
+<br>
+      
+<a href="../ca/">ca</a> |
+      <a href="../de/">de</a> |
+      <a href="../en/">en</a> |
+      <a href="../es/">es</a> |
+      <a href="../fi/">fi</a> |
+      <a href="../fr/">fr</a> |
+      <a href="../hu/">hu</a> |
+      <a href="../it/">it</a> |
+      <a href="../jp/">jp</a> |
+      <a href="../ms/">ms</a> |
+      <a href="../nl/">nl</a> |
+      <a href="../pl/">pl</a> |
+      <a href="../pt/">pt</a> |
+      <a href="../sh/">sh</a> |
+      <a href="../sr/">sr</a> |
+      <a href="../sv/">sv</a> |
+      <a href="../th/">th</a> |
+      <a href="../zh/">zh</a>
+    </span>
+    </td>
+  
+</tr>
+  
+<tr>
+  
+</tr>
+
+</table>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/ROOT/pt/include/header.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/pt/include/header.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/pt/include/header.html	(revision 66)
@@ -0,0 +1,1 @@
+<?xml version="1.0" encoding="UTF-8"?><!--This file is automatically generated.  Do not edit!--><table cellspacing="0" cellpadding="0" border="0" width="635"><tr><td rowspan="2" width="140" valign="bottom"><a href="./"><img border="0" src="../img/reiter/logo_nutch.gif"/></a><img height="1" width="140" src="../img/reiter/spacer_666666.gif"/></td></tr><tr><td align="right" valign="bottom" width="495"><table width="495" cellspacing="0" cellpadding="0" border="0"><tr><td width="400" background="../img/reiter/_bg_reiter.gif">&#160;</td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le1.gif"/></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="about.html" class="bodytext">Sobre</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"/></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le.gif"/></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="http://wiki.apache.org/nutch/FAQ" class="bodytext">Perguntas Mais Freqüêntes</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"/></td></tr></table></td></tr></table>
Index: /nutchez-0.1/tomcat/webapps/ROOT/pt/search.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/pt/search.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/pt/search.html	(revision 66)
@@ -0,0 +1,184 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><!--This page is automatically generated.  Do not edit!-->
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Nutch: </title>
+<style type="text/css">
+
+.menuTd {
+  background-color: #F9F7F4;
+  height: 25px;
+}
+
+.menuTdhover {
+  background-color: #ECE5DC;
+  height: 25px;
+}
+
+.menuEntry {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.body {
+  background-color: #F9F7F4;
+}
+
+.bodytext {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.title {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 26px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.intro {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.orangeTd {
+  background-color: #FF9900
+}
+
+ul {
+  list-style-image: url(../img/reiter/ul.gif)
+}
+
+h3 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 16px;
+  color: #000000;
+}
+
+h4 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 14px;
+  color: #000000;
+}
+
+.url {
+  color: #996600;
+}
+
+.highlight {
+  font-weight: bold;
+}
+
+.ellipsis {
+  font-weight: bold;
+}
+
+</style>
+<link type="image/x-icon" href="../img/favicon.ico" rel="icon">
+<link type="image/x-icon" href="../img/favicon.ico" rel="shortcut icon">
+<script type="text/javascript">
+<!--
+function queryfocus() {
+  search = document.search;
+  if (search != null) { search.query.focus(); }
+}
+// --></script>
+</head>
+<body onLoad="queryfocus();">
+<!--This file is automatically generated.  Do not edit!-->
+<table cellspacing="0" cellpadding="0" border="0" width="635">
+<tr>
+<td rowspan="2" width="140" valign="bottom"><a href="./"><img border="0" src="../img/reiter/logo_nutch.gif"></a><img height="1" width="140" src="../img/reiter/spacer_666666.gif"></td>
+</tr>
+<tr>
+<td align="right" valign="bottom" width="495">
+<table width="495" cellspacing="0" cellpadding="0" border="0">
+<tr>
+<td width="400" background="../img/reiter/_bg_reiter.gif">&nbsp;</td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le1.gif"></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="about.html" class="bodytext">Sobre</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le.gif"></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="http://wiki.apache.org/nutch/FAQ" class="bodytext">Perguntas Mais Freq&uuml;&ecirc;ntes</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<table cellspacing="0" cellpadding="0" border="0" width="635">
+<tr valign="top">
+<td width="140">
+<table cellspacing="0" cellpadding="0" width="100%">
+<tr>
+<td>&#160;</td>
+</tr>
+</table>
+</td><td background="../img/reiter/_spacer_cccccc.gif" width="20">&#160;</td><td class="body" width="475">
+<table cellspacing="0" cellpadding="0" border="0" width="475">
+<tr>
+<td valign="bottom" width="275" height="125" class="title"></td><td valign="bottom" width="200" height="125"><img src="../img/reiter/robots.gif"></td>
+</tr>
+</table>
+<br class="br">
+<span class="bodytext">
+</span><span class="bodytext">
+<center>
+
+<form name="search" action="../search.jsp" method="get">
+  
+<input type="hidden" name="lang" value="pt">
+  <input name="query" size="44">&nbsp;<input type="submit" value="Search">
+  <a href="help.html">ajuda</a>
+
+</form>
+
+</center>
+</span><span class="bodytext">
+</span>
+<br class="br">
+<br class="br">
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+  
+<tr>
+    
+<td width="140">&nbsp;</td>
+    <td width="20">&nbsp;</td>
+    <td width="475" align="center">
+    <span class="bodytext">
+    
+<br>
+      
+<a href="../ca/">ca</a> |
+      <a href="../de/">de</a> |
+      <a href="../en/">en</a> |
+      <a href="../es/">es</a> |
+      <a href="../fi/">fi</a> |
+      <a href="../fr/">fr</a> |
+      <a href="../hu/">hu</a> |
+      <a href="../it/">it</a> |
+      <a href="../jp/">jp</a> |
+      <a href="../ms/">ms</a> |
+      <a href="../nl/">nl</a> |
+      <a href="../pl/">pl</a> |
+      <a href="../pt/">pt</a> |
+      <a href="../sh/">sh</a> |
+      <a href="../sr/">sr</a> |
+      <a href="../sv/">sv</a> |
+      <a href="../th/">th</a> |
+      <a href="../zh/">zh</a>
+    </span>
+    </td>
+  
+</tr>
+  
+<tr>
+  
+</tr>
+
+</table>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/ROOT/refine-query-init.jsp
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/refine-query-init.jsp	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/refine-query-init.jsp	(revision 66)
@@ -0,0 +1,44 @@
+<%--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+--%>
+<%
+
+// 20041129, Mike Pan and John Xing
+// Initiates Ontology ontology and loads in all owl files.
+// Any problem (e.g., missing owl file or exception) will have this plugin
+// siliently ignored.
+// Please check ./refine-query.jsp, which provides query-refinement hypertext.
+
+org.apache.nutch.ontology.Ontology ontology = null;
+
+// note: should we ignore plugin exceptions, or rethrow it below?
+// Rethrowing it effectively prevents the servlet class from
+// being loaded into the JVM. Need improvement in future.
+
+  try {
+    Configuration nutchConf = NutchConfiguration.get(application);
+    String urls = nutchConf.get("extension.ontology.urls");
+    ontology = new org.apache.nutch.ontology.OntologyFactory(nutchConf).getOntology();
+    if (urls==null || urls.trim().equals("")) {
+      // ignored siliently
+    } else {
+      ontology.load(urls.split("\\s+"));
+    }
+  } catch (Exception e) {
+    // ignored siliently 
+  }
+
+%>
Index: /nutchez-0.1/tomcat/webapps/ROOT/refine-query.jsp
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/refine-query.jsp	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/refine-query.jsp	(revision 66)
@@ -0,0 +1,53 @@
+<%--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+--%>
+<%
+
+// 20041129, Mike Pan and John Xing
+// Displays query-refinement hypertext based on ontology.
+// Try to be simple here. No mixing with other features such as clustering.
+// Please check refine-query-init.jsp, which does necessary initialization.
+
+List refineList = new ArrayList();
+
+if (ontology != null) {
+  Iterator iter = ontology.subclasses(queryString);
+  while (iter.hasNext()) {
+    refineList.add((String)iter.next());
+  }
+}
+
+bean.LOG.info("Outputting refine query list");
+
+if (refineList.size() > 0) {
+%>
+<div>
+Refine your search:
+<%
+  for (int i=0; i<refineList.size(); i++) {
+    String searchTerm = (String) refineList.get(i);
+    String searchTermHTML = org.apache.nutch.html.Entities.encode(searchTerm);
+    String searchQuery = "query="+searchTermHTML;
+    String searchURL = "/search.jsp?"+ searchQuery;
+%>
+<a href="<%=searchURL%>"><%=searchTerm%></a> |
+<%
+  }
+%>
+</div><br>
+<%
+}
+%>
Index: /nutchez-0.1/tomcat/webapps/ROOT/search.jsp
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/search.jsp	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/search.jsp	(revision 66)
@@ -0,0 +1,357 @@
+<%--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+--%>
+<%@ page 
+  session="false"
+  contentType="text/html; charset=UTF-8"
+  pageEncoding="UTF-8"
+
+  import="java.io.*"
+  import="java.util.*"
+  import="java.net.*"
+  import="javax.servlet.http.*"
+  import="javax.servlet.*"
+
+  import="org.apache.nutch.html.Entities"
+  import="org.apache.nutch.metadata.Nutch"
+  import="org.apache.nutch.searcher.*"
+  import="org.apache.nutch.plugin.*"
+  import="org.apache.nutch.clustering.*"
+  import="org.apache.hadoop.conf.*"
+  import="org.apache.nutch.util.NutchConfiguration"
+%><%!
+  /**
+   * Number of hits to retrieve and cluster if clustering extension is available
+   * and clustering is on. By default, 100. Configurable via nutch-conf.xml.
+   */
+  private int HITS_TO_CLUSTER;
+
+  /**
+   * Maximum hits per page to be displayed.
+   */
+  private int MAX_HITS_PER_PAGE;
+
+  /**
+   * An instance of the clustering extension, if available.
+   */
+  private OnlineClusterer clusterer;
+  
+  /**
+   * Nutch configuration for this servlet.
+   */
+  private Configuration nutchConf;
+
+  /**
+   * Initialize search bean.
+   */
+  public void jspInit() {
+    super.jspInit();
+    
+    final ServletContext application = getServletContext(); 
+    nutchConf = NutchConfiguration.get(application);
+	  HITS_TO_CLUSTER = nutchConf.getInt("extension.clustering.hits-to-cluster", 100);
+    MAX_HITS_PER_PAGE = nutchConf.getInt("searcher.max.hits.per.page", -1);
+
+    try {
+      clusterer = new OnlineClustererFactory(nutchConf).getOnlineClusterer();
+    } catch (PluginRuntimeException e) {
+      super.log("Could not initialize online clusterer: " + e.toString());
+    }
+  }
+%>
+
+<%--
+// Uncomment this to enable query refinement.
+// Do the same to "refine-query.jsp" below.,
+<%@ include file="./refine-query-init.jsp" %>
+--%>
+
+<%
+  // The Nutch bean instance is initialized through a ServletContextListener 
+  // that is setup in the web.xml file
+  NutchBean bean = NutchBean.get(application, nutchConf);
+  // set the character encoding to use when interpreting request values 
+  request.setCharacterEncoding("UTF-8");
+
+  bean.LOG.info("query request from " + request.getRemoteAddr());
+
+  // get query from request
+  String queryString = request.getParameter("query");
+  if (queryString == null)
+    queryString = "";
+  String htmlQueryString = Entities.encode(queryString);
+  
+  // a flag to make the code cleaner a bit.
+  boolean clusteringAvailable = (clusterer != null);
+
+  String clustering = "";
+  if (clusteringAvailable && "yes".equals(request.getParameter("clustering")))
+    clustering = "yes";
+
+  int start = 0;          // first hit to display
+  String startString = request.getParameter("start");
+  if (startString != null)
+    start = Integer.parseInt(startString);
+
+  int hitsPerPage = 10;          // number of hits to display
+  String hitsString = request.getParameter("hitsPerPage");
+  if (hitsString != null)
+    hitsPerPage = Integer.parseInt(hitsString);
+  if(MAX_HITS_PER_PAGE > 0 && hitsPerPage > MAX_HITS_PER_PAGE)
+    hitsPerPage = MAX_HITS_PER_PAGE;
+
+  int hitsPerSite = 2;                            // max hits per site
+  String hitsPerSiteString = request.getParameter("hitsPerSite");
+  if (hitsPerSiteString != null)
+    hitsPerSite = Integer.parseInt(hitsPerSiteString);
+
+  String sort = request.getParameter("sort");
+  boolean reverse =
+    sort!=null && "true".equals(request.getParameter("reverse"));
+
+  String params = "&hitsPerPage="+hitsPerPage
+     +(sort==null ? "" : "&sort="+sort+(reverse?"&reverse=true":""));
+
+  int hitsToCluster = HITS_TO_CLUSTER;            // number of hits to cluster
+
+  // get the lang from request
+  String queryLang = request.getParameter("lang");
+  if (queryLang == null) { queryLang = ""; }
+  Query query = Query.parse(queryString, queryLang, nutchConf);
+  bean.LOG.info("query: " + queryString);
+  bean.LOG.info("lang: " + queryLang);
+
+  String language =
+    ResourceBundle.getBundle("org.nutch.jsp.search", request.getLocale())
+    .getLocale().getLanguage();
+  String requestURI = HttpUtils.getRequestURL(request).toString();
+  String base = requestURI.substring(0, requestURI.lastIndexOf('/'));
+  String rss = "../opensearch?query="+htmlQueryString
+    +"&hitsPerSite="+hitsPerSite+"&lang="+queryLang+params;
+%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<%
+  // To prevent the character encoding declared with 'contentType' page
+  // directive from being overriden by JSTL (apache i18n), we freeze it
+  // by flushing the output buffer. 
+  // see http://java.sun.com/developer/technicalArticles/Intl/MultilingualJSP/
+  out.flush();
+%>
+<%@ taglib uri="http://jakarta.apache.org/taglibs/i18n" prefix="i18n" %>
+<i18n:bundle baseName="org.nutch.jsp.search"/>
+<html lang="<%= language %>">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<head>
+<title>Nutch: <i18n:message key="title"/></title>
+<link rel="icon" href="img/favicon.ico" type="image/x-icon"/>
+<link rel="shortcut icon" href="img/favicon.ico" type="image/x-icon"/>
+<link rel="alternate" type="application/rss+xml" title="RSS" href="<%=rss%>"/>
+<jsp:include page="include/style.html"/>
+<base href="<%= base  + "/" + language %>/">
+<script type="text/javascript">
+<!--
+function queryfocus() { document.search.query.focus(); }
+// -->
+</script>
+</head>
+
+<body onLoad="queryfocus();">
+
+<jsp:include page="<%= language + \"/include/header.html\"%>"/>
+
+ <form name="search" action="../search.jsp" method="get">
+ <input name="query" size=44 value="<%=htmlQueryString%>">
+ <input type="hidden" name="hitsPerPage" value="<%=hitsPerPage%>">
+ <input type="hidden" name="lang" value="<%=language%>">
+ <input type="submit" value="<i18n:message key="search"/>">
+ <% if (clusteringAvailable) { %>
+   <input id="clustbox" type="checkbox" name="clustering" value="yes" <% if (clustering.equals("yes")) { %>CHECKED<% } %>>
+    <label for="clustbox"><i18n:message key="clustering"/></label>
+ <% } %>
+ <a href="help.html">help</a>
+ </form>
+
+<%--
+// Uncomment this to enable query refinement.
+// Do the same to "refine-query-init.jsp" above.
+<%@ include file="./refine-query.jsp" %>
+--%>
+
+<%
+   // how many hits to retrieve? if clustering is on and available,
+   // take "hitsToCluster", otherwise just get hitsPerPage
+   int hitsToRetrieve = (clusteringAvailable && clustering.equals("yes") ? hitsToCluster : hitsPerPage);
+
+   if (clusteringAvailable && clustering.equals("yes")) {
+     bean.LOG.info("Clustering is on, hits to retrieve: " + hitsToRetrieve);
+   }
+
+   // perform query
+    // NOTE by Dawid Weiss:
+    // The 'clustering' window actually moves with the start
+    // position.... this is good, bad?... ugly?....
+   Hits hits;
+   try{
+     hits = bean.search(query, start + hitsToRetrieve, hitsPerSite, "site",
+                        sort, reverse);
+   } catch (IOException e){
+     hits = new Hits(0,new Hit[0]);	
+   }
+   int end = (int)Math.min(hits.getLength(), start + hitsPerPage);
+   int length = end-start;
+   int realEnd = (int)Math.min(hits.getLength(), start + hitsToRetrieve);
+
+   Hit[] show = hits.getHits(start, realEnd-start);
+   HitDetails[] details = bean.getDetails(show);
+   Summary[] summaries = bean.getSummary(details, query);
+   bean.LOG.info("total hits: " + hits.getTotal());
+%>
+
+<i18n:message key="hits">
+  <i18n:messageArg value="<%=new Long((end==0)?0:(start+1))%>"/>
+  <i18n:messageArg value="<%=new Long(end)%>"/>
+  <i18n:messageArg value="<%=new Long(hits.getTotal())%>"/>
+</i18n:message>
+
+<%
+// be responsive
+out.flush();
+%>
+
+<br><br>
+
+<% if (clustering.equals("yes") && length != 0) { %>
+<table border=0 cellspacing="3" cellpadding="0">
+
+<tr>
+
+<td valign="top">
+
+<% } %>
+
+<%
+  for (int i = 0; i < length; i++) {      // display the hits
+    Hit hit = show[i];
+    HitDetails detail = details[i];
+    String title = detail.getValue("title");
+    String url = detail.getValue("url");
+    String id = "idx=" + hit.getIndexNo() + "&id=" + hit.getUniqueKey();
+    String summary = summaries[i].toHtml(true);
+    String caching = detail.getValue("cache");
+    boolean showSummary = true;
+    boolean showCached = true;
+    if (caching != null) {
+      showSummary = !caching.equals(Nutch.CACHING_FORBIDDEN_ALL);
+      showCached = !caching.equals(Nutch.CACHING_FORBIDDEN_NONE);
+    }
+
+    if (title == null || title.equals("")) {      // use url for docs w/o title
+      title = url;
+    }
+    %>
+    <b><a href="<%=url%>"><%=Entities.encode(title)%></a></b>
+    <%@ include file="more.jsp" %>
+    <% if (!"".equals(summary) && showSummary) { %>
+    <br><%=summary%>
+    <% } %>
+    <br>
+    <span class="url"><%=Entities.encode(url)%></span>
+    <%
+      if (showCached) {
+        %>(<a href="../cached.jsp?<%=id%>"><i18n:message key="cached"/></a>) <%
+    }
+    %>
+    (<a href="../explain.jsp?<%=id%>&query=<%=URLEncoder.encode(queryString, "UTF-8")%>&lang=<%=queryLang%>"><i18n:message key="explain"/></a>)
+    (<a href="../anchors.jsp?<%=id%>"><i18n:message key="anchors"/></a>)
+    <% if (hit.moreFromDupExcluded()) {
+    String more =
+    "query="+URLEncoder.encode("site:"+hit.getDedupValue()+" "+queryString, "UTF8")
+    +params+"&hitsPerSite="+0
+    +"&lang="+queryLang
+    +"&clustering="+clustering;%>
+    (<a href="../search.jsp?<%=more%>"><i18n:message key="moreFrom"/>
+     <%=hit.getDedupValue()%></a>)
+    <% } %>
+    <br><br>
+<% } %>
+
+<% if (clustering.equals("yes") && length != 0) { %>
+
+</td>
+
+<!-- clusters -->
+<td style="border-right: 1px dotted gray;" />&#160;</td>
+<td align="left" valign="top" width="25%">
+<%@ include file="cluster.jsp" %>
+</td>
+
+</tr>
+</table>
+
+<% } %>
+
+<%
+
+if ((hits.totalIsExact() && end < hits.getTotal()) // more hits to show
+    || (!hits.totalIsExact() && (hits.getLength() > start+hitsPerPage))) {
+%>
+    <form name="next" action="../search.jsp" method="get">
+    <input type="hidden" name="query" value="<%=htmlQueryString%>">
+    <input type="hidden" name="lang" value="<%=queryLang%>">
+    <input type="hidden" name="start" value="<%=end%>">
+    <input type="hidden" name="hitsPerPage" value="<%=hitsPerPage%>">
+    <input type="hidden" name="hitsPerSite" value="<%=hitsPerSite%>">
+    <input type="hidden" name="clustering" value="<%=clustering%>">
+    <input type="submit" value="<i18n:message key="next"/>">
+<% if (sort != null) { %>
+    <input type="hidden" name="sort" value="<%=sort%>">
+    <input type="hidden" name="reverse" value="<%=reverse%>">
+<% } %>
+    </form>
+<%
+    }
+
+if ((!hits.totalIsExact() && (hits.getLength() <= start+hitsPerPage))) {
+%>
+    <form name="showAllHits" action="../search.jsp" method="get">
+    <input type="hidden" name="query" value="<%=htmlQueryString%>">
+    <input type="hidden" name="lang" value="<%=queryLang%>">
+    <input type="hidden" name="hitsPerPage" value="<%=hitsPerPage%>">
+    <input type="hidden" name="hitsPerSite" value="0">
+    <input type="hidden" name="clustering" value="<%=clustering%>">
+    <input type="submit" value="<i18n:message key="showAllHits"/>">
+<% if (sort != null) { %>
+    <input type="hidden" name="sort" value="<%=sort%>">
+    <input type="hidden" name="reverse" value="<%=reverse%>">
+<% } %>
+    </form>
+<%
+    }
+%>
+
+<table bgcolor="3333ff" align="right">
+<tr><td bgcolor="ff9900"><a href="<%=rss%>"><font color="ffffff"><b>RSS</b>
+</font></a></td></tr>
+</table>
+
+<p>
+<a href="http://wiki.apache.org/nutch/FAQ">
+<img border="0" src="../img/poweredbynutch_01.gif">
+</a>
+
+<jsp:include page="/include/footer.html"/>
+
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/ROOT/sh/about.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/sh/about.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/sh/about.html	(revision 66)
@@ -0,0 +1,234 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><!--This page is automatically generated.  Do not edit!-->
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Nutch: O Nutch-u</title>
+<style type="text/css">
+
+.menuTd {
+  background-color: #F9F7F4;
+  height: 25px;
+}
+
+.menuTdhover {
+  background-color: #ECE5DC;
+  height: 25px;
+}
+
+.menuEntry {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.body {
+  background-color: #F9F7F4;
+}
+
+.bodytext {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.title {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 26px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.intro {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.orangeTd {
+  background-color: #FF9900
+}
+
+ul {
+  list-style-image: url(../img/reiter/ul.gif)
+}
+
+h3 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 16px;
+  color: #000000;
+}
+
+h4 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 14px;
+  color: #000000;
+}
+
+.url {
+  color: #996600;
+}
+
+.highlight {
+  font-weight: bold;
+}
+
+.ellipsis {
+  font-weight: bold;
+}
+
+</style>
+<link rel="icon" href="../img/favicon.ico" type="image/x-icon">
+<link rel="shortcut icon" href="../img/favicon.ico" type="image/x-icon">
+<script type="text/javascript">
+<!--
+function queryfocus() {
+  search = document.search;
+  if (search != null) { search.query.focus(); }
+}
+// --></script>
+</head>
+<body onLoad="queryfocus();">
+<!--This file is automatically generated.  Do not edit!-->
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td valign="bottom" width="140" rowspan="2"><a href="./"><img src="../img/reiter/logo_nutch.gif" border="0"></a><img src="../img/reiter/spacer_666666.gif" width="140" height="1"></td>
+</tr>
+<tr>
+<td width="495" valign="bottom" align="right">
+<table border="0" cellpadding="0" cellspacing="0" width="495">
+<tr>
+<td background="../img/reiter/_bg_reiter.gif" width="400">&nbsp;</td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le1.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="about.html">O Nutch-u</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="http://wiki.apache.org/nutch/FAQ">Najčešća pitanja</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr valign="top">
+<td width="140">
+<table width="100%" cellpadding="0" cellspacing="0">
+<tr class="menuTd" height="25">
+<td class="menuTd" onmouseover="this.className='menuTdhover';" onmouseout="this.className='menuTd'" width="100%">&#160;:: <a href="http://lucene.apache.org/nutch/credits.html" class="menuEntry">Zasluge</a></td>
+</tr>
+<tr height="1px">
+<td><img src="../img/reiter/spacer_666666.gif" height="1" width="100%"></td>
+</tr>
+<tr class="menuTd" height="25">
+<td class="menuTd" onmouseover="this.className='menuTdhover';" onmouseout="this.className='menuTd'" width="100%">&#160;:: <a href="http://lucene.apache.org/nutch/index.html" class="menuEntry">Status</a></td>
+</tr>
+<tr height="1px">
+<td><img src="../img/reiter/spacer_666666.gif" height="1" width="100%"></td>
+</tr>
+<tr>
+<td>&#160;</td>
+</tr>
+</table>
+</td><td width="20" background="../img/reiter/_spacer_cccccc.gif">&#160;</td><td width="475" class="body">
+<table width="475" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td class="title" height="125" width="275" valign="bottom">O Nutch-u</td><td height="125" width="200" valign="bottom"><img src="../img/reiter/robots.gif"></td>
+</tr>
+</table>
+<br class="br">
+<span class="bodytext">
+
+</span><span class="intro">
+<p>Nutch je poduhvat implementiranja web pretraživača otvorenog koda.</p>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>Web pretraživanje je osnovni preduslov za internet navigaciju, a ipak se
+broj web pretraživača smanjuje. Oligopol današnjice mogao bi uskoro lako  
+postati monopol, sa jednom kompanijom koja kotroliše gotovo sva pretraživanja 
+radi sopstvene finansijske dobiti. Po korisnike interneta to ne bi bilo dobro.</p>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>Nutch nudi transparentnu alternativu komercijalnim web pretraživačima.
+Samo pretraživačima otvorenog koda možemo verovati da su njihovi rezultati nepristrasni.
+(Ili je barem njihova pristrasnost javna.) Svi glavni postojeći pretraživači 
+imaju sopstvene formule rangiranja rezultata, i ne žele objašnjavati zašto se određena stranica 
+rangira baš tako. Takođe, nekim web pretraživačima moguće je platiti kako bi se uticalo na to 
+koji sajt i na koji način će biti rangiran u rezultatima, umesto da uslov za rangiranje bude sam sajt.
+Nutch, sa druge strane, nema šta da krije i nema motiva da njegovi rezultati ili njegov crawler bude pristrasan u bilo kom
+pogledu osim da pokuša da svakom korisniku ponudi najbolje moguće rezultate.</p>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>Cilj Nutch-a je omogući svakome da jednostavno i ekonomično razvije 
+kvalitetan web pretraživač.  To je veliki izazov.  Da bi uspeo, Nutch 
+softver mora biti sposoban da:</p>
+</span><span class="bodytext">
+</span><span class="bodytext">
+<ul>
+  
+<li>dohvata nekoliko milijardi stranica mesečno</li>
+  
+<li>održava indeks tih stranica</li>
+  
+<li>pretražuje indeks tih stranica i do 1000 puta u sekundi</li>
+  
+<li>obezbedi visokokvalitetne rezulate pretrage</li>
+  
+<li>ima minimalne operativne troškove</li>
+
+</ul>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>To je izazovan poduhvat. Ako veruješ u suštinu ovog projekta, možeš pomoći
+bilo svojim radom na <a href="http://www.apache.org/dev/">razvoju</a> bilo <a href="http://www.apache.org/foundation/contributing.html">donacijom.</a>
+
+</p>
+</span><span class="bodytext">
+
+</span>
+<br class="br">
+<br class="br">
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+  
+<tr>
+    
+<td width="140">&nbsp;</td>
+    <td width="20">&nbsp;</td>
+    <td width="475" align="center">
+    <span class="bodytext">
+    
+<br>
+      
+<a href="../ca/">ca</a> |
+      <a href="../de/">de</a> |
+      <a href="../en/">en</a> |
+      <a href="../es/">es</a> |
+      <a href="../fi/">fi</a> |
+      <a href="../fr/">fr</a> |
+      <a href="../hu/">hu</a> |
+      <a href="../it/">it</a> |
+      <a href="../jp/">jp</a> |
+      <a href="../ms/">ms</a> |
+      <a href="../nl/">nl</a> |
+      <a href="../pl/">pl</a> |
+      <a href="../pt/">pt</a> |
+      <a href="../sh/">sh</a> |
+      <a href="../sr/">sr</a> |
+      <a href="../sv/">sv</a> |
+      <a href="../th/">th</a> |
+      <a href="../zh/">zh</a>
+    </span>
+    </td>
+  
+</tr>
+  
+<tr>
+  
+</tr>
+
+</table>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/ROOT/sh/help.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/sh/help.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/sh/help.html	(revision 66)
@@ -0,0 +1,217 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><!--This page is automatically generated.  Do not edit!-->
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Nutch: pomoć</title>
+<style type="text/css">
+
+.menuTd {
+  background-color: #F9F7F4;
+  height: 25px;
+}
+
+.menuTdhover {
+  background-color: #ECE5DC;
+  height: 25px;
+}
+
+.menuEntry {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.body {
+  background-color: #F9F7F4;
+}
+
+.bodytext {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.title {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 26px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.intro {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.orangeTd {
+  background-color: #FF9900
+}
+
+ul {
+  list-style-image: url(../img/reiter/ul.gif)
+}
+
+h3 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 16px;
+  color: #000000;
+}
+
+h4 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 14px;
+  color: #000000;
+}
+
+.url {
+  color: #996600;
+}
+
+.highlight {
+  font-weight: bold;
+}
+
+.ellipsis {
+  font-weight: bold;
+}
+
+</style>
+<link rel="icon" href="../img/favicon.ico" type="image/x-icon">
+<link rel="shortcut icon" href="../img/favicon.ico" type="image/x-icon">
+<script type="text/javascript">
+<!--
+function queryfocus() {
+  search = document.search;
+  if (search != null) { search.query.focus(); }
+}
+// --></script>
+</head>
+<body onLoad="queryfocus();">
+<!--This file is automatically generated.  Do not edit!-->
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td valign="bottom" width="140" rowspan="2"><a href="./"><img src="../img/reiter/logo_nutch.gif" border="0"></a><img src="../img/reiter/spacer_666666.gif" width="140" height="1"></td>
+</tr>
+<tr>
+<td width="495" valign="bottom" align="right">
+<table border="0" cellpadding="0" cellspacing="0" width="495">
+<tr>
+<td background="../img/reiter/_bg_reiter.gif" width="400">&nbsp;</td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le1.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="about.html">O Nutch-u</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="http://wiki.apache.org/nutch/FAQ">Najčešća pitanja</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr valign="top">
+<td width="140">
+<table width="100%" cellpadding="0" cellspacing="0">
+<tr>
+<td>&#160;</td>
+</tr>
+</table>
+</td><td width="20" background="../img/reiter/_spacer_cccccc.gif">&#160;</td><td width="475" class="body">
+<table width="475" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td class="title" height="125" width="275" valign="bottom">pomoć</td><td height="125" width="200" valign="bottom"><img src="../img/reiter/robots.gif"></td>
+</tr>
+</table>
+<br class="br">
+<span class="bodytext">
+
+</span><span class="bodytext">
+<h3>Upiti</h3>
+</span><span class="bodytext">
+Da biste pretraživali pomoću Nutch-a, samo ukucajte nekoliko reči.
+</span><span class="bodytext">
+<ul>
+  
+<li>Rezultati predstavljaju samo one stranice koje sadrže <span style="font-style: italic;">sve</span> reči iz upita.</li>
+  
+<li>Koristite navodnike oko reči koje se moraju pojavljivati zajedno, kao fraza,
+npr., <span style="font-weight: bold;">"Novi Sad"</span>.</li>
+  
+<li>Interpunkcija između reči takođe izaziva pretraživanje po frazama.  Tako da je 
+pretraga po <span style="font-weight: bold;">http://www.apache.org/</span>
+identična kao pretraga po <span style="font-weight: bold;">"http www
+apache org"</span>.</li>
+  
+<li>Pretraživanje ne razlikuje velika i mala slova u upitu, tako da je pretraga po <span style="font-weight: bold;">NuTcH</span> identična kao pretraga po <span style="font-weight: bold;">nUtCh</span>.</li>
+  
+<li>Da biste isključili iz rezultata stranice kojе sadrže neki termin stavite znak minus ispred tog termina,
+ npr., pretraživanje po <span style="font-weight: bold;">fudbal
+-nfl</span> će pronaći stranice  koje za temu imaju fudbal, ali ne koriste reč "nfl".</li>
+  
+<li>To je to!</li>
+
+</ul>
+</span><span class="bodytext">
+</span><span class="bodytext">
+<h3>Rezultati</h3>
+</span><span class="bodytext">
+Svaka stranica u rezultatima ima sledeće linkove:
+</span><span class="bodytext">
+<ul>
+  
+<li>(<span style="color: rgb(51, 51, 255);">keširano</span>) prikazuje verziju stranice
+koju je Nutch dohvatio.</li>
+  
+<li>(<span style="color: rgb(51, 51, 255);">objasni</span>) prikazuje objašnjenje 
+  kako je ova stranica bodovana.</li>
+  
+<li>(<span style="color: rgb(51, 51, 255);">veze</span>) prikazuje spisak odrednica korišćenih da se napravi link ka ovoj strani.</li>
+
+</ul>
+</span><span class="bodytext">
+
+</span>
+<br class="br">
+<br class="br">
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+  
+<tr>
+    
+<td width="140">&nbsp;</td>
+    <td width="20">&nbsp;</td>
+    <td width="475" align="center">
+    <span class="bodytext">
+    
+<br>
+      
+<a href="../ca/">ca</a> |
+      <a href="../de/">de</a> |
+      <a href="../en/">en</a> |
+      <a href="../es/">es</a> |
+      <a href="../fi/">fi</a> |
+      <a href="../fr/">fr</a> |
+      <a href="../hu/">hu</a> |
+      <a href="../it/">it</a> |
+      <a href="../jp/">jp</a> |
+      <a href="../ms/">ms</a> |
+      <a href="../nl/">nl</a> |
+      <a href="../pl/">pl</a> |
+      <a href="../pt/">pt</a> |
+      <a href="../sh/">sh</a> |
+      <a href="../sr/">sr</a> |
+      <a href="../sv/">sv</a> |
+      <a href="../th/">th</a> |
+      <a href="../zh/">zh</a>
+    </span>
+    </td>
+  
+</tr>
+  
+<tr>
+  
+</tr>
+
+</table>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/ROOT/sh/include/header.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/sh/include/header.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/sh/include/header.html	(revision 66)
@@ -0,0 +1,1 @@
+<?xml version="1.0" encoding="UTF-8"?><!--This file is automatically generated.  Do not edit!--><table cellspacing="0" cellpadding="0" border="0" width="635"><tr><td rowspan="2" width="140" valign="bottom"><a href="./"><img border="0" src="../img/reiter/logo_nutch.gif"/></a><img height="1" width="140" src="../img/reiter/spacer_666666.gif"/></td></tr><tr><td align="right" valign="bottom" width="495"><table width="495" cellspacing="0" cellpadding="0" border="0"><tr><td width="400" background="../img/reiter/_bg_reiter.gif">&#160;</td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le1.gif"/></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="about.html" class="bodytext">O Nutch-u</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"/></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le.gif"/></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="http://wiki.apache.org/nutch/FAQ" class="bodytext">Najčešća pitanja</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"/></td></tr></table></td></tr></table>
Index: /nutchez-0.1/tomcat/webapps/ROOT/sh/search.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/sh/search.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/sh/search.html	(revision 66)
@@ -0,0 +1,193 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><!--This page is automatically generated.  Do not edit!-->
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Nutch: </title>
+<style type="text/css">
+
+.menuTd {
+  background-color: #F9F7F4;
+  height: 25px;
+}
+
+.menuTdhover {
+  background-color: #ECE5DC;
+  height: 25px;
+}
+
+.menuEntry {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.body {
+  background-color: #F9F7F4;
+}
+
+.bodytext {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.title {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 26px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.intro {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.orangeTd {
+  background-color: #FF9900
+}
+
+ul {
+  list-style-image: url(../img/reiter/ul.gif)
+}
+
+h3 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 16px;
+  color: #000000;
+}
+
+h4 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 14px;
+  color: #000000;
+}
+
+.url {
+  color: #996600;
+}
+
+.highlight {
+  font-weight: bold;
+}
+
+.ellipsis {
+  font-weight: bold;
+}
+
+</style>
+<link type="image/x-icon" href="../img/favicon.ico" rel="icon">
+<link type="image/x-icon" href="../img/favicon.ico" rel="shortcut icon">
+<script type="text/javascript">
+<!--
+function queryfocus() {
+  search = document.search;
+  if (search != null) { search.query.focus(); }
+}
+// --></script>
+</head>
+<body onLoad="queryfocus();">
+<!--This file is automatically generated.  Do not edit!-->
+<table cellspacing="0" cellpadding="0" border="0" width="635">
+<tr>
+<td rowspan="2" width="140" valign="bottom"><a href="./"><img border="0" src="../img/reiter/logo_nutch.gif"></a><img height="1" width="140" src="../img/reiter/spacer_666666.gif"></td>
+</tr>
+<tr>
+<td align="right" valign="bottom" width="495">
+<table width="495" cellspacing="0" cellpadding="0" border="0">
+<tr>
+<td width="400" background="../img/reiter/_bg_reiter.gif">&nbsp;</td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le1.gif"></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="about.html" class="bodytext">O Nutch-u</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le.gif"></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="http://wiki.apache.org/nutch/FAQ" class="bodytext">Najčešća pitanja</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<table cellspacing="0" cellpadding="0" border="0" width="635">
+<tr valign="top">
+<td width="140">
+<table cellspacing="0" cellpadding="0" width="100%">
+<tr>
+<td>&#160;</td>
+</tr>
+</table>
+</td><td background="../img/reiter/_spacer_cccccc.gif" width="20">&#160;</td><td class="body" width="475">
+<table cellspacing="0" cellpadding="0" border="0" width="475">
+<tr>
+<td valign="bottom" width="275" height="125" class="title"></td><td valign="bottom" width="200" height="125"><img src="../img/reiter/robots.gif"></td>
+</tr>
+</table>
+<br class="br">
+<span class="bodytext">
+</span><span class="bodytext">
+<center>
+
+<form name="search" action="../search.jsp" method="get">
+  
+<input type="hidden" name="lang" value="sh">
+  <input name="query" size="44">&nbsp;<input type="submit" value="Pretraži">
+  <a href="help.html">pomoć</a>
+
+</form>
+
+</center>
+</span><span class="bodytext">
+</span><span class="bodytext">
+<div style="text-align: right;">
+
+<a href="http://lucene.apache.org/nutch/index.html">
+<img border="0" src="../img/poweredbynutch_01.gif">
+</a>
+
+</div>
+</span><span class="bodytext">
+</span>
+<br class="br">
+<br class="br">
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+  
+<tr>
+    
+<td width="140">&nbsp;</td>
+    <td width="20">&nbsp;</td>
+    <td width="475" align="center">
+    <span class="bodytext">
+    
+<br>
+      
+<a href="../ca/">ca</a> |
+      <a href="../de/">de</a> |
+      <a href="../en/">en</a> |
+      <a href="../es/">es</a> |
+      <a href="../fi/">fi</a> |
+      <a href="../fr/">fr</a> |
+      <a href="../hu/">hu</a> |
+      <a href="../it/">it</a> |
+      <a href="../jp/">jp</a> |
+      <a href="../ms/">ms</a> |
+      <a href="../nl/">nl</a> |
+      <a href="../pl/">pl</a> |
+      <a href="../pt/">pt</a> |
+      <a href="../sh/">sh</a> |
+      <a href="../sr/">sr</a> |
+      <a href="../sv/">sv</a> |
+      <a href="../th/">th</a> |
+      <a href="../zh/">zh</a>
+    </span>
+    </td>
+  
+</tr>
+  
+<tr>
+  
+</tr>
+
+</table>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/ROOT/sr/about.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/sr/about.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/sr/about.html	(revision 66)
@@ -0,0 +1,234 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><!--This page is automatically generated.  Do not edit!-->
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Nutch: О Nutch-у</title>
+<style type="text/css">
+
+.menuTd {
+  background-color: #F9F7F4;
+  height: 25px;
+}
+
+.menuTdhover {
+  background-color: #ECE5DC;
+  height: 25px;
+}
+
+.menuEntry {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.body {
+  background-color: #F9F7F4;
+}
+
+.bodytext {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.title {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 26px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.intro {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.orangeTd {
+  background-color: #FF9900
+}
+
+ul {
+  list-style-image: url(../img/reiter/ul.gif)
+}
+
+h3 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 16px;
+  color: #000000;
+}
+
+h4 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 14px;
+  color: #000000;
+}
+
+.url {
+  color: #996600;
+}
+
+.highlight {
+  font-weight: bold;
+}
+
+.ellipsis {
+  font-weight: bold;
+}
+
+</style>
+<link rel="icon" href="../img/favicon.ico" type="image/x-icon">
+<link rel="shortcut icon" href="../img/favicon.ico" type="image/x-icon">
+<script type="text/javascript">
+<!--
+function queryfocus() {
+  search = document.search;
+  if (search != null) { search.query.focus(); }
+}
+// --></script>
+</head>
+<body onLoad="queryfocus();">
+<!--This file is automatically generated.  Do not edit!-->
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td valign="bottom" width="140" rowspan="2"><a href="./"><img src="../img/reiter/logo_nutch.gif" border="0"></a><img src="../img/reiter/spacer_666666.gif" width="140" height="1"></td>
+</tr>
+<tr>
+<td width="495" valign="bottom" align="right">
+<table border="0" cellpadding="0" cellspacing="0" width="495">
+<tr>
+<td background="../img/reiter/_bg_reiter.gif" width="400">&nbsp;</td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le1.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="about.html">О Nutch-у</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="http://wiki.apache.org/nutch/FAQ">Најчешћа питања</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr valign="top">
+<td width="140">
+<table width="100%" cellpadding="0" cellspacing="0">
+<tr class="menuTd" height="25">
+<td class="menuTd" onmouseover="this.className='menuTdhover';" onmouseout="this.className='menuTd'" width="100%">&#160;:: <a href="http://lucene.apache.org/nutch/credits.html" class="menuEntry">Заслуге</a></td>
+</tr>
+<tr height="1px">
+<td><img src="../img/reiter/spacer_666666.gif" height="1" width="100%"></td>
+</tr>
+<tr class="menuTd" height="25">
+<td class="menuTd" onmouseover="this.className='menuTdhover';" onmouseout="this.className='menuTd'" width="100%">&#160;:: <a href="http://lucene.apache.org/nutch/index.html" class="menuEntry">Статус</a></td>
+</tr>
+<tr height="1px">
+<td><img src="../img/reiter/spacer_666666.gif" height="1" width="100%"></td>
+</tr>
+<tr>
+<td>&#160;</td>
+</tr>
+</table>
+</td><td width="20" background="../img/reiter/_spacer_cccccc.gif">&#160;</td><td width="475" class="body">
+<table width="475" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td class="title" height="125" width="275" valign="bottom">О Nutch-у</td><td height="125" width="200" valign="bottom"><img src="../img/reiter/robots.gif"></td>
+</tr>
+</table>
+<br class="br">
+<span class="bodytext">
+
+</span><span class="intro">
+<p>Nutch је подухват имплементирања web претраживача отвореног кода.</p>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>Web претраживање је основни предуслов за интернет навигацију, а ипак се
+број web претраживача смањује. Олигопол данашњице могао би ускоро лако постати 
+монопол, са једном компанијом која контролише готово сва претраживања
+ради сопствене финансијске добити. По кориснике интернета то не би било добро.</p>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>Nutch нуди транспарентну алтернативу комерцијалним web претраживачима.
+Само претраживачима отвореног кода можемо веровати да су њихови резултати непристрасни.
+(Или је барем њихова пристрасност јавна.) Сви главни постојећи претраживачи 
+имају сопствене формуле рангирања резултата, и не желе објашњавати зашто се одређена страница
+рангира баш тако. Такође, неким web претраживачима могуће је платити како би се утицало на то
+који сајт и на који начин ће бити рангиран у резултатима, уместо да услов за рангирање буде сам сајт.
+Nutch, са друге стране, нема шта да крије и нема мотива да његови резултати или његов crawler буду пристрасни у било ком
+погледу осим да покуша да сваком кориснику понуди најбоље могуће резултате.</p>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>Циљ Nutch-а је да омогући свакоме да једноставно и економично развије 
+квалитетан web претраживач. То је велики изазов. Да би успео, Nutch 
+софтвер мора бити спосабан да:</p>
+</span><span class="bodytext">
+</span><span class="bodytext">
+<ul>
+  
+<li>дохвата неколико милијарди страница месечно</li>
+  
+<li>одржава индекс тих страница</li>
+  
+<li>претражује индекс тих страница и до 1000 пута у секунди</li>
+  
+<li>обезбеди висококвалитетне резултате претраге</li>
+  
+<li>има минималне оперативне трошкове</li>
+
+</ul>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>То је изазован подухват. Ако верујеш у суштину овог пројекта, можеш помоћи 
+било својим радом на <a href="http://www.apache.org/dev/">развоју</a> било <a href="http://www.apache.org/foundation/contributing.html">донацијом.</a>
+
+</p>
+</span><span class="bodytext">
+
+</span>
+<br class="br">
+<br class="br">
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+  
+<tr>
+    
+<td width="140">&nbsp;</td>
+    <td width="20">&nbsp;</td>
+    <td width="475" align="center">
+    <span class="bodytext">
+    
+<br>
+      
+<a href="../ca/">ca</a> |
+      <a href="../de/">de</a> |
+      <a href="../en/">en</a> |
+      <a href="../es/">es</a> |
+      <a href="../fi/">fi</a> |
+      <a href="../fr/">fr</a> |
+      <a href="../hu/">hu</a> |
+      <a href="../it/">it</a> |
+      <a href="../jp/">jp</a> |
+      <a href="../ms/">ms</a> |
+      <a href="../nl/">nl</a> |
+      <a href="../pl/">pl</a> |
+      <a href="../pt/">pt</a> |
+      <a href="../sh/">sh</a> |
+      <a href="../sr/">sr</a> |
+      <a href="../sv/">sv</a> |
+      <a href="../th/">th</a> |
+      <a href="../zh/">zh</a>
+    </span>
+    </td>
+  
+</tr>
+  
+<tr>
+  
+</tr>
+
+</table>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/ROOT/sr/help.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/sr/help.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/sr/help.html	(revision 66)
@@ -0,0 +1,217 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><!--This page is automatically generated.  Do not edit!-->
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Nutch: помоћ</title>
+<style type="text/css">
+
+.menuTd {
+  background-color: #F9F7F4;
+  height: 25px;
+}
+
+.menuTdhover {
+  background-color: #ECE5DC;
+  height: 25px;
+}
+
+.menuEntry {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.body {
+  background-color: #F9F7F4;
+}
+
+.bodytext {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.title {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 26px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.intro {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.orangeTd {
+  background-color: #FF9900
+}
+
+ul {
+  list-style-image: url(../img/reiter/ul.gif)
+}
+
+h3 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 16px;
+  color: #000000;
+}
+
+h4 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 14px;
+  color: #000000;
+}
+
+.url {
+  color: #996600;
+}
+
+.highlight {
+  font-weight: bold;
+}
+
+.ellipsis {
+  font-weight: bold;
+}
+
+</style>
+<link rel="icon" href="../img/favicon.ico" type="image/x-icon">
+<link rel="shortcut icon" href="../img/favicon.ico" type="image/x-icon">
+<script type="text/javascript">
+<!--
+function queryfocus() {
+  search = document.search;
+  if (search != null) { search.query.focus(); }
+}
+// --></script>
+</head>
+<body onLoad="queryfocus();">
+<!--This file is automatically generated.  Do not edit!-->
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td valign="bottom" width="140" rowspan="2"><a href="./"><img src="../img/reiter/logo_nutch.gif" border="0"></a><img src="../img/reiter/spacer_666666.gif" width="140" height="1"></td>
+</tr>
+<tr>
+<td width="495" valign="bottom" align="right">
+<table border="0" cellpadding="0" cellspacing="0" width="495">
+<tr>
+<td background="../img/reiter/_bg_reiter.gif" width="400">&nbsp;</td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le1.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="about.html">О Nutch-у</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="http://wiki.apache.org/nutch/FAQ">Најчешћа питања</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr valign="top">
+<td width="140">
+<table width="100%" cellpadding="0" cellspacing="0">
+<tr>
+<td>&#160;</td>
+</tr>
+</table>
+</td><td width="20" background="../img/reiter/_spacer_cccccc.gif">&#160;</td><td width="475" class="body">
+<table width="475" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td class="title" height="125" width="275" valign="bottom">помоћ</td><td height="125" width="200" valign="bottom"><img src="../img/reiter/robots.gif"></td>
+</tr>
+</table>
+<br class="br">
+<span class="bodytext">
+
+</span><span class="bodytext">
+<h3>Упити</h3>
+</span><span class="bodytext">
+Да бисте претраживали помоћу Nutch-а, само укуцајте неколико речи.
+</span><span class="bodytext">
+<ul>
+  
+<li>Резултати представљају само оне странице које садрже <span style="font-style: italic;">све</span> речи из упита.</li>
+  
+<li>Користите наводнике око речи које се морају појављивати заједно, као фраза,
+нпр., <span style="font-weight: bold;">"Нови сад"</span>.</li>
+  
+<li>Интерпункција између речи такође изазива претраживање по фразама. Тако да је
+претраживање по <span style="font-weight: bold;">http://www.apache.org/</span>
+идентично као претраживање по <span style="font-weight: bold;">"http www
+apache org"</span>.</li>
+  
+<li>Претраживање не разликује велика и мала слова у упиту, тако да је претраживање по <span style="font-weight: bold;">NuTcH</span> идентично као претраживање по <span style="font-weight: bold;">nUtCh</span>.</li>
+  
+<li>Да бисте искључили из резултата странице које садрже неки термин ставите знак минус испред тог термина,
+ нпр., претраживање по <span style="font-weight: bold;">фудбал
+-нфл</span> ће пронаћи странице које за тему имају фудбал, али не користе реч "нфл".</li>
+  
+<li>То је то!</li>
+
+</ul>
+</span><span class="bodytext">
+</span><span class="bodytext">
+<h3>Резултати</h3>
+</span><span class="bodytext">
+Свака страница у резултатима има следеће линкове:
+</span><span class="bodytext">
+<ul>
+  
+<li>(<span style="color: rgb(51, 51, 255);">кеширано</span>) приказује верзију странице
+коју је Nutch дохватио.</li>
+  
+<li>(<span style="color: rgb(51, 51, 255);">објасни</span>) приказује објашњење
+ како је ова страница бодована.</li>
+  
+<li>(<span style="color: rgb(51, 51, 255);">везе</span>) приказује списак одредница коришћених да се направи линк ка овој страни.</li>
+
+</ul>
+</span><span class="bodytext">
+
+</span>
+<br class="br">
+<br class="br">
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+  
+<tr>
+    
+<td width="140">&nbsp;</td>
+    <td width="20">&nbsp;</td>
+    <td width="475" align="center">
+    <span class="bodytext">
+    
+<br>
+      
+<a href="../ca/">ca</a> |
+      <a href="../de/">de</a> |
+      <a href="../en/">en</a> |
+      <a href="../es/">es</a> |
+      <a href="../fi/">fi</a> |
+      <a href="../fr/">fr</a> |
+      <a href="../hu/">hu</a> |
+      <a href="../it/">it</a> |
+      <a href="../jp/">jp</a> |
+      <a href="../ms/">ms</a> |
+      <a href="../nl/">nl</a> |
+      <a href="../pl/">pl</a> |
+      <a href="../pt/">pt</a> |
+      <a href="../sh/">sh</a> |
+      <a href="../sr/">sr</a> |
+      <a href="../sv/">sv</a> |
+      <a href="../th/">th</a> |
+      <a href="../zh/">zh</a>
+    </span>
+    </td>
+  
+</tr>
+  
+<tr>
+  
+</tr>
+
+</table>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/ROOT/sr/include/header.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/sr/include/header.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/sr/include/header.html	(revision 66)
@@ -0,0 +1,1 @@
+<?xml version="1.0" encoding="UTF-8"?><!--This file is automatically generated.  Do not edit!--><table cellspacing="0" cellpadding="0" border="0" width="635"><tr><td rowspan="2" width="140" valign="bottom"><a href="./"><img border="0" src="../img/reiter/logo_nutch.gif"/></a><img height="1" width="140" src="../img/reiter/spacer_666666.gif"/></td></tr><tr><td align="right" valign="bottom" width="495"><table width="495" cellspacing="0" cellpadding="0" border="0"><tr><td width="400" background="../img/reiter/_bg_reiter.gif">&#160;</td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le1.gif"/></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="about.html" class="bodytext">О Nutch-у</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"/></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le.gif"/></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="http://wiki.apache.org/nutch/FAQ" class="bodytext">Најчешћа питања</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"/></td></tr></table></td></tr></table>
Index: /nutchez-0.1/tomcat/webapps/ROOT/sr/search.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/sr/search.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/sr/search.html	(revision 66)
@@ -0,0 +1,193 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><!--This page is automatically generated.  Do not edit!-->
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Nutch: </title>
+<style type="text/css">
+
+.menuTd {
+  background-color: #F9F7F4;
+  height: 25px;
+}
+
+.menuTdhover {
+  background-color: #ECE5DC;
+  height: 25px;
+}
+
+.menuEntry {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.body {
+  background-color: #F9F7F4;
+}
+
+.bodytext {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.title {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 26px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.intro {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.orangeTd {
+  background-color: #FF9900
+}
+
+ul {
+  list-style-image: url(../img/reiter/ul.gif)
+}
+
+h3 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 16px;
+  color: #000000;
+}
+
+h4 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 14px;
+  color: #000000;
+}
+
+.url {
+  color: #996600;
+}
+
+.highlight {
+  font-weight: bold;
+}
+
+.ellipsis {
+  font-weight: bold;
+}
+
+</style>
+<link type="image/x-icon" href="../img/favicon.ico" rel="icon">
+<link type="image/x-icon" href="../img/favicon.ico" rel="shortcut icon">
+<script type="text/javascript">
+<!--
+function queryfocus() {
+  search = document.search;
+  if (search != null) { search.query.focus(); }
+}
+// --></script>
+</head>
+<body onLoad="queryfocus();">
+<!--This file is automatically generated.  Do not edit!-->
+<table cellspacing="0" cellpadding="0" border="0" width="635">
+<tr>
+<td rowspan="2" width="140" valign="bottom"><a href="./"><img border="0" src="../img/reiter/logo_nutch.gif"></a><img height="1" width="140" src="../img/reiter/spacer_666666.gif"></td>
+</tr>
+<tr>
+<td align="right" valign="bottom" width="495">
+<table width="495" cellspacing="0" cellpadding="0" border="0">
+<tr>
+<td width="400" background="../img/reiter/_bg_reiter.gif">&nbsp;</td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le1.gif"></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="about.html" class="bodytext">О Nutch-у</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le.gif"></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="http://wiki.apache.org/nutch/FAQ" class="bodytext">Најчешћа питања</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<table cellspacing="0" cellpadding="0" border="0" width="635">
+<tr valign="top">
+<td width="140">
+<table cellspacing="0" cellpadding="0" width="100%">
+<tr>
+<td>&#160;</td>
+</tr>
+</table>
+</td><td background="../img/reiter/_spacer_cccccc.gif" width="20">&#160;</td><td class="body" width="475">
+<table cellspacing="0" cellpadding="0" border="0" width="475">
+<tr>
+<td valign="bottom" width="275" height="125" class="title"></td><td valign="bottom" width="200" height="125"><img src="../img/reiter/robots.gif"></td>
+</tr>
+</table>
+<br class="br">
+<span class="bodytext">
+</span><span class="bodytext">
+<center>
+
+<form name="search" action="../search.jsp" method="get">
+  
+<input type="hidden" name="lang" value="sr">
+  <input name="query" size="44">&nbsp;<input type="submit" value="Претражи">
+  <a href="help.html">помоћ</a>
+
+</form>
+
+</center>
+</span><span class="bodytext">
+</span><span class="bodytext">
+<div style="text-align: right;">
+
+<a href="http://lucene.apache.org/nutch/index.html">
+<img border="0" src="../img/poweredbynutch_01.gif">
+</a>
+
+</div>
+</span><span class="bodytext">
+</span>
+<br class="br">
+<br class="br">
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+  
+<tr>
+    
+<td width="140">&nbsp;</td>
+    <td width="20">&nbsp;</td>
+    <td width="475" align="center">
+    <span class="bodytext">
+    
+<br>
+      
+<a href="../ca/">ca</a> |
+      <a href="../de/">de</a> |
+      <a href="../en/">en</a> |
+      <a href="../es/">es</a> |
+      <a href="../fi/">fi</a> |
+      <a href="../fr/">fr</a> |
+      <a href="../hu/">hu</a> |
+      <a href="../it/">it</a> |
+      <a href="../jp/">jp</a> |
+      <a href="../ms/">ms</a> |
+      <a href="../nl/">nl</a> |
+      <a href="../pl/">pl</a> |
+      <a href="../pt/">pt</a> |
+      <a href="../sh/">sh</a> |
+      <a href="../sr/">sr</a> |
+      <a href="../sv/">sv</a> |
+      <a href="../th/">th</a> |
+      <a href="../zh/">zh</a>
+    </span>
+    </td>
+  
+</tr>
+  
+<tr>
+  
+</tr>
+
+</table>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/ROOT/sv/about.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/sv/about.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/sv/about.html	(revision 66)
@@ -0,0 +1,236 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><!--This page is automatically generated.  Do not edit!-->
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Nutch: om</title>
+<style type="text/css">
+
+.menuTd {
+  background-color: #F9F7F4;
+  height: 25px;
+}
+
+.menuTdhover {
+  background-color: #ECE5DC;
+  height: 25px;
+}
+
+.menuEntry {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.body {
+  background-color: #F9F7F4;
+}
+
+.bodytext {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.title {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 26px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.intro {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.orangeTd {
+  background-color: #FF9900
+}
+
+ul {
+  list-style-image: url(../img/reiter/ul.gif)
+}
+
+h3 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 16px;
+  color: #000000;
+}
+
+h4 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 14px;
+  color: #000000;
+}
+
+.url {
+  color: #996600;
+}
+
+.highlight {
+  font-weight: bold;
+}
+
+.ellipsis {
+  font-weight: bold;
+}
+
+</style>
+<link rel="icon" href="../img/favicon.ico" type="image/x-icon">
+<link rel="shortcut icon" href="../img/favicon.ico" type="image/x-icon">
+<script type="text/javascript">
+<!--
+function queryfocus() {
+  search = document.search;
+  if (search != null) { search.query.focus(); }
+}
+// --></script>
+</head>
+<body onLoad="queryfocus();">
+<!--This file is automatically generated.  Do not edit!-->
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td valign="bottom" width="140" rowspan="2"><a href="./"><img src="../img/reiter/logo_nutch.gif" border="0"></a><img src="../img/reiter/spacer_666666.gif" width="140" height="1"></td>
+</tr>
+<tr>
+<td width="495" valign="bottom" align="right">
+<table border="0" cellpadding="0" cellspacing="0" width="495">
+<tr>
+<td background="../img/reiter/_bg_reiter.gif" width="400">&nbsp;</td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le1.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="about.html">Om</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="http://wiki.apache.org/nutch/FAQ">Vanliga fr&aring;gor (FAQ)</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr valign="top">
+<td width="140">
+<table width="100%" cellpadding="0" cellspacing="0">
+<tr class="menuTd" height="25">
+<td class="menuTd" onmouseover="this.className='menuTdhover';" onmouseout="this.className='menuTd'" width="100%">&#160;:: <a href="http://lucene.apache.org/nutch/credits.html" class="menuEntry">Erk&auml;nnanden</a></td>
+</tr>
+<tr height="1px">
+<td><img src="../img/reiter/spacer_666666.gif" height="1" width="100%"></td>
+</tr>
+<tr class="menuTd" height="25">
+<td class="menuTd" onmouseover="this.className='menuTdhover';" onmouseout="this.className='menuTd'" width="100%">&#160;:: <a href="http://lucene.apache.org/nutch/index.html" class="menuEntry">Status</a></td>
+</tr>
+<tr height="1px">
+<td><img src="../img/reiter/spacer_666666.gif" height="1" width="100%"></td>
+</tr>
+<tr>
+<td>&#160;</td>
+</tr>
+</table>
+</td><td width="20" background="../img/reiter/_spacer_cccccc.gif">&#160;</td><td width="475" class="body">
+<table width="475" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td class="title" height="125" width="275" valign="bottom">om</td><td height="125" width="200" valign="bottom"><img src="../img/reiter/robots.gif"></td>
+</tr>
+</table>
+<br class="br">
+<span class="bodytext">
+
+</span><span class="intro">
+<p>Nutch &auml;r ett nytt initiativ att implementera en Open-Source-s&ouml;kmotor f&ouml;r webben.</p>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>Webbs&ouml;kning &auml;r ett grundl&auml;ggande krav f&ouml;r att kunna navigera p&aring; Internet,
+trots det h&aring;ller antalet s&ouml;kmotorer p&aring; att minska. Dagens oligopol skulle
+snart kunna bli ett monopol, med ett enda f&ouml;retag som kontrollerar n&auml;stan all
+webbs&ouml;kning f&ouml;r dess egna kommersiella vinst. Det skulle inte vara bra f&ouml;r
+Internets anv&auml;ndare.</p>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>Nutch tillhandah&aring;ller ett transparent alternativ till kommersiella s&ouml;kmotorer.
+Endast Open Source-s&ouml;kresultat kan litas p&aring; fullt ut att vara f&ouml;rdomsfria. (Eller
+att deras f&ouml;rdomar &auml;r officiella.) Alla stora existerande s&ouml;kmotorer har skyddade
+rankingformler och vill inte f&ouml;rklara varf&ouml;r en viss sida rankas som den g&ouml;r.
+Dessutom best&auml;mmer vissa s&ouml;kmotorer vilka sidor som ska indexeras beroende p&aring;
+betalning hellre &auml;n p&aring; sidors egna meriter. Nutch, &aring; andra sidan, har inget att
+d&ouml;lja och har inget motiv till att kasta f&ouml;rdom &ouml;ver dess resultat eller
+indexering p&aring; n&aring;got s&auml;tt annat &auml;n att f&ouml;rs&ouml;ka ge varje anv&auml;ndare de b&auml;sta
+s&ouml;kresultaten som m&ouml;jligt.</p>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>Nutch avser att ge vem som helst m&ouml;jlighet att enkelt och kostnadseffektivt
+lansera en s&ouml;kmotor av v&auml;rldsklass. Detta &auml;r rej&auml;l utmaning. F&ouml;r att lyckas m&aring;ste
+Nutch-mjukvara kunna:</p>
+</span><span class="bodytext">
+</span><span class="bodytext">
+<ul>
+	
+<li>h&auml;mta flera miljarder sidor per m&aring;nad</li>
+	
+<li>underh&aring;lla ett index p&aring; dessa sidor</li>
+	
+<li>s&ouml;ka detta index upp till 1000 g&aring;nger per sekund</li>
+	
+<li>tillhandah&aring;lla mycket h&ouml;gkvalitativa s&ouml;kresultat</li>
+	
+<li>drivas till minimal kostnad</li>
+
+</ul>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>Detta &auml;r ett utmanande f&ouml;rslag. Om du tror p&aring; detta projekts f&ouml;rtj&auml;nster,
+hj&auml;lp g&auml;rna till, antingen som en <a href="http://www.apache.org/dev/">utvecklare</a>
+eller med en <a href="http://www.apache.org/foundation/contributing.html">donation</a>
+</p>
+</span><span class="bodytext">
+
+</span>
+<br class="br">
+<br class="br">
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+  
+<tr>
+    
+<td width="140">&nbsp;</td>
+    <td width="20">&nbsp;</td>
+    <td width="475" align="center">
+    <span class="bodytext">
+    
+<br>
+      
+<a href="../ca/">ca</a> |
+      <a href="../de/">de</a> |
+      <a href="../en/">en</a> |
+      <a href="../es/">es</a> |
+      <a href="../fi/">fi</a> |
+      <a href="../fr/">fr</a> |
+      <a href="../hu/">hu</a> |
+      <a href="../it/">it</a> |
+      <a href="../jp/">jp</a> |
+      <a href="../ms/">ms</a> |
+      <a href="../nl/">nl</a> |
+      <a href="../pl/">pl</a> |
+      <a href="../pt/">pt</a> |
+      <a href="../sh/">sh</a> |
+      <a href="../sr/">sr</a> |
+      <a href="../sv/">sv</a> |
+      <a href="../th/">th</a> |
+      <a href="../zh/">zh</a>
+    </span>
+    </td>
+  
+</tr>
+  
+<tr>
+  
+</tr>
+
+</table>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/ROOT/sv/help.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/sv/help.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/sv/help.html	(revision 66)
@@ -0,0 +1,215 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><!--This page is automatically generated.  Do not edit!-->
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Nutch: sökhjälp</title>
+<style type="text/css">
+
+.menuTd {
+  background-color: #F9F7F4;
+  height: 25px;
+}
+
+.menuTdhover {
+  background-color: #ECE5DC;
+  height: 25px;
+}
+
+.menuEntry {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.body {
+  background-color: #F9F7F4;
+}
+
+.bodytext {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.title {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 26px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.intro {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.orangeTd {
+  background-color: #FF9900
+}
+
+ul {
+  list-style-image: url(../img/reiter/ul.gif)
+}
+
+h3 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 16px;
+  color: #000000;
+}
+
+h4 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 14px;
+  color: #000000;
+}
+
+.url {
+  color: #996600;
+}
+
+.highlight {
+  font-weight: bold;
+}
+
+.ellipsis {
+  font-weight: bold;
+}
+
+</style>
+<link rel="icon" href="../img/favicon.ico" type="image/x-icon">
+<link rel="shortcut icon" href="../img/favicon.ico" type="image/x-icon">
+<script type="text/javascript">
+<!--
+function queryfocus() {
+  search = document.search;
+  if (search != null) { search.query.focus(); }
+}
+// --></script>
+</head>
+<body onLoad="queryfocus();">
+<!--This file is automatically generated.  Do not edit!-->
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td valign="bottom" width="140" rowspan="2"><a href="./"><img src="../img/reiter/logo_nutch.gif" border="0"></a><img src="../img/reiter/spacer_666666.gif" width="140" height="1"></td>
+</tr>
+<tr>
+<td width="495" valign="bottom" align="right">
+<table border="0" cellpadding="0" cellspacing="0" width="495">
+<tr>
+<td background="../img/reiter/_bg_reiter.gif" width="400">&nbsp;</td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le1.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="about.html">Om</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="http://wiki.apache.org/nutch/FAQ">Vanliga fr&aring;gor (FAQ)</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr valign="top">
+<td width="140">
+<table width="100%" cellpadding="0" cellspacing="0">
+<tr>
+<td>&#160;</td>
+</tr>
+</table>
+</td><td width="20" background="../img/reiter/_spacer_cccccc.gif">&#160;</td><td width="475" class="body">
+<table width="475" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td class="title" height="125" width="275" valign="bottom">sökhjälp</td><td height="125" width="200" valign="bottom"><img src="../img/reiter/robots.gif"></td>
+</tr>
+</table>
+<br class="br">
+<span class="bodytext">
+
+</span><span class="bodytext">
+<h3>S&ouml;kningar</h3>
+</span><span class="bodytext">
+F&ouml;r att s&ouml;ka med Nutch, mata in n&aring;gra f&aring; ord.
+</span><span class="bodytext">
+<ul>
+  
+<li>Resultat inkluderar endast sidor som inneh&aring;ller <span style="font-style: italic;">alla</span> s&ouml;kord.</li>
+  
+<li>Anv&auml;nd citattecken runt flera ord som m&aring;ste ligga bredvid varandra, som en fras, t.ex. <span style="font-weight: bold;">"Nya Zeeland"</span>.</li>
+  
+<li>Frasmatchning aktiveras ocks&aring; av skiljetecken mellan ord. S&aring; en s&ouml;kning efter <span style="font-weight: bold;">http://www.apache.org/</span>
+&auml;r samma sak som en s&ouml;kning efter <span style="font-weight: bold;">"http www
+apache org"</span>.</li>
+  
+<li>I s&ouml;kningar g&ouml;rs ingen skillnad p&aring; stora och sm&aring; bokst&ouml;ver, s&aring; att s&ouml;ka efter <span style="font-weight: bold;">NuTcH</span> &auml;r samma sak som att s&ouml;ka efter <span style="font-weight: bold;">nUtCh</span>.</li>
+  
+<li>Du kan f&ouml;rhindra att ett ord eller uttryck kommer med bland s&ouml;kresultaten genom att s&auml;tta ett minus- eller bindestreckstecken framf&ouml;r det. Om du t.ex. s&ouml;ker efter <span style="font-weight: bold;">fotboll
+-uefa</span> s&aring; kommer sidor som handlar om fotboll att hittas, men kommer inte att inneh&aring;lla order "uefa".</li>
+  
+<li>Det var allt!</li>
+
+</ul>
+</span><span class="bodytext">
+</span><span class="bodytext">
+<h3>Resultat</h3>
+</span><span class="bodytext">
+Varje matchningssida bland resultaten har f&ouml;ljande l&auml;nkar:
+</span><span class="bodytext">
+<ul>
+  
+<li>(<span style="color: rgb(51, 51, 255);">cashad</span>) visar
+versionen av sidan som Nutch laddat ner.</li>
+  
+<li>(<span style="color: rgb(51, 51, 255);">f&ouml;rklara</span>) visar
+en f&ouml;rklaring till hur den h&auml;r sidan rankats.</li>
+  
+<li>(<span style="color: rgb(51, 51, 255);">ankare</span>) visar
+en lista av inkommande ankare indexerade f&ouml;r denna sidan.</li>
+
+</ul>
+</span><span class="bodytext">
+
+</span>
+<br class="br">
+<br class="br">
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+  
+<tr>
+    
+<td width="140">&nbsp;</td>
+    <td width="20">&nbsp;</td>
+    <td width="475" align="center">
+    <span class="bodytext">
+    
+<br>
+      
+<a href="../ca/">ca</a> |
+      <a href="../de/">de</a> |
+      <a href="../en/">en</a> |
+      <a href="../es/">es</a> |
+      <a href="../fi/">fi</a> |
+      <a href="../fr/">fr</a> |
+      <a href="../hu/">hu</a> |
+      <a href="../it/">it</a> |
+      <a href="../jp/">jp</a> |
+      <a href="../ms/">ms</a> |
+      <a href="../nl/">nl</a> |
+      <a href="../pl/">pl</a> |
+      <a href="../pt/">pt</a> |
+      <a href="../sh/">sh</a> |
+      <a href="../sr/">sr</a> |
+      <a href="../sv/">sv</a> |
+      <a href="../th/">th</a> |
+      <a href="../zh/">zh</a>
+    </span>
+    </td>
+  
+</tr>
+  
+<tr>
+  
+</tr>
+
+</table>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/ROOT/sv/include/header.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/sv/include/header.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/sv/include/header.html	(revision 66)
@@ -0,0 +1,1 @@
+<?xml version="1.0" encoding="UTF-8"?><!--This file is automatically generated.  Do not edit!--><table cellspacing="0" cellpadding="0" border="0" width="635"><tr><td rowspan="2" width="140" valign="bottom"><a href="./"><img border="0" src="../img/reiter/logo_nutch.gif"/></a><img height="1" width="140" src="../img/reiter/spacer_666666.gif"/></td></tr><tr><td align="right" valign="bottom" width="495"><table width="495" cellspacing="0" cellpadding="0" border="0"><tr><td width="400" background="../img/reiter/_bg_reiter.gif">&#160;</td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le1.gif"/></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="about.html" class="bodytext">Om</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"/></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le.gif"/></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="http://wiki.apache.org/nutch/FAQ" class="bodytext">Vanliga frågor (FAQ)</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"/></td></tr></table></td></tr></table>
Index: /nutchez-0.1/tomcat/webapps/ROOT/sv/search.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/sv/search.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/sv/search.html	(revision 66)
@@ -0,0 +1,193 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><!--This page is automatically generated.  Do not edit!-->
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Nutch: </title>
+<style type="text/css">
+
+.menuTd {
+  background-color: #F9F7F4;
+  height: 25px;
+}
+
+.menuTdhover {
+  background-color: #ECE5DC;
+  height: 25px;
+}
+
+.menuEntry {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.body {
+  background-color: #F9F7F4;
+}
+
+.bodytext {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.title {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 26px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.intro {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.orangeTd {
+  background-color: #FF9900
+}
+
+ul {
+  list-style-image: url(../img/reiter/ul.gif)
+}
+
+h3 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 16px;
+  color: #000000;
+}
+
+h4 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 14px;
+  color: #000000;
+}
+
+.url {
+  color: #996600;
+}
+
+.highlight {
+  font-weight: bold;
+}
+
+.ellipsis {
+  font-weight: bold;
+}
+
+</style>
+<link type="image/x-icon" href="../img/favicon.ico" rel="icon">
+<link type="image/x-icon" href="../img/favicon.ico" rel="shortcut icon">
+<script type="text/javascript">
+<!--
+function queryfocus() {
+  search = document.search;
+  if (search != null) { search.query.focus(); }
+}
+// --></script>
+</head>
+<body onLoad="queryfocus();">
+<!--This file is automatically generated.  Do not edit!-->
+<table cellspacing="0" cellpadding="0" border="0" width="635">
+<tr>
+<td rowspan="2" width="140" valign="bottom"><a href="./"><img border="0" src="../img/reiter/logo_nutch.gif"></a><img height="1" width="140" src="../img/reiter/spacer_666666.gif"></td>
+</tr>
+<tr>
+<td align="right" valign="bottom" width="495">
+<table width="495" cellspacing="0" cellpadding="0" border="0">
+<tr>
+<td width="400" background="../img/reiter/_bg_reiter.gif">&nbsp;</td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le1.gif"></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="about.html" class="bodytext">Om</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le.gif"></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="http://wiki.apache.org/nutch/FAQ" class="bodytext">Vanliga fr&aring;gor (FAQ)</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<table cellspacing="0" cellpadding="0" border="0" width="635">
+<tr valign="top">
+<td width="140">
+<table cellspacing="0" cellpadding="0" width="100%">
+<tr>
+<td>&#160;</td>
+</tr>
+</table>
+</td><td background="../img/reiter/_spacer_cccccc.gif" width="20">&#160;</td><td class="body" width="475">
+<table cellspacing="0" cellpadding="0" border="0" width="475">
+<tr>
+<td valign="bottom" width="275" height="125" class="title"></td><td valign="bottom" width="200" height="125"><img src="../img/reiter/robots.gif"></td>
+</tr>
+</table>
+<br class="br">
+<span class="bodytext">
+</span><span class="bodytext">
+<center>
+
+<form name="search" action="../search.jsp" method="get">
+  
+<input type="hidden" name="lang" value="sv">
+  <input name="query" size="44">&nbsp;<input type="submit" value="Search">
+  <a href="help.html">hj&auml;lp</a>
+
+</form>
+
+</center>
+</span><span class="bodytext">
+</span><span class="bodytext">
+<div style="text-align: right;">
+
+<a href="http://lucene.apache.org/nutch/index.html">
+<img border="0" src="../img/poweredbynutch_01.gif">
+</a>
+
+</div>
+</span><span class="bodytext">
+</span>
+<br class="br">
+<br class="br">
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+  
+<tr>
+    
+<td width="140">&nbsp;</td>
+    <td width="20">&nbsp;</td>
+    <td width="475" align="center">
+    <span class="bodytext">
+    
+<br>
+      
+<a href="../ca/">ca</a> |
+      <a href="../de/">de</a> |
+      <a href="../en/">en</a> |
+      <a href="../es/">es</a> |
+      <a href="../fi/">fi</a> |
+      <a href="../fr/">fr</a> |
+      <a href="../hu/">hu</a> |
+      <a href="../it/">it</a> |
+      <a href="../jp/">jp</a> |
+      <a href="../ms/">ms</a> |
+      <a href="../nl/">nl</a> |
+      <a href="../pl/">pl</a> |
+      <a href="../pt/">pt</a> |
+      <a href="../sh/">sh</a> |
+      <a href="../sr/">sr</a> |
+      <a href="../sv/">sv</a> |
+      <a href="../th/">th</a> |
+      <a href="../zh/">zh</a>
+    </span>
+    </td>
+  
+</tr>
+  
+<tr>
+  
+</tr>
+
+</table>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/ROOT/text.jsp
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/text.jsp	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/text.jsp	(revision 66)
@@ -0,0 +1,71 @@
+<%--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+--%>
+<%@ page
+  session="false"
+
+  import="java.io.*"
+  import="java.util.*"
+
+  import="org.apache.nutch.searcher.*"
+  import="org.apache.nutch.parse.ParseText"
+  import="org.apache.hadoop.conf.Configuration"
+  import="org.apache.nutch.util.NutchConfiguration"
+
+%><%
+
+  // show the content of a hit as plain text
+  Configuration nutchConf = NutchConfiguration.get(application);
+  NutchBean bean = NutchBean.get(application, nutchConf);
+
+  bean.LOG.info("text request from " + request.getRemoteAddr());
+
+  Hit hit = new Hit(Integer.parseInt(request.getParameter("idx")),
+                    Integer.parseInt(request.getParameter("id")));
+  HitDetails details = bean.getDetails(hit);
+
+  String text = bean.getParseText(details).getText();
+  if (text.trim().equals(""))
+    text = null;
+
+  // 20041005, xing
+  // This "CharEncodingForConversion" thing is only pertinent to
+  // html parser (plugin parse-html) in current nutch. None of
+  // other parser plugins are into it. So we worry it later.
+
+%><base href="<%=details.getValue("url")%>">
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<%
+  out.flush();
+%>
+
+<%@ taglib uri="http://jakarta.apache.org/taglibs/i18n" prefix="i18n" %>
+<i18n:bundle baseName="org.nutch.jsp.text"/>
+<h2 style="{color: rgb(255, 153, 0)}"><i18n:message key="title"/></h2>
+
+<i18n:message key="note">
+  <i18n:messageArg value="<%=details.getValue("url")%>"/>
+</i18n:message>
+
+<hr>
+
+<% if (text != null) {%>
+<pre>
+<%= text %>
+</pre>
+<% } else { %>
+<i18n:message key="noText"/>
+<% } %>
Index: /nutchez-0.1/tomcat/webapps/ROOT/th/about.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/th/about.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/th/about.html	(revision 66)
@@ -0,0 +1,239 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><!--This page is automatically generated.  Do not edit!-->
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Nutch: about</title>
+<style type="text/css">
+
+.menuTd {
+  background-color: #F9F7F4;
+  height: 25px;
+}
+
+.menuTdhover {
+  background-color: #ECE5DC;
+  height: 25px;
+}
+
+.menuEntry {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.body {
+  background-color: #F9F7F4;
+}
+
+.bodytext {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.title {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 26px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.intro {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.orangeTd {
+  background-color: #FF9900
+}
+
+ul {
+  list-style-image: url(../img/reiter/ul.gif)
+}
+
+h3 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 16px;
+  color: #000000;
+}
+
+h4 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 14px;
+  color: #000000;
+}
+
+.url {
+  color: #996600;
+}
+
+.highlight {
+  font-weight: bold;
+}
+
+.ellipsis {
+  font-weight: bold;
+}
+
+</style>
+<link rel="icon" href="../img/favicon.ico" type="image/x-icon">
+<link rel="shortcut icon" href="../img/favicon.ico" type="image/x-icon">
+<script type="text/javascript">
+<!--
+function queryfocus() {
+  search = document.search;
+  if (search != null) { search.query.focus(); }
+}
+// --></script>
+</head>
+<body onLoad="queryfocus();">
+<!--This file is automatically generated.  Do not edit!-->
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td valign="bottom" width="140" rowspan="2"><a href="./"><img src="../img/reiter/logo_nutch.gif" border="0"></a><img src="../img/reiter/spacer_666666.gif" width="140" height="1"></td>
+</tr>
+<tr>
+<td width="495" valign="bottom" align="right">
+<table border="0" cellpadding="0" cellspacing="0" width="495">
+<tr>
+<td background="../img/reiter/_bg_reiter.gif" width="400">&nbsp;</td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le1.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="about.html">เกี่ยวกับ</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="http://wiki.apache.org/nutch/FAQ">คำถามที่ถามบ่อย</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr valign="top">
+<td width="140">
+<table width="100%" cellpadding="0" cellspacing="0">
+<tr class="menuTd" height="25">
+<td class="menuTd" onmouseover="this.className='menuTdhover';" onmouseout="this.className='menuTd'" width="100%">&#160;:: <a href="http://lucene.apache.org/nutch/credits.html" class="menuEntry">ผู้ร่วมงาน</a></td>
+</tr>
+<tr height="1px">
+<td><img src="../img/reiter/spacer_666666.gif" height="1" width="100%"></td>
+</tr>
+<tr class="menuTd" height="25">
+<td class="menuTd" onmouseover="this.className='menuTdhover';" onmouseout="this.className='menuTd'" width="100%">&#160;:: <a href="http://lucene.apache.org/nutch/index.html" class="menuEntry">สถานภาพ</a></td>
+</tr>
+<tr height="1px">
+<td><img src="../img/reiter/spacer_666666.gif" height="1" width="100%"></td>
+</tr>
+<tr>
+<td>&#160;</td>
+</tr>
+</table>
+</td><td width="20" background="../img/reiter/_spacer_cccccc.gif">&#160;</td><td width="475" class="body">
+<table width="475" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td class="title" height="125" width="275" valign="bottom">about</td><td height="125" width="200" valign="bottom"><img src="../img/reiter/robots.gif"></td>
+</tr>
+</table>
+<br class="br">
+<span class="bodytext">
+
+</span><span class="intro">
+<p>นัทช์ เป็นความพยายามที่ก่อตัวขึ้นเพื่อพัฒนาระบบค้นหาโอเพนซอร์ส</p>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>การค้นหาบนเว็บเป็นสิ่งจำเป็นขั้นพื้นฐานในการท่องอินเตอร์เนต
+แต่จำนวนของระบบค้นหากำลังลดลงเรื่อยๆ
+การครองตลาดของผู้ให้บริการไม่กี่รายในวันนี้อาจทำให้เกิดการผูกขาดในไม่ช้า
+ถึงเวลานั้นจะมีเพียงบริษัทเดียวที่ควบคุมระบบค้นหาบนเว็บเพื่อผลประโยชน์ทางธุรกิจ
+นั่นย่อมเป็นสิ่งที่ไม่ดีสำหรับผู้ใช้อินเตอร์เนต
+</p>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>นัทช์เป็นทางเลือกที่โปร่งใสแทนระบบค้นหาเพื่อการค้า
+ผลการค้นหาที่ได้มาจากโอเพนซอร์สเท่านั้นที่จะเชื่อถือได้ว่าปราศจากอคติ
+(หรือถ้ามีอคติก็เป็นที่ทราบต่อสาธารณชน)
+ระบบค้นหาบนเว็บที่มีอยู่ในขณะนี้มีสูตรการจัดอันดับที่เป็นความลับ
+และไม่มีคำอธิบายใดๆว่าทำไมเว็บแต่ละหน้าถึงได้อันดับที่ได้อยู่
+นอกจากนี้แล้ว บางระบบค้นหายังตัดสินว่าจะทำดรรชนีไซต์ไหนตามเงินที่ได้รับ
+ไม่ใช่ตามคุณภาพของไซท์นั้น
+ในทางตรงข้าม นัทช์ไม่มีสิ่งใดแอบแฝงและไม่มีแรงจูงใจใดๆที่จะมีอคติในผลการค้นหา
+หรือในการรวบรวมเว็บไซต์
+นอกจากจะพยายามที่จะนำเสนอผลการค้นหาที่ดีที่สุดเท่าที่เป็นไปได้ต่อผู้ใช้</p>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>นัทช์มีเป้าหมายที่จะทำให้คนทั่วไปสามารถนำระบบค้นหาระดับโลกไปใช้งานอย่างง่ายดาย
+และได้ผลตอบแทนที่คุ้มค่า
+นี่เป็นเป้าหมายที่ท้าทายเป็นอย่างยิ่ง
+เพื่อที่จะบรรลุเป้าหมาย นัทช์จะต้องสามารถ:</p>
+</span><span class="bodytext">
+</span><span class="bodytext">
+<ul>
+  
+<li>รวบรวมเว็บเพจได้หลายพันล้านหน้าต่อเดือน</li>
+  
+<li>ดูแลดรรชนีของเว็บเพจเหล่านี้</li>
+  
+<li>ค้นหาดรรชนีได้ถึง 1000 ครั้งต่อวินาที</li>
+  
+<li>ให้ผลการค้นหาที่มีคุณภาพสูง</li>
+  
+<li>ใช้ค่าใช้จ่ายต่ำในการดำเนินงาน</li>
+
+</ul>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p>นี่เป็นเป้าหมายที่ท้าทาย ถ้าคุณเชื่อว่าโครงการนี้มีประโยชน์
+กรุณาให้ความร่วมมือโดยเป็น<a href="http://www.apache.org/dev/">ผู้พัฒนา</a>หรือร่วม<a href="http://www.apache.org/foundation/contributing.html">บริจาค</a>
+
+</p>
+</span><span class="bodytext">
+
+</span>
+<br class="br">
+<br class="br">
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+  
+<tr>
+    
+<td width="140">&nbsp;</td>
+    <td width="20">&nbsp;</td>
+    <td width="475" align="center">
+    <span class="bodytext">
+    
+<br>
+      
+<a href="../ca/">ca</a> |
+      <a href="../de/">de</a> |
+      <a href="../en/">en</a> |
+      <a href="../es/">es</a> |
+      <a href="../fi/">fi</a> |
+      <a href="../fr/">fr</a> |
+      <a href="../hu/">hu</a> |
+      <a href="../it/">it</a> |
+      <a href="../jp/">jp</a> |
+      <a href="../ms/">ms</a> |
+      <a href="../nl/">nl</a> |
+      <a href="../pl/">pl</a> |
+      <a href="../pt/">pt</a> |
+      <a href="../sh/">sh</a> |
+      <a href="../sr/">sr</a> |
+      <a href="../sv/">sv</a> |
+      <a href="../th/">th</a> |
+      <a href="../zh/">zh</a>
+    </span>
+    </td>
+  
+</tr>
+  
+<tr>
+  
+</tr>
+
+</table>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/ROOT/th/help.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/th/help.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/th/help.html	(revision 66)
@@ -0,0 +1,217 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><!--This page is automatically generated.  Do not edit!-->
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Nutch: คำแนะนำในการค้นหา</title>
+<style type="text/css">
+
+.menuTd {
+  background-color: #F9F7F4;
+  height: 25px;
+}
+
+.menuTdhover {
+  background-color: #ECE5DC;
+  height: 25px;
+}
+
+.menuEntry {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.body {
+  background-color: #F9F7F4;
+}
+
+.bodytext {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.title {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 26px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.intro {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.orangeTd {
+  background-color: #FF9900
+}
+
+ul {
+  list-style-image: url(../img/reiter/ul.gif)
+}
+
+h3 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 16px;
+  color: #000000;
+}
+
+h4 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 14px;
+  color: #000000;
+}
+
+.url {
+  color: #996600;
+}
+
+.highlight {
+  font-weight: bold;
+}
+
+.ellipsis {
+  font-weight: bold;
+}
+
+</style>
+<link rel="icon" href="../img/favicon.ico" type="image/x-icon">
+<link rel="shortcut icon" href="../img/favicon.ico" type="image/x-icon">
+<script type="text/javascript">
+<!--
+function queryfocus() {
+  search = document.search;
+  if (search != null) { search.query.focus(); }
+}
+// --></script>
+</head>
+<body onLoad="queryfocus();">
+<!--This file is automatically generated.  Do not edit!-->
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td valign="bottom" width="140" rowspan="2"><a href="./"><img src="../img/reiter/logo_nutch.gif" border="0"></a><img src="../img/reiter/spacer_666666.gif" width="140" height="1"></td>
+</tr>
+<tr>
+<td width="495" valign="bottom" align="right">
+<table border="0" cellpadding="0" cellspacing="0" width="495">
+<tr>
+<td background="../img/reiter/_bg_reiter.gif" width="400">&nbsp;</td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le1.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="about.html">เกี่ยวกับ</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="http://wiki.apache.org/nutch/FAQ">คำถามที่ถามบ่อย</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr valign="top">
+<td width="140">
+<table width="100%" cellpadding="0" cellspacing="0">
+<tr>
+<td>&#160;</td>
+</tr>
+</table>
+</td><td width="20" background="../img/reiter/_spacer_cccccc.gif">&#160;</td><td width="475" class="body">
+<table width="475" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td class="title" height="125" width="275" valign="bottom">คำแนะนำในการค้นหา</td><td height="125" width="200" valign="bottom"><img src="../img/reiter/robots.gif"></td>
+</tr>
+</table>
+<br class="br">
+<span class="bodytext">
+
+</span><span class="bodytext">
+<h3>คำที่จะค้นหา</h3>
+</span><span class="bodytext">
+เพียงพิมพ์คำไม่กี่คำ คุณก็สามารถใช้นัทช์ค้นหาได้
+</span><span class="bodytext">
+<ul>
+  
+<li>ผลลัพธ์ที่ได้คือหน้าที่มีคำที่ใช้ค้นหา
+	<span style="font-style: italic;">ทั้งหมด</span>
+</li>
+  
+<li>ใช้อัญประกาศรอบคำที่จะต้องอยู่ใกล้กันเป็นพยางค์
+เช่น <span style="font-weight: bold;">"New Zealand"</span>
+</li>
+  
+<li>เครื่องหมายต่างๆระหว่างคำก็จะนำไปสู่การค้นหาเป็นพยางค์ เช่นถ้าจะหา
+	<span style="font-weight: bold;">http://www.apache.org/</span>
+ก็เหมือนกับหา<span style="font-weight: bold;">"http www apache org"</span>.</li>
+  
+<li>อักษรตัวใหญ่ตัวเล็กไม่มีผลในการค้นหา เช่น<span style="font-weight: bold;">NuTcH</span> เหมือนกับหา<span style="font-weight: bold;">nUtCh</span>.</li>
+  
+<li>คุณสามารถห้ามไม่ให้ผลลัพธ์มีหน้าที่มีคำที่คุณไม่ต้องการ โดยการใส่เครื่องหมายลบหน้าคำนั้น เช่นหา
+<span style="font-weight: bold;">football
+-nfl</span>จะพบหน้าที่พูดถึงเรื่องฟุตบอล แต่ไม่มีคำว่า nfl</li>
+  
+<li>ก็เท่านั้นเอง!</li>
+
+</ul>
+</span><span class="bodytext">
+</span><span class="bodytext">
+<h3>ผลลัพธ์</h3>
+</span><span class="bodytext">
+หน้าที่พบแต่ละหน้าจะมีลิงค์ดังต่อไปนี้:
+</span><span class="bodytext">
+<ul>
+  
+<li>(<span style="color: rgb(51, 51, 255);">หน้าที่เก็บไว้</span>)แสดงหน้าที่นัทช์ได้นำมาเก็บไว้</li>
+  
+<li>(<span style="color: rgb(51, 51, 255);">คำอธิบาย</span>)แสดงคำอธิบายถึงการให้คะแนนของหน้านี้</li>
+  
+<li>(<span style="color: rgb(51, 51, 255);">แองเคอร์</span>)แสดงรายการของข้อความที่โยงมายังหน้านี้</li>
+
+</ul>
+</span><span class="bodytext">
+
+</span>
+<br class="br">
+<br class="br">
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+  
+<tr>
+    
+<td width="140">&nbsp;</td>
+    <td width="20">&nbsp;</td>
+    <td width="475" align="center">
+    <span class="bodytext">
+    
+<br>
+      
+<a href="../ca/">ca</a> |
+      <a href="../de/">de</a> |
+      <a href="../en/">en</a> |
+      <a href="../es/">es</a> |
+      <a href="../fi/">fi</a> |
+      <a href="../fr/">fr</a> |
+      <a href="../hu/">hu</a> |
+      <a href="../it/">it</a> |
+      <a href="../jp/">jp</a> |
+      <a href="../ms/">ms</a> |
+      <a href="../nl/">nl</a> |
+      <a href="../pl/">pl</a> |
+      <a href="../pt/">pt</a> |
+      <a href="../sh/">sh</a> |
+      <a href="../sr/">sr</a> |
+      <a href="../sv/">sv</a> |
+      <a href="../th/">th</a> |
+      <a href="../zh/">zh</a>
+    </span>
+    </td>
+  
+</tr>
+  
+<tr>
+  
+</tr>
+
+</table>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/ROOT/th/include/header.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/th/include/header.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/th/include/header.html	(revision 66)
@@ -0,0 +1,1 @@
+<?xml version="1.0" encoding="UTF-8"?><!--This file is automatically generated.  Do not edit!--><table cellspacing="0" cellpadding="0" border="0" width="635"><tr><td rowspan="2" width="140" valign="bottom"><a href="./"><img border="0" src="../img/reiter/logo_nutch.gif"/></a><img height="1" width="140" src="../img/reiter/spacer_666666.gif"/></td></tr><tr><td align="right" valign="bottom" width="495"><table width="495" cellspacing="0" cellpadding="0" border="0"><tr><td width="400" background="../img/reiter/_bg_reiter.gif">&#160;</td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le1.gif"/></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="about.html" class="bodytext">เกี่ยวกับ</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"/></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le.gif"/></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="http://wiki.apache.org/nutch/FAQ" class="bodytext">คำถามที่ถามบ่อย</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"/></td></tr></table></td></tr></table>
Index: /nutchez-0.1/tomcat/webapps/ROOT/th/search.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/th/search.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/th/search.html	(revision 66)
@@ -0,0 +1,182 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><!--This page is automatically generated.  Do not edit!-->
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Nutch: </title>
+<style type="text/css">
+
+.menuTd {
+  background-color: #F9F7F4;
+  height: 25px;
+}
+
+.menuTdhover {
+  background-color: #ECE5DC;
+  height: 25px;
+}
+
+.menuEntry {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.body {
+  background-color: #F9F7F4;
+}
+
+.bodytext {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.title {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 26px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.intro {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.orangeTd {
+  background-color: #FF9900
+}
+
+ul {
+  list-style-image: url(../img/reiter/ul.gif)
+}
+
+h3 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 16px;
+  color: #000000;
+}
+
+h4 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 14px;
+  color: #000000;
+}
+
+.url {
+  color: #996600;
+}
+
+.highlight {
+  font-weight: bold;
+}
+
+.ellipsis {
+  font-weight: bold;
+}
+
+</style>
+<link rel="icon" href="../img/favicon.ico" type="image/x-icon">
+<link rel="shortcut icon" href="../img/favicon.ico" type="image/x-icon">
+<script type="text/javascript">
+<!--
+function queryfocus() {
+  search = document.search;
+  if (search != null) { search.query.focus(); }
+}
+// --></script>
+</head>
+<body onLoad="queryfocus();">
+<!--This file is automatically generated.  Do not edit!-->
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td valign="bottom" width="140" rowspan="2"><a href="./"><img src="../img/reiter/logo_nutch.gif" border="0"></a><img src="../img/reiter/spacer_666666.gif" width="140" height="1"></td>
+</tr>
+<tr>
+<td width="495" valign="bottom" align="right">
+<table border="0" cellpadding="0" cellspacing="0" width="495">
+<tr>
+<td background="../img/reiter/_bg_reiter.gif" width="400">&nbsp;</td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le1.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="about.html">เกี่ยวกับ</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="http://wiki.apache.org/nutch/FAQ">คำถามที่ถามบ่อย</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr valign="top">
+<td width="140">
+<table width="100%" cellpadding="0" cellspacing="0">
+<tr>
+<td>&#160;</td>
+</tr>
+</table>
+</td><td width="20" background="../img/reiter/_spacer_cccccc.gif">&#160;</td><td width="475" class="body">
+<table width="475" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td class="title" height="125" width="275" valign="bottom"></td><td height="125" width="200" valign="bottom"><img src="../img/reiter/robots.gif"></td>
+</tr>
+</table>
+<br class="br">
+<span class="bodytext">
+</span><span class="bodytext">
+<center>
+
+<form name="search" action="../search.jsp" method="get"> 
+<input name="query" size="44">&nbsp;<input type="submit" value="ค้นหา">
+<a href="help.html">คำแนะนำการใช้</a>
+
+</form>
+
+</center>
+</span><span class="bodytext">
+</span>
+<br class="br">
+<br class="br">
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+  
+<tr>
+    
+<td width="140">&nbsp;</td>
+    <td width="20">&nbsp;</td>
+    <td width="475" align="center">
+    <span class="bodytext">
+    
+<br>
+      
+<a href="../ca/">ca</a> |
+      <a href="../de/">de</a> |
+      <a href="../en/">en</a> |
+      <a href="../es/">es</a> |
+      <a href="../fi/">fi</a> |
+      <a href="../fr/">fr</a> |
+      <a href="../hu/">hu</a> |
+      <a href="../it/">it</a> |
+      <a href="../jp/">jp</a> |
+      <a href="../ms/">ms</a> |
+      <a href="../nl/">nl</a> |
+      <a href="../pl/">pl</a> |
+      <a href="../pt/">pt</a> |
+      <a href="../sh/">sh</a> |
+      <a href="../sr/">sr</a> |
+      <a href="../sv/">sv</a> |
+      <a href="../th/">th</a> |
+      <a href="../zh/">zh</a>
+    </span>
+    </td>
+  
+</tr>
+  
+<tr>
+  
+</tr>
+
+</table>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/ROOT/zh/about.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/zh/about.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/zh/about.html	(revision 66)
@@ -0,0 +1,231 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><!--This page is automatically generated.  Do not edit!-->
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Nutch: 简介</title>
+<style type="text/css">
+
+.menuTd {
+  background-color: #F9F7F4;
+  height: 25px;
+}
+
+.menuTdhover {
+  background-color: #ECE5DC;
+  height: 25px;
+}
+
+.menuEntry {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.body {
+  background-color: #F9F7F4;
+}
+
+.bodytext {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.title {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 26px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.intro {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.orangeTd {
+  background-color: #FF9900
+}
+
+ul {
+  list-style-image: url(../img/reiter/ul.gif)
+}
+
+h3 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 16px;
+  color: #000000;
+}
+
+h4 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 14px;
+  color: #000000;
+}
+
+.url {
+  color: #996600;
+}
+
+.highlight {
+  font-weight: bold;
+}
+
+.ellipsis {
+  font-weight: bold;
+}
+
+</style>
+<link rel="icon" href="../img/favicon.ico" type="image/x-icon">
+<link rel="shortcut icon" href="../img/favicon.ico" type="image/x-icon">
+<script type="text/javascript">
+<!--
+function queryfocus() {
+  search = document.search;
+  if (search != null) { search.query.focus(); }
+}
+// --></script>
+</head>
+<body onLoad="queryfocus();">
+<!--This file is automatically generated.  Do not edit!-->
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td valign="bottom" width="140" rowspan="2"><a href="./"><img src="../img/reiter/logo_nutch.gif" border="0"></a><img src="../img/reiter/spacer_666666.gif" width="140" height="1"></td>
+</tr>
+<tr>
+<td width="495" valign="bottom" align="right">
+<table border="0" cellpadding="0" cellspacing="0" width="495">
+<tr>
+<td background="../img/reiter/_bg_reiter.gif" width="400">&nbsp;</td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le1.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="about.html">简介</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="http://wiki.apache.org/nutch/FAQ">常见问题</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr valign="top">
+<td width="140">
+<table width="100%" cellpadding="0" cellspacing="0">
+<tr class="menuTd" height="25">
+<td class="menuTd" onmouseover="this.className='menuTdhover';" onmouseout="this.className='menuTd'" width="100%">&#160;:: <a href="http://lucene.apache.org/nutch/credits.html" class="menuEntry">参与人员</a></td>
+</tr>
+<tr height="1px">
+<td><img src="../img/reiter/spacer_666666.gif" height="1" width="100%"></td>
+</tr>
+<tr class="menuTd" height="25">
+<td class="menuTd" onmouseover="this.className='menuTdhover';" onmouseout="this.className='menuTd'" width="100%">&#160;:: <a href="http://lucene.apache.org/nutch/index.html" class="menuEntry">当前状态</a></td>
+</tr>
+<tr height="1px">
+<td><img src="../img/reiter/spacer_666666.gif" height="1" width="100%"></td>
+</tr>
+<tr>
+<td>&#160;</td>
+</tr>
+</table>
+</td><td width="20" background="../img/reiter/_spacer_cccccc.gif">&#160;</td><td width="475" class="body">
+<table width="475" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td class="title" height="125" width="275" valign="bottom">简介</td><td height="125" width="200" valign="bottom"><img src="../img/reiter/robots.gif"></td>
+</tr>
+</table>
+<br class="br">
+<span class="bodytext">
+
+
+</span><span class="intro">
+<p>Nutch 是一个刚刚诞生开放源代码(open-source)的web搜索引擎.</p>
+</span><span class="bodytext">
+
+
+</span><span class="bodytext">
+<p> 尽管Web搜索是漫游Internet的基本要求, 但是现有web搜索引擎的数目却在下降.
+并且这很有可能进一步演变成为一个公司垄断了几乎所有的web搜索为其谋取商业利益.这显然
+不利于广大Internet用户.</p>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p> Nutch为我们提供了这样一个不同的选择. 相对于那些商用的搜索引擎, Nutch作为开放源代码
+搜索引擎将会更加透明, 从而更值得大家信赖. 现在所有主要的搜索引擎都采用私有的排序算法,
+而不会解释为什么一个网页会排在一个特定的位置. 除此之外, 有的搜索引擎依照网站所付的
+费用, 而不是根据它们本身的价值进行排序. 与它们不同, Nucth没有什么需要隐瞒, 也没有
+动机去扭曲搜索的结果. Nutch将尽自己最大的努力为用户提供最好的搜索结果.</p>
+</span><span class="bodytext">
+
+
+</span><span class="bodytext">
+<p>Nutch 致力于让每个人能很容易, 同时花费很少就可以配置世界一流的Web搜索引擎. 
+为了完成这一宏伟的目标, Nutch必须能够做到:</p>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<ul>
+  
+<li>每个月取几十亿网页</li>
+  
+<li>为这些网页维护一个索引</li>
+  
+<li>对索引文件进行每秒上千次的搜索</li>
+  
+<li>提供高质量的搜索结果</li>
+  
+<li>以最小的成本运作</li>
+
+</ul>
+</span><span class="bodytext">
+
+</span><span class="bodytext">
+<p> 这是一个巨大的挑战. 如果你相信它的价值, 请伸出你的援手. 你可以
+参与<a href="http://www.apache.org/dev/">开发</a>, 或是提供<a href="http://www.apache.org/foundation/contributing.html">捐赠</a>. </p>
+</span><span class="bodytext">
+  
+</span>
+<br class="br">
+<br class="br">
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+  
+<tr>
+    
+<td width="140">&nbsp;</td>
+    <td width="20">&nbsp;</td>
+    <td width="475" align="center">
+    <span class="bodytext">
+    
+<br>
+      
+<a href="../ca/">ca</a> |
+      <a href="../de/">de</a> |
+      <a href="../en/">en</a> |
+      <a href="../es/">es</a> |
+      <a href="../fi/">fi</a> |
+      <a href="../fr/">fr</a> |
+      <a href="../hu/">hu</a> |
+      <a href="../it/">it</a> |
+      <a href="../jp/">jp</a> |
+      <a href="../ms/">ms</a> |
+      <a href="../nl/">nl</a> |
+      <a href="../pl/">pl</a> |
+      <a href="../pt/">pt</a> |
+      <a href="../sh/">sh</a> |
+      <a href="../sr/">sr</a> |
+      <a href="../sv/">sv</a> |
+      <a href="../th/">th</a> |
+      <a href="../zh/">zh</a>
+    </span>
+    </td>
+  
+</tr>
+  
+<tr>
+  
+</tr>
+
+</table>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/ROOT/zh/help.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/zh/help.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/zh/help.html	(revision 66)
@@ -0,0 +1,211 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><!--This page is automatically generated.  Do not edit!-->
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Nutch: 搜索帮助</title>
+<style type="text/css">
+
+.menuTd {
+  background-color: #F9F7F4;
+  height: 25px;
+}
+
+.menuTdhover {
+  background-color: #ECE5DC;
+  height: 25px;
+}
+
+.menuEntry {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.body {
+  background-color: #F9F7F4;
+}
+
+.bodytext {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.title {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 26px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.intro {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.orangeTd {
+  background-color: #FF9900
+}
+
+ul {
+  list-style-image: url(../img/reiter/ul.gif)
+}
+
+h3 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 16px;
+  color: #000000;
+}
+
+h4 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 14px;
+  color: #000000;
+}
+
+.url {
+  color: #996600;
+}
+
+.highlight {
+  font-weight: bold;
+}
+
+.ellipsis {
+  font-weight: bold;
+}
+
+</style>
+<link rel="icon" href="../img/favicon.ico" type="image/x-icon">
+<link rel="shortcut icon" href="../img/favicon.ico" type="image/x-icon">
+<script type="text/javascript">
+<!--
+function queryfocus() {
+  search = document.search;
+  if (search != null) { search.query.focus(); }
+}
+// --></script>
+</head>
+<body onLoad="queryfocus();">
+<!--This file is automatically generated.  Do not edit!-->
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td valign="bottom" width="140" rowspan="2"><a href="./"><img src="../img/reiter/logo_nutch.gif" border="0"></a><img src="../img/reiter/spacer_666666.gif" width="140" height="1"></td>
+</tr>
+<tr>
+<td width="495" valign="bottom" align="right">
+<table border="0" cellpadding="0" cellspacing="0" width="495">
+<tr>
+<td background="../img/reiter/_bg_reiter.gif" width="400">&nbsp;</td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le1.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="about.html">简介</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="http://wiki.apache.org/nutch/FAQ">常见问题</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr valign="top">
+<td width="140">
+<table width="100%" cellpadding="0" cellspacing="0">
+<tr>
+<td>&#160;</td>
+</tr>
+</table>
+</td><td width="20" background="../img/reiter/_spacer_cccccc.gif">&#160;</td><td width="475" class="body">
+<table width="475" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td class="title" height="125" width="275" valign="bottom">搜索帮助</td><td height="125" width="200" valign="bottom"><img src="../img/reiter/robots.gif"></td>
+</tr>
+</table>
+<br class="br">
+<span class="bodytext">
+</span><span class="bodytext">
+<!--This page is translated by Shanfeng Zhu from Engiish to simplified Chinese!--></span><span class="bodytext">
+</span><span class="bodytext">
+<h3>查询</h3>
+</span><span class="bodytext">
+使用Nutch搜索, 只需键入一些关键词语.
+</span><span class="bodytext">
+<ul>
+  
+<li>搜索结果只包括含有 <span style="font-style: italic;">所有</span>查询词的网页.</li>
+  
+<li>使用双引号将相邻的词作为短语包含起来, 例如, <span style="font-weight: bold;">"New Zealand"</span>.</li>
+  
+<li>英文单词之间的符号会触发短语匹配. 因此搜索<span style="font-weight: bold;">http://www.apache.org/</span>
+等同于搜索<span style="font-weight: bold;">"http www apache org"</span>.</li>
+  
+<li>搜索英文单词不区分大小写, 因此搜索<span style="font-weight: bold;">NuTcH</span> 等同于搜索 <span style="font-weight: bold;">nUtCh</span>.</li>
+  
+<li>你可以在一个词前面加减号丛而禁止它出现在搜索结果中, 例如, 搜索<span style="font-weight: bold;">football
+-nfl</span> 会找到讨论football, 但不出现"nfl"的网页.</li>
+
+</ul>
+</span><span class="bodytext">
+</span><span class="bodytext">
+<h3>结果</h3>
+</span><span class="bodytext">
+在搜索结果中每个匹配的页面都含有如下链结:
+
+</span><span class="bodytext">
+<ul>
+  
+<li>(<span style="color: rgb(51, 51, 255);">网页快照</span>) 显示Nutch下载该网页时的内容.</li>
+  
+<li>(<span style="color: rgb(51, 51, 255);">评分详解</span>)显示Nutch如何给该网页打分.</li>
+  
+<li>(<span style="color: rgb(51, 51, 255);">anchors</span>)显示指向该网页而被Nutch索引的anchor文本.</li>
+
+</ul>
+</span><span class="bodytext">
+
+</span>
+<br class="br">
+<br class="br">
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+  
+<tr>
+    
+<td width="140">&nbsp;</td>
+    <td width="20">&nbsp;</td>
+    <td width="475" align="center">
+    <span class="bodytext">
+    
+<br>
+      
+<a href="../ca/">ca</a> |
+      <a href="../de/">de</a> |
+      <a href="../en/">en</a> |
+      <a href="../es/">es</a> |
+      <a href="../fi/">fi</a> |
+      <a href="../fr/">fr</a> |
+      <a href="../hu/">hu</a> |
+      <a href="../it/">it</a> |
+      <a href="../jp/">jp</a> |
+      <a href="../ms/">ms</a> |
+      <a href="../nl/">nl</a> |
+      <a href="../pl/">pl</a> |
+      <a href="../pt/">pt</a> |
+      <a href="../sh/">sh</a> |
+      <a href="../sr/">sr</a> |
+      <a href="../sv/">sv</a> |
+      <a href="../th/">th</a> |
+      <a href="../zh/">zh</a>
+    </span>
+    </td>
+  
+</tr>
+  
+<tr>
+  
+</tr>
+
+</table>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/ROOT/zh/include/header.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/zh/include/header.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/zh/include/header.html	(revision 66)
@@ -0,0 +1,1 @@
+<?xml version="1.0" encoding="UTF-8"?><!--This file is automatically generated.  Do not edit!--><table cellspacing="0" cellpadding="0" border="0" width="635"><tr><td rowspan="2" width="140" valign="bottom"><a href="./"><img border="0" src="../img/reiter/logo_nutch.gif"/></a><img height="1" width="140" src="../img/reiter/spacer_666666.gif"/></td></tr><tr><td align="right" valign="bottom" width="495"><table width="495" cellspacing="0" cellpadding="0" border="0"><tr><td width="400" background="../img/reiter/_bg_reiter.gif">&#160;</td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le1.gif"/></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="about.html" class="bodytext">简介</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"/></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_le.gif"/></td><td nowrap="nowrap" valign="bottom" background="../img/reiter/_bg_reiter_inactive.gif"><a href="http://wiki.apache.org/nutch/FAQ" class="bodytext">常见问题</a></td><td width="10" valign="bottom" height="28"><img border="0" src="../img/reiter/reiter_inactive_ri.gif"/></td></tr></table></td></tr></table>
Index: /nutchez-0.1/tomcat/webapps/ROOT/zh/search.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/ROOT/zh/search.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/ROOT/zh/search.html	(revision 66)
@@ -0,0 +1,184 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><!--This page is automatically generated.  Do not edit!-->
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Nutch: </title>
+<style type="text/css">
+
+.menuTd {
+  background-color: #F9F7F4;
+  height: 25px;
+}
+
+.menuTdhover {
+  background-color: #ECE5DC;
+  height: 25px;
+}
+
+.menuEntry {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.body {
+  background-color: #F9F7F4;
+}
+
+.bodytext {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #000000;
+  text-decoration: none;
+}
+
+.title {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 26px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.intro {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  color: #FF9900;
+  text-decoration: none;
+}
+
+.orangeTd {
+  background-color: #FF9900
+}
+
+ul {
+  list-style-image: url(../img/reiter/ul.gif)
+}
+
+h3 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 16px;
+  color: #000000;
+}
+
+h4 {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 14px;
+  color: #000000;
+}
+
+.url {
+  color: #996600;
+}
+
+.highlight {
+  font-weight: bold;
+}
+
+.ellipsis {
+  font-weight: bold;
+}
+
+</style>
+<link rel="icon" href="../img/favicon.ico" type="image/x-icon">
+<link rel="shortcut icon" href="../img/favicon.ico" type="image/x-icon">
+<script type="text/javascript">
+<!--
+function queryfocus() {
+  search = document.search;
+  if (search != null) { search.query.focus(); }
+}
+// --></script>
+</head>
+<body onLoad="queryfocus();">
+<!--This file is automatically generated.  Do not edit!-->
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td valign="bottom" width="140" rowspan="2"><a href="./"><img src="../img/reiter/logo_nutch.gif" border="0"></a><img src="../img/reiter/spacer_666666.gif" width="140" height="1"></td>
+</tr>
+<tr>
+<td width="495" valign="bottom" align="right">
+<table border="0" cellpadding="0" cellspacing="0" width="495">
+<tr>
+<td background="../img/reiter/_bg_reiter.gif" width="400">&nbsp;</td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le1.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="about.html">简介</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_le.gif" border="0"></td><td background="../img/reiter/_bg_reiter_inactive.gif" valign="bottom" nowrap="nowrap"><a class="bodytext" href="http://wiki.apache.org/nutch/FAQ">常见问题</a></td><td height="28" valign="bottom" width="10"><img src="../img/reiter/reiter_inactive_ri.gif" border="0"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+<tr valign="top">
+<td width="140">
+<table width="100%" cellpadding="0" cellspacing="0">
+<tr>
+<td>&#160;</td>
+</tr>
+</table>
+</td><td width="20" background="../img/reiter/_spacer_cccccc.gif">&#160;</td><td width="475" class="body">
+<table width="475" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td class="title" height="125" width="275" valign="bottom"></td><td height="125" width="200" valign="bottom"><img src="../img/reiter/robots.gif"></td>
+</tr>
+</table>
+<br class="br">
+<span class="bodytext">
+</span><span class="bodytext">
+<!--This page is translated by Shanfeng Zhu from Engiish to simplified Chinese!--></span><span class="bodytext">
+</span><span class="bodytext">
+<center>
+
+<form name="search" action="../search.jsp" method="get"> 
+<input name="query" size="44">&nbsp;<input type="submit" value="搜索">
+<a href="help.html">帮助</a>
+
+</form>
+
+</center>
+</span><span class="bodytext">
+</span>
+<br class="br">
+<br class="br">
+</td>
+</tr>
+</table>
+<table width="635" border="0" cellpadding="0" cellspacing="0">
+  
+<tr>
+    
+<td width="140">&nbsp;</td>
+    <td width="20">&nbsp;</td>
+    <td width="475" align="center">
+    <span class="bodytext">
+    
+<br>
+      
+<a href="../ca/">ca</a> |
+      <a href="../de/">de</a> |
+      <a href="../en/">en</a> |
+      <a href="../es/">es</a> |
+      <a href="../fi/">fi</a> |
+      <a href="../fr/">fr</a> |
+      <a href="../hu/">hu</a> |
+      <a href="../it/">it</a> |
+      <a href="../jp/">jp</a> |
+      <a href="../ms/">ms</a> |
+      <a href="../nl/">nl</a> |
+      <a href="../pl/">pl</a> |
+      <a href="../pt/">pt</a> |
+      <a href="../sh/">sh</a> |
+      <a href="../sr/">sr</a> |
+      <a href="../sv/">sv</a> |
+      <a href="../th/">th</a> |
+      <a href="../zh/">zh</a>
+    </span>
+    </td>
+  
+</tr>
+  
+<tr>
+  
+</tr>
+
+</table>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/docs/BUILDING.txt
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/BUILDING.txt	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/BUILDING.txt	(revision 66)
@@ -0,0 +1,138 @@
+================================================================================
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+================================================================================
+
+$Id: BUILDING.txt 562769 2007-08-04 22:08:32Z markt $
+
+            ====================================================
+            Building The Apache Tomcat 6.0 Servlet/JSP Container
+            ====================================================
+
+This subproject contains the source code for Tomcat 6.0, a container that
+implements the Servlet 2.5 and JSP 2.1 specifications from the Java
+Community Process <http://www.jcp.org/>.  In order to build a binary
+distribution version of the container from a source distribution, 
+do the following:
+
+
+(0) Download and Install a Java Development Kit
+
+* If the JDK is already installed, skip to (1).
+
+* Download a Java Development Kit (JDK) release (version 1.5.x or later) from:
+
+    http://java.sun.com/j2se/
+
+* Install the JDK according to the instructions included with the release.
+
+* Set an environment variable JAVA_HOME to the pathname of the directory
+  into which you installed the JDK release.
+
+
+(1) Install Apache Ant 1.6.x on your computer
+
+* If Apache Ant 1.6.x is already installed on your computer, skip to (2).
+
+* Download a binary distribution of Ant 1.6.x from:
+
+    http://ant.apache.org/bindownload.cgi
+
+* Unpack the binary distribution into a convenient location so that the
+  Ant release resides in its own directory (conventionally named
+  "apache-ant-[version]").  For the purposes of the remainder of this document,
+  the symbolic name "${ant.home}" is used to refer to the full pathname of
+  the release directory.
+
+* Create an ANT_HOME environment variable to point the directory
+  ${ant.home}.
+
+* Modify the PATH environment variable to include the directory
+  ${ant.home}/bin in its list.  This makes the "ant" command line script
+  available, which will be used to actually perform the build.
+
+
+(2) Building Tomcat 6.0
+
+(2.1) Checkout or obtain the source code for Tomcat 6.0
+
+* Tomcat SVN repository URL:
+  http://svn.apache.org/repos/asf/tomcat/tc6.0.x/
+
+* Download a source package from:
+  http://tomcat.apache.org/download-60.cgi
+
+* Checkout the source using SVN, selecting the desired version or
+  branch (current development source is at 
+  http://svn.apache.org/repos/asf/tomcat/tc6.0.x/trunk/), or 
+  unpack the source package. The location where the source has been
+  placed will be referred as ${tomcat.source}.
+
+(2.2) Building
+
+* Go to that directory, and do:
+
+    cd ${tomcat.source}
+    ant download
+    ant
+
+* NOTE: Users accessing the Internet through a proxy must use a properties
+  file to indicate to Ant the proxy configuration. Read below.
+
+* WARNING: Running this command will download binaries to the /usr/share/java 
+  directory. Make sure this is appropriate to do on your computer. On Windows, 
+  this usually corresponds to the "C:\usr\share\java" directory, unless Cygwin 
+  is used. Read below to customize the directory used to download the binaries.
+
+* The build can be controlled by creating a ${tomcat.source}/build.properties
+  file, and adding the following content to it:
+
+    # ----- Proxy setup -----
+    # Uncomment if using a proxy server
+    #proxy.host=proxy.domain
+    #proxy.port=8080
+    #proxy.use=on
+
+    # ----- Default Base Path for Dependent Packages -----
+    # Replace this path with the directory path where dependencies binaries
+    # should be downloaded
+    base.path=/usr/share/java
+
+
+(3) Updating sources
+
+It is recommended that you regularly update the downloaded Tomcat 6 sources
+using your SVN client.
+
+(4) Rebuilds
+
+For a quick rebuild of only modified code you can use:
+   
+    cd ${tomcat.source}
+    ant
+
+(5) Building the servlet and jsp API documentation
+
+The documentation can be easly built:
+
+    cd ${tomcat.source}
+    ant -f dist.xml dist-javadoc
+
+(6) Building a release running tests:
+
+    cd ${tomcat.source}
+    ant -f dist.xml release
+
+
Index: /nutchez-0.1/tomcat/webapps/docs/NOTICE
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/NOTICE	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/NOTICE	(revision 66)
@@ -0,0 +1,16 @@
+Apache Tomcat
+Copyright 1999-2007 The Apache Software Foundation
+
+This product includes software developed by
+The Apache Software Foundation (http://www.apache.org/).
+
+The Windows Installer is built with the Nullsoft
+Scriptable Install Sysem (NSIS), which is
+open source software.  The original software and
+related information is available at
+http://nsis.sourceforge.net.
+
+Java compilation software for JSP pages is provided by Eclipse, 
+which is open source software.  The orginal software and 
+related infomation is available at
+http://www.eclipse.org.
Index: /nutchez-0.1/tomcat/webapps/docs/RELEASE-NOTES.txt
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/RELEASE-NOTES.txt	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/RELEASE-NOTES.txt	(revision 66)
@@ -0,0 +1,191 @@
+================================================================================
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+================================================================================
+
+$Id: RELEASE-NOTES 612940 2008-01-17 19:22:26Z markt $
+
+
+                     Apache Tomcat Version 6.0.18
+                            Release Notes
+
+
+=============================
+KNOWN ISSUES IN THIS RELEASE:
+=============================
+
+* Dependency Changes
+* JNI Based Applications
+* Bundled APIs
+* Web application reloading and static fields in shared libraries
+* Tomcat on Linux
+* Enabling SSI and CGI Support
+* Security manager URLs
+* Symlinking static resources
+* Enabling invoker servlet
+* Viewing the Tomcat Change Log
+* When all else fails
+
+
+===================
+Dependency Changes:
+===================
+Tomcat 6.0 is designed to run on JSE 5.0 and later.
+
+In addition, Tomcat 6.0 uses the Eclipse JDT Java compiler for compiling
+JSP pages.  This means you no longer need to have the complete
+Java Development Kit (JDK) to run Tomcat, but a Java Runtime Environment
+(JRE) is sufficient.  The Eclipse JDT Java compiler is bundled with the 
+binary Tomcat distributions.  Tomcat can also be configured to use the
+compiler from the JDK to compile JSPs, or any other Java compiler supported 
+by Apache Ant.
+
+
+=======================
+JNI Based Applications:
+=======================
+Applications that require native libraries must ensure that the libraries have
+been loaded prior to use.  Typically, this is done with a call like:
+
+  static {
+    System.loadLibrary("path-to-library-file");
+  }
+
+in some class.  However, the application must also ensure that the library is
+not loaded more than once.  If the above code were placed in a class inside
+the web application (i.e. under /WEB-INF/classes or /WEB-INF/lib), and the
+application were reloaded, the loadLibrary() call would be attempted a second
+time.
+
+To avoid this problem, place classes that load native libraries outside of the
+web application, and ensure that the loadLibrary() call is executed only once
+during the lifetime of a particular JVM.
+
+
+=============
+Bundled APIs:
+=============
+A standard installation of Tomcat 6.0 makes all of the following APIs available
+for use by web applications (by placing them in "lib"):
+* annotations-api.jar (Annotations package)
+* catalina.jar (Tomcat Catalina implementation)
+* catalina-ant.jar (Tomcat Catalina Ant tasks)
+* catalina-ha.jar (High availability package)
+* catalina-tribes.jar (Group communication)
+* el-api.jar (EL 2.1 API)
+* jasper.jar (Jasper 2 Compiler and Runtime)
+* jasper-el.jar (Jasper 2 EL implementation)
+* jasper-jdt.jar (Eclipse JDT 3.3 Java compiler)
+* jsp-api.jar (JSP 2.1 API)
+* servlet-api.jar (Servlet 2.5 API)
+* tomcat-coyote.jar (Tomcat connectors and utility classes)
+* tomcat-dbcp.jar (package renamed database connection pool based on Commons DBCP)
+
+You can make additional APIs available to all of your web applications by
+putting unpacked classes into a "classes" directory (not created by default),
+or by placing them in JAR files in the "lib" directory.
+
+To override the XML parser implementation or interfaces, use the endorsed
+mechanism of the JVM. The default configuration defines JARs located in 
+"endorsed" as endorsed.
+
+
+================================================================
+Web application reloading and static fields in shared libraries:
+================================================================
+Some shared libraries (many are part of the JDK) keep references to objects
+instantiated by the web application. To avoid class loading related problems
+(ClassCastExceptions, messages indicating that the classloader
+is stopped, etc.), the shared libraries state should be reinitialized.
+
+Something which might help is to avoid putting classes which would be
+referenced by a shared static field in the web application classloader,
+and putting them in the shared classloader instead (JARs should be put in the
+"lib" folder, and classes should be put in the "classes" folder).
+
+
+================
+Tomcat on Linux:
+================
+GLIBC 2.2 / Linux 2.4 users should define an environment variable:
+export LD_ASSUME_KERNEL=2.2.5
+
+Redhat Linux 9.0 users should use the following setting to avoid
+stability problems:
+export LD_ASSUME_KERNEL=2.4.1
+
+There are some Linux bugs reported against the NIO sendfile behavior, make sure you
+have a JDK that is up to date, or disable sendfile behavior in the Connector.<br/>
+6427312: (fc) FileChannel.transferTo() throws IOException "system call interrupted"<br/>
+5103988: (fc) FileChannel.transferTo should return -1 for EAGAIN instead throws IOException<br/>
+6253145: (fc) FileChannel.transferTo on Linux fails when going beyond 2GB boundary<br/>
+6470086: (fc) FileChannel.transferTo(2147483647, 1, channel) cause "Value too large" exception<br/>
+
+
+=============================
+Enabling SSI and CGI Support:
+=============================
+Because of the security risks associated with CGI and SSI available
+to web applications, these features are disabled by default.  
+
+To enable and configure CGI support, please see the cgi-howto.html page.
+
+To enable and configue SSI support, please see the ssi-howto.html page.
+
+
+======================
+Security manager URLs:
+======================
+In order to grant security permissions to JARs located inside the
+web application repository, use URLs of of the following format
+in your policy file:
+
+file:${catalina.home}/webapps/examples/WEB-INF/lib/driver.jar
+
+
+============================
+Symlinking static resources:
+============================
+By default, Unix symlinks will not work when used in a web application to link
+resources located outside the web application root directory.
+
+This behavior is optional, and the "allowLinking" flag may be used to disable
+the check.
+
+
+=========================
+Enabling invoker servlet:
+=========================
+Starting with Tomcat 4.1.12, the invoker servlet is no longer available by
+default in all webapps. Enabling it for all webapps is possible by editing
+$CATALINA_HOME/conf/web.xml to uncomment the "/servlet/*" servlet-mapping
+definition.
+
+Using the invoker servlet in a production environment is not recommended and
+is unsupported.  More details are available on the Tomcat FAQ at
+http://tomcat.apache.org/faq/misc.html#invoker.
+
+
+==============================
+Viewing the Tomcat Change Log:
+==============================
+See changelog.html in this directory.
+
+
+====================
+When all else fails:
+====================
+See the FAQ
+http://tomcat.apache.org/faq/
Index: /nutchez-0.1/tomcat/webapps/docs/RUNNING.txt
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/RUNNING.txt	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/RUNNING.txt	(revision 66)
@@ -0,0 +1,163 @@
+================================================================================
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+================================================================================
+
+$Id: RUNNING.txt 354430 2005-12-06 13:44:26Z yoavs $
+
+            ===================================================
+            Running The Apache Tomcat 6.0 Servlet/JSP Container
+            ===================================================
+
+Apache Tomcat 6.0 requires the Java 2 Standard Edition Runtime
+Environment (JRE) version 5.0 or later.
+
+=============================
+Running With JRE 5.0 Or Later
+=============================
+
+(1) Download and Install the J2SE Runtime Environment (JRE)
+
+(1.1) Download the Java 2 Standard Edition Runtime Environment (JRE),
+      release version 5.0 or later, from http://java.sun.com/j2se.
+
+(1.2) Install the JRE according to the instructions included with the
+      release.
+(1.3) Set an environment variable named JRE_HOME to the pathname of
+      the directory into which you installed the JRE, e.g. c:\jre5.0
+      or /usr/local/java/jre5.0.
+
+NOTE: You may also use the full JDK rather than just the JRE. In this
+      case set your JAVA_HOME environment variable to the pathname of
+      the directory into which you installed the JDK, e.g. c:\j2sdk5.0
+      or /usr/local/java/j2sdk5.0.
+
+
+(2) Download and Install the Tomcat Binary Distribution
+
+NOTE:  As an alternative to downloading a binary distribution, you can create
+your own from the Tomcat source repository, as described in "BUILDING.txt".
+If you do this, the value to use for "${catalina.home}" will be the "dist"
+subdirectory of your source distribution.
+
+(2.1) Download a binary distribution of Tomcat from:
+
+      http://tomcat.apache.org
+
+(2.2) Unpack the binary distribution into a convenient location so that the
+      distribution resides in its own directory (conventionally named
+      "apache-tomcat-[version]").  For the purposes of the remainder of this document,
+      the symbolic name "$CATALINA_HOME" is used to refer to the full
+      pathname of the release directory.
+
+
+(3) Start Up Tomcat
+
+(3.1) Tomcat can be started by executing the following commands:
+
+      $CATALINA_HOME\bin\startup.bat          (Windows)
+
+      $CATALINA_HOME/bin/startup.sh           (Unix)
+
+(3.2) After startup, the default web applications included with Tomcat will be
+      available by visiting:
+
+      http://localhost:8080/
+
+(3.3) Further information about configuring and running Tomcat can be found in
+      the documentation included here, as well as on the Tomcat web site:
+
+      http://tomcat.apache.org
+
+
+(4) Shut Down Tomcat
+
+(4.1) Tomcat can be shut down by executing the following command:
+
+      $CATALINA_HOME\bin\shutdown            (Windows)
+
+      $CATALINA_HOME/bin/shutdown.sh         (Unix)
+
+
+==================================================
+Advanced Configuration - Multiple Tomcat Instances
+==================================================
+
+In many circumstances, it is desirable to have a single copy of a Tomcat
+binary distribution shared among multiple users on the same server.  To make
+this possible, you can pass a "-Dcatalina.base=$CATALINA_BASE" argument when
+executing the startup command (see (2)). In this
+"-Dcatalina.base=$CATALINA_BASE" argument, replace $CATALINA_BASE with the
+directory that contains the files for your 'personal' Tomcat instance.
+
+When you use this "-Dcatalina.base=$CATALINA_BASE" argument, Tomcat will
+calculate all relative references for files in the following directories based
+on the value of $CATALINA_BASE instead of $CATALINA_HOME:
+
+* bin  - Only setenv.sh (*nix) and setenv.bat (windows)
+
+* conf - Server configuration files (including server.xml)
+
+* logs - Log and output files
+
+* webapps - Automatically loaded web applications
+
+* work - Temporary working directories for web applications
+
+* temp - Directory used by the JVM for temporary files (java.io.tmpdir)
+
+If you do not pass the "-Dcatalina.base=$CATALINA_BASE" argument to the
+startup command, $CATALINA_BASE will default to the same value as $CATALINA_HOME,
+ which means that the same directory is used for all relative path resolutions.
+
+
+================
+Troubleshooting
+================
+
+There are only really 3 things likely to go wrong during the stand-alone
+Tomcat install:
+
+(1) The most common hiccup is when another web server (or any process for that
+    matter) has laid claim to port 8080.  This is the default HTTP port that
+    Tomcat attempts to bind to at startup.  To change this, open the file:
+
+       $CATALINA_HOME/conf/server.xml
+
+    and search for '8080'.  Change it to a port that isn't in use, and is
+    greater than 1024, as ports less than or equal to 1024 require superuser
+    access to bind under UNIX.
+
+   Restart Tomcat and you're in business.  Be sure that you replace the "8080"
+   in the URL you're using to access Tomcat.  For example, if you change the
+   port to 1977, you would request the URL http://localhost:1977/ in your browser.
+
+(2) An "out of environment space" error when running the batch files in
+    Windows 95, 98, or ME operating systems.
+
+    Right-click on the STARTUP.BAT and SHUTDOWN.BAT files.  Click on
+    "Properties", then on the "Memory" tab.  For the "Initial environment" field,
+    enter in something like 4096.
+
+    After you click apply, Windows will create shortcuts which you can use
+    to start and stop the container.
+
+(3) The 'localhost' machine isn't found.  This could happen if you're behind a
+    proxy.  If that's the case, make sure the proxy configuration for your
+    browser knows that you shouldn't be going through the proxy to access the
+    "localhost".
+
+    In Netscape, this is under Edit/Preferences -> Advanced/Proxies, and in
+    Internet Explorer, Tools -> Internet Options -> Connections -> LAN Settings.
Index: /nutchez-0.1/tomcat/webapps/docs/WEB-INF/web.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/WEB-INF/web.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/WEB-INF/web.xml	(revision 66)
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<web-app xmlns="http://java.sun.com/xml/ns/javaee"
+   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+   xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
+   version="2.5"> 
+
+  <display-name>Tomcat Documentation</display-name>
+  <description>
+     Tomcat Documentation.
+  </description>
+</web-app>
Index: /nutchez-0.1/tomcat/webapps/docs/aio.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/aio.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/aio.html	(revision 66)
@@ -0,0 +1,315 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - Advanced IO and Tomcat</title><meta value="Remy Maucherat" name="author"><meta value="" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://wiki.apache.org/tomcat/FAQ">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR/Native</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li><li><a href="aio.html">25) Advanced IO</a></li><li><a href="extras.html">26) Additional Components</a></li><li><a href="maven-jars.html">27) Mavenized</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Configuration</a></li><li><a href="api/index.html">Javadocs</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="http://wiki.apache.org/tomcat/TomcatVersions">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="architecture/index.html">Architecture</a></li><li><a href="funcspecs/index.html">Functional Specs.</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>Advanced IO and Tomcat</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/aio.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>
+    With usage of APR or NIO APIs as the basis of its connectors, Tomcat is 
+    able to provide a number of extensions over the regular blocking IO 
+    as provided with support for the Servlet API.
+  </p>
+
+  <p>
+    <b>IMPORTANT NOTE: Usage of these features requires using the APR or NIO
+    HTTP connectors. The classic java.io HTTP connector and the AJP connectors
+    do not support them.</b>
+  </p>
+
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Comet support"><strong>Comet support</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>
+    Comet support allows a servlet to process IO aynchronously, recieving
+    events when data is available for reading on the connection (rather than
+    always using a blocking read), and writing data back on connections
+    asychnonously (most likely responding to some event raised from some
+    other source).
+  </p>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="CometEvent"><strong>CometEvent</strong></a></font></td></tr><tr><td><blockquote>
+  
+  <p>
+    Servlets which implement the <code>org.apache.catalina.CometProcessor</code>
+    interface will have their event method invoked rather than the usual service
+    method, according to the event which occurred. The event object gives
+    access to the usual request and response objects, which may be used in the
+    usual way. The main difference is that those objects remain valid and fully
+    functional at any time between processing of the BEGIN event until processing
+    an END or ERROR event.
+    The following event types exist:
+  </p>
+  
+  <ul>
+  <li>EventType.BEGIN: will be called at the beginning 
+     of the processing of the connection. It can be used to initialize any relevant 
+     fields using the request and response objects. Between the end of the processing 
+     of this event, and the beginning of the processing of the end or error events,
+     it is possible to use the response object to write data on the open connection.
+     Note that the response object and depedent OutputStream and Writer are still 
+     not synchronized, so when they are accessed by multiple threads, 
+     synchronization is mandatory. After processing the initial event, the request 
+     is considered to be committed.</li>
+  <li>EventType.READ: This indicates that input data is available, and that one read can be made
+       without blocking. The available and ready methods of the InputStream or
+       Reader may be used to determine if there is a risk of blocking: the servlet
+       should read while data is reported available, and can make one additional read
+       should read while data is reported available. When encountering a read error, 
+       the servlet should report it by propagating the exception properly. Throwing 
+       an exception will cause the error event to be invoked, and the connection 
+       will be closed. 
+       Alternately, it is also possible to catch any exception, perform clean up
+       on any data structure the servlet may be using, and using the close method
+       of the event. It is not allowed to attempt reading data from the request 
+       object outside of the execution of this method.<br>
+       On some platforms, like Windows, a client disconnect is indicated by a READ event.
+       Reading from the stream may result in -1, an IOException or an EOFException.
+       Make sure you properly handle all these three cases.
+       If you don't catch the IOException, Tomcat will instantly invoke your event chain with an ERROR as 
+       it catches the error for you, and you will be notified of the error at that time.
+  </li>
+  <li>EventType.END: End may be called to end the processing of the request. Fields that have
+     been initialized in the begin method should be reset. After this event has
+     been processed, the request and response objects, as well as all their dependent
+     objects will be recycled and used to process other requests. End will also be 
+     called when data is available and the end of file is reached on the request input
+     (this usually indicates the client has pipelined a request).</li>
+  <li>EventType.ERROR: Error will be called by the container in the case where an IO exception
+     or a similar unrecoverable error occurs on the connection. Fields that have
+     been initialized in the begin method should be reset. After this event has
+     been processed, the request and response objects, as well as all their dependent
+     objects will be recycled and used to process other requests.</li>
+  </ul>
+
+  <p>
+    There are some event subtypes which allow finer processing of events (note: some of these
+    events require usage of the org.apache.catalina.valves.CometConnectionManagerValve valve):
+  </p>
+
+  <ul>
+  <li>EventSubType.TIMEOUT: The connection timed out (sub type of ERROR); note that this ERROR 
+    type is not fatal, and the connection will not be closed unless the servlet uses the close 
+    method of the event.
+  </li>
+  <li>EventSubType.CLIENT_DISCONNECT: The client connection was closed (sub type of ERROR).
+    method of the event.
+  </li>
+  <li>EventSubType.IOEXCEPTION: An IO exception occurred, such as invalid content, for example, 
+    an invalid chunk block (sub type of ERROR).
+  </li>
+  <li>EventSubType.WEBAPP_RELOAD: The web application is being reloaded (sub type of END).
+  </li>
+  <li>EventSubType.SESSION_END: The servlet ended the session (sub type of END).
+  </li>
+  </ul>
+
+  <p>
+    As described above, the typical lifecycle of a Comet request will consist in a series of
+    events such as: BEGIN -&gt; READ -&gt; READ -&gt; READ -&gt; ERROR/TIMEOUT. At any time, the servlet 
+    may end processing of the request by using the close method of the event object.
+  </p>
+  
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="CometFilter"><strong>CometFilter</strong></a></font></td></tr><tr><td><blockquote>
+  
+  <p>
+    Similar to regular filters, a filter chain is invoked when comet events are processed.
+    These filters should implement the CometFilter interface (which works in the same way as 
+    the regular Filter interface), and should be declared and mapped in the deployment
+    descriptor in the same way as a regular filter. The filter chain when processing an event
+    will only include filters which match all the usual mapping rules, and also implement
+    the CometFiler interface.
+  </p>
+  
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Example code"><strong>Example code</strong></a></font></td></tr><tr><td><blockquote>
+  
+  <p>
+    The following pseudo code servlet implments asynchronous chat functionality using the API
+    described above:
+  </p>
+  
+  <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+public class ChatServlet
+    extends HttpServlet implements CometProcessor {
+
+    protected ArrayList&lt;HttpServletResponse&gt; connections = 
+        new ArrayList&lt;HttpServletResponse&gt;();
+    protected MessageSender messageSender = null;
+    
+    public void init() throws ServletException {
+        messageSender = new MessageSender();
+        Thread messageSenderThread = 
+            new Thread(messageSender, "MessageSender[" + getServletContext().getContextPath() + "]");
+        messageSenderThread.setDaemon(true);
+        messageSenderThread.start();
+    }
+
+    public void destroy() {
+        connections.clear();
+        messageSender.stop();
+        messageSender = null;
+    }
+
+    /**
+     * Process the given Comet event.
+     * 
+     * @param event The Comet event that will be processed
+     * @throws IOException
+     * @throws ServletException
+     */
+    public void event(CometEvent event)
+        throws IOException, ServletException {
+        HttpServletRequest request = event.getHttpServletRequest();
+        HttpServletResponse response = event.getHttpServletResponse();
+        if (event.getEventType() == CometEvent.EventType.BEGIN) {
+            log("Begin for session: " + request.getSession(true).getId());
+            PrintWriter writer = response.getWriter();
+            writer.println("&lt;!doctype html public \"-//w3c//dtd html 4.0 transitional//en\"&gt;");
+            writer.println("&lt;head&gt;&lt;title&gt;JSP Chat&lt;/title&gt;&lt;/head&gt;&lt;body bgcolor=\"#FFFFFF\"&gt;");
+            writer.flush();
+            synchronized(connections) {
+                connections.add(response);
+            }
+        } else if (event.getEventType() == CometEvent.EventType.ERROR) {
+            log("Error for session: " + request.getSession(true).getId());
+            synchronized(connections) {
+                connections.remove(response);
+            }
+            event.close();
+        } else if (event.getEventType() == CometEvent.EventType.END) {
+            log("End for session: " + request.getSession(true).getId());
+            synchronized(connections) {
+                connections.remove(response);
+            }
+            PrintWriter writer = response.getWriter();
+            writer.println("&lt;/body&gt;&lt;/html&gt;");
+            event.close();
+        } else if (event.getEventType() == CometEvent.EventType.READ) {
+            InputStream is = request.getInputStream();
+            byte[] buf = new byte[512];
+            do {
+                int n = is.read(buf); //can throw an IOException
+                if (n &gt; 0) {
+                    log("Read " + n + " bytes: " + new String(buf, 0, n) 
+                            + " for session: " + request.getSession(true).getId());
+                } else if (n &lt; 0) {
+                    error(event, request, response);
+                    return;
+                }
+            } while (is.available() &gt; 0);
+        }
+    }
+
+    public class MessageSender implements Runnable {
+
+        protected boolean running = true;
+        protected ArrayList&lt;String&gt; messages = new ArrayList&lt;String&gt;();
+        
+        public MessageSender() {
+        }
+        
+        public void stop() {
+            running = false;
+        }
+
+        /**
+         * Add message for sending.
+         */
+        public void send(String user, String message) {
+            synchronized (messages) {
+                messages.add("[" + user + "]: " + message);
+                messages.notify();
+            }
+        }
+
+        public void run() {
+
+            while (running) {
+
+                if (messages.size() == 0) {
+                    try {
+                        synchronized (messages) {
+                            messages.wait();
+                        }
+                    } catch (InterruptedException e) {
+                        // Ignore
+                    }
+                }
+
+                synchronized (connections) {
+                    String[] pendingMessages = null;
+                    synchronized (messages) {
+                        pendingMessages = messages.toArray(new String[0]);
+                        messages.clear();
+                    }
+                    // Send any pending message on all the open connections
+                    for (int i = 0; i &lt; connections.size(); i++) {
+                        try {
+                            PrintWriter writer = connections.get(i).getWriter();
+                            for (int j = 0; j &lt; pendingMessages.length; j++) {
+                                writer.println(pendingMessages[j] + "&lt;br&gt;");
+                            }
+                            writer.flush();
+                        } catch (IOException e) {
+                            log("IOExeption sending message", e);
+                        }
+                    }
+                }
+
+            }
+
+        }
+
+    }
+
+}
+  </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+  
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Comet timeouts"><strong>Comet timeouts</strong></a></font></td></tr><tr><td><blockquote>
+    <p>If you are using the NIO connector, you can set individual timeouts for your different comet connections.
+       To set a timeout, simple set a request attribute like the following code shows:
+       <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>CometEvent event.... event.setTimeout(30*1000);</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div> or
+       <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>event.getHttpServletRequest().setAttribute("org.apache.tomcat.comet.timeout", new Integer(30 * 1000));</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+       This sets the timeout to 30 seconds.
+       Important note, in order to set this timeout, it has to be done on the <code>BEGIN</code> event.
+       The default value is <code>soTimeout</code>
+    </p>
+    <p>If you are using the APR connector, all Comet connections will have the same timeout value. It is <code>soTimeout*50</code>
+    </p>
+  </blockquote></td></tr></table>
+
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Asynchronous writes"><strong>Asynchronous writes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>
+    When APR or NIO is enabled, Tomcat supports using sendfile to send large static files.
+    These writes, as soon as the system load increases, will be performed 
+    asynchronously in the most efficient way. Instead of sending a large response using
+    blocking writes, it is possible to write content to a static file, and write it
+    using a sendfile code. A caching valve could take advantage of this to cache the
+    response data in a file rather than store it in memory. Sendfile support is
+    available if the request attribute <code>org.apache.tomcat.sendfile.support</code>
+    is set to <code>Boolean.TRUE</code>.
+  </p>
+  
+  <p>
+    Any servlet can instruct Tomcat to perform a sendfile call by setting the appropriate
+    request attributes. It is also necessary to correctly set the content length
+    for the response. When using sendfile, it is best to ensure that neither the
+    request or response have been wrapped, since as the response body will be sent later
+    by the connector itself, it cannot be filtered. Other than setting the 3 needed 
+    request attributes, the servlet should not send any response data, but it may use
+    any method which will result in modifying the response header (like setting cookies).
+  </p>
+  
+  <ul>
+  <li>org.apache.tomcat.sendfile.filename: Canonical filename of the file which will be sent as
+      a String</li>
+  <li>org.apache.tomcat.sendfile.start: Start offset as a Long</li>
+  <li>org.apache.tomcat.sendfile.end: End offset as a Long</li>
+  </ul>
+
+  </blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/api/index.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/api/index.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/api/index.html	(revision 66)
@@ -0,0 +1,33 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html>
+    <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+    <title>API docs</title>
+</head>
+
+<body>
+
+Tomcat's internal javadoc is no longer installed by default. Download and install 
+the "fulldocs" package to get it.
+
+You can also access the javadoc online in the Tomcat 
+<a href="http://tomcat.apache.org/tomcat-6.0-doc/">documentation bundle</a>.
+
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/docs/appdev/build.xml.txt
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/appdev/build.xml.txt	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/appdev/build.xml.txt	(revision 66)
@@ -0,0 +1,514 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!--
+     General purpose build script for web applications and web services,
+     including enhanced support for deploying directly to a Tomcat 6
+     based server.
+
+     This build script assumes that the source code of your web application
+     is organized into the following subdirectories underneath the source
+     code directory from which you execute the build script:
+
+        docs                 Static documentation files to be copied to
+                             the "docs" subdirectory of your distribution.
+
+        src                  Java source code (and associated resource files)
+                             to be compiled to the "WEB-INF/classes"
+                             subdirectory of your web applicaiton.
+
+        web                  Static HTML, JSP, and other content (such as
+                             image files), including the WEB-INF subdirectory
+                             and its configuration file contents.
+
+     $Id: build.xml.txt 562814 2007-08-05 03:52:04Z markt $
+-->
+
+
+<!-- A "project" describes a set of targets that may be requested
+     when Ant is executed.  The "default" attribute defines the
+     target which is executed if no specific target is requested,
+     and the "basedir" attribute defines the current working directory
+     from which Ant executes the requested task.  This is normally
+     set to the current working directory.
+-->
+
+<project name="My Project" default="compile" basedir=".">
+
+
+
+<!-- ===================== Property Definitions =========================== -->
+
+
+<!--
+
+  Each of the following properties are used in the build script.
+  Values for these properties are set by the first place they are
+  defined, from the following list:
+
+  * Definitions on the "ant" command line (ant -Dfoo=bar compile).
+
+  * Definitions from a "build.properties" file in the top level
+    source directory of this application.
+
+  * Definitions from a "build.properties" file in the developer's
+    home directory.
+
+  * Default definitions in this build.xml file.
+
+  You will note below that property values can be composed based on the
+  contents of previously defined properties.  This is a powerful technique
+  that helps you minimize the number of changes required when your development
+  environment is modified.  Note that property composition is allowed within
+  "build.properties" files as well as in the "build.xml" script.
+
+-->
+
+  <property file="build.properties"/>
+  <property file="${user.home}/build.properties"/>
+
+
+<!-- ==================== File and Directory Names ======================== -->
+
+
+<!--
+
+  These properties generally define file and directory names (or paths) that
+  affect where the build process stores its outputs.
+
+  app.name             Base name of this application, used to
+                       construct filenames and directories.
+                       Defaults to "myapp".
+
+  app.path             Context path to which this application should be
+                       deployed (defaults to "/" plus the value of the
+                       "app.name" property).
+
+  app.version          Version number of this iteration of the application.
+
+  build.home           The directory into which the "prepare" and
+                       "compile" targets will generate their output.
+                       Defaults to "build".
+
+  catalina.home        The directory in which you have installed
+                       a binary distribution of Tomcat 6.  This will
+                       be used by the "deploy" target.
+
+  dist.home            The name of the base directory in which
+                       distribution files are created.
+                       Defaults to "dist".
+
+  manager.password     The login password of a user that is assigned the
+                       "manager" role (so that he or she can execute
+                       commands via the "/manager" web application)
+
+  manager.url          The URL of the "/manager" web application on the
+                       Tomcat installation to which we will deploy web
+                       applications and web services.
+
+  manager.username     The login username of a user that is assigned the
+                       "manager" role (so that he or she can execute
+                       commands via the "/manager" web application)
+
+-->
+
+  <property name="app.name"      value="myapp"/>
+  <property name="app.path"      value="/${app.name}"/>
+  <property name="app.version"   value="0.1-dev"/>
+  <property name="build.home"    value="${basedir}/build"/>
+  <property name="catalina.home" value="../../../.."/> <!-- UPDATE THIS! -->
+  <property name="dist.home"     value="${basedir}/dist"/>
+  <property name="docs.home"     value="${basedir}/docs"/>
+  <property name="manager.url"   value="http://localhost:8080/manager"/>
+  <property name="src.home"      value="${basedir}/src"/>
+  <property name="web.home"      value="${basedir}/web"/>
+
+
+<!-- ==================== External Dependencies =========================== -->
+
+
+<!--
+
+  Use property values to define the locations of external JAR files on which
+  your application will depend.  In general, these values will be used for
+  two purposes:
+  * Inclusion on the classpath that is passed to the Javac compiler
+  * Being copied into the "/WEB-INF/lib" directory during execution
+    of the "deploy" target.
+
+  Because we will automatically include all of the Java classes that Tomcat 6
+  exposes to web applications, we will not need to explicitly list any of those
+  dependencies.  You only need to worry about external dependencies for JAR
+  files that you are going to include inside your "/WEB-INF/lib" directory.
+
+-->
+
+<!-- Dummy external dependency -->
+<!--
+  <property name="foo.jar"
+           value="/path/to/foo.jar"/>
+-->
+
+
+<!-- ==================== Compilation Classpath =========================== -->
+
+<!--
+
+  Rather than relying on the CLASSPATH environment variable, Ant includes
+  features that makes it easy to dynamically construct the classpath you
+  need for each compilation.  The example below constructs the compile
+  classpath to include the servlet.jar file, as well as the other components
+  that Tomcat makes available to web applications automatically, plus anything
+  that you explicitly added.
+
+-->
+
+  <path id="compile.classpath">
+
+    <!-- Include all JAR files that will be included in /WEB-INF/lib -->
+    <!-- *** CUSTOMIZE HERE AS REQUIRED BY YOUR APPLICATION *** -->
+<!--
+    <pathelement location="${foo.jar}"/>
+-->
+
+    <!-- Include all elements that Tomcat exposes to applications -->
+    <fileset dir="${catalina.home}/bin">
+      <include name="*.jar"/>
+    </fileset>
+    <pathelement location="${catalina.home}/lib"/>
+    <fileset dir="${catalina.home}/lib">
+      <include name="*.jar"/>
+    </fileset>
+
+  </path>
+
+
+
+<!-- ================== Custom Ant Task Definitions ======================= -->
+
+
+<!--
+
+  These properties define custom tasks for the Ant build tool that interact
+  with the "/manager" web application installed with Tomcat 6.  Before they
+  can be successfully utilized, you must perform the following steps:
+
+  - Copy the file "lib/catalina-ant.jar" from your Tomcat 6
+    installation into the "lib" directory of your Ant installation.
+
+  - Create a "build.properties" file in your application's top-level
+    source directory (or your user login home directory) that defines
+    appropriate values for the "manager.password", "manager.url", and
+    "manager.username" properties described above.
+
+  For more information about the Manager web application, and the functionality
+  of these tasks, see <http://localhost:8080/tomcat-docs/manager-howto.html>.
+
+-->
+
+  <taskdef resource="org/apache/catalina/ant/catalina.tasks"
+           classpathref="compile.classpath"/>
+
+
+<!--  ==================== Compilation Control Options ==================== -->
+
+<!--
+
+  These properties control option settings on the Javac compiler when it
+  is invoked using the <javac> task.
+
+  compile.debug        Should compilation include the debug option?
+
+  compile.deprecation  Should compilation include the deprecation option?
+
+  compile.optimize     Should compilation include the optimize option?
+
+-->
+
+  <property name="compile.debug"       value="true"/>
+  <property name="compile.deprecation" value="false"/>
+  <property name="compile.optimize"    value="true"/>
+
+
+
+<!-- ==================== All Target ====================================== -->
+
+<!--
+
+  The "all" target is a shortcut for running the "clean" target followed
+  by the "compile" target, to force a complete recompile.
+
+-->
+
+  <target name="all" depends="clean,compile"
+   description="Clean build and dist directories, then compile"/>
+
+
+
+<!-- ==================== Clean Target ==================================== -->
+
+<!--
+
+  The "clean" target deletes any previous "build" and "dist" directory,
+  so that you can be ensured the application can be built from scratch.
+
+-->
+
+  <target name="clean"
+   description="Delete old build and dist directories">
+    <delete dir="${build.home}"/>
+    <delete dir="${dist.home}"/>
+  </target>
+
+
+
+<!-- ==================== Compile Target ================================== -->
+
+<!--
+
+  The "compile" target transforms source files (from your "src" directory)
+  into object files in the appropriate location in the build directory.
+  This example assumes that you will be including your classes in an
+  unpacked directory hierarchy under "/WEB-INF/classes".
+
+-->
+
+  <target name="compile" depends="prepare"
+   description="Compile Java sources">
+
+    <!-- Compile Java classes as necessary -->
+    <mkdir    dir="${build.home}/WEB-INF/classes"/>
+    <javac srcdir="${src.home}"
+          destdir="${build.home}/WEB-INF/classes"
+            debug="${compile.debug}"
+      deprecation="${compile.deprecation}"
+         optimize="${compile.optimize}">
+        <classpath refid="compile.classpath"/>
+    </javac>
+
+    <!-- Copy application resources -->
+    <copy  todir="${build.home}/WEB-INF/classes">
+      <fileset dir="${src.home}" excludes="**/*.java"/>
+    </copy>
+
+  </target>
+
+
+
+<!-- ==================== Dist Target ===================================== -->
+
+
+<!--
+
+  The "dist" target creates a binary distribution of your application
+  in a directory structure ready to be archived in a tar.gz or zip file.
+  Note that this target depends on two others:
+
+  * "compile" so that the entire web application (including external
+    dependencies) will have been assembled
+
+  * "javadoc" so that the application Javadocs will have been created
+
+-->
+
+  <target name="dist" depends="compile,javadoc"
+   description="Create binary distribution">
+
+    <!-- Copy documentation subdirectories -->
+    <mkdir   dir="${dist.home}/docs"/>
+    <copy    todir="${dist.home}/docs">
+      <fileset dir="${docs.home}"/>
+    </copy>
+
+    <!-- Create application JAR file -->
+    <jar jarfile="${dist.home}/${app.name}-${app.version}.war"
+         basedir="${build.home}"/>
+
+    <!-- Copy additional files to ${dist.home} as necessary -->
+
+  </target>
+
+
+
+<!-- ==================== Install Target ================================== -->
+
+<!--
+
+  The "install" target tells the specified Tomcat 6 installation to dynamically
+  install this web application and make it available for execution.  It does
+  *not* cause the existence of this web application to be remembered across
+  Tomcat restarts; if you restart the server, you will need to re-install all
+  this web application.
+
+  If you have already installed this application, and simply want Tomcat to
+  recognize that you have updated Java classes (or the web.xml file), use the
+  "reload" target instead.
+
+  NOTE:  This target will only succeed if it is run from the same server that
+  Tomcat is running on.
+
+  NOTE:  This is the logical opposite of the "remove" target.
+
+-->
+
+  <target name="install" depends="compile"
+   description="Install application to servlet container">
+
+    <deploy url="${manager.url}"
+       username="${manager.username}"
+       password="${manager.password}"
+           path="${app.path}"
+       localWar="file://${build.home}"/>
+
+  </target>
+
+
+<!-- ==================== Javadoc Target ================================== -->
+
+<!--
+
+  The "javadoc" target creates Javadoc API documentation for the Java
+  classes included in your application.  Normally, this is only required
+  when preparing a distribution release, but is available as a separate
+  target in case the developer wants to create Javadocs independently.
+
+-->
+
+  <target name="javadoc" depends="compile"
+   description="Create Javadoc API documentation">
+
+    <mkdir          dir="${dist.home}/docs/api"/>
+    <javadoc sourcepath="${src.home}"
+                destdir="${dist.home}/docs/api"
+           packagenames="*">
+      <classpath refid="compile.classpath"/>
+    </javadoc>
+
+  </target>
+
+
+
+<!-- ====================== List Target =================================== -->
+
+<!--
+
+  The "list" target asks the specified Tomcat 6 installation to list the
+  currently running web applications, either loaded at startup time or
+  installed dynamically.  It is useful to determine whether or not the
+  application you are currently developing has been installed.
+
+-->
+
+  <target name="list"
+   description="List installed applications on servlet container">
+
+    <list    url="${manager.url}"
+        username="${manager.username}"
+        password="${manager.password}"/>
+
+  </target>
+
+
+<!-- ==================== Prepare Target ================================== -->
+
+<!--
+
+  The "prepare" target is used to create the "build" destination directory,
+  and copy the static contents of your web application to it.  If you need
+  to copy static files from external dependencies, you can customize the
+  contents of this task.
+
+  Normally, this task is executed indirectly when needed.
+
+-->
+
+  <target name="prepare">
+
+    <!-- Create build directories as needed -->
+    <mkdir  dir="${build.home}"/>
+    <mkdir  dir="${build.home}/WEB-INF"/>
+    <mkdir  dir="${build.home}/WEB-INF/classes"/>
+
+
+    <!-- Copy static content of this web application -->
+    <copy todir="${build.home}">
+      <fileset dir="${web.home}"/>
+    </copy>
+
+    <!-- Copy external dependencies as required -->
+    <!-- *** CUSTOMIZE HERE AS REQUIRED BY YOUR APPLICATION *** -->
+    <mkdir  dir="${build.home}/WEB-INF/lib"/>
+<!--
+    <copy todir="${build.home}/WEB-INF/lib" file="${foo.jar}"/>
+-->
+
+    <!-- Copy static files from external dependencies as needed -->
+    <!-- *** CUSTOMIZE HERE AS REQUIRED BY YOUR APPLICATION *** -->
+
+  </target>
+
+
+<!-- ==================== Reload Target =================================== -->
+
+<!--
+
+  The "reload" signals the specified application Tomcat 6 to shut itself down
+  and reload. This can be useful when the web application context is not
+  reloadable and you have updated classes or property files in the
+  /WEB-INF/classes directory or when you have added or updated jar files in the
+  /WEB-INF/lib directory.
+
+  NOTE: The /WEB-INF/web.xml web application configuration file is not reread
+  on a reload. If you have made changes to your web.xml file you must stop
+  then start the web application. 
+
+-->
+
+  <target name="reload" depends="compile"
+   description="Reload application on servlet container">
+
+    <reload url="${manager.url}"
+       username="${manager.username}"
+       password="${manager.password}"
+           path="${app.path}"/>
+
+  </target>
+
+
+<!-- ==================== Remove Target =================================== -->
+
+<!--
+
+  The "remove" target tells the specified Tomcat 6 installation to dynamically
+  remove this web application from service.
+
+  NOTE:  This is the logical opposite of the "install" target.
+
+-->
+
+  <target name="remove"
+   description="Remove application on servlet container">
+
+    <undeploy url="${manager.url}"
+         username="${manager.username}"
+         password="${manager.password}"
+             path="${app.path}"/>
+
+  </target>
+
+
+</project>
Index: /nutchez-0.1/tomcat/webapps/docs/appdev/deployment.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/appdev/deployment.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/appdev/deployment.html	(revision 66)
@@ -0,0 +1,204 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Application Developer's Guide - Deployment</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li></ul><p><strong>Contents</strong></p><ul><li><a href="index.html">Contents</a></li><li><a href="introduction.html">Introduction</a></li><li><a href="installation.html">Installation</a></li><li><a href="deployment.html">Deployment</a></li><li><a href="source.html">Source Code</a></li><li><a href="processes.html">Processes</a></li><li><a href="sample/">Example App</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Application Developer's Guide</h1><h2>Deployment</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/deployment.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Background"><strong>Background</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Before describing how to organize your source code directories,
+it is useful to examine the runtime organization of a web application.
+Prior to the Servlet API Specification, version 2.2, there was little
+consistency between server platforms.  However, servers that conform
+to the 2.2 (or later) specification are required to accept a
+<em>Web Application Archive</em> in a standard format, which is discussed
+further below.</p>
+
+<p>A web application is defined as a hierarchy of directories and files
+in a standard layout.  Such a hierarchy can be accessed in its "unpacked"
+form, where each directory and file exists in the filesystem separately,
+or in a "packed" form known as a Web ARchive, or WAR file.  The former format
+is more useful during development, while the latter is used when you
+distribute your application to be installed.</p>
+
+<p>The top-level directory of your web application hierarchy is also the
+<em>document root</em> of your application.  Here, you will place the HTML
+files and JSP pages that comprise your application's user interface.  When the
+system administrator deploys your application into a particular server, he
+or she assigns a <em>context path</em> to your application (a later section
+of this manual describes deployment on Tomcat).  Thus, if the
+system administrator assigns your application to the context path
+<code>/catalog</code>, then a request URI referring to
+<code>/catalog/index.html</code> will retrieve the <code>index.html</code>
+file from your document root.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Standard Directory Layout"><strong>Standard Directory Layout</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>To facilitate creation of a Web Application Archive file in the required
+format, it is convenient to arrange the "executable" files of your web
+application (that is, the files that Tomcat actually uses when executing
+your app) in the same organization as required by the WAR format itself.
+To do this, you will end up with the following contents in your
+application's "document root" directory:</p>
+<ul>
+<li><strong>*.html, *.jsp, etc.</strong> - The HTML and JSP pages, along
+    with other files that must be visible to the client browser (such as
+    JavaScript, stylesheet files, and images) for your application.
+    In larger applications you may choose to divide these files into
+    a subdirectory hierarchy, but for smaller apps, it is generally
+    much simpler to maintain only a single directory for these files.
+    <br><br></li>
+<li><strong>/WEB-INF/web.xml</strong> - The <em>Web Application Deployment
+    Descriptor</em> for your application.  This is an XML file describing
+    the servlets and other components that make up your application,
+    along with any initialization parameters and container-managed
+    security constraints that you want the server to enforce for you.
+    This file is discussed in more detail in the following subsection.
+    <br><br></li>
+<li><strong>/WEB-INF/classes/</strong> - This directory contains any Java
+    class files (and associated resources) required for your application,
+    including both servlet and non-servlet classes, that are not combined
+    into JAR files.  If your classes are organized into Java packages,
+    you must reflect this in the directory hierarchy under
+    <code>/WEB-INF/classes/</code>.  For example, a Java class named
+    <code>com.mycompany.mypackage.MyServlet</code>
+    would need to be stored in a file named
+    <code>/WEB-INF/classes/com/mycompany/mypackage/MyServlet.class</code>.
+    <br><br></li>
+<li><strong>/WEB-INF/lib/</strong> - This directory contains JAR files that
+    contain Java class files (and associated resources) required for your
+    application, such as third party class libraries or JDBC drivers.</li>
+</ul>
+
+<p>When you install an application into Tomcat (or any other
+2.2/2.3-compatible server), the classes in the <code>WEB-INF/classes/</code>
+directory, as well as all classes in JAR files found in the
+<code>WEB-INF/lib/</code> directory, are made visible to other classes
+within your particular web application.  Thus, if
+you include all of the required library classes in one of these places (be
+sure to check licenses for redistribution rights for any third party libraries
+you utilize), you will simplify the installation of your web application --
+no adjustment to the system class path (or installation of global library
+files in your server) will be necessary.</p>
+
+<p>Much of this information was extracted from Chapter 9 of the Servlet
+API Specification, version 2.3, which you should consult for more details.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Shared Library Files"><strong>Shared Library Files</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Like most servlet containers, Tomcat 6 also supports mechanisms to install
+library JAR files (or unpacked classes) once, and make them visible to all
+installed web applications (without having to be included inside the web
+application itself.  The details of how Tomcat locates and shares such
+classes are described in the
+<a href="../class-loader-howto.html">Class Loader HOW-TO</a> documentation.
+The location commonly used within a Tomcat 6 installation for shared code is
+<strong>$CATALINA_HOME/lib</strong>. JAR files placed here are visible both to
+web applications and internal Tomcat code. This is a good place to put JDBC
+drivers that are required for both your application or internal Tomcat use
+(such as for a JDBCRealm).</p>
+
+<p>Out of the box, a standard Tomcat 6 installation includes a variety
+of pre-installed shared library files, including:</p>
+<ul>
+<li>The <em>Servlet 2.5</em> and <em>JSP 2.1</em> APIs that are fundamental
+    to writing servlets and JavaServer Pages.<br><br></li>
+<li>An <em>XML Parser</em> compliant with the JAXP (version 1.2) APIs, so
+    your application can perform DOM-based or SAX-based processing of
+    XML documents.<br><br></li>
+</ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Web Application Deployment Descriptor"><strong>Web Application Deployment Descriptor</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>As mentioned above, the <code>/WEB-INF/web.xml</code> file contains the
+Web Application Deployment Descriptor for your application.  As the filename
+extension implies, this file is an XML document, and defines everything about
+your application that a server needs to know (except the <em>context path</em>,
+which is assigned by the system administrator when the application is
+deployed).</p>
+
+<p>The complete syntax and semantics for the deployment descriptor is defined
+in Chapter 13 of the Servlet API Specification, version 2.3.  Over time, it
+is expected that development tools will be provided that create and edit the
+deployment descriptor for you.  In the meantime, to provide a starting point,
+a <a href="web.xml.txt">basic web.xml file</a>
+is provided.  This file includes comments that describe the purpose of each
+included element.</p>
+
+<p><strong>NOTE</strong> - The Servlet Specification includes a Document
+Type Descriptor (DTD) for the web application deployment descriptor, and
+Tomcat 6 enforces the rules defined here when processing your application's
+<code>/WEB-INF/web.xml</code> file.  In particular, you <strong>must</strong>
+enter your descriptor elements (such as <code>&lt;filter&gt;</code>,
+<code>&lt;servlet&gt;</code>, and <code>&lt;servlet-mapping&gt;</code> in
+the order defined by the DTD (see Section 13.3).</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat Context Descriptor"><strong>Tomcat Context Descriptor</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>A /META-INF/context.xml file can be used to define Tomcat specific
+configuration options, such as loggers, data sources, session manager
+configuration and more. This XML file must contain one Context element, which
+will be considered as if it was the child of the Host element corresponding
+to the Host to which the  The Tomcat configuration documentation contains
+information on the Context element.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Deployment With Tomcat 6"><strong>Deployment With Tomcat 6</strong></a></font></td></tr><tr><td><blockquote>
+
+    <blockquote><em>
+    <p>The description below uses the variable name $CATALINA_BASE to refer the
+    base directory against which most relative paths are resolved. If you have
+    not configured Tomcat 6 for multiple instances by setting a CATALINA_BASE
+    directory, then $CATALINA_BASE will be set to the value of $CATALINA_HOME,
+    the directory into which you have installed Tomcat 6.</p>
+    </em></blockquote>
+
+<p>In order to be executed, a web application must be deployed on
+a servlet container.  This is true even during development.
+We will describe using Tomcat 6 to provide the execution environment.
+A web application can be deployed in Tomcat by one of the following
+approaches:</p>
+<ul>
+<li><em>Copy unpacked directory hierarchy into a subdirectory in directory
+    <code>$CATALINA_BASE/webapps/</code></em>.  Tomcat will assign a
+    context path to your application based on the subdirectory name you
+    choose.  We will use this technique in the <code>build.xml</code>
+    file that we construct, because it is the quickest and easiest approach
+    during development.  Be sure to restart Tomcat after installing or
+    updating your application.
+    <br><br></li>
+<li><em>Copy the web application archive file into directory
+    <code>$CATALINA_BASE/webapps/</code></em>.  When Tomcat is started, it will
+    automatically expand the web application archive file into its unpacked
+    form, and execute the application that way.  This approach would typically
+    be used to install an additional application, provided by a third party
+    vendor or by your internal development staff, into an existing
+    Tomcat installation.  <strong>NOTE</strong> - If you use this approach,
+    and wish to update your application later, you must both replace the
+    web application archive file <strong>AND</strong> delete the expanded
+    directory that Tomcat created, and then restart Tomcat, in order to reflect
+    your changes.
+    <br><br></li>
+<li><em>Use the Tomcat 6 "Manager" web application to deploy and undeploy
+    web applications</em>.  Tomcat 6 includes a web application, deployed
+    by default on context path <code>/manager</code>, that allows you to
+    deploy and undeploy applications on a running Tomcat server without
+    restarting it.  See the administrator documentation (TODO: hyperlink)
+    for more information on using the Manager web application.<br><br></li>
+<li><em>Use "Manager" Ant Tasks In Your Build Script</em>.  Tomcat 6
+    includes a set of custom task definitions for the <code>Ant</code>
+    build tool that allow you to automate the execution of commands to the
+    "Manager" web application.  These tasks are used in the Tomcat deployer.
+    <br><br></li>
+<li><em>Use the Tomcat Deployer</em>.  Tomcat 6 includes a packaged tool
+    bundling the Ant tasks, and can be used to automatically precompile JSPs
+    which are part of the web application before deployment to the server.
+    <br><br></li>
+</ul>
+
+<p>Deploying your app on other servlet containers will be specific to each
+container, but all containers compatible with the Servlet API Specification
+(version 2.2 or later) are required to accept a web application archive file.
+Note that other containers are <strong>NOT</strong> required to accept an
+unpacked directory structure (as Tomcat does), or to provide mechanisms for
+shared library files, but these features are commonly available.</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/appdev/index.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/appdev/index.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/appdev/index.html	(revision 66)
@@ -0,0 +1,45 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Application Developer's Guide - Table of Contents</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li></ul><p><strong>Contents</strong></p><ul><li><a href="index.html">Contents</a></li><li><a href="introduction.html">Introduction</a></li><li><a href="installation.html">Installation</a></li><li><a href="deployment.html">Deployment</a></li><li><a href="source.html">Source Code</a></li><li><a href="processes.html">Processes</a></li><li><a href="sample/">Example App</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Application Developer's Guide</h1><h2>Table of Contents</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/index.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Preface"><strong>Preface</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>This manual includes contributions from many members of the Tomcat Project
+developer community.  The following authors have provided significant content:
+</p>
+<ul>
+<li>Craig R. McClanahan
+    (<a href="mailto:craigmcc@apache.org">craigmcc@apache.org</a>)</li>
+</ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Table of Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The information presented is divided into the following sections:</p>
+<ul>
+<li><a href="introduction.html"><strong>Introduction</strong></a> -
+    Briefly describes the information covered here, with
+    links and references to other sources of information.</li>
+<li><a href="installation.html"><strong>Installation</strong></a> -
+    Covers acquiring and installing the required software
+    components to use Tomcat for web application development.</li>
+<li><a href="deployment.html"><strong>Deployment Organization</strong></a> -
+    Discusses the standard directory layout for a web application
+    (defined in the Servlet API Specification), the Web Application
+    Deployment Descriptor, and options for integration with Tomcat
+    in your development environment.</li>
+<li><a href="source.html"><strong>Source Organization</strong></a> -
+    Describes a useful approach to organizing the source code
+    directories for your project, and introduces the
+    <code>build.xml</code> used by Ant to manage compilation.</li>
+<li><a href="processes.html"><strong>Development Processes</strong></a> -
+    Provides brief descriptions of typical development processes
+    utilizing the recommended deployment and source organizations.</li>
+<li><a href="sample/"><strong>Example Application</strong></a> -
+    This directory contains a very simple, but functionally complete,
+    "Hello, World" application built according to the principles
+    described in this manual.  You can use this application to
+    practice using the described techniques.</li>
+</ul>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/appdev/installation.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/appdev/installation.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/appdev/installation.html	(revision 66)
@@ -0,0 +1,73 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Application Developer's Guide - Installation</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"><meta value="Yoav Shapira" name="author"><meta value="yoavs@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li></ul><p><strong>Contents</strong></p><ul><li><a href="index.html">Contents</a></li><li><a href="introduction.html">Introduction</a></li><li><a href="installation.html">Installation</a></li><li><a href="deployment.html">Deployment</a></li><li><a href="source.html">Source Code</a></li><li><a href="processes.html">Processes</a></li><li><a href="sample/">Example App</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Application Developer's Guide</h1><h2>Installation</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/installation.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Installation"><strong>Installation</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>In order to use Tomcat 6 for developing web applications, you must first
+install it (and the software it depends on).  The required steps are outlined
+in the following subsections.</p>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JDK"><strong>JDK</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Tomcat 6.0 was designed to run on J2SE 5.0.
+</p>
+
+<p>Compatible JDKs for many platforms (or links to where they can be found)
+are available at
+<a href="http://java.sun.com/j2se/">http://java.sun.com/j2se/</a>.</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat"><strong>Tomcat</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Binary downloads of the <strong>Tomcat</strong> server are available from
+<a href="http://tomcat.apache.org/download-60.cgi">http://tomcat.apache.org/download-60.cgi</a>.
+This manual assumes you are using the most recent release
+of Tomcat 6.  Detailed instructions for downloading and installing
+Tomcat 6 are available <a href="../setup.html">here</a>.</p>
+
+<p>In the remainder of this manual, example shell scripts assume that you have
+set an environment variable <code>CATALINA_HOME</code> that contains the
+pathname to the directory in which Tomcat 6 has been installed. Optionally, if
+Tomcat has been configured for multiple instances, each instance will have its
+own <code>CATALINA_BASE</code> configured.</p>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Ant"><strong>Ant</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Binary downloads of the <strong>Ant</strong> build tool are available from
+<a href="http://ant.apache.org/bindownload.cgi">http://ant.apache.org/bindownload.cgi</a>.
+This manual assumes you are using Ant 1.4 or later.  The instructions should
+also be compatible with later versions, but this has not been tested.</p>
+
+<p>Download and install Ant from the distribution directory mentioned above.
+Then, add the <code>bin</code> directory of the Ant distribution to your
+<code>PATH</code> environment variable, following the standard practices for
+your operating system platform.  Once you have done this, you will be able to
+execute the <code>ant</code> shell command directly.</p>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="CVS"><strong>CVS</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Besides the required tools described above, you are strongly encouraged
+to download and install a <em>source code control</em> system, such as the
+<strong>Concurrent Version System</strong> (CVS), to maintain historical
+versions of the source files that make up your web application.  Besides
+the server, you will also need appropriate client
+tools to check out source code files, and check in modified versions.</p>
+
+<p>Detailed instructions for installing and using source code control
+applications is beyond the scope of this manual.  However, CVS server and
+client tools for many platforms (along with documentation) can be downloaded
+from <a href="http://www.cvshome.org">http://www.cvshome.org</a>.</p>
+
+</blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/appdev/introduction.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/appdev/introduction.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/appdev/introduction.html	(revision 66)
@@ -0,0 +1,66 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Application Developer's Guide - Introduction</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li></ul><p><strong>Contents</strong></p><ul><li><a href="index.html">Contents</a></li><li><a href="introduction.html">Introduction</a></li><li><a href="installation.html">Installation</a></li><li><a href="deployment.html">Deployment</a></li><li><a href="source.html">Source Code</a></li><li><a href="processes.html">Processes</a></li><li><a href="sample/">Example App</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Application Developer's Guide</h1><h2>Introduction</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/introduction.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Overview"><strong>Overview</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Congratulations!  You've decided to (or been told to) learn how to
+build web applications using servlets and JSP pages, and picked the
+Tomcat server to use for your learning and development.  But now what
+do you do?</p>
+
+<p>This manual is a primer covering the basic steps of using Tomcat to
+set up a development environment, organize your source code, and then
+build and test your application.  It does not discuss architectures or
+recommended coding practices for web application development,
+or provide in depth instructions on operating the development
+tools that are discussed.  References to sources of additional information
+are included in the following subsections.</p>
+
+<p>The discussion in this manual is aimed at developers who will be using
+a text editor along with command line tools to develop and debug their
+applications.  As such, the recommendations are fairly generic -- but you
+should easily be able to apply them in either a Windows-based or Unix-based
+development environment.  If you are utilizing an Interactive Development
+Environment (IDE) tool, you will need to adapt the advice given here to
+the details of your particular environment.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Links"><strong>Links</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The following links provide access to selected sources of online
+information, documentation, and software that is useful in developing
+web applications with Tomcat.</p>
+<ul>
+<li><a href="http://java.sun.com/products/jsp/download.html">http://java.sun.com/products/jsp/download.html</a> -
+    <i>JavaServer Pages (JSP) Specfication, Version 2.0</i>.  Describes
+    the programming environment provided by standard implementations
+    of the JavaServer Pages (JSP) technology.  In conjunction with
+    the Servlet API Specification (see below), this document describes
+    what a portable API page is allowed to contain.  Specific
+    information on scripting (Chapter 6), tag extensions (Chapter 7),
+    and packaging JSP pages (Appendix A) is useful.  The Javadoc
+    API Documentation is included in the specification, and with the
+    Tomcat download.<br><br></li>
+<li><a href="http://java.sun.com/products/servlet/download.html">http://java.sun.com/products/servlet/download.html</a> -
+    <i>Servlet API Specification, Version 2.4</i>.  Describes the
+    programming environment that must be provided by all servlet
+    containers conforming to this specification.  In particular, you
+    will need this document to understand the web application
+    directory structure and deployment file (Chapter 9), methods of
+    mapping request URIs to servlets (Chapter 11), container managed
+    security (Chapter 12), and the syntax of the <code>web.xml</code>
+    Web Application Deployment Descriptor (Chapter 13).  The Javadoc
+    API Documentation is included in the specification, and with the
+    Tomcat download.<br><br></li>
+<li><a href="http://java.sun.com/j2ee/blueprints/">http://java.sun.com/j2ee/blueprints/</a> -
+    <i>Sun BluePrints (tm) Design Guidelines for J2EE</i>.  Comprehensive
+    advice and examples on application design for the Java2 Enterprise
+    Edition (J2EE) platform, which includes servlets and JSP pages.  The
+    chapters on servlet and JSP design are useful even when your application
+    does not require other J2EE platform components.
+    <br><br></li>
+<li><b>TODO</b> -- Add more entries here!</li>
+</ul>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/appdev/printer/deployment.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/appdev/printer/deployment.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/appdev/printer/deployment.html	(revision 66)
@@ -0,0 +1,203 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Application Developer's Guide - Deployment</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Application Developer's Guide</h1><h2>Deployment</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Background"><strong>Background</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Before describing how to organize your source code directories,
+it is useful to examine the runtime organization of a web application.
+Prior to the Servlet API Specification, version 2.2, there was little
+consistency between server platforms.  However, servers that conform
+to the 2.2 (or later) specification are required to accept a
+<em>Web Application Archive</em> in a standard format, which is discussed
+further below.</p>
+
+<p>A web application is defined as a hierarchy of directories and files
+in a standard layout.  Such a hierarchy can be accessed in its "unpacked"
+form, where each directory and file exists in the filesystem separately,
+or in a "packed" form known as a Web ARchive, or WAR file.  The former format
+is more useful during development, while the latter is used when you
+distribute your application to be installed.</p>
+
+<p>The top-level directory of your web application hierarchy is also the
+<em>document root</em> of your application.  Here, you will place the HTML
+files and JSP pages that comprise your application's user interface.  When the
+system administrator deploys your application into a particular server, he
+or she assigns a <em>context path</em> to your application (a later section
+of this manual describes deployment on Tomcat).  Thus, if the
+system administrator assigns your application to the context path
+<code>/catalog</code>, then a request URI referring to
+<code>/catalog/index.html</code> will retrieve the <code>index.html</code>
+file from your document root.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Standard Directory Layout"><strong>Standard Directory Layout</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>To facilitate creation of a Web Application Archive file in the required
+format, it is convenient to arrange the "executable" files of your web
+application (that is, the files that Tomcat actually uses when executing
+your app) in the same organization as required by the WAR format itself.
+To do this, you will end up with the following contents in your
+application's "document root" directory:</p>
+<ul>
+<li><strong>*.html, *.jsp, etc.</strong> - The HTML and JSP pages, along
+    with other files that must be visible to the client browser (such as
+    JavaScript, stylesheet files, and images) for your application.
+    In larger applications you may choose to divide these files into
+    a subdirectory hierarchy, but for smaller apps, it is generally
+    much simpler to maintain only a single directory for these files.
+    <br><br></li>
+<li><strong>/WEB-INF/web.xml</strong> - The <em>Web Application Deployment
+    Descriptor</em> for your application.  This is an XML file describing
+    the servlets and other components that make up your application,
+    along with any initialization parameters and container-managed
+    security constraints that you want the server to enforce for you.
+    This file is discussed in more detail in the following subsection.
+    <br><br></li>
+<li><strong>/WEB-INF/classes/</strong> - This directory contains any Java
+    class files (and associated resources) required for your application,
+    including both servlet and non-servlet classes, that are not combined
+    into JAR files.  If your classes are organized into Java packages,
+    you must reflect this in the directory hierarchy under
+    <code>/WEB-INF/classes/</code>.  For example, a Java class named
+    <code>com.mycompany.mypackage.MyServlet</code>
+    would need to be stored in a file named
+    <code>/WEB-INF/classes/com/mycompany/mypackage/MyServlet.class</code>.
+    <br><br></li>
+<li><strong>/WEB-INF/lib/</strong> - This directory contains JAR files that
+    contain Java class files (and associated resources) required for your
+    application, such as third party class libraries or JDBC drivers.</li>
+</ul>
+
+<p>When you install an application into Tomcat (or any other
+2.2/2.3-compatible server), the classes in the <code>WEB-INF/classes/</code>
+directory, as well as all classes in JAR files found in the
+<code>WEB-INF/lib/</code> directory, are made visible to other classes
+within your particular web application.  Thus, if
+you include all of the required library classes in one of these places (be
+sure to check licenses for redistribution rights for any third party libraries
+you utilize), you will simplify the installation of your web application --
+no adjustment to the system class path (or installation of global library
+files in your server) will be necessary.</p>
+
+<p>Much of this information was extracted from Chapter 9 of the Servlet
+API Specification, version 2.3, which you should consult for more details.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Shared Library Files"><strong>Shared Library Files</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Like most servlet containers, Tomcat 6 also supports mechanisms to install
+library JAR files (or unpacked classes) once, and make them visible to all
+installed web applications (without having to be included inside the web
+application itself.  The details of how Tomcat locates and shares such
+classes are described in the
+<a href="../../class-loader-howto.html">Class Loader HOW-TO</a> documentation.
+The location commonly used within a Tomcat 6 installation for shared code is
+<strong>$CATALINA_HOME/lib</strong>. JAR files placed here are visible both to
+web applications and internal Tomcat code. This is a good place to put JDBC
+drivers that are required for both your application or internal Tomcat use
+(such as for a JDBCRealm).</p>
+
+<p>Out of the box, a standard Tomcat 6 installation includes a variety
+of pre-installed shared library files, including:</p>
+<ul>
+<li>The <em>Servlet 2.5</em> and <em>JSP 2.1</em> APIs that are fundamental
+    to writing servlets and JavaServer Pages.<br><br></li>
+<li>An <em>XML Parser</em> compliant with the JAXP (version 1.2) APIs, so
+    your application can perform DOM-based or SAX-based processing of
+    XML documents.<br><br></li>
+</ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Web Application Deployment Descriptor"><strong>Web Application Deployment Descriptor</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>As mentioned above, the <code>/WEB-INF/web.xml</code> file contains the
+Web Application Deployment Descriptor for your application.  As the filename
+extension implies, this file is an XML document, and defines everything about
+your application that a server needs to know (except the <em>context path</em>,
+which is assigned by the system administrator when the application is
+deployed).</p>
+
+<p>The complete syntax and semantics for the deployment descriptor is defined
+in Chapter 13 of the Servlet API Specification, version 2.3.  Over time, it
+is expected that development tools will be provided that create and edit the
+deployment descriptor for you.  In the meantime, to provide a starting point,
+a <a href="web.xml.txt">basic web.xml file</a>
+is provided.  This file includes comments that describe the purpose of each
+included element.</p>
+
+<p><strong>NOTE</strong> - The Servlet Specification includes a Document
+Type Descriptor (DTD) for the web application deployment descriptor, and
+Tomcat 6 enforces the rules defined here when processing your application's
+<code>/WEB-INF/web.xml</code> file.  In particular, you <strong>must</strong>
+enter your descriptor elements (such as <code>&lt;filter&gt;</code>,
+<code>&lt;servlet&gt;</code>, and <code>&lt;servlet-mapping&gt;</code> in
+the order defined by the DTD (see Section 13.3).</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat Context Descriptor"><strong>Tomcat Context Descriptor</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>A /META-INF/context.xml file can be used to define Tomcat specific
+configuration options, such as loggers, data sources, session manager
+configuration and more. This XML file must contain one Context element, which
+will be considered as if it was the child of the Host element corresponding
+to the Host to which the  The Tomcat configuration documentation contains
+information on the Context element.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Deployment With Tomcat 6"><strong>Deployment With Tomcat 6</strong></a></font></td></tr><tr><td><blockquote>
+
+    <blockquote><em>
+    <p>The description below uses the variable name $CATALINA_BASE to refer the
+    base directory against which most relative paths are resolved. If you have
+    not configured Tomcat 6 for multiple instances by setting a CATALINA_BASE
+    directory, then $CATALINA_BASE will be set to the value of $CATALINA_HOME,
+    the directory into which you have installed Tomcat 6.</p>
+    </em></blockquote>
+
+<p>In order to be executed, a web application must be deployed on
+a servlet container.  This is true even during development.
+We will describe using Tomcat 6 to provide the execution environment.
+A web application can be deployed in Tomcat by one of the following
+approaches:</p>
+<ul>
+<li><em>Copy unpacked directory hierarchy into a subdirectory in directory
+    <code>$CATALINA_BASE/webapps/</code></em>.  Tomcat will assign a
+    context path to your application based on the subdirectory name you
+    choose.  We will use this technique in the <code>build.xml</code>
+    file that we construct, because it is the quickest and easiest approach
+    during development.  Be sure to restart Tomcat after installing or
+    updating your application.
+    <br><br></li>
+<li><em>Copy the web application archive file into directory
+    <code>$CATALINA_BASE/webapps/</code></em>.  When Tomcat is started, it will
+    automatically expand the web application archive file into its unpacked
+    form, and execute the application that way.  This approach would typically
+    be used to install an additional application, provided by a third party
+    vendor or by your internal development staff, into an existing
+    Tomcat installation.  <strong>NOTE</strong> - If you use this approach,
+    and wish to update your application later, you must both replace the
+    web application archive file <strong>AND</strong> delete the expanded
+    directory that Tomcat created, and then restart Tomcat, in order to reflect
+    your changes.
+    <br><br></li>
+<li><em>Use the Tomcat 6 "Manager" web application to deploy and undeploy
+    web applications</em>.  Tomcat 6 includes a web application, deployed
+    by default on context path <code>/manager</code>, that allows you to
+    deploy and undeploy applications on a running Tomcat server without
+    restarting it.  See the administrator documentation (TODO: hyperlink)
+    for more information on using the Manager web application.<br><br></li>
+<li><em>Use "Manager" Ant Tasks In Your Build Script</em>.  Tomcat 6
+    includes a set of custom task definitions for the <code>Ant</code>
+    build tool that allow you to automate the execution of commands to the
+    "Manager" web application.  These tasks are used in the Tomcat deployer.
+    <br><br></li>
+<li><em>Use the Tomcat Deployer</em>.  Tomcat 6 includes a packaged tool
+    bundling the Ant tasks, and can be used to automatically precompile JSPs
+    which are part of the web application before deployment to the server.
+    <br><br></li>
+</ul>
+
+<p>Deploying your app on other servlet containers will be specific to each
+container, but all containers compatible with the Servlet API Specification
+(version 2.2 or later) are required to accept a web application archive file.
+Note that other containers are <strong>NOT</strong> required to accept an
+unpacked directory structure (as Tomcat does), or to provide mechanisms for
+shared library files, but these features are commonly available.</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/appdev/printer/docs/appdev/build.xml.txt
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/appdev/printer/docs/appdev/build.xml.txt	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/appdev/printer/docs/appdev/build.xml.txt	(revision 66)
@@ -0,0 +1,514 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!--
+     General purpose build script for web applications and web services,
+     including enhanced support for deploying directly to a Tomcat 6
+     based server.
+
+     This build script assumes that the source code of your web application
+     is organized into the following subdirectories underneath the source
+     code directory from which you execute the build script:
+
+        docs                 Static documentation files to be copied to
+                             the "docs" subdirectory of your distribution.
+
+        src                  Java source code (and associated resource files)
+                             to be compiled to the "WEB-INF/classes"
+                             subdirectory of your web applicaiton.
+
+        web                  Static HTML, JSP, and other content (such as
+                             image files), including the WEB-INF subdirectory
+                             and its configuration file contents.
+
+     $Id: build.xml.txt 562814 2007-08-05 03:52:04Z markt $
+-->
+
+
+<!-- A "project" describes a set of targets that may be requested
+     when Ant is executed.  The "default" attribute defines the
+     target which is executed if no specific target is requested,
+     and the "basedir" attribute defines the current working directory
+     from which Ant executes the requested task.  This is normally
+     set to the current working directory.
+-->
+
+<project name="My Project" default="compile" basedir=".">
+
+
+
+<!-- ===================== Property Definitions =========================== -->
+
+
+<!--
+
+  Each of the following properties are used in the build script.
+  Values for these properties are set by the first place they are
+  defined, from the following list:
+
+  * Definitions on the "ant" command line (ant -Dfoo=bar compile).
+
+  * Definitions from a "build.properties" file in the top level
+    source directory of this application.
+
+  * Definitions from a "build.properties" file in the developer's
+    home directory.
+
+  * Default definitions in this build.xml file.
+
+  You will note below that property values can be composed based on the
+  contents of previously defined properties.  This is a powerful technique
+  that helps you minimize the number of changes required when your development
+  environment is modified.  Note that property composition is allowed within
+  "build.properties" files as well as in the "build.xml" script.
+
+-->
+
+  <property file="build.properties"/>
+  <property file="${user.home}/build.properties"/>
+
+
+<!-- ==================== File and Directory Names ======================== -->
+
+
+<!--
+
+  These properties generally define file and directory names (or paths) that
+  affect where the build process stores its outputs.
+
+  app.name             Base name of this application, used to
+                       construct filenames and directories.
+                       Defaults to "myapp".
+
+  app.path             Context path to which this application should be
+                       deployed (defaults to "/" plus the value of the
+                       "app.name" property).
+
+  app.version          Version number of this iteration of the application.
+
+  build.home           The directory into which the "prepare" and
+                       "compile" targets will generate their output.
+                       Defaults to "build".
+
+  catalina.home        The directory in which you have installed
+                       a binary distribution of Tomcat 6.  This will
+                       be used by the "deploy" target.
+
+  dist.home            The name of the base directory in which
+                       distribution files are created.
+                       Defaults to "dist".
+
+  manager.password     The login password of a user that is assigned the
+                       "manager" role (so that he or she can execute
+                       commands via the "/manager" web application)
+
+  manager.url          The URL of the "/manager" web application on the
+                       Tomcat installation to which we will deploy web
+                       applications and web services.
+
+  manager.username     The login username of a user that is assigned the
+                       "manager" role (so that he or she can execute
+                       commands via the "/manager" web application)
+
+-->
+
+  <property name="app.name"      value="myapp"/>
+  <property name="app.path"      value="/${app.name}"/>
+  <property name="app.version"   value="0.1-dev"/>
+  <property name="build.home"    value="${basedir}/build"/>
+  <property name="catalina.home" value="../../../.."/> <!-- UPDATE THIS! -->
+  <property name="dist.home"     value="${basedir}/dist"/>
+  <property name="docs.home"     value="${basedir}/docs"/>
+  <property name="manager.url"   value="http://localhost:8080/manager"/>
+  <property name="src.home"      value="${basedir}/src"/>
+  <property name="web.home"      value="${basedir}/web"/>
+
+
+<!-- ==================== External Dependencies =========================== -->
+
+
+<!--
+
+  Use property values to define the locations of external JAR files on which
+  your application will depend.  In general, these values will be used for
+  two purposes:
+  * Inclusion on the classpath that is passed to the Javac compiler
+  * Being copied into the "/WEB-INF/lib" directory during execution
+    of the "deploy" target.
+
+  Because we will automatically include all of the Java classes that Tomcat 6
+  exposes to web applications, we will not need to explicitly list any of those
+  dependencies.  You only need to worry about external dependencies for JAR
+  files that you are going to include inside your "/WEB-INF/lib" directory.
+
+-->
+
+<!-- Dummy external dependency -->
+<!--
+  <property name="foo.jar"
+           value="/path/to/foo.jar"/>
+-->
+
+
+<!-- ==================== Compilation Classpath =========================== -->
+
+<!--
+
+  Rather than relying on the CLASSPATH environment variable, Ant includes
+  features that makes it easy to dynamically construct the classpath you
+  need for each compilation.  The example below constructs the compile
+  classpath to include the servlet.jar file, as well as the other components
+  that Tomcat makes available to web applications automatically, plus anything
+  that you explicitly added.
+
+-->
+
+  <path id="compile.classpath">
+
+    <!-- Include all JAR files that will be included in /WEB-INF/lib -->
+    <!-- *** CUSTOMIZE HERE AS REQUIRED BY YOUR APPLICATION *** -->
+<!--
+    <pathelement location="${foo.jar}"/>
+-->
+
+    <!-- Include all elements that Tomcat exposes to applications -->
+    <fileset dir="${catalina.home}/bin">
+      <include name="*.jar"/>
+    </fileset>
+    <pathelement location="${catalina.home}/lib"/>
+    <fileset dir="${catalina.home}/lib">
+      <include name="*.jar"/>
+    </fileset>
+
+  </path>
+
+
+
+<!-- ================== Custom Ant Task Definitions ======================= -->
+
+
+<!--
+
+  These properties define custom tasks for the Ant build tool that interact
+  with the "/manager" web application installed with Tomcat 6.  Before they
+  can be successfully utilized, you must perform the following steps:
+
+  - Copy the file "lib/catalina-ant.jar" from your Tomcat 6
+    installation into the "lib" directory of your Ant installation.
+
+  - Create a "build.properties" file in your application's top-level
+    source directory (or your user login home directory) that defines
+    appropriate values for the "manager.password", "manager.url", and
+    "manager.username" properties described above.
+
+  For more information about the Manager web application, and the functionality
+  of these tasks, see <http://localhost:8080/tomcat-docs/manager-howto.html>.
+
+-->
+
+  <taskdef resource="org/apache/catalina/ant/catalina.tasks"
+           classpathref="compile.classpath"/>
+
+
+<!--  ==================== Compilation Control Options ==================== -->
+
+<!--
+
+  These properties control option settings on the Javac compiler when it
+  is invoked using the <javac> task.
+
+  compile.debug        Should compilation include the debug option?
+
+  compile.deprecation  Should compilation include the deprecation option?
+
+  compile.optimize     Should compilation include the optimize option?
+
+-->
+
+  <property name="compile.debug"       value="true"/>
+  <property name="compile.deprecation" value="false"/>
+  <property name="compile.optimize"    value="true"/>
+
+
+
+<!-- ==================== All Target ====================================== -->
+
+<!--
+
+  The "all" target is a shortcut for running the "clean" target followed
+  by the "compile" target, to force a complete recompile.
+
+-->
+
+  <target name="all" depends="clean,compile"
+   description="Clean build and dist directories, then compile"/>
+
+
+
+<!-- ==================== Clean Target ==================================== -->
+
+<!--
+
+  The "clean" target deletes any previous "build" and "dist" directory,
+  so that you can be ensured the application can be built from scratch.
+
+-->
+
+  <target name="clean"
+   description="Delete old build and dist directories">
+    <delete dir="${build.home}"/>
+    <delete dir="${dist.home}"/>
+  </target>
+
+
+
+<!-- ==================== Compile Target ================================== -->
+
+<!--
+
+  The "compile" target transforms source files (from your "src" directory)
+  into object files in the appropriate location in the build directory.
+  This example assumes that you will be including your classes in an
+  unpacked directory hierarchy under "/WEB-INF/classes".
+
+-->
+
+  <target name="compile" depends="prepare"
+   description="Compile Java sources">
+
+    <!-- Compile Java classes as necessary -->
+    <mkdir    dir="${build.home}/WEB-INF/classes"/>
+    <javac srcdir="${src.home}"
+          destdir="${build.home}/WEB-INF/classes"
+            debug="${compile.debug}"
+      deprecation="${compile.deprecation}"
+         optimize="${compile.optimize}">
+        <classpath refid="compile.classpath"/>
+    </javac>
+
+    <!-- Copy application resources -->
+    <copy  todir="${build.home}/WEB-INF/classes">
+      <fileset dir="${src.home}" excludes="**/*.java"/>
+    </copy>
+
+  </target>
+
+
+
+<!-- ==================== Dist Target ===================================== -->
+
+
+<!--
+
+  The "dist" target creates a binary distribution of your application
+  in a directory structure ready to be archived in a tar.gz or zip file.
+  Note that this target depends on two others:
+
+  * "compile" so that the entire web application (including external
+    dependencies) will have been assembled
+
+  * "javadoc" so that the application Javadocs will have been created
+
+-->
+
+  <target name="dist" depends="compile,javadoc"
+   description="Create binary distribution">
+
+    <!-- Copy documentation subdirectories -->
+    <mkdir   dir="${dist.home}/docs"/>
+    <copy    todir="${dist.home}/docs">
+      <fileset dir="${docs.home}"/>
+    </copy>
+
+    <!-- Create application JAR file -->
+    <jar jarfile="${dist.home}/${app.name}-${app.version}.war"
+         basedir="${build.home}"/>
+
+    <!-- Copy additional files to ${dist.home} as necessary -->
+
+  </target>
+
+
+
+<!-- ==================== Install Target ================================== -->
+
+<!--
+
+  The "install" target tells the specified Tomcat 6 installation to dynamically
+  install this web application and make it available for execution.  It does
+  *not* cause the existence of this web application to be remembered across
+  Tomcat restarts; if you restart the server, you will need to re-install all
+  this web application.
+
+  If you have already installed this application, and simply want Tomcat to
+  recognize that you have updated Java classes (or the web.xml file), use the
+  "reload" target instead.
+
+  NOTE:  This target will only succeed if it is run from the same server that
+  Tomcat is running on.
+
+  NOTE:  This is the logical opposite of the "remove" target.
+
+-->
+
+  <target name="install" depends="compile"
+   description="Install application to servlet container">
+
+    <deploy url="${manager.url}"
+       username="${manager.username}"
+       password="${manager.password}"
+           path="${app.path}"
+       localWar="file://${build.home}"/>
+
+  </target>
+
+
+<!-- ==================== Javadoc Target ================================== -->
+
+<!--
+
+  The "javadoc" target creates Javadoc API documentation for the Java
+  classes included in your application.  Normally, this is only required
+  when preparing a distribution release, but is available as a separate
+  target in case the developer wants to create Javadocs independently.
+
+-->
+
+  <target name="javadoc" depends="compile"
+   description="Create Javadoc API documentation">
+
+    <mkdir          dir="${dist.home}/docs/api"/>
+    <javadoc sourcepath="${src.home}"
+                destdir="${dist.home}/docs/api"
+           packagenames="*">
+      <classpath refid="compile.classpath"/>
+    </javadoc>
+
+  </target>
+
+
+
+<!-- ====================== List Target =================================== -->
+
+<!--
+
+  The "list" target asks the specified Tomcat 6 installation to list the
+  currently running web applications, either loaded at startup time or
+  installed dynamically.  It is useful to determine whether or not the
+  application you are currently developing has been installed.
+
+-->
+
+  <target name="list"
+   description="List installed applications on servlet container">
+
+    <list    url="${manager.url}"
+        username="${manager.username}"
+        password="${manager.password}"/>
+
+  </target>
+
+
+<!-- ==================== Prepare Target ================================== -->
+
+<!--
+
+  The "prepare" target is used to create the "build" destination directory,
+  and copy the static contents of your web application to it.  If you need
+  to copy static files from external dependencies, you can customize the
+  contents of this task.
+
+  Normally, this task is executed indirectly when needed.
+
+-->
+
+  <target name="prepare">
+
+    <!-- Create build directories as needed -->
+    <mkdir  dir="${build.home}"/>
+    <mkdir  dir="${build.home}/WEB-INF"/>
+    <mkdir  dir="${build.home}/WEB-INF/classes"/>
+
+
+    <!-- Copy static content of this web application -->
+    <copy todir="${build.home}">
+      <fileset dir="${web.home}"/>
+    </copy>
+
+    <!-- Copy external dependencies as required -->
+    <!-- *** CUSTOMIZE HERE AS REQUIRED BY YOUR APPLICATION *** -->
+    <mkdir  dir="${build.home}/WEB-INF/lib"/>
+<!--
+    <copy todir="${build.home}/WEB-INF/lib" file="${foo.jar}"/>
+-->
+
+    <!-- Copy static files from external dependencies as needed -->
+    <!-- *** CUSTOMIZE HERE AS REQUIRED BY YOUR APPLICATION *** -->
+
+  </target>
+
+
+<!-- ==================== Reload Target =================================== -->
+
+<!--
+
+  The "reload" signals the specified application Tomcat 6 to shut itself down
+  and reload. This can be useful when the web application context is not
+  reloadable and you have updated classes or property files in the
+  /WEB-INF/classes directory or when you have added or updated jar files in the
+  /WEB-INF/lib directory.
+
+  NOTE: The /WEB-INF/web.xml web application configuration file is not reread
+  on a reload. If you have made changes to your web.xml file you must stop
+  then start the web application. 
+
+-->
+
+  <target name="reload" depends="compile"
+   description="Reload application on servlet container">
+
+    <reload url="${manager.url}"
+       username="${manager.username}"
+       password="${manager.password}"
+           path="${app.path}"/>
+
+  </target>
+
+
+<!-- ==================== Remove Target =================================== -->
+
+<!--
+
+  The "remove" target tells the specified Tomcat 6 installation to dynamically
+  remove this web application from service.
+
+  NOTE:  This is the logical opposite of the "install" target.
+
+-->
+
+  <target name="remove"
+   description="Remove application on servlet container">
+
+    <undeploy url="${manager.url}"
+         username="${manager.username}"
+         password="${manager.password}"
+             path="${app.path}"/>
+
+  </target>
+
+
+</project>
Index: /nutchez-0.1/tomcat/webapps/docs/appdev/printer/docs/appdev/web.xml.txt
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/appdev/printer/docs/appdev/web.xml.txt	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/appdev/printer/docs/appdev/web.xml.txt	(revision 66)
@@ -0,0 +1,166 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!DOCTYPE web-app 
+    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 
+    "http://java.sun.com/dtd/web-app_2_3.dtd">
+
+<web-app>
+
+
+    <!-- General description of your web application -->
+
+    <display-name>My Web Application</display-name>
+    <description>
+      This is version X.X of an application to perform
+      a wild and wonderful task, based on servlets and
+      JSP pages.  It was written by Dave Developer
+      (dave@mycompany.com), who should be contacted for
+      more information.
+    </description>
+
+
+    <!-- Context initialization parameters that define shared
+         String constants used within your application, which
+         can be customized by the system administrator who is
+         installing your application.  The values actually
+         assigned to these parameters can be retrieved in a
+         servlet or JSP page by calling:
+
+             String value =
+               getServletContext().getInitParameter("name");
+
+         where "name" matches the <param-name> element of
+         one of these initialization parameters.
+
+         You can define any number of context initialization
+         parameters, including zero.
+    -->
+
+    <context-param>
+      <param-name>webmaster</param-name>
+      <param-value>myaddress@mycompany.com</param-value>
+      <description>
+        The EMAIL address of the administrator to whom questions
+        and comments about this application should be addressed.
+      </description>
+    </context-param>
+
+
+    <!-- Servlet definitions for the servlets that make up
+         your web application, including initialization
+         parameters.  With Tomcat, you can also send requests
+         to servlets not listed here with a request like this:
+
+           http://localhost:8080/{context-path}/servlet/{classname}
+
+         but this usage is not guaranteed to be portable.  It also
+         makes relative references to images and other resources
+         required by your servlet more complicated, so defining
+         all of your servlets (and defining a mapping to them with
+         a servlet-mapping element) is recommended.
+
+         Servlet initialization parameters can be retrieved in a
+         servlet or JSP page by calling:
+
+             String value =
+               getServletConfig().getInitParameter("name");
+
+         where "name" matches the <param-name> element of
+         one of these initialization parameters.
+
+         You can define any number of servlets, including zero.
+    -->
+
+    <servlet>
+      <servlet-name>controller</servlet-name>
+      <description>
+        This servlet plays the "controller" role in the MVC architecture
+        used in this application.  It is generally mapped to the ".do"
+        filename extension with a servlet-mapping element, and all form
+        submits in the app will be submitted to a request URI like
+        "saveCustomer.do", which will therefore be mapped to this servlet.
+
+        The initialization parameter namess for this servlet are the
+        "servlet path" that will be received by this servlet (after the
+        filename extension is removed).  The corresponding value is the
+        name of the action class that will be used to process this request.
+      </description>
+      <servlet-class>com.mycompany.mypackage.ControllerServlet</servlet-class>
+      <init-param>
+        <param-name>listOrders</param-name>
+        <param-value>com.mycompany.myactions.ListOrdersAction</param-value>
+      </init-param>
+      <init-param>
+        <param-name>saveCustomer</param-name>
+        <param-value>com.mycompany.myactions.SaveCustomerAction</param-value>
+      </init-param>
+      <!-- Load this servlet at server startup time -->
+      <load-on-startup>5</load-on-startup>
+    </servlet>
+
+    <servlet>
+      <servlet-name>graph</servlet-name>
+      <description>
+        This servlet produces GIF images that are dynamically generated
+        graphs, based on the input parameters included on the request.
+        It is generally mapped to a specific request URI like "/graph".
+      </description>
+    </servlet>
+
+
+    <!-- Define mappings that are used by the servlet container to
+         translate a particular request URI (context-relative) to a
+         particular servlet.  The examples below correspond to the
+         servlet descriptions above.  Thus, a request URI like:
+
+           http://localhost:8080/{contextpath}/graph
+
+         will be mapped to the "graph" servlet, while a request like:
+
+           http://localhost:8080/{contextpath}/saveCustomer.do
+
+         will be mapped to the "controller" servlet.
+
+         You may define any number of servlet mappings, including zero.
+         It is also legal to define more than one mapping for the same
+         servlet, if you wish to.
+    -->
+
+    <servlet-mapping>
+      <servlet-name>controller</servlet-name>
+      <url-pattern>*.do</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+      <servlet-name>graph</servlet-name>
+      <url-pattern>/graph</url-pattern>
+    </servlet-mapping>
+
+
+    <!-- Define the default session timeout for your application,
+         in minutes.  From a servlet or JSP page, you can modify
+         the timeout for a particular session dynamically by using
+         HttpSession.getMaxInactiveInterval(). -->
+
+    <session-config>
+      <session-timeout>30</session-timeout>    <!-- 30 minutes -->
+    </session-config>
+
+
+</web-app>
Index: /nutchez-0.1/tomcat/webapps/docs/appdev/printer/index.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/appdev/printer/index.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/appdev/printer/index.html	(revision 66)
@@ -0,0 +1,44 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Application Developer's Guide - Table of Contents</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Application Developer's Guide</h1><h2>Table of Contents</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Preface"><strong>Preface</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>This manual includes contributions from many members of the Tomcat Project
+developer community.  The following authors have provided significant content:
+</p>
+<ul>
+<li>Craig R. McClanahan
+    (<a href="mailto:craigmcc@apache.org">craigmcc@apache.org</a>)</li>
+</ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Table of Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The information presented is divided into the following sections:</p>
+<ul>
+<li><a href="introduction.html"><strong>Introduction</strong></a> -
+    Briefly describes the information covered here, with
+    links and references to other sources of information.</li>
+<li><a href="installation.html"><strong>Installation</strong></a> -
+    Covers acquiring and installing the required software
+    components to use Tomcat for web application development.</li>
+<li><a href="deployment.html"><strong>Deployment Organization</strong></a> -
+    Discusses the standard directory layout for a web application
+    (defined in the Servlet API Specification), the Web Application
+    Deployment Descriptor, and options for integration with Tomcat
+    in your development environment.</li>
+<li><a href="source.html"><strong>Source Organization</strong></a> -
+    Describes a useful approach to organizing the source code
+    directories for your project, and introduces the
+    <code>build.xml</code> used by Ant to manage compilation.</li>
+<li><a href="processes.html"><strong>Development Processes</strong></a> -
+    Provides brief descriptions of typical development processes
+    utilizing the recommended deployment and source organizations.</li>
+<li><a href="../sample/"><strong>Example Application</strong></a> -
+    This directory contains a very simple, but functionally complete,
+    "Hello, World" application built according to the principles
+    described in this manual.  You can use this application to
+    practice using the described techniques.</li>
+</ul>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/appdev/printer/installation.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/appdev/printer/installation.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/appdev/printer/installation.html	(revision 66)
@@ -0,0 +1,72 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Application Developer's Guide - Installation</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"><meta value="Yoav Shapira" name="author"><meta value="yoavs@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Application Developer's Guide</h1><h2>Installation</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Installation"><strong>Installation</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>In order to use Tomcat 6 for developing web applications, you must first
+install it (and the software it depends on).  The required steps are outlined
+in the following subsections.</p>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JDK"><strong>JDK</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Tomcat 6.0 was designed to run on J2SE 5.0.
+</p>
+
+<p>Compatible JDKs for many platforms (or links to where they can be found)
+are available at
+<a href="http://java.sun.com/j2se/">http://java.sun.com/j2se/</a>.</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat"><strong>Tomcat</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Binary downloads of the <strong>Tomcat</strong> server are available from
+<a href="http://tomcat.apache.org/download-60.cgi">http://tomcat.apache.org/download-60.cgi</a>.
+This manual assumes you are using the most recent release
+of Tomcat 6.  Detailed instructions for downloading and installing
+Tomcat 6 are available <a href="../../setup.html">here</a>.</p>
+
+<p>In the remainder of this manual, example shell scripts assume that you have
+set an environment variable <code>CATALINA_HOME</code> that contains the
+pathname to the directory in which Tomcat 6 has been installed. Optionally, if
+Tomcat has been configured for multiple instances, each instance will have its
+own <code>CATALINA_BASE</code> configured.</p>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Ant"><strong>Ant</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Binary downloads of the <strong>Ant</strong> build tool are available from
+<a href="http://ant.apache.org/bindownload.cgi">http://ant.apache.org/bindownload.cgi</a>.
+This manual assumes you are using Ant 1.4 or later.  The instructions should
+also be compatible with later versions, but this has not been tested.</p>
+
+<p>Download and install Ant from the distribution directory mentioned above.
+Then, add the <code>bin</code> directory of the Ant distribution to your
+<code>PATH</code> environment variable, following the standard practices for
+your operating system platform.  Once you have done this, you will be able to
+execute the <code>ant</code> shell command directly.</p>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="CVS"><strong>CVS</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Besides the required tools described above, you are strongly encouraged
+to download and install a <em>source code control</em> system, such as the
+<strong>Concurrent Version System</strong> (CVS), to maintain historical
+versions of the source files that make up your web application.  Besides
+the server, you will also need appropriate client
+tools to check out source code files, and check in modified versions.</p>
+
+<p>Detailed instructions for installing and using source code control
+applications is beyond the scope of this manual.  However, CVS server and
+client tools for many platforms (along with documentation) can be downloaded
+from <a href="http://www.cvshome.org">http://www.cvshome.org</a>.</p>
+
+</blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/appdev/printer/introduction.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/appdev/printer/introduction.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/appdev/printer/introduction.html	(revision 66)
@@ -0,0 +1,65 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Application Developer's Guide - Introduction</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Application Developer's Guide</h1><h2>Introduction</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Overview"><strong>Overview</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Congratulations!  You've decided to (or been told to) learn how to
+build web applications using servlets and JSP pages, and picked the
+Tomcat server to use for your learning and development.  But now what
+do you do?</p>
+
+<p>This manual is a primer covering the basic steps of using Tomcat to
+set up a development environment, organize your source code, and then
+build and test your application.  It does not discuss architectures or
+recommended coding practices for web application development,
+or provide in depth instructions on operating the development
+tools that are discussed.  References to sources of additional information
+are included in the following subsections.</p>
+
+<p>The discussion in this manual is aimed at developers who will be using
+a text editor along with command line tools to develop and debug their
+applications.  As such, the recommendations are fairly generic -- but you
+should easily be able to apply them in either a Windows-based or Unix-based
+development environment.  If you are utilizing an Interactive Development
+Environment (IDE) tool, you will need to adapt the advice given here to
+the details of your particular environment.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Links"><strong>Links</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The following links provide access to selected sources of online
+information, documentation, and software that is useful in developing
+web applications with Tomcat.</p>
+<ul>
+<li><a href="http://java.sun.com/products/jsp/download.html">http://java.sun.com/products/jsp/download.html</a> -
+    <i>JavaServer Pages (JSP) Specfication, Version 2.0</i>.  Describes
+    the programming environment provided by standard implementations
+    of the JavaServer Pages (JSP) technology.  In conjunction with
+    the Servlet API Specification (see below), this document describes
+    what a portable API page is allowed to contain.  Specific
+    information on scripting (Chapter 6), tag extensions (Chapter 7),
+    and packaging JSP pages (Appendix A) is useful.  The Javadoc
+    API Documentation is included in the specification, and with the
+    Tomcat download.<br><br></li>
+<li><a href="http://java.sun.com/products/servlet/download.html">http://java.sun.com/products/servlet/download.html</a> -
+    <i>Servlet API Specification, Version 2.4</i>.  Describes the
+    programming environment that must be provided by all servlet
+    containers conforming to this specification.  In particular, you
+    will need this document to understand the web application
+    directory structure and deployment file (Chapter 9), methods of
+    mapping request URIs to servlets (Chapter 11), container managed
+    security (Chapter 12), and the syntax of the <code>web.xml</code>
+    Web Application Deployment Descriptor (Chapter 13).  The Javadoc
+    API Documentation is included in the specification, and with the
+    Tomcat download.<br><br></li>
+<li><a href="http://java.sun.com/j2ee/blueprints/">http://java.sun.com/j2ee/blueprints/</a> -
+    <i>Sun BluePrints (tm) Design Guidelines for J2EE</i>.  Comprehensive
+    advice and examples on application design for the Java2 Enterprise
+    Edition (J2EE) platform, which includes servlets and JSP pages.  The
+    chapters on servlet and JSP design are useful even when your application
+    does not require other J2EE platform components.
+    <br><br></li>
+<li><b>TODO</b> -- Add more entries here!</li>
+</ul>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/appdev/printer/processes.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/appdev/printer/processes.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/appdev/printer/processes.html	(revision 66)
@@ -0,0 +1,284 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Application Developer's Guide - Development Processes</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Application Developer's Guide</h1><h2>Development Processes</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Development Processes"><strong>Development Processes</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Although application development can take many forms, this manual proposes
+a fairly generic process for creating web applications using Tomcat.  The
+following sections highlight the commands and tasks that you, as the developer
+of the code, will perform.  The same basic approach works when you have
+multiple programmers involved, as long as you have an appropriate source code
+control system and internal team rules about who is working on what parts
+of the application at any given time.</p>
+
+<p>The task descriptions below assume that you will be using CVS for source
+code control, and that you have already configured access to the appropriate
+CVS repository.  Instructions for doing this are beyond the scope of this
+manual.  If you are using a different source code control environment, you
+will need to figure out the corresponding commands for your system.</p>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="One-Time Setup of Ant and Tomcat for Development"><strong>One-Time Setup of Ant and Tomcat for Development</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>In order to take advantage of the special Ant tasks that interact with the
+<em>Manager</em> web application, you need to perform the following tasks
+once (no matter how many web applications you plan to develop).</p>
+<ul>
+<li><em>Configure the Ant custom tasks</em>.  The implementation code for the
+    Ant custom tasks is in a JAR file named
+    <code>$CATALINA_HOME/lib/catalina-ant.jar</code>, which must be
+    copied in to the <code>lib</code> directory of your Ant installation.
+    <br><br></li>
+<li><em>Define one or more Tomcat users</em>.  The <em>Manager</em> web
+    application runs under a security constraint that requires a user to be
+    logged in, and have the security role <code>manager</code> assigned to
+    him or her.  How such users are defined depends on which Realm you have
+    configured in Tomcat's <code>conf/server.xml</code> file -- see the
+    <a href="../../realm-howto.html">Realm Configuration HOW-TO</a> for more
+    information.  You may define any number of users (with any username
+    and password that you like) with the <code>manager</code> role.
+    <br><br></li>
+</ul>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Create Project Source Code Directory"><strong>Create Project Source Code Directory</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The first step is to create a new project source directory, and customize
+the <code>build.xml</code> and <code>build.properties</code> files you will
+be using.  The directory structure is described in <a href="source.html">the
+previous section</a>, or you can use the
+<a href="../sample/">sample application</a> as a starting point.</p>
+
+<p>Create your project source directory, and define it within your CVS
+repository.  This might be done by a series of commands like this, where
+<code>{project}</code> is the name under which your project should be
+stored in the CVS repository, and {username} is your login username:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+cd {my home directory}
+mkdir myapp	&lt;-- Assumed "project source directory"
+cd myapp
+mkdir docs
+mkdir src
+mkdir web
+mkdir web/WEB-INF
+cvs import -m "Initial Project Creation" {project} \
+	{username} start
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+<p>Now, to verify that it was created correctly in CVS, we will perform a
+checkout of the new project:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+cd ..
+mv myapp myapp.bu
+cvs checkout {project}
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+<p>Next, you will need to create and check in an initial version of the
+<code>build.xml</code> script to be used for development.  For getting
+started quickly and easily, base your <code>build.xml</code> on the
+<a href="build.xml.txt">basic build.xml file</a>, included with this manual,
+or code it from scratch.</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+cd {my home directory}
+cd myapp
+emacs build.xml		&lt;-- if you want a real editor :-)
+cvs add build.xml
+cvs commit
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+<p>Until you perform the CVS commit, your changes are local to your own
+development directory.  Committing makes those changes visible to other
+developers on your team that are sharing the same CVS repository.</p>
+
+<p>The next step is to customize the Ant <em>properties</em> that are
+named in the <code>build.xml</code> script.  This is done by creating a
+file named <code>build.properties</code> in your project's top-level
+directory.  The supported properties are listed in the comments inside
+the sample <code>build.xml</code> script.  At a minimum, you will generally
+need to define the <code>catalina.home</code> property defining where
+Tomcat 6 is installed, and the manager application username and password.
+You might end up with something like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+# Context path to install this application on
+app.path=/hello
+
+# Tomcat 6 installation directory
+catalina.home=/usr/local/apache-tomcat-6.0
+
+# Manager webapp username and password
+manager.username=myusername
+manager.password=mypassword
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+<p>In general, you will <strong>not</strong> want to check the
+<code>build.properties</code> file in to the CVS repository, because it
+is unique to each developer's environment.</p>
+
+<p>Now, create the initial version of the web application deployment
+descriptor.  You can base <code>web.xml</code> on the
+<a href="web.xml.txt">basic web.xml file</a>, or code it from scratch.</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+cd {my home directory}
+cd myapp/web/WEB-INF
+emacs web.xml
+cvs add web.xml
+cvs commit
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+Note that this is only an example web.xml file.  The full definition
+of the deployment descriptor file is in the
+<a href="http://java.sun.com/products/servlet">Servlet Specification.</a>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Edit Source Code and Pages"><strong>Edit Source Code and Pages</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The edit/build/test tasks will generally be your most common activities
+during development and maintenance.  The following general principles apply.
+As described in <a href="source.html">Source Organization</a>, newly created
+source files should be located in the appropriate subdirectory, under your
+project source directory.</p>
+
+<p>Whenever you wish to refresh your development directory to reflect the
+work performed by other developers, you will ask CVS to do it for you:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+cd {my home directory}
+cd myapp
+cvs update -dP
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+<p>To create a new file, go to the appropriate directory, create the file,
+and register it with CVS.  When you are satisfied with it's contents (after
+building and testing is successful), commit the new file to the repository.
+For example, to create a new JSP page:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+cd {my home directory}
+cd myapp/web		&lt;-- Ultimate destination is document root
+emacs mypage.jsp
+cvs add mypage.jsp
+... build and test the application ...
+cvs commit
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+<p>Java source code that is defined in packages must be organized in a
+directory hierarchy (under the <strong>src/</strong> subdirectory) that
+matches the package names.  For example, a Java class named
+<code>com.mycompany.mypackage.MyClass.java</code> should be stored in file
+<code>src/com/mycompany/mypackage/MyClass.java</code>.
+Whenever you create a new subdirectory, don't forget to
+register it with CVS.</p>
+
+<p>To edit an existing source file, you will generally just start editing
+and testing, then commit the changed file when everything works.  Although
+CVS can be configured to required you to "check out" or "lock" a file you
+are going to be modifying, this is generally not used.</p>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Build the Web Application"><strong>Build the Web Application</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>When you are ready to compile the application, issue the following
+commands (generally, you will want a shell window open that is set to
+the project source directory, so that only the last command is needed):</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+cd {my home directory}
+cd myapp		&lt;-- Normally leave a window open here
+ant
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+<p>The Ant tool will be execute the default "compile" target in your
+<code>build.xml</code> file, which will compile any new or updated Java
+code.  If this is the first time you compile after a "build clean",
+it will cause everything to be recompiled.</p>
+
+<p>To force the recompilation of your entire application, do this instead:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+cd {my home directory}
+cd myapp
+ant all
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+<p>This is a very good habit immediately before checking in changes, to
+make sure that you have not introduced any subtle problems that Javac's
+conditional checking did not catch.</p>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Test Your Web Application"><strong>Test Your Web Application</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>To test your application, you will want to install it under Tomcat.  The
+quickest way to do that is to use the custom Ant tasks that are included in
+the sample <code>build.xml</code> script.  Using these commands might follow
+a pattern like this:</p>
+<ul>
+<li><em>Start Tomcat 6 if needed</em>.  If Tomcat 6 is not already running,
+    you will need to start it in the usual way.
+    <br><br></li>
+<li><em>Compile your application</em>.  Use the <code>ant compile</code>
+    command (or just <code>ant</code>, since this is the default).  Make
+    sure that there are no compilation errors.
+    <br><br></li>
+<li><em>Install the application</em>.  Use the <code>ant install</code>
+    command.  This tells Tomcat to immediately start running your app on
+    the context path defined in the <code>app.path</code> build property.
+    Tomcat does <strong>NOT</strong> have to be restarted for this to
+    take effect.<br><br></li>
+<li><em>Test the application</em>.  Using your browser or other testing
+    tools, test the functionality of your application.
+    <br><br></li>
+<li><em>Modify and rebuild as needed</em>.  As you discover that changes
+    are required, make those changes in the original <strong>source</strong>
+    files, not in the output build directory, and re-issue the
+    <code>ant compile</code> command.  This ensures that your changes will
+    be available to be saved (via <code>cvs commit</code>) later on --
+    the output build directory is deleted and recreated as necessary.
+    <br><br></li>
+<li><em>Reload the application</em>.  Tomcat will recognize changes in
+    JSP pages automatically, but it will continue to use the old versions
+    of any servlet or JavaBean classes until the application is reloaded.
+    You can trigger this by executing the <code>ant reload</code> command.
+    <br><br></li>
+<li><em>Remove the application when you re done</em>.  When you are through
+    working on this application, you can remove it from live execution by
+    running the <code>ant remove</code> command.</li>
+</ul>
+
+<p>Do not forget to commit your changes to the source code repository when
+you have completed your testing!</p>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Creating a Release"><strong>Creating a Release</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>When you are through adding new functionality, and you've tested everything
+(you DO test, don't you :-), it is time to create the distributable version
+of your web application that can be deployed on the production server.  The
+following general steps are required:</p>
+<ul>
+<li>Issue the command <code>ant all</code> from the project source
+    directory, to rebuild everything from scratch one last time.
+    <br><br></li>
+<li>Use the <code>cvs tag</code> command to create an identifier for
+    all of the source files utilized to create this release.  This allows
+    you to reliably reconstruct a release (from sources) at a later
+    time.</li>
+<li>Issue the command <code>ant dist</code> to create a distributable
+    web application archive (WAR) file, as well as a JAR file containing
+    the corresponding source code.
+    <br><br></li>
+<li>Package the contents of the <code>dist</code> directory using the
+    <strong>tar</strong> or <strong>zip</strong> utility, according to
+    the standard release procedures used by your organization.</li>
+</ul>
+
+</blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/appdev/printer/source.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/appdev/printer/source.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/appdev/printer/source.html	(revision 66)
@@ -0,0 +1,282 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Application Developer's Guide - Source Organization</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Application Developer's Guide</h1><h2>Source Organization</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Directory Structure"><strong>Directory Structure</strong></a></font></td></tr><tr><td><blockquote>
+
+    <blockquote><em>
+    <p>The description below uses the variable name $CATALINA_BASE to refer the
+    base directory against which most relative paths are resolved. If you have
+    not configured Tomcat 6 for multiple instances by setting a CATALINA_BASE
+    directory, then $CATALINA_BASE will be set to the value of $CATALINA_HOME,
+    the directory into which you have installed Tomcat 6.</p>
+    </em></blockquote>
+
+<p>A key recommendation of this manual is to separate the directory
+hierarchy containing your source code (described in this section) from
+the directory hierarchy containing your deployable application
+(described in the preceding section).  Maintaining this separation has
+the following advantages:</p>
+<ul>
+<li>The contents of the source directories can be more easily administered,
+    moved, and backed up if the "executable" version of the application
+    is not intermixed.
+    <br><br></li>
+<li>Source code control is easier to manage on directories that contain
+    only source files.
+    <br><br></li>
+<li>The files that make up an installable distribution of your
+    application are much easier to select when the deployment
+    hierarchy is separate.</li>
+</ul>
+
+<p>As we will see, the <code>ant</code> development tool makes the creation
+and processing of such directory hierarchies nearly painless.</p>
+
+<p>The actual directory and file hierarchy used to contain the source code
+of an application can be pretty much anything you like.  However, the
+following organization has proven to be quite generally applicable, and is
+expected by the example <code>build.xml</code> configuration file that
+is discussed below.  All of these components exist under a top level
+<em>project source directory</em> for your application:</p>
+<ul>
+<li><strong>docs/</strong> - Documentation for your application, in whatever
+    format your development team is using.<br><br></li>
+<li><strong>src/</strong> - Java source files that generate the servlets,
+    beans, and other Java classes that are unique to your application.
+    If your source code is organized in packages (<strong>highly</strong>
+    recommended), the package hierarchy should be reflected as a directory
+    structure underneath this directory.<br><br></li>
+<li><strong>web/</strong> - The static content of your web site (HTML pages,
+    JSP pages, JavaScript files, CSS stylesheet files, and images) that will
+    be accessible to application clients.  This directory will be the
+    <em>document root</em> of your web application, and any subdirectory
+    structure found here will be reflected in the request URIs required to
+    access those files.<br><br></li>
+<li><strong>web/WEB-INF/</strong> - The special configuration files required
+    for your application, including the web application deployment descriptor
+    (<code>web.xml</code>, defined in the 
+    <a href="http://java.sun.com/products/servlet">Servlet Specification</a>), 
+    tag library descriptors for custom tag libraries
+    you have created, and other resource files you wish to include within
+    your web application.  Even though this directory appears to be a
+    subdirectory of your <em>document root</em>, the Servlet Specification
+    prohibits serving the contents of this directory (or any file it contains)
+    directly to a client request.  Therefore, this is a good place to store
+    configuration information that is sensitive (such as database connection
+    usernames and passwords), but is required for your application to
+    operate successfully.</li>
+</ul>
+
+<p>During the development process, two additional directories will be
+created on a temporary basis:</p>
+<ul>
+<li><strong>build/</strong> - When you execute a default build
+    (<code>ant</code>), this directory will contain an exact image
+    of the files in the web application archive for this application.
+    Tomcat 6 allows you to deploy an application in an unpacked
+    directory like this, either by copying it to the
+    <code>$CATALINA_BASE/webapps</code> directory, or by <em>installing</em>
+    it via the "Manager" web application.  The latter approach is very
+    useful during development, and will be illustrated below.
+    <br><br></li>
+<li><strong>dist/</strong> - When you execute the <code>ant dist</code>
+    target, this directory will be created.  It will create an exact image
+    of the binary distribution for your web application, including an license
+    information, documentation, and README files that you have prepared.</li>
+</ul>
+
+<p>Note that these two directories should <strong>NOT</strong> be archived in
+your source code control system, because they are deleted and recreated (from
+scratch) as needed during development.  For that reason, you should not edit
+any source files in these directories if you want to maintain a permanent
+record of the changes, because the changes will be lost the next time that a
+build is performed.</p>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="External Dependencies"><strong>External Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>What do you do if your application requires JAR files (or other
+  resources) from external projects or packages?  A common example is that
+  you need to include a JDBC driver in your web application, in order to
+  operate.</p>
+
+  <p>Different developers take different approaches to this problem.
+  Some will encourage checking a copy of the JAR files you depend on into
+  the source code control archives for every application that requires those
+  JAR files.  However, this can cause significant management issues when you
+  use the same JAR in many applications - particular when faced with a need
+  to upgrade to a different version of that JAR file.</p>
+
+  <p>Therefore, this manual recommends that you <strong>NOT</strong> store
+  a copy of the packages you depend on inside the source control archives
+  of your applications.  Instead, the external dependencies should be
+  integrated as part of the process of <strong>building</strong> your
+  application.  In that way, you can always pick up the appropriate version
+  of the JAR files from wherever your development system administrator has
+  installed them, without having to worry about updating your application
+  every time the version of the dependent JAR file is changed.</p>
+
+  <p>In the example Ant <code>build.xml</code> file, we will demonstrate
+  how to define <em>build properties</em> that let you configure the locations
+  of the files to be copied, without having to modify <code>build.xml</code>
+  when these files change.  The build properties used by a particular
+  developer can be customized on a per-application basis, or defaulted to
+  "standard" build properties stored in the developer's home directory.</p>
+
+  <p>In many cases, your development system administrator will have already
+  installed the required JAR files into Tomcat 6's <code>lib</code> directory.
+  If this has been done, you need
+  to take no actions at all - the example <code>build.xml</code> file
+  automatically constructs a compile classpath that includes these files.</p>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Source Code Control"><strong>Source Code Control</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>As mentioned earlier, it is highly recommended that you place all of the
+source files that comprise your application under the management of a
+source code control system like the Concurrent Version System (CVS).  If you
+elect to do this, every directory and file in the source hierarchy should be
+registered and saved -- but none of the generated files.  If you register
+binary format files (such as images or JAR libraries), be sure to indicate
+this to your source code control system.</p>
+
+<p>We recommended (in the previous section) that you should not store the
+contents of the <code>build/</code> and <code>dist/</code> directories
+created by your development process in the source code control system.  An
+easy way to tell CVS to ignore these directories is to create a file named
+<code>.cvsignore</code> (note the leading period) in your top-level source
+directory, with the following contents:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+build
+dist
+build.properties
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+<p>The reason for mentioning <code>build.properties</code> here will be
+explained in the <a href="processes.html">Processes</a> section.</p>
+
+<p>Detailed instructions for your source code control environment are beyond
+the scope of this manual.  However, the following steps are followed when
+using a command-line CVS client:</p>
+<ul>
+<li>To refresh the state of your source code to that stored in the
+    the source repository, go to your project source directory, and
+    execute <code>cvs update -dP</code>.
+    <br><br></li>
+<li>When you create a new subdirectory in the source code hierarchy, register
+    it in CVS with a command like <code>cvs add {subdirname}</code>.
+    <br><br></li>
+<li>When you first create a new source code file, navigate to the directory
+    that contains it, and register the new file with a command like
+    <code>cvs add {filename}</code>.
+    <br><br></li>
+<li>If you no longer need a particular source code file, navigate to the
+    containing directory and remove the file.  Then, deregister it in CVS
+    with a command like <code>cvs remove {filename}</code>.
+    <br><br></li>
+<li>While you are creating, modifying, and deleting source files, changes
+    are not yet reflected in the server repository.  To save your changes in
+    their current state, go to the project source directory
+    and execute <code>cvs commit</code>.  You will be asked to write a brief
+    description of the changes you have just completed, which will be stored
+    with the new version of any updated source file.</li>
+</ul>
+
+<p>CVS, like other source code control systems, has many additional features
+(such as the ability to tag the files that made up a particular release, and
+support for multiple development branches that can later be merged).  See the
+links and references in the <a href="introduction.html">Introduction</a> for
+more information.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="BUILD.XML Configuration File"><strong>BUILD.XML Configuration File</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>We will be using the <strong>ant</strong> tool to manage the compilation of
+our Java source code files, and creation of the deployment hierarchy.  Ant
+operates under the control of a build file, normally called
+<code>build.xml</code>, that defines the processing steps required.  This
+file is stored in the top-level directory of your source code hierarchy, and
+should be checked in to your source code control system.</p>
+
+<p>Like a Makefile, the <code>build.xml</code> file provides several
+"targets" that support optional development activities (such as creating
+the associated Javadoc documentation, erasing the deployment home directory
+so you can build your project from scratch, or creating the web application
+archive file so you can distribute your application.  A well-constructed
+<code>build.xml</code> file will contain internal documentation describing
+the targets that are designed for use by the developer, versus those targets
+used internally.  To ask Ant to display the project documentation, change to
+the directory containing the <code>build.xml</code> flie and type:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+ant -projecthelp
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+<p>To give you a head start, a <a href="build.xml.txt">basic build.xml file</a>
+is provided that you can customize and install in the project source directory
+for your application.  This file includes comments that describe the various
+targets that can be executed.  Briefly, the following targets are generally
+provided:</p>
+<ul>
+<li><strong>clean</strong> - This target deletes any existing
+    <code>build</code> and <code>dist</code> directories, so that they
+    can be reconstructed from scratch.  This allows you to guarantee that
+    you have not made source code modifications that will result in
+    problems at runtime due to not recompiling all affected classes.
+    <br><br></li>
+<li><strong>compile</strong> - This target is used to compile any source code
+    that has been changed since the last time compilation took place.  The
+    resulting class files are created in the <code>WEB-INF/classes</code>
+    subdirectory of your <code>build</code> directory, exactly where the
+    structure of a web application requires them to be.  Because
+    this command is executed so often during development, it is normally
+    made the "default" target so that a simple <code>ant</code> command will
+    execute it.
+    <br><br></li>
+<li><strong>all</strong> - This target is a short cut for running the
+    <code>clean</code> target, followed by the <code>compile</code> target.
+    Thus, it guarantees that you will recompile the entire application, to
+    ensure that you have not unknowingly introduced any incompatible changes.
+    <br><br></li>
+<li><strong>javadoc</strong> - This target creates Javadoc API documentation
+    for the Java classes in this web application.  The example
+    <code>build.xml</code> file assumes you want to include the API
+    documentation with your app distribution, so it generates the docs
+    in a subdirectory of the <code>dist</code> directory.  Because you normally
+    do not need to generate the Javadocs on every compilation, this target is
+    usually a dependency of the <code>dist</code> target, but not of the
+    <code>compile</code> target.
+    <br><br></li>
+<li><strong>dist</strong> - This target creates a distribution directory for
+    your application, including any required documentation, the Javadocs for
+    your Java classes, and a web application archive (WAR) file that will be
+    delivered to system administrators who wish to install your application.
+    Because this target also depends on the <code>deploy</code> target, the
+    web application archive will have also picked up any external dependencies
+    that were included at deployment time.</li>
+</ul>
+
+<p>For interactive development and testing of your web application using
+Tomcat 6, the following additional targets are defined:</p>
+<ul>
+<li><strong>install</strong> - Tell the currently running Tomcat 6 to make
+    the application you are developing immediately available for execution
+    and testing.  This action does not require Tomcat 6 to be restarted, but
+    it is also not remembered after Tomcat is restarted the next time.
+    <br><br></li>
+<li><strong>reload</strong> - Once the application is installed, you can
+    continue to make changes and recompile using the <code>compile</code>
+    target.  Tomcat 6 will automatically recognize changes made to JSP pages,
+    but not to servlet or JavaBean classes - this command will tell Tomcat
+    to restart the currently installed application so that such changes are
+    recognized.
+    <br><br></li>
+<li><strong>remove</strong> - When you have completed your development and
+    testing activities, you can optionally tell Tomcat 6 to remove this
+    application from service.
+    </li>
+</ul>
+
+<p>Using the development and testing targets requires some additional
+one-time setup that is described on the next page.</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/appdev/processes.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/appdev/processes.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/appdev/processes.html	(revision 66)
@@ -0,0 +1,285 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Application Developer's Guide - Development Processes</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li></ul><p><strong>Contents</strong></p><ul><li><a href="index.html">Contents</a></li><li><a href="introduction.html">Introduction</a></li><li><a href="installation.html">Installation</a></li><li><a href="deployment.html">Deployment</a></li><li><a href="source.html">Source Code</a></li><li><a href="processes.html">Processes</a></li><li><a href="sample/">Example App</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Application Developer's Guide</h1><h2>Development Processes</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/processes.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Development Processes"><strong>Development Processes</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Although application development can take many forms, this manual proposes
+a fairly generic process for creating web applications using Tomcat.  The
+following sections highlight the commands and tasks that you, as the developer
+of the code, will perform.  The same basic approach works when you have
+multiple programmers involved, as long as you have an appropriate source code
+control system and internal team rules about who is working on what parts
+of the application at any given time.</p>
+
+<p>The task descriptions below assume that you will be using CVS for source
+code control, and that you have already configured access to the appropriate
+CVS repository.  Instructions for doing this are beyond the scope of this
+manual.  If you are using a different source code control environment, you
+will need to figure out the corresponding commands for your system.</p>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="One-Time Setup of Ant and Tomcat for Development"><strong>One-Time Setup of Ant and Tomcat for Development</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>In order to take advantage of the special Ant tasks that interact with the
+<em>Manager</em> web application, you need to perform the following tasks
+once (no matter how many web applications you plan to develop).</p>
+<ul>
+<li><em>Configure the Ant custom tasks</em>.  The implementation code for the
+    Ant custom tasks is in a JAR file named
+    <code>$CATALINA_HOME/lib/catalina-ant.jar</code>, which must be
+    copied in to the <code>lib</code> directory of your Ant installation.
+    <br><br></li>
+<li><em>Define one or more Tomcat users</em>.  The <em>Manager</em> web
+    application runs under a security constraint that requires a user to be
+    logged in, and have the security role <code>manager</code> assigned to
+    him or her.  How such users are defined depends on which Realm you have
+    configured in Tomcat's <code>conf/server.xml</code> file -- see the
+    <a href="../realm-howto.html">Realm Configuration HOW-TO</a> for more
+    information.  You may define any number of users (with any username
+    and password that you like) with the <code>manager</code> role.
+    <br><br></li>
+</ul>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Create Project Source Code Directory"><strong>Create Project Source Code Directory</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The first step is to create a new project source directory, and customize
+the <code>build.xml</code> and <code>build.properties</code> files you will
+be using.  The directory structure is described in <a href="source.html">the
+previous section</a>, or you can use the
+<a href="sample/">sample application</a> as a starting point.</p>
+
+<p>Create your project source directory, and define it within your CVS
+repository.  This might be done by a series of commands like this, where
+<code>{project}</code> is the name under which your project should be
+stored in the CVS repository, and {username} is your login username:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+cd {my home directory}
+mkdir myapp	&lt;-- Assumed "project source directory"
+cd myapp
+mkdir docs
+mkdir src
+mkdir web
+mkdir web/WEB-INF
+cvs import -m "Initial Project Creation" {project} \
+	{username} start
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+<p>Now, to verify that it was created correctly in CVS, we will perform a
+checkout of the new project:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+cd ..
+mv myapp myapp.bu
+cvs checkout {project}
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+<p>Next, you will need to create and check in an initial version of the
+<code>build.xml</code> script to be used for development.  For getting
+started quickly and easily, base your <code>build.xml</code> on the
+<a href="build.xml.txt">basic build.xml file</a>, included with this manual,
+or code it from scratch.</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+cd {my home directory}
+cd myapp
+emacs build.xml		&lt;-- if you want a real editor :-)
+cvs add build.xml
+cvs commit
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+<p>Until you perform the CVS commit, your changes are local to your own
+development directory.  Committing makes those changes visible to other
+developers on your team that are sharing the same CVS repository.</p>
+
+<p>The next step is to customize the Ant <em>properties</em> that are
+named in the <code>build.xml</code> script.  This is done by creating a
+file named <code>build.properties</code> in your project's top-level
+directory.  The supported properties are listed in the comments inside
+the sample <code>build.xml</code> script.  At a minimum, you will generally
+need to define the <code>catalina.home</code> property defining where
+Tomcat 6 is installed, and the manager application username and password.
+You might end up with something like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+# Context path to install this application on
+app.path=/hello
+
+# Tomcat 6 installation directory
+catalina.home=/usr/local/apache-tomcat-6.0
+
+# Manager webapp username and password
+manager.username=myusername
+manager.password=mypassword
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+<p>In general, you will <strong>not</strong> want to check the
+<code>build.properties</code> file in to the CVS repository, because it
+is unique to each developer's environment.</p>
+
+<p>Now, create the initial version of the web application deployment
+descriptor.  You can base <code>web.xml</code> on the
+<a href="web.xml.txt">basic web.xml file</a>, or code it from scratch.</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+cd {my home directory}
+cd myapp/web/WEB-INF
+emacs web.xml
+cvs add web.xml
+cvs commit
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+Note that this is only an example web.xml file.  The full definition
+of the deployment descriptor file is in the
+<a href="http://java.sun.com/products/servlet">Servlet Specification.</a>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Edit Source Code and Pages"><strong>Edit Source Code and Pages</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The edit/build/test tasks will generally be your most common activities
+during development and maintenance.  The following general principles apply.
+As described in <a href="source.html">Source Organization</a>, newly created
+source files should be located in the appropriate subdirectory, under your
+project source directory.</p>
+
+<p>Whenever you wish to refresh your development directory to reflect the
+work performed by other developers, you will ask CVS to do it for you:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+cd {my home directory}
+cd myapp
+cvs update -dP
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+<p>To create a new file, go to the appropriate directory, create the file,
+and register it with CVS.  When you are satisfied with it's contents (after
+building and testing is successful), commit the new file to the repository.
+For example, to create a new JSP page:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+cd {my home directory}
+cd myapp/web		&lt;-- Ultimate destination is document root
+emacs mypage.jsp
+cvs add mypage.jsp
+... build and test the application ...
+cvs commit
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+<p>Java source code that is defined in packages must be organized in a
+directory hierarchy (under the <strong>src/</strong> subdirectory) that
+matches the package names.  For example, a Java class named
+<code>com.mycompany.mypackage.MyClass.java</code> should be stored in file
+<code>src/com/mycompany/mypackage/MyClass.java</code>.
+Whenever you create a new subdirectory, don't forget to
+register it with CVS.</p>
+
+<p>To edit an existing source file, you will generally just start editing
+and testing, then commit the changed file when everything works.  Although
+CVS can be configured to required you to "check out" or "lock" a file you
+are going to be modifying, this is generally not used.</p>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Build the Web Application"><strong>Build the Web Application</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>When you are ready to compile the application, issue the following
+commands (generally, you will want a shell window open that is set to
+the project source directory, so that only the last command is needed):</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+cd {my home directory}
+cd myapp		&lt;-- Normally leave a window open here
+ant
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+<p>The Ant tool will be execute the default "compile" target in your
+<code>build.xml</code> file, which will compile any new or updated Java
+code.  If this is the first time you compile after a "build clean",
+it will cause everything to be recompiled.</p>
+
+<p>To force the recompilation of your entire application, do this instead:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+cd {my home directory}
+cd myapp
+ant all
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+<p>This is a very good habit immediately before checking in changes, to
+make sure that you have not introduced any subtle problems that Javac's
+conditional checking did not catch.</p>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Test Your Web Application"><strong>Test Your Web Application</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>To test your application, you will want to install it under Tomcat.  The
+quickest way to do that is to use the custom Ant tasks that are included in
+the sample <code>build.xml</code> script.  Using these commands might follow
+a pattern like this:</p>
+<ul>
+<li><em>Start Tomcat 6 if needed</em>.  If Tomcat 6 is not already running,
+    you will need to start it in the usual way.
+    <br><br></li>
+<li><em>Compile your application</em>.  Use the <code>ant compile</code>
+    command (or just <code>ant</code>, since this is the default).  Make
+    sure that there are no compilation errors.
+    <br><br></li>
+<li><em>Install the application</em>.  Use the <code>ant install</code>
+    command.  This tells Tomcat to immediately start running your app on
+    the context path defined in the <code>app.path</code> build property.
+    Tomcat does <strong>NOT</strong> have to be restarted for this to
+    take effect.<br><br></li>
+<li><em>Test the application</em>.  Using your browser or other testing
+    tools, test the functionality of your application.
+    <br><br></li>
+<li><em>Modify and rebuild as needed</em>.  As you discover that changes
+    are required, make those changes in the original <strong>source</strong>
+    files, not in the output build directory, and re-issue the
+    <code>ant compile</code> command.  This ensures that your changes will
+    be available to be saved (via <code>cvs commit</code>) later on --
+    the output build directory is deleted and recreated as necessary.
+    <br><br></li>
+<li><em>Reload the application</em>.  Tomcat will recognize changes in
+    JSP pages automatically, but it will continue to use the old versions
+    of any servlet or JavaBean classes until the application is reloaded.
+    You can trigger this by executing the <code>ant reload</code> command.
+    <br><br></li>
+<li><em>Remove the application when you re done</em>.  When you are through
+    working on this application, you can remove it from live execution by
+    running the <code>ant remove</code> command.</li>
+</ul>
+
+<p>Do not forget to commit your changes to the source code repository when
+you have completed your testing!</p>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Creating a Release"><strong>Creating a Release</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>When you are through adding new functionality, and you've tested everything
+(you DO test, don't you :-), it is time to create the distributable version
+of your web application that can be deployed on the production server.  The
+following general steps are required:</p>
+<ul>
+<li>Issue the command <code>ant all</code> from the project source
+    directory, to rebuild everything from scratch one last time.
+    <br><br></li>
+<li>Use the <code>cvs tag</code> command to create an identifier for
+    all of the source files utilized to create this release.  This allows
+    you to reliably reconstruct a release (from sources) at a later
+    time.</li>
+<li>Issue the command <code>ant dist</code> to create a distributable
+    web application archive (WAR) file, as well as a JAR file containing
+    the corresponding source code.
+    <br><br></li>
+<li>Package the contents of the <code>dist</code> directory using the
+    <strong>tar</strong> or <strong>zip</strong> utility, according to
+    the standard release procedures used by your organization.</li>
+</ul>
+
+</blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/appdev/sample/build.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/appdev/sample/build.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/appdev/sample/build.xml	(revision 66)
@@ -0,0 +1,514 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!--
+     General purpose build script for web applications and web services,
+     including enhanced support for deploying directly to a Tomcat 6
+     based server.
+
+     This build script assumes that the source code of your web application
+     is organized into the following subdirectories underneath the source
+     code directory from which you execute the build script:
+
+        docs                 Static documentation files to be copied to
+                             the "docs" subdirectory of your distribution.
+
+        src                  Java source code (and associated resource files)
+                             to be compiled to the "WEB-INF/classes"
+                             subdirectory of your web applicaiton.
+
+        web                  Static HTML, JSP, and other content (such as
+                             image files), including the WEB-INF subdirectory
+                             and its configuration file contents.
+
+     $Id: build.xml.txt 562814 2007-08-05 03:52:04Z markt $
+-->
+
+
+<!-- A "project" describes a set of targets that may be requested
+     when Ant is executed.  The "default" attribute defines the
+     target which is executed if no specific target is requested,
+     and the "basedir" attribute defines the current working directory
+     from which Ant executes the requested task.  This is normally
+     set to the current working directory.
+-->
+
+<project name="My Project" default="compile" basedir=".">
+
+
+
+<!-- ===================== Property Definitions =========================== -->
+
+
+<!--
+
+  Each of the following properties are used in the build script.
+  Values for these properties are set by the first place they are
+  defined, from the following list:
+
+  * Definitions on the "ant" command line (ant -Dfoo=bar compile).
+
+  * Definitions from a "build.properties" file in the top level
+    source directory of this application.
+
+  * Definitions from a "build.properties" file in the developer's
+    home directory.
+
+  * Default definitions in this build.xml file.
+
+  You will note below that property values can be composed based on the
+  contents of previously defined properties.  This is a powerful technique
+  that helps you minimize the number of changes required when your development
+  environment is modified.  Note that property composition is allowed within
+  "build.properties" files as well as in the "build.xml" script.
+
+-->
+
+  <property file="build.properties"/>
+  <property file="${user.home}/build.properties"/>
+
+
+<!-- ==================== File and Directory Names ======================== -->
+
+
+<!--
+
+  These properties generally define file and directory names (or paths) that
+  affect where the build process stores its outputs.
+
+  app.name             Base name of this application, used to
+                       construct filenames and directories.
+                       Defaults to "myapp".
+
+  app.path             Context path to which this application should be
+                       deployed (defaults to "/" plus the value of the
+                       "app.name" property).
+
+  app.version          Version number of this iteration of the application.
+
+  build.home           The directory into which the "prepare" and
+                       "compile" targets will generate their output.
+                       Defaults to "build".
+
+  catalina.home        The directory in which you have installed
+                       a binary distribution of Tomcat 6.  This will
+                       be used by the "deploy" target.
+
+  dist.home            The name of the base directory in which
+                       distribution files are created.
+                       Defaults to "dist".
+
+  manager.password     The login password of a user that is assigned the
+                       "manager" role (so that he or she can execute
+                       commands via the "/manager" web application)
+
+  manager.url          The URL of the "/manager" web application on the
+                       Tomcat installation to which we will deploy web
+                       applications and web services.
+
+  manager.username     The login username of a user that is assigned the
+                       "manager" role (so that he or she can execute
+                       commands via the "/manager" web application)
+
+-->
+
+  <property name="app.name"      value="myapp"/>
+  <property name="app.path"      value="/${app.name}"/>
+  <property name="app.version"   value="0.1-dev"/>
+  <property name="build.home"    value="${basedir}/build"/>
+  <property name="catalina.home" value="../../../.."/> <!-- UPDATE THIS! -->
+  <property name="dist.home"     value="${basedir}/dist"/>
+  <property name="docs.home"     value="${basedir}/docs"/>
+  <property name="manager.url"   value="http://localhost:8080/manager"/>
+  <property name="src.home"      value="${basedir}/src"/>
+  <property name="web.home"      value="${basedir}/web"/>
+
+
+<!-- ==================== External Dependencies =========================== -->
+
+
+<!--
+
+  Use property values to define the locations of external JAR files on which
+  your application will depend.  In general, these values will be used for
+  two purposes:
+  * Inclusion on the classpath that is passed to the Javac compiler
+  * Being copied into the "/WEB-INF/lib" directory during execution
+    of the "deploy" target.
+
+  Because we will automatically include all of the Java classes that Tomcat 6
+  exposes to web applications, we will not need to explicitly list any of those
+  dependencies.  You only need to worry about external dependencies for JAR
+  files that you are going to include inside your "/WEB-INF/lib" directory.
+
+-->
+
+<!-- Dummy external dependency -->
+<!--
+  <property name="foo.jar"
+           value="/path/to/foo.jar"/>
+-->
+
+
+<!-- ==================== Compilation Classpath =========================== -->
+
+<!--
+
+  Rather than relying on the CLASSPATH environment variable, Ant includes
+  features that makes it easy to dynamically construct the classpath you
+  need for each compilation.  The example below constructs the compile
+  classpath to include the servlet.jar file, as well as the other components
+  that Tomcat makes available to web applications automatically, plus anything
+  that you explicitly added.
+
+-->
+
+  <path id="compile.classpath">
+
+    <!-- Include all JAR files that will be included in /WEB-INF/lib -->
+    <!-- *** CUSTOMIZE HERE AS REQUIRED BY YOUR APPLICATION *** -->
+<!--
+    <pathelement location="${foo.jar}"/>
+-->
+
+    <!-- Include all elements that Tomcat exposes to applications -->
+    <fileset dir="${catalina.home}/bin">
+      <include name="*.jar"/>
+    </fileset>
+    <pathelement location="${catalina.home}/lib"/>
+    <fileset dir="${catalina.home}/lib">
+      <include name="*.jar"/>
+    </fileset>
+
+  </path>
+
+
+
+<!-- ================== Custom Ant Task Definitions ======================= -->
+
+
+<!--
+
+  These properties define custom tasks for the Ant build tool that interact
+  with the "/manager" web application installed with Tomcat 6.  Before they
+  can be successfully utilized, you must perform the following steps:
+
+  - Copy the file "lib/catalina-ant.jar" from your Tomcat 6
+    installation into the "lib" directory of your Ant installation.
+
+  - Create a "build.properties" file in your application's top-level
+    source directory (or your user login home directory) that defines
+    appropriate values for the "manager.password", "manager.url", and
+    "manager.username" properties described above.
+
+  For more information about the Manager web application, and the functionality
+  of these tasks, see <http://localhost:8080/tomcat-docs/manager-howto.html>.
+
+-->
+
+  <taskdef resource="org/apache/catalina/ant/catalina.tasks"
+           classpathref="compile.classpath"/>
+
+
+<!--  ==================== Compilation Control Options ==================== -->
+
+<!--
+
+  These properties control option settings on the Javac compiler when it
+  is invoked using the <javac> task.
+
+  compile.debug        Should compilation include the debug option?
+
+  compile.deprecation  Should compilation include the deprecation option?
+
+  compile.optimize     Should compilation include the optimize option?
+
+-->
+
+  <property name="compile.debug"       value="true"/>
+  <property name="compile.deprecation" value="false"/>
+  <property name="compile.optimize"    value="true"/>
+
+
+
+<!-- ==================== All Target ====================================== -->
+
+<!--
+
+  The "all" target is a shortcut for running the "clean" target followed
+  by the "compile" target, to force a complete recompile.
+
+-->
+
+  <target name="all" depends="clean,compile"
+   description="Clean build and dist directories, then compile"/>
+
+
+
+<!-- ==================== Clean Target ==================================== -->
+
+<!--
+
+  The "clean" target deletes any previous "build" and "dist" directory,
+  so that you can be ensured the application can be built from scratch.
+
+-->
+
+  <target name="clean"
+   description="Delete old build and dist directories">
+    <delete dir="${build.home}"/>
+    <delete dir="${dist.home}"/>
+  </target>
+
+
+
+<!-- ==================== Compile Target ================================== -->
+
+<!--
+
+  The "compile" target transforms source files (from your "src" directory)
+  into object files in the appropriate location in the build directory.
+  This example assumes that you will be including your classes in an
+  unpacked directory hierarchy under "/WEB-INF/classes".
+
+-->
+
+  <target name="compile" depends="prepare"
+   description="Compile Java sources">
+
+    <!-- Compile Java classes as necessary -->
+    <mkdir    dir="${build.home}/WEB-INF/classes"/>
+    <javac srcdir="${src.home}"
+          destdir="${build.home}/WEB-INF/classes"
+            debug="${compile.debug}"
+      deprecation="${compile.deprecation}"
+         optimize="${compile.optimize}">
+        <classpath refid="compile.classpath"/>
+    </javac>
+
+    <!-- Copy application resources -->
+    <copy  todir="${build.home}/WEB-INF/classes">
+      <fileset dir="${src.home}" excludes="**/*.java"/>
+    </copy>
+
+  </target>
+
+
+
+<!-- ==================== Dist Target ===================================== -->
+
+
+<!--
+
+  The "dist" target creates a binary distribution of your application
+  in a directory structure ready to be archived in a tar.gz or zip file.
+  Note that this target depends on two others:
+
+  * "compile" so that the entire web application (including external
+    dependencies) will have been assembled
+
+  * "javadoc" so that the application Javadocs will have been created
+
+-->
+
+  <target name="dist" depends="compile,javadoc"
+   description="Create binary distribution">
+
+    <!-- Copy documentation subdirectories -->
+    <mkdir   dir="${dist.home}/docs"/>
+    <copy    todir="${dist.home}/docs">
+      <fileset dir="${docs.home}"/>
+    </copy>
+
+    <!-- Create application JAR file -->
+    <jar jarfile="${dist.home}/${app.name}-${app.version}.war"
+         basedir="${build.home}"/>
+
+    <!-- Copy additional files to ${dist.home} as necessary -->
+
+  </target>
+
+
+
+<!-- ==================== Install Target ================================== -->
+
+<!--
+
+  The "install" target tells the specified Tomcat 6 installation to dynamically
+  install this web application and make it available for execution.  It does
+  *not* cause the existence of this web application to be remembered across
+  Tomcat restarts; if you restart the server, you will need to re-install all
+  this web application.
+
+  If you have already installed this application, and simply want Tomcat to
+  recognize that you have updated Java classes (or the web.xml file), use the
+  "reload" target instead.
+
+  NOTE:  This target will only succeed if it is run from the same server that
+  Tomcat is running on.
+
+  NOTE:  This is the logical opposite of the "remove" target.
+
+-->
+
+  <target name="install" depends="compile"
+   description="Install application to servlet container">
+
+    <deploy url="${manager.url}"
+       username="${manager.username}"
+       password="${manager.password}"
+           path="${app.path}"
+       localWar="file://${build.home}"/>
+
+  </target>
+
+
+<!-- ==================== Javadoc Target ================================== -->
+
+<!--
+
+  The "javadoc" target creates Javadoc API documentation for the Java
+  classes included in your application.  Normally, this is only required
+  when preparing a distribution release, but is available as a separate
+  target in case the developer wants to create Javadocs independently.
+
+-->
+
+  <target name="javadoc" depends="compile"
+   description="Create Javadoc API documentation">
+
+    <mkdir          dir="${dist.home}/docs/api"/>
+    <javadoc sourcepath="${src.home}"
+                destdir="${dist.home}/docs/api"
+           packagenames="*">
+      <classpath refid="compile.classpath"/>
+    </javadoc>
+
+  </target>
+
+
+
+<!-- ====================== List Target =================================== -->
+
+<!--
+
+  The "list" target asks the specified Tomcat 6 installation to list the
+  currently running web applications, either loaded at startup time or
+  installed dynamically.  It is useful to determine whether or not the
+  application you are currently developing has been installed.
+
+-->
+
+  <target name="list"
+   description="List installed applications on servlet container">
+
+    <list    url="${manager.url}"
+        username="${manager.username}"
+        password="${manager.password}"/>
+
+  </target>
+
+
+<!-- ==================== Prepare Target ================================== -->
+
+<!--
+
+  The "prepare" target is used to create the "build" destination directory,
+  and copy the static contents of your web application to it.  If you need
+  to copy static files from external dependencies, you can customize the
+  contents of this task.
+
+  Normally, this task is executed indirectly when needed.
+
+-->
+
+  <target name="prepare">
+
+    <!-- Create build directories as needed -->
+    <mkdir  dir="${build.home}"/>
+    <mkdir  dir="${build.home}/WEB-INF"/>
+    <mkdir  dir="${build.home}/WEB-INF/classes"/>
+
+
+    <!-- Copy static content of this web application -->
+    <copy todir="${build.home}">
+      <fileset dir="${web.home}"/>
+    </copy>
+
+    <!-- Copy external dependencies as required -->
+    <!-- *** CUSTOMIZE HERE AS REQUIRED BY YOUR APPLICATION *** -->
+    <mkdir  dir="${build.home}/WEB-INF/lib"/>
+<!--
+    <copy todir="${build.home}/WEB-INF/lib" file="${foo.jar}"/>
+-->
+
+    <!-- Copy static files from external dependencies as needed -->
+    <!-- *** CUSTOMIZE HERE AS REQUIRED BY YOUR APPLICATION *** -->
+
+  </target>
+
+
+<!-- ==================== Reload Target =================================== -->
+
+<!--
+
+  The "reload" signals the specified application Tomcat 6 to shut itself down
+  and reload. This can be useful when the web application context is not
+  reloadable and you have updated classes or property files in the
+  /WEB-INF/classes directory or when you have added or updated jar files in the
+  /WEB-INF/lib directory.
+
+  NOTE: The /WEB-INF/web.xml web application configuration file is not reread
+  on a reload. If you have made changes to your web.xml file you must stop
+  then start the web application. 
+
+-->
+
+  <target name="reload" depends="compile"
+   description="Reload application on servlet container">
+
+    <reload url="${manager.url}"
+       username="${manager.username}"
+       password="${manager.password}"
+           path="${app.path}"/>
+
+  </target>
+
+
+<!-- ==================== Remove Target =================================== -->
+
+<!--
+
+  The "remove" target tells the specified Tomcat 6 installation to dynamically
+  remove this web application from service.
+
+  NOTE:  This is the logical opposite of the "install" target.
+
+-->
+
+  <target name="remove"
+   description="Remove application on servlet container">
+
+    <undeploy url="${manager.url}"
+         username="${manager.username}"
+         password="${manager.password}"
+             path="${app.path}"/>
+
+  </target>
+
+
+</project>
Index: /nutchez-0.1/tomcat/webapps/docs/appdev/sample/docs/README.txt
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/appdev/sample/docs/README.txt	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/appdev/sample/docs/README.txt	(revision 66)
@@ -0,0 +1,17 @@
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+This is a dummy README file for the sample
+web application.
Index: /nutchez-0.1/tomcat/webapps/docs/appdev/sample/index.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/appdev/sample/index.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/appdev/sample/index.html	(revision 66)
@@ -0,0 +1,46 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<html>
+<head>
+<meta name="author" content="Ben Souther" />
+<title>Sample Application</title>
+</head>
+<body>
+<h2>Sample Application</h2>
+      <p> 
+        The example app has been packaged as a war file and can be downloaded 
+        <a href="sample.war">here</a> (Note: make sure your browser doesn't 
+        change file extension or append a new one).
+      </p>
+      <p> 
+        The easiest way to run this application is simply to move the war file 
+        to your <b>CATALINA_HOME/webapps</b> directory. Tomcat will automatically 
+        expand and deploy the application for you. You can view it with the 
+        following URL (assuming that you're running tomcat on port 8080 
+        as is the default):
+        <br />
+        <a href="http://localhost:8080/sample">http://localhost:8080/sample</a>
+      </p>
+      <p>
+        If you just want to browse the contents, you can unpack the war file 
+        with the <b>jar</b> command.
+        <source>
+          jar -xvf sample.war
+        </source>
+      </p>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/docs/appdev/sample/src/mypackage/Hello.java
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/appdev/sample/src/mypackage/Hello.java	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/appdev/sample/src/mypackage/Hello.java	(revision 66)
@@ -0,0 +1,83 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package mypackage;
+
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.util.Enumeration;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+
+/**
+ * Simple servlet to validate that the Hello, World example can
+ * execute servlets.  In the web application deployment descriptor,
+ * this servlet must be mapped to correspond to the link in the
+ * "index.html" file.
+ *
+ * @author Craig R. McClanahan <Craig.McClanahan@eng.sun.com>
+ */
+
+public final class Hello extends HttpServlet {
+
+
+    /**
+     * Respond to a GET request for the content produced by
+     * this servlet.
+     *
+     * @param request The servlet request we are processing
+     * @param response The servlet response we are producing
+     *
+     * @exception IOException if an input/output error occurs
+     * @exception ServletException if a servlet error occurs
+     */
+    public void doGet(HttpServletRequest request,
+                      HttpServletResponse response)
+      throws IOException, ServletException {
+
+	response.setContentType("text/html");
+	PrintWriter writer = response.getWriter();
+
+	writer.println("<html>");
+	writer.println("<head>");
+	writer.println("<title>Sample Application Servlet Page</title>");
+	writer.println("</head>");
+	writer.println("<body bgcolor=white>");
+
+	writer.println("<table border=\"0\">");
+	writer.println("<tr>");
+	writer.println("<td>");
+	writer.println("<img src=\"images/tomcat.gif\">");
+	writer.println("</td>");
+	writer.println("<td>");
+	writer.println("<h1>Sample Application Servlet</h1>");
+	writer.println("This is the output of a servlet that is part of");
+	writer.println("the Hello, World application.");
+	writer.println("</td>");
+	writer.println("</tr>");
+	writer.println("</table>");
+
+	writer.println("</body>");
+	writer.println("</html>");
+
+    }
+
+
+}
Index: /nutchez-0.1/tomcat/webapps/docs/appdev/sample/web/WEB-INF/web.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/appdev/sample/web/WEB-INF/web.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/appdev/sample/web/WEB-INF/web.xml	(revision 66)
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
+    version="2.4">
+
+    <display-name>Hello, World Application</display-name>
+    <description>
+	This is a simple web application with a source code organization
+	based on the recommendations of the Application Developer's Guide.
+    </description>
+
+    <servlet>
+        <servlet-name>HelloServlet</servlet-name>
+        <servlet-class>mypackage.Hello</servlet-class>
+    </servlet>
+
+    <servlet-mapping>
+        <servlet-name>HelloServlet</servlet-name>
+        <url-pattern>/hello</url-pattern>
+    </servlet-mapping>
+
+</web-app>
Index: /nutchez-0.1/tomcat/webapps/docs/appdev/sample/web/hello.jsp
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/appdev/sample/web/hello.jsp	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/appdev/sample/web/hello.jsp	(revision 66)
@@ -0,0 +1,39 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<html>
+<head>
+<title>Sample Application JSP Page</title>
+</head>
+<body bgcolor=white>
+
+<table border="0">
+<tr>
+<td align=center>
+<img src="images/tomcat.gif">
+</td>
+<td>
+<h1>Sample Application JSP Page</h1>
+This is the output of a JSP page that is part of the Hello, World
+application.
+</td>
+</tr>
+</table>
+
+<%= new String("Hello!") %>
+
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/docs/appdev/sample/web/index.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/appdev/sample/web/index.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/appdev/sample/web/index.html	(revision 66)
@@ -0,0 +1,44 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<html>
+<head>
+<title>Sample "Hello, World" Application</title>
+</head>
+<body bgcolor=white>
+
+<table border="0">
+<tr>
+<td>
+<img src="images/tomcat.gif">
+</td>
+<td>
+<h1>Sample "Hello, World" Application</h1>
+<p>This is the home page for a sample application used to illustrate the
+source directory organization of a web application utilizing the principles
+outlined in the Application Developer's Guide.
+</td>
+</tr>
+</table>
+
+<p>To prove that they work, you can execute either of the following links:
+<ul>
+<li>To a <a href="hello.jsp">JSP page</a>.
+<li>To a <a href="hello">servlet</a>.
+</ul>
+
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/docs/appdev/source.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/appdev/source.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/appdev/source.html	(revision 66)
@@ -0,0 +1,283 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Application Developer's Guide - Source Organization</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li></ul><p><strong>Contents</strong></p><ul><li><a href="index.html">Contents</a></li><li><a href="introduction.html">Introduction</a></li><li><a href="installation.html">Installation</a></li><li><a href="deployment.html">Deployment</a></li><li><a href="source.html">Source Code</a></li><li><a href="processes.html">Processes</a></li><li><a href="sample/">Example App</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Application Developer's Guide</h1><h2>Source Organization</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/source.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Directory Structure"><strong>Directory Structure</strong></a></font></td></tr><tr><td><blockquote>
+
+    <blockquote><em>
+    <p>The description below uses the variable name $CATALINA_BASE to refer the
+    base directory against which most relative paths are resolved. If you have
+    not configured Tomcat 6 for multiple instances by setting a CATALINA_BASE
+    directory, then $CATALINA_BASE will be set to the value of $CATALINA_HOME,
+    the directory into which you have installed Tomcat 6.</p>
+    </em></blockquote>
+
+<p>A key recommendation of this manual is to separate the directory
+hierarchy containing your source code (described in this section) from
+the directory hierarchy containing your deployable application
+(described in the preceding section).  Maintaining this separation has
+the following advantages:</p>
+<ul>
+<li>The contents of the source directories can be more easily administered,
+    moved, and backed up if the "executable" version of the application
+    is not intermixed.
+    <br><br></li>
+<li>Source code control is easier to manage on directories that contain
+    only source files.
+    <br><br></li>
+<li>The files that make up an installable distribution of your
+    application are much easier to select when the deployment
+    hierarchy is separate.</li>
+</ul>
+
+<p>As we will see, the <code>ant</code> development tool makes the creation
+and processing of such directory hierarchies nearly painless.</p>
+
+<p>The actual directory and file hierarchy used to contain the source code
+of an application can be pretty much anything you like.  However, the
+following organization has proven to be quite generally applicable, and is
+expected by the example <code>build.xml</code> configuration file that
+is discussed below.  All of these components exist under a top level
+<em>project source directory</em> for your application:</p>
+<ul>
+<li><strong>docs/</strong> - Documentation for your application, in whatever
+    format your development team is using.<br><br></li>
+<li><strong>src/</strong> - Java source files that generate the servlets,
+    beans, and other Java classes that are unique to your application.
+    If your source code is organized in packages (<strong>highly</strong>
+    recommended), the package hierarchy should be reflected as a directory
+    structure underneath this directory.<br><br></li>
+<li><strong>web/</strong> - The static content of your web site (HTML pages,
+    JSP pages, JavaScript files, CSS stylesheet files, and images) that will
+    be accessible to application clients.  This directory will be the
+    <em>document root</em> of your web application, and any subdirectory
+    structure found here will be reflected in the request URIs required to
+    access those files.<br><br></li>
+<li><strong>web/WEB-INF/</strong> - The special configuration files required
+    for your application, including the web application deployment descriptor
+    (<code>web.xml</code>, defined in the 
+    <a href="http://java.sun.com/products/servlet">Servlet Specification</a>), 
+    tag library descriptors for custom tag libraries
+    you have created, and other resource files you wish to include within
+    your web application.  Even though this directory appears to be a
+    subdirectory of your <em>document root</em>, the Servlet Specification
+    prohibits serving the contents of this directory (or any file it contains)
+    directly to a client request.  Therefore, this is a good place to store
+    configuration information that is sensitive (such as database connection
+    usernames and passwords), but is required for your application to
+    operate successfully.</li>
+</ul>
+
+<p>During the development process, two additional directories will be
+created on a temporary basis:</p>
+<ul>
+<li><strong>build/</strong> - When you execute a default build
+    (<code>ant</code>), this directory will contain an exact image
+    of the files in the web application archive for this application.
+    Tomcat 6 allows you to deploy an application in an unpacked
+    directory like this, either by copying it to the
+    <code>$CATALINA_BASE/webapps</code> directory, or by <em>installing</em>
+    it via the "Manager" web application.  The latter approach is very
+    useful during development, and will be illustrated below.
+    <br><br></li>
+<li><strong>dist/</strong> - When you execute the <code>ant dist</code>
+    target, this directory will be created.  It will create an exact image
+    of the binary distribution for your web application, including an license
+    information, documentation, and README files that you have prepared.</li>
+</ul>
+
+<p>Note that these two directories should <strong>NOT</strong> be archived in
+your source code control system, because they are deleted and recreated (from
+scratch) as needed during development.  For that reason, you should not edit
+any source files in these directories if you want to maintain a permanent
+record of the changes, because the changes will be lost the next time that a
+build is performed.</p>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="External Dependencies"><strong>External Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>What do you do if your application requires JAR files (or other
+  resources) from external projects or packages?  A common example is that
+  you need to include a JDBC driver in your web application, in order to
+  operate.</p>
+
+  <p>Different developers take different approaches to this problem.
+  Some will encourage checking a copy of the JAR files you depend on into
+  the source code control archives for every application that requires those
+  JAR files.  However, this can cause significant management issues when you
+  use the same JAR in many applications - particular when faced with a need
+  to upgrade to a different version of that JAR file.</p>
+
+  <p>Therefore, this manual recommends that you <strong>NOT</strong> store
+  a copy of the packages you depend on inside the source control archives
+  of your applications.  Instead, the external dependencies should be
+  integrated as part of the process of <strong>building</strong> your
+  application.  In that way, you can always pick up the appropriate version
+  of the JAR files from wherever your development system administrator has
+  installed them, without having to worry about updating your application
+  every time the version of the dependent JAR file is changed.</p>
+
+  <p>In the example Ant <code>build.xml</code> file, we will demonstrate
+  how to define <em>build properties</em> that let you configure the locations
+  of the files to be copied, without having to modify <code>build.xml</code>
+  when these files change.  The build properties used by a particular
+  developer can be customized on a per-application basis, or defaulted to
+  "standard" build properties stored in the developer's home directory.</p>
+
+  <p>In many cases, your development system administrator will have already
+  installed the required JAR files into Tomcat 6's <code>lib</code> directory.
+  If this has been done, you need
+  to take no actions at all - the example <code>build.xml</code> file
+  automatically constructs a compile classpath that includes these files.</p>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Source Code Control"><strong>Source Code Control</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>As mentioned earlier, it is highly recommended that you place all of the
+source files that comprise your application under the management of a
+source code control system like the Concurrent Version System (CVS).  If you
+elect to do this, every directory and file in the source hierarchy should be
+registered and saved -- but none of the generated files.  If you register
+binary format files (such as images or JAR libraries), be sure to indicate
+this to your source code control system.</p>
+
+<p>We recommended (in the previous section) that you should not store the
+contents of the <code>build/</code> and <code>dist/</code> directories
+created by your development process in the source code control system.  An
+easy way to tell CVS to ignore these directories is to create a file named
+<code>.cvsignore</code> (note the leading period) in your top-level source
+directory, with the following contents:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+build
+dist
+build.properties
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+<p>The reason for mentioning <code>build.properties</code> here will be
+explained in the <a href="processes.html">Processes</a> section.</p>
+
+<p>Detailed instructions for your source code control environment are beyond
+the scope of this manual.  However, the following steps are followed when
+using a command-line CVS client:</p>
+<ul>
+<li>To refresh the state of your source code to that stored in the
+    the source repository, go to your project source directory, and
+    execute <code>cvs update -dP</code>.
+    <br><br></li>
+<li>When you create a new subdirectory in the source code hierarchy, register
+    it in CVS with a command like <code>cvs add {subdirname}</code>.
+    <br><br></li>
+<li>When you first create a new source code file, navigate to the directory
+    that contains it, and register the new file with a command like
+    <code>cvs add {filename}</code>.
+    <br><br></li>
+<li>If you no longer need a particular source code file, navigate to the
+    containing directory and remove the file.  Then, deregister it in CVS
+    with a command like <code>cvs remove {filename}</code>.
+    <br><br></li>
+<li>While you are creating, modifying, and deleting source files, changes
+    are not yet reflected in the server repository.  To save your changes in
+    their current state, go to the project source directory
+    and execute <code>cvs commit</code>.  You will be asked to write a brief
+    description of the changes you have just completed, which will be stored
+    with the new version of any updated source file.</li>
+</ul>
+
+<p>CVS, like other source code control systems, has many additional features
+(such as the ability to tag the files that made up a particular release, and
+support for multiple development branches that can later be merged).  See the
+links and references in the <a href="introduction.html">Introduction</a> for
+more information.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="BUILD.XML Configuration File"><strong>BUILD.XML Configuration File</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>We will be using the <strong>ant</strong> tool to manage the compilation of
+our Java source code files, and creation of the deployment hierarchy.  Ant
+operates under the control of a build file, normally called
+<code>build.xml</code>, that defines the processing steps required.  This
+file is stored in the top-level directory of your source code hierarchy, and
+should be checked in to your source code control system.</p>
+
+<p>Like a Makefile, the <code>build.xml</code> file provides several
+"targets" that support optional development activities (such as creating
+the associated Javadoc documentation, erasing the deployment home directory
+so you can build your project from scratch, or creating the web application
+archive file so you can distribute your application.  A well-constructed
+<code>build.xml</code> file will contain internal documentation describing
+the targets that are designed for use by the developer, versus those targets
+used internally.  To ask Ant to display the project documentation, change to
+the directory containing the <code>build.xml</code> flie and type:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+ant -projecthelp
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+<p>To give you a head start, a <a href="build.xml.txt">basic build.xml file</a>
+is provided that you can customize and install in the project source directory
+for your application.  This file includes comments that describe the various
+targets that can be executed.  Briefly, the following targets are generally
+provided:</p>
+<ul>
+<li><strong>clean</strong> - This target deletes any existing
+    <code>build</code> and <code>dist</code> directories, so that they
+    can be reconstructed from scratch.  This allows you to guarantee that
+    you have not made source code modifications that will result in
+    problems at runtime due to not recompiling all affected classes.
+    <br><br></li>
+<li><strong>compile</strong> - This target is used to compile any source code
+    that has been changed since the last time compilation took place.  The
+    resulting class files are created in the <code>WEB-INF/classes</code>
+    subdirectory of your <code>build</code> directory, exactly where the
+    structure of a web application requires them to be.  Because
+    this command is executed so often during development, it is normally
+    made the "default" target so that a simple <code>ant</code> command will
+    execute it.
+    <br><br></li>
+<li><strong>all</strong> - This target is a short cut for running the
+    <code>clean</code> target, followed by the <code>compile</code> target.
+    Thus, it guarantees that you will recompile the entire application, to
+    ensure that you have not unknowingly introduced any incompatible changes.
+    <br><br></li>
+<li><strong>javadoc</strong> - This target creates Javadoc API documentation
+    for the Java classes in this web application.  The example
+    <code>build.xml</code> file assumes you want to include the API
+    documentation with your app distribution, so it generates the docs
+    in a subdirectory of the <code>dist</code> directory.  Because you normally
+    do not need to generate the Javadocs on every compilation, this target is
+    usually a dependency of the <code>dist</code> target, but not of the
+    <code>compile</code> target.
+    <br><br></li>
+<li><strong>dist</strong> - This target creates a distribution directory for
+    your application, including any required documentation, the Javadocs for
+    your Java classes, and a web application archive (WAR) file that will be
+    delivered to system administrators who wish to install your application.
+    Because this target also depends on the <code>deploy</code> target, the
+    web application archive will have also picked up any external dependencies
+    that were included at deployment time.</li>
+</ul>
+
+<p>For interactive development and testing of your web application using
+Tomcat 6, the following additional targets are defined:</p>
+<ul>
+<li><strong>install</strong> - Tell the currently running Tomcat 6 to make
+    the application you are developing immediately available for execution
+    and testing.  This action does not require Tomcat 6 to be restarted, but
+    it is also not remembered after Tomcat is restarted the next time.
+    <br><br></li>
+<li><strong>reload</strong> - Once the application is installed, you can
+    continue to make changes and recompile using the <code>compile</code>
+    target.  Tomcat 6 will automatically recognize changes made to JSP pages,
+    but not to servlet or JavaBean classes - this command will tell Tomcat
+    to restart the currently installed application so that such changes are
+    recognized.
+    <br><br></li>
+<li><strong>remove</strong> - When you have completed your development and
+    testing activities, you can optionally tell Tomcat 6 to remove this
+    application from service.
+    </li>
+</ul>
+
+<p>Using the development and testing targets requires some additional
+one-time setup that is described on the next page.</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/appdev/web.xml.txt
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/appdev/web.xml.txt	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/appdev/web.xml.txt	(revision 66)
@@ -0,0 +1,166 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!DOCTYPE web-app 
+    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 
+    "http://java.sun.com/dtd/web-app_2_3.dtd">
+
+<web-app>
+
+
+    <!-- General description of your web application -->
+
+    <display-name>My Web Application</display-name>
+    <description>
+      This is version X.X of an application to perform
+      a wild and wonderful task, based on servlets and
+      JSP pages.  It was written by Dave Developer
+      (dave@mycompany.com), who should be contacted for
+      more information.
+    </description>
+
+
+    <!-- Context initialization parameters that define shared
+         String constants used within your application, which
+         can be customized by the system administrator who is
+         installing your application.  The values actually
+         assigned to these parameters can be retrieved in a
+         servlet or JSP page by calling:
+
+             String value =
+               getServletContext().getInitParameter("name");
+
+         where "name" matches the <param-name> element of
+         one of these initialization parameters.
+
+         You can define any number of context initialization
+         parameters, including zero.
+    -->
+
+    <context-param>
+      <param-name>webmaster</param-name>
+      <param-value>myaddress@mycompany.com</param-value>
+      <description>
+        The EMAIL address of the administrator to whom questions
+        and comments about this application should be addressed.
+      </description>
+    </context-param>
+
+
+    <!-- Servlet definitions for the servlets that make up
+         your web application, including initialization
+         parameters.  With Tomcat, you can also send requests
+         to servlets not listed here with a request like this:
+
+           http://localhost:8080/{context-path}/servlet/{classname}
+
+         but this usage is not guaranteed to be portable.  It also
+         makes relative references to images and other resources
+         required by your servlet more complicated, so defining
+         all of your servlets (and defining a mapping to them with
+         a servlet-mapping element) is recommended.
+
+         Servlet initialization parameters can be retrieved in a
+         servlet or JSP page by calling:
+
+             String value =
+               getServletConfig().getInitParameter("name");
+
+         where "name" matches the <param-name> element of
+         one of these initialization parameters.
+
+         You can define any number of servlets, including zero.
+    -->
+
+    <servlet>
+      <servlet-name>controller</servlet-name>
+      <description>
+        This servlet plays the "controller" role in the MVC architecture
+        used in this application.  It is generally mapped to the ".do"
+        filename extension with a servlet-mapping element, and all form
+        submits in the app will be submitted to a request URI like
+        "saveCustomer.do", which will therefore be mapped to this servlet.
+
+        The initialization parameter namess for this servlet are the
+        "servlet path" that will be received by this servlet (after the
+        filename extension is removed).  The corresponding value is the
+        name of the action class that will be used to process this request.
+      </description>
+      <servlet-class>com.mycompany.mypackage.ControllerServlet</servlet-class>
+      <init-param>
+        <param-name>listOrders</param-name>
+        <param-value>com.mycompany.myactions.ListOrdersAction</param-value>
+      </init-param>
+      <init-param>
+        <param-name>saveCustomer</param-name>
+        <param-value>com.mycompany.myactions.SaveCustomerAction</param-value>
+      </init-param>
+      <!-- Load this servlet at server startup time -->
+      <load-on-startup>5</load-on-startup>
+    </servlet>
+
+    <servlet>
+      <servlet-name>graph</servlet-name>
+      <description>
+        This servlet produces GIF images that are dynamically generated
+        graphs, based on the input parameters included on the request.
+        It is generally mapped to a specific request URI like "/graph".
+      </description>
+    </servlet>
+
+
+    <!-- Define mappings that are used by the servlet container to
+         translate a particular request URI (context-relative) to a
+         particular servlet.  The examples below correspond to the
+         servlet descriptions above.  Thus, a request URI like:
+
+           http://localhost:8080/{contextpath}/graph
+
+         will be mapped to the "graph" servlet, while a request like:
+
+           http://localhost:8080/{contextpath}/saveCustomer.do
+
+         will be mapped to the "controller" servlet.
+
+         You may define any number of servlet mappings, including zero.
+         It is also legal to define more than one mapping for the same
+         servlet, if you wish to.
+    -->
+
+    <servlet-mapping>
+      <servlet-name>controller</servlet-name>
+      <url-pattern>*.do</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+      <servlet-name>graph</servlet-name>
+      <url-pattern>/graph</url-pattern>
+    </servlet-mapping>
+
+
+    <!-- Define the default session timeout for your application,
+         in minutes.  From a servlet or JSP page, you can modify
+         the timeout for a particular session dynamically by using
+         HttpSession.getMaxInactiveInterval(). -->
+
+    <session-config>
+      <session-timeout>30</session-timeout>    <!-- 30 minutes -->
+    </session-config>
+
+
+</web-app>
Index: /nutchez-0.1/tomcat/webapps/docs/apr.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/apr.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/apr.html	(revision 66)
@@ -0,0 +1,275 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - Apache Portable Runtime (APR) based Native library for Tomcat</title><meta value="Remy Maucherat" name="author"><meta value="" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://wiki.apache.org/tomcat/FAQ">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR/Native</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li><li><a href="aio.html">25) Advanced IO</a></li><li><a href="extras.html">26) Additional Components</a></li><li><a href="maven-jars.html">27) Mavenized</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Configuration</a></li><li><a href="api/index.html">Javadocs</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="http://wiki.apache.org/tomcat/TomcatVersions">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="architecture/index.html">Architecture</a></li><li><a href="funcspecs/index.html">Functional Specs.</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>Apache Portable Runtime (APR) based Native library for Tomcat</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/apr.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>
+      Tomcat can use the <a href="http://apr.apache.org/">Apache Portable Runtime</a> to 
+      provide superior scalability, performance, and better integration with native server 
+      technologies. The Apache Portable Runtime is a highly portable library that is at 
+      the heart of Apache HTTP Server 2.x. APR has many uses, including access to advanced IO
+      functionality (such as sendfile, epoll and OpenSSL), OS level functionality (random number
+      generation, system status, etc), and native process handling (shared memory, NT
+      pipes and Unix sockets).
+  </p>
+  
+  <p>
+      These features allows making Tomcat a general purpose webserver, will enable much better 
+      integration with other native web technologies, and overall make Java much more viable as
+      a full fledged webserver platform rather than simply a backend focused technology.
+  </p>
+
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Installation"><strong>Installation</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>
+      APR support requires three main native components to be installed:
+      <ul>
+        <li>APR library</li>
+        <li>JNI wrappers for APR used by Tomcat (libtcnative)</li>
+        <li>OpenSSL libraries</li>
+      </ul>
+    </p>
+
+    <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Windows"><strong>Windows</strong></a></font></td></tr><tr><td><blockquote>
+    
+    <p>
+      Windows binaries are provided for tcnative-1, which is a statically compiled .dll which includes
+      OpenSSL and APR. It can be downloaded from <a href="http://tomcat.heanet.ie/native/">here</a>
+      as 32bit or AMD x86-64 binaries.
+      In security conscious production environments, it is recommended to use separate shared dlls
+      for OpenSSL, APR, and libtcnative-1, and update them as needed according to security bulletins.
+      Windows OpenSSL binaries are linked from the <a href="http://www.openssl.org">Official OpenSSL 
+      website</a> (see related/binaries).
+    </p>
+    
+    </blockquote></td></tr></table>
+    
+    <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Linux"><strong>Linux</strong></a></font></td></tr><tr><td><blockquote>
+    
+    <p>
+      Most Linux distributions will ship packages for APR and OpenSSL. The JNI wrapper (libtcnative) will 
+      then have to be compiled. It depends on APR, OpenSSL, and the Java headers.
+    </p>
+    
+    <p>
+      Requirements:
+      <ul>
+        <li>APR 1.2+ development headers (libapr1-dev package)</li>
+        <li>OpenSSL 0.9.7+ development headers (libssl-dev package)</li>
+        <li>JNI headers from Java compatible JDK 1.4+</li>
+        <li>GNU development environment (gcc, make)</li>
+      </ul>
+    </p>
+    
+    <p>
+      The wrapper library sources are located in the Tomcat binary bundle, in the 
+      <code>bin/tomcat-native.tar.gz</code> archive.
+      Once the build environment is installed and the source archive is extracted, the wrapper library 
+      can be compiled using (from the folder containing the configure script):
+      <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>./configure &amp;&amp; make &amp;&amp; make install</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+    </p>
+    
+    </blockquote></td></tr></table>
+	
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="APR Components"><strong>APR Components</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>
+    Once the libraries are properly installed and available to Java (if loading fails, the library path
+    will be displayed), the Tomcat connectors will automatically use APR. Configuration of the connectors
+    is similar to the regular connectors, but have a few extra attributes which are used to configure
+    APR components. Note that the defaults should be well tuned for most use cases, and additional
+    tweaking shouldn't be required.
+  </p>
+
+  <p>
+    When APR is enabled, the following features are also enabled in Tomcat:
+    <ul>
+      <li>Secure session ID generation by default on all platforms (platforms other than Linux required
+          random number generation using a configured entropy)</li>
+      <li>OS level statistics on memory usage and CPU usage by the Tomcat process are displayed by
+          the status servlet</li>
+    </ul>
+  </p>
+
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="APR Lifecycle Listener Configuration"><strong>APR Lifecycle Listener Configuration</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="AprLifecycleListener"><strong>AprLifecycleListener</strong></a></font></td></tr><tr><td><blockquote>
+    <attribute name="SSLEngine" required="false">
+    <p>
+      Name of the SSLEngine to use. off: Do not use SSL, on: Use SSL but no specific ENGINE.
+      The default value is <b>on</b>.
+      This initializes the native SSL engine, then enable the use of this engine in the connector 
+      using the <code>SSLEnabled</code> attribute. Example:
+      <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" /&gt;
+      </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+    </p>
+    <p>See the <a href="http://www.openssl.org">Official OpenSSL 
+       website</a> for more details on SSL hardware engines and manufacturers.
+    </p>
+    </attribute>
+    </blockquote></td></tr></table>
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="APR Connectors Configuration"><strong>APR Connectors Configuration</strong></a></font></td></tr><tr><td><blockquote>
+
+    <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="HTTP"><strong>HTTP</strong></a></font></td></tr><tr><td><blockquote>
+    
+    <p>
+      When APR is enabled, the HTTP connector will use sendfile for hadling large static files (all such
+      files will be sent ansychronously using high performance kernel level calls), and will use 
+      a socket poller for keepalive, increasing scalability of the server.
+    </p>
+
+    <p>
+      The following attributes are supported in the HTTP APR connector in addition to the ones supported
+      in the regular HTTP connector:
+    </p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>keepAliveTimeout</code></td><td valign="center" align="left">
+      <p>The number of milliseconds this <strong>Connector</strong> will wait for
+       another HTTP request before closing the connection.
+       The default value is to use the value that has been set for the
+       connectionTimeout attribute. This value also controls the timeout interval which
+       is used for Comet connections.</p>
+    </td></tr><tr><td valign="center" align="left"><code>pollTime</code></td><td valign="center" align="left">
+      <p>Duration of a poll call. Lowering this value will slightly decrease latency of connections 
+      being kept alive in some cases, but will use more CPU as more poll calls are being made. The
+      default value is 2000 (5ms).</p>
+    </td></tr><tr><td valign="center" align="left"><code>pollerSize</code></td><td valign="center" align="left">
+      <p>Amount of sockets that the poller responsible for polling kept alive connections can hold at a
+      given time. Extra connections will be closed right away. The default value is 8192, corresponding to
+      8192 keepalive connections.</p>
+    </td></tr><tr><td valign="center" align="left"><code>useSendfile</code></td><td valign="center" align="left">
+      <p>Use kernel level sendfile for certain static files. The default value is true.</p>
+    </td></tr><tr><td valign="center" align="left"><code>sendfileSize</code></td><td valign="center" align="left">
+      <p>Amount of sockets that the poller responsible for sending static files asynchronously can hold 
+      at a given time. Extra connections will be closed right away without any data being sent 
+      (resulting in a zero length file on the client side). Note that in most cases, sendfile is a call
+      that will return right away (being taken care of "synchonously" by the kernel), and the sendfile
+      poller will not be used, so the amount of static files which can be sent concurrently is much larger
+      than the specified amount. The default value is 1024.</p>
+    </td></tr></table>
+    
+    </blockquote></td></tr></table>
+	
+    <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="HTTPS"><strong>HTTPS</strong></a></font></td></tr><tr><td><blockquote>
+    
+    <p>
+      When APR is enabled, the HTTPS connector will use a socket poller for keepalive, increasing 
+      scalability of the server. It also uses OpenSSL, which may be more optimized than JSSE depending
+      on the processor being used, and can be complemented with many commercial accelerator components.
+      Unlike the HTTP connector, the HTTPS connector cannot use sendfile to optimize static file
+      processing.
+    </p>
+
+    <p>
+      The HTTPS APR connector has the same basic attributes than the HTTP APR connector, but adds 
+      OpenSSL specific ones. For the full details on using OpenSSL, please refer to OpenSSL documentations
+      and the many books available for it (see the <a href="http://www.openssl.org">Official OpenSSL 
+      website</a>). The SSL specific attributes for the connector are:
+    </p>
+    
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>SSLEnabled</code></td><td valign="center" align="left">
+    <p>
+      Enable SSL on the socket, default value is false. Set this value to true
+      to enable SSL handshake/encryption/decryption in the APR connector.
+    </p>
+    </td></tr><tr><td valign="center" align="left"><code>SSLProtocol</code></td><td valign="center" align="left">
+    <p>
+      Protocol which may be used for communicating with clients. The default is "all", with
+      other acceptable values being "SSLv2", "SSLv3", "TLSv1", and "SSLv2+SSLv3".
+    </p>
+    </td></tr><tr><td valign="center" align="left"><code>SSLCipherSuite</code></td><td valign="center" align="left">
+    <p>
+      Ciphers which may be used for communicating with clients. The default is "ALL", with
+      other acceptable values being a list of ciphers, with ":" used as the delimiter
+      (see OpenSSL documentation for the list of ciphers supported).
+    </p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>SSLCertificateFile</code></strong></td><td valign="center" align="left">
+    <p>
+      Name of the file that contains the server certificate. The format is PEM-encoded.
+    </p>
+    </td></tr><tr><td valign="center" align="left"><code>SSLCertificateKeyFile</code></td><td valign="center" align="left">
+    <p>
+      Name of the file that contains the server private key. The format is PEM-encoded.
+      The default value is the value of "SSLCertificateFile" and in this case both certificate
+      and private key have to be in this file (NOT RECOMMENDED).
+    </p>
+    </td></tr><tr><td valign="center" align="left"><code>SSLPassword</code></td><td valign="center" align="left">
+    <p>
+      Pass phrase for the encrypted private key. If "SSLPassword" is not provided, the callback fonction
+      should prompt for the pass phrase.
+    </p>
+    </td></tr><tr><td valign="center" align="left"><code>SSLVerifyClient</code></td><td valign="center" align="left">
+    <p>
+      Ask client for certificate. The default is "none", meaning the client will not have the opportunity
+      to submit a certificate. Other acceptable values include "optional", "require" and "optionalNoCA".
+    </p>
+    </td></tr><tr><td valign="center" align="left"><code>SSLVerifyDepth</code></td><td valign="center" align="left">
+    <p>
+      Maximum verification depth for client certificates. The default is "10".
+    </p>
+    </td></tr><tr><td valign="center" align="left"><code>SSLCACertificateFile</code></td><td valign="center" align="left">
+    <p>
+      See <a href="http://httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslcacertificatefile">the mod_ssl documentation</a>.
+    </p>
+    </td></tr><tr><td valign="center" align="left"><code>SSLCACertificatePath</code></td><td valign="center" align="left">
+    <p>
+      See <a href="http://httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslcacertificatepath">the mod_ssl documentation</a>.
+    </p>
+    </td></tr><tr><td valign="center" align="left"><code>SSLCertificateChainFile</code></td><td valign="center" align="left">
+    <p>
+      See <a href="http://httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslcertificatechainfile">the mod_ssl documentation</a>.
+    </p>
+    </td></tr><tr><td valign="center" align="left"><code>SSLCARevocationFile</code></td><td valign="center" align="left">
+    <p>
+      See <a href="http://httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslcarevocationfile">the mod_ssl documentation</a>.
+    </p>
+    </td></tr><tr><td valign="center" align="left"><code>SSLCARevocationPath</code></td><td valign="center" align="left">
+    <p>
+      See <a href="http://httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslcarevocationpath">the mod_ssl documentation</a>.
+    </p>
+    </td></tr></table>
+    
+    <p>
+    An example SSL Connector declaration can be:
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;Connector port="443" maxHttpHeaderSize="8192"
+               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
+               enableLookups="false" disableUploadTimeout="true"
+               acceptCount="100" scheme="https" secure="true"
+               SSLEnabled="true" 
+               SSLCertificateFile="${catalina.base}/conf/localhost.crt"
+               SSLCertificateKeyFile="${catalina.base}/conf/localhost.key" /&gt;</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+    </p>
+    
+    </blockquote></td></tr></table>
+	
+    <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="AJP"><strong>AJP</strong></a></font></td></tr><tr><td><blockquote>
+    
+    <p>
+      When APR is enabled, the AJP connector will use a socket poller for keepalive, increasing 
+      scalability of the server. As AJP is designed around a pool of persistent (or almost
+      persistent) connections, this will reduce significantly the amount of processing threads 
+      needed by Tomcat. Unlike the HTTP connector, the AJP connector cannot use sendfile to optimize
+      static file processing.
+    </p>
+
+    <p>
+      The following attributes are supported in the AJP APR connector in addition to the ones supported
+      in the regular AJP connector:
+    </p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>pollTime</code></td><td valign="center" align="left">
+      <p>Duration of a poll call. Lowering this value will slightly decrease latency of connections 
+      being kept alive in some cases, but will use more CPU as more poll calls are being made. The
+      default value is 2000 (5ms).</p>
+    </td></tr><tr><td valign="center" align="left"><code>pollerSize</code></td><td valign="center" align="left">
+      <p>Amount of sockets that the poller responsible for polling kept alive connections can hold at a
+      given time. Extra connections will be closed right away. The default value is 8192, corresponding to
+      8192 keepalive connections.</p>
+    </td></tr></table>
+    
+    </blockquote></td></tr></table>
+	
+  </blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/architecture/index.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/architecture/index.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/architecture/index.html	(revision 66)
@@ -0,0 +1,35 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Architecture - Table of Contents</title><meta value="Yoav Shapira" name="author"><meta value="yoavs@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li></ul><p><strong>Contents</strong></p><ul><li><a href="index.html">Contents</a></li><li><a href="overview.html">Overview</a></li><li><a href="startup.html">Server Startup</a></li><li><a href="requestProcess.html">Request Process</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Architecture</h1><h2>Table of Contents</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/index.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Preface"><strong>Preface</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>This section of the Tomcat documentation attempts to explain
+the architecture and design of the Tomcat server.  It includes significant
+contributions from several tomcat developers:
+</p>
+<ul>
+<li>Yoav Shapira
+    (<a href="mailto:yoavs@apache.org">yoavs@apache.org</a>)</li>
+<li>Jeanfrancois Arcand
+    (<a href="mailto:jfarcand@apache.org">jfarcand@apache.org</a>)</li>
+<li>Filip Hanik
+    (<a href="mailto:fhanik@apache.org">fhanik@apache.org</a>)</li>
+</ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Table of Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The information presented is divided into the following sections:</p>
+<ul>
+<li><a href="overview.html"><strong>Overview</strong></a> -
+    An overview of the Tomcat server architecture with key terms
+    and concepts.</li>
+<li><a href="startup.html"><strong>Server Startup</strong></a> -
+    A detailed description, with sequence diagrams, of how the Tomcat
+    server starts up.</li>
+<li><a href="requestProcess.html"><strong>Request Process Flow</strong></a> -
+    A detailed description of how Tomcat handles a request.</li>
+</ul>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/architecture/overview.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/architecture/overview.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/architecture/overview.html	(revision 66)
@@ -0,0 +1,105 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Architecture - Architecture Overview</title><meta value="Yoav Shapira" name="author"><meta value="yoavs@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li></ul><p><strong>Contents</strong></p><ul><li><a href="index.html">Contents</a></li><li><a href="overview.html">Overview</a></li><li><a href="startup.html">Server Startup</a></li><li><a href="requestProcess.html">Request Process</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Architecture</h1><h2>Architecture Overview</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/overview.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Overview"><strong>Overview</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+This page provides an overview of the Tomcat server architecture.
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Terms"><strong>Terms</strong></a></font></td></tr><tr><td><blockquote>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Server"><strong>Server</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+In the Tomcat world, a
+<a href="../config/server.html">Server</a> represents the whole container.
+Tomcat provides a default implementation of the 
+<a href="../catalina/docs/api/org/apache/catalina/Server.html">Server interface.</a>,
+and this is rarely customized by users.
+</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Service"><strong>Service</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+A <a href="../config/service.html">Service</a> is an intermediate component
+which lives inside a Server and ties one or more Connectors to exactly one
+Engine.  The Service element is rarely customized by users, as the default
+implementation is simple and sufficient:
+<a href="../catalina/docs/api/org/apache/catalina/Service.html">Service interface</a>.
+</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Engine"><strong>Engine</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+An
+<a href="../config/engine.html">Engine</a> represents request processing
+pipeline for a specific Service.  As a Service may have multiple Connectors,
+the Engine received and processes all requests from these connectors, handing
+the response back to the appropriate connector for transmission to the client.
+The <a href="../catalina/docs/api/org/apache/catalina/Engine.html">Engine interface</a>
+may be implemented to supply custom Engines, though this is uncommon.
+</p>
+<p>
+Note that the Engine may be used for Tomcat server clustering via the
+jvmRoute parameter.  Read the Clustering documentation for more information.
+</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Host"><strong>Host</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+A <a href="../config/host.html">Host</a> is an association of a network name,
+e.g. www.yourcompany.com, to the Tomcat server.  An Engine may contain
+multiple hosts, and the Host element also supports network aliases such as
+yourcompany.com and abc.yourcompany.com.  Users rarely create custom
+<a href="../catalina/docs/api/org/apache/catalina/Host.html">Hosts</a>
+because the 
+<a href="../catalina/docs/api/org/apache/catalina/core/StandardHost.html">StandardHost
+implementation</a> provides significant additional functionality.
+</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Connector"><strong>Connector</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+A Connector handles communications with the client.  There are multiple
+connectors available with Tomcat, all of which implement the 
+<a href="../catalina/docs/api/org/apache/catalina/Connector.html">Connector
+interface.</a>  These include the
+<a href="../config/coyote.html">Coyote connector</a> which is used for
+most HTTP traffic, especially when running Tomcat as a standalone server, 
+and the <a href="../config/jk2.html">JK2 connector</a> which implements
+the AJP procotol used when connecting Tomcat to an Apache HTTPD server.
+Creating a customized connector is a significant effort.
+</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Context"><strong>Context</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+A
+<a href="../config/context.html">Context</a>
+represents a web application.  A Host may contain multiple
+contexts, each with a unique path.  The
+<a href="../catalina/docs/api/org/apache/catalina/Context.html">Context
+interface</a> may be implemented to create custom Contexts, but
+this is rarely the case because the
+<a href="../catalina/docs/api/org/apache/catalina/core/StandardContext.html">
+StandardContext</a> provides significant additional functionality.
+</p>
+</blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Comments"><strong>Comments</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+Tomcat is designed to be a fast and efficient implementation of the
+Servlet Specification.  Tomcat came about as the reference implementation
+of this specification, and has remained rigorous in adhering to the
+specification.  At the same time, significant attention has been paid
+to Tomcat's performance and it is now on par with other servlet containers,
+including commercial ones.
+</p>
+<p>
+In recent releases of Tomcat, mostly starting with Tomcat 5,
+we have begun effots to make more aspects of Tomcat managable via
+JMX.  In addition, the Manager and Admin webapps have been greatly
+enhanced and improved.  Managability is a primary area of concern
+for us as the product matures and the specification becomes more
+stable.
+</p>
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/architecture/printer/index.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/architecture/printer/index.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/architecture/printer/index.html	(revision 66)
@@ -0,0 +1,34 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Architecture - Table of Contents</title><meta value="Yoav Shapira" name="author"><meta value="yoavs@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Architecture</h1><h2>Table of Contents</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Preface"><strong>Preface</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>This section of the Tomcat documentation attempts to explain
+the architecture and design of the Tomcat server.  It includes significant
+contributions from several tomcat developers:
+</p>
+<ul>
+<li>Yoav Shapira
+    (<a href="mailto:yoavs@apache.org">yoavs@apache.org</a>)</li>
+<li>Jeanfrancois Arcand
+    (<a href="mailto:jfarcand@apache.org">jfarcand@apache.org</a>)</li>
+<li>Filip Hanik
+    (<a href="mailto:fhanik@apache.org">fhanik@apache.org</a>)</li>
+</ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Table of Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The information presented is divided into the following sections:</p>
+<ul>
+<li><a href="overview.html"><strong>Overview</strong></a> -
+    An overview of the Tomcat server architecture with key terms
+    and concepts.</li>
+<li><a href="startup.html"><strong>Server Startup</strong></a> -
+    A detailed description, with sequence diagrams, of how the Tomcat
+    server starts up.</li>
+<li><a href="requestProcess.html"><strong>Request Process Flow</strong></a> -
+    A detailed description of how Tomcat handles a request.</li>
+</ul>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/architecture/printer/overview.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/architecture/printer/overview.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/architecture/printer/overview.html	(revision 66)
@@ -0,0 +1,104 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Architecture - Architecture Overview</title><meta value="Yoav Shapira" name="author"><meta value="yoavs@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Architecture</h1><h2>Architecture Overview</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Overview"><strong>Overview</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+This page provides an overview of the Tomcat server architecture.
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Terms"><strong>Terms</strong></a></font></td></tr><tr><td><blockquote>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Server"><strong>Server</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+In the Tomcat world, a
+<a href="../../config/server.html">Server</a> represents the whole container.
+Tomcat provides a default implementation of the 
+<a href="../../catalina/docs/api/org/apache/catalina/Server.html">Server interface.</a>,
+and this is rarely customized by users.
+</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Service"><strong>Service</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+A <a href="../../config/service.html">Service</a> is an intermediate component
+which lives inside a Server and ties one or more Connectors to exactly one
+Engine.  The Service element is rarely customized by users, as the default
+implementation is simple and sufficient:
+<a href="../../catalina/docs/api/org/apache/catalina/Service.html">Service interface</a>.
+</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Engine"><strong>Engine</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+An
+<a href="../../config/engine.html">Engine</a> represents request processing
+pipeline for a specific Service.  As a Service may have multiple Connectors,
+the Engine received and processes all requests from these connectors, handing
+the response back to the appropriate connector for transmission to the client.
+The <a href="../../catalina/docs/api/org/apache/catalina/Engine.html">Engine interface</a>
+may be implemented to supply custom Engines, though this is uncommon.
+</p>
+<p>
+Note that the Engine may be used for Tomcat server clustering via the
+jvmRoute parameter.  Read the Clustering documentation for more information.
+</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Host"><strong>Host</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+A <a href="../../config/host.html">Host</a> is an association of a network name,
+e.g. www.yourcompany.com, to the Tomcat server.  An Engine may contain
+multiple hosts, and the Host element also supports network aliases such as
+yourcompany.com and abc.yourcompany.com.  Users rarely create custom
+<a href="../../catalina/docs/api/org/apache/catalina/Host.html">Hosts</a>
+because the 
+<a href="../../catalina/docs/api/org/apache/catalina/core/StandardHost.html">StandardHost
+implementation</a> provides significant additional functionality.
+</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Connector"><strong>Connector</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+A Connector handles communications with the client.  There are multiple
+connectors available with Tomcat, all of which implement the 
+<a href="../../catalina/docs/api/org/apache/catalina/Connector.html">Connector
+interface.</a>  These include the
+<a href="../../config/coyote.html">Coyote connector</a> which is used for
+most HTTP traffic, especially when running Tomcat as a standalone server, 
+and the <a href="../../config/jk2.html">JK2 connector</a> which implements
+the AJP procotol used when connecting Tomcat to an Apache HTTPD server.
+Creating a customized connector is a significant effort.
+</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Context"><strong>Context</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+A
+<a href="../../config/context.html">Context</a>
+represents a web application.  A Host may contain multiple
+contexts, each with a unique path.  The
+<a href="../../catalina/docs/api/org/apache/catalina/Context.html">Context
+interface</a> may be implemented to create custom Contexts, but
+this is rarely the case because the
+<a href="../../catalina/docs/api/org/apache/catalina/core/StandardContext.html">
+StandardContext</a> provides significant additional functionality.
+</p>
+</blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Comments"><strong>Comments</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+Tomcat is designed to be a fast and efficient implementation of the
+Servlet Specification.  Tomcat came about as the reference implementation
+of this specification, and has remained rigorous in adhering to the
+specification.  At the same time, significant attention has been paid
+to Tomcat's performance and it is now on par with other servlet containers,
+including commercial ones.
+</p>
+<p>
+In recent releases of Tomcat, mostly starting with Tomcat 5,
+we have begun effots to make more aspects of Tomcat managable via
+JMX.  In addition, the Manager and Admin webapps have been greatly
+enhanced and improved.  Managability is a primary area of concern
+for us as the product matures and the specification becomes more
+stable.
+</p>
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/architecture/printer/requestProcess.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/architecture/printer/requestProcess.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/architecture/printer/requestProcess.html	(revision 66)
@@ -0,0 +1,37 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Architecture - Request Process Flow</title><meta value="Yoav Shapira" name="author"><meta value="yoavs@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Architecture</h1><h2>Request Process Flow</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Request Process Flow"><strong>Request Process Flow</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>
+This page describes the process used by Tomcat to handle
+an incoming request.  This process is largely defined by
+the Servlet Specification, which outlines the order
+of events that must take place.
+</p>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="description"><strong>description</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+TODO
+</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="diagram"><strong>diagram</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+A UML sequence diagram of the request process is available
+<a href="../requestProcess/requestProcess.pdf">here.</a>
+</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="comments"><strong>comments</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+The Servlet Specification provides many opportunities for
+listening in (using Listeners) or modiying (using Filters)
+the request handling process even before the request arrives
+at the servlet that will handle it.
+</p>
+
+</blockquote></td></tr></table>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/architecture/printer/startup.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/architecture/printer/startup.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/architecture/printer/startup.html	(revision 66)
@@ -0,0 +1,41 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Architecture - Startup</title><meta value="Yoav Shapira" name="author"><meta value="yoavs@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Architecture</h1><h2>Startup</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Server Startup"><strong>Server Startup</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>
+This page describes how the Tomcat server starts up.  There are several
+different ways to start tomcat, including:
+<ul>
+  <li>From the command line.</li>
+  <li>From a Java program as an embedded server.</li>
+  <li>Automatically as a Windows service.</li>
+</ul>
+</p>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="description"><strong>description</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+A text description of the startup procedure is available
+<a href="../startup/serverStartup.txt">here.</a>
+</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="diagram"><strong>diagram</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+A UML sequence diagram of the startup procedure is available
+<a href="../startup/serverStartup.pdf">here.</a>
+</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="comments"><strong>comments</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+The startup process can be customized in many ways, both
+by modifying Tomcat code and by implementing your own
+LifecycleListeners which are then registered in the server.xml
+configuration file.
+</p>
+
+</blockquote></td></tr></table>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/architecture/requestProcess.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/architecture/requestProcess.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/architecture/requestProcess.html	(revision 66)
@@ -0,0 +1,38 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Architecture - Request Process Flow</title><meta value="Yoav Shapira" name="author"><meta value="yoavs@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li></ul><p><strong>Contents</strong></p><ul><li><a href="index.html">Contents</a></li><li><a href="overview.html">Overview</a></li><li><a href="startup.html">Server Startup</a></li><li><a href="requestProcess.html">Request Process</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Architecture</h1><h2>Request Process Flow</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/requestProcess.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Request Process Flow"><strong>Request Process Flow</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>
+This page describes the process used by Tomcat to handle
+an incoming request.  This process is largely defined by
+the Servlet Specification, which outlines the order
+of events that must take place.
+</p>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="description"><strong>description</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+TODO
+</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="diagram"><strong>diagram</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+A UML sequence diagram of the request process is available
+<a href="requestProcess/requestProcess.pdf">here.</a>
+</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="comments"><strong>comments</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+The Servlet Specification provides many opportunities for
+listening in (using Listeners) or modiying (using Filters)
+the request handling process even before the request arrives
+at the servlet that will handle it.
+</p>
+
+</blockquote></td></tr></table>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/architecture/requestProcess/roseModel.mdl
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/architecture/requestProcess/roseModel.mdl	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/architecture/requestProcess/roseModel.mdl	(revision 66)
@@ -0,0 +1,12921 @@
+
+(object Petal
+    version    	45
+    _written   	"Rose 7.6.0109.2314"
+    charSet    	0)
+
+(object Design "Logical View"
+    is_unit    	TRUE
+    is_loaded  	TRUE
+    quid       	"3DFDF6CE0337"
+    defaults   	(object defaults
+	rightMargin 	0.250000
+	leftMargin 	0.250000
+	topMargin  	0.250000
+	bottomMargin 	0.500000
+	pageOverlap 	0.250000
+	clipIconLabels 	TRUE
+	autoResize 	TRUE
+	snapToGrid 	TRUE
+	gridX      	16
+	gridY      	16
+	defaultFont 	(object Font
+	    size       	10
+	    face       	"Arial"
+	    bold       	FALSE
+	    italics    	FALSE
+	    underline  	FALSE
+	    strike     	FALSE
+	    color      	0
+	    default_color 	TRUE)
+	showMessageNum 	1
+	showClassOfObject 	TRUE
+	notation   	"Unified")
+    root_usecase_package 	(object Class_Category "Use Case View"
+	quid       	"3DFDF6CE0369"
+	exportControl 	"Public"
+	global     	TRUE
+	logical_models 	(list unit_reference_list)
+	logical_presentations 	(list unit_reference_list
+	    (object UseCaseDiagram "Main"
+		quid       	"3DFDF6D201FE"
+		title      	"Main"
+		zoom       	100
+		max_height 	28350
+		max_width  	21600
+		origin_x   	0
+		origin_y   	0
+		items      	(list diagram_item_list))))
+    root_category 	(object Class_Category "Logical View"
+	quid       	"3DFDF6CE0338"
+	exportControl 	"Public"
+	global     	TRUE
+	subsystem  	"Component View"
+	quidu      	"3DFDF6CE036A"
+	logical_models 	(list unit_reference_list
+	    (object Class_Category "org.apache.catalina"
+		quid       	"3E42DE8D0082"
+		visible_categories 	(list visibility_relationship_list
+		    (object Visibility_Relationship
+			quid       	"3E42DEF601EB"
+			supplier   	"Logical View::org.apache.tomcat.util"
+			quidu      	"3E42DEDF01F2")
+		    (object Visibility_Relationship
+			quid       	"3E42DF700060"
+			supplier   	"Logical View::org.apache.coyote"
+			quidu      	"3E42DE9F0132")
+		    (object Visibility_Relationship
+			quid       	"3E43D165039C"
+			supplier   	"Logical View::org.apache.naming"
+			quidu      	"3E43D1580339"))
+		exportControl 	"Public"
+		logical_models 	(list unit_reference_list
+		    (object Class_Category "ant"
+			quid       	"3E42DFBB037F"
+			visible_categories 	(list visibility_relationship_list
+			    (object Visibility_Relationship
+				quid       	"3E43CFF7020F"
+				supplier   	"Logical View::org.apache.catalina::util"
+				quidu      	"3E42E0260184"))
+			exportControl 	"Public"
+			logical_models 	(list unit_reference_list)
+			logical_presentations 	(list unit_reference_list))
+		    (object Class_Category "authenticator"
+			quid       	"3E42DFC702B4"
+			visible_categories 	(list visibility_relationship_list
+			    (object Visibility_Relationship
+				quid       	"3E43D03C0395"
+				supplier   	"Logical View::org.apache.catalina::deploy"
+				quidu      	"3E42DFDC0340")
+			    (object Visibility_Relationship
+				quid       	"3E43D03F01C2"
+				supplier   	"Logical View::org.apache.catalina::util"
+				quidu      	"3E42E0260184")
+			    (object Visibility_Relationship
+				quid       	"3E43D043024A"
+				supplier   	"Logical View::org.apache.catalina::valves"
+				quidu      	"3E42E02D035B"))
+			exportControl 	"Public"
+			logical_models 	(list unit_reference_list)
+			logical_presentations 	(list unit_reference_list))
+		    (object Class_Category "connector"
+			quid       	"3E42DFCF036A"
+			visible_categories 	(list visibility_relationship_list
+			    (object Visibility_Relationship
+				quid       	"3E43D07E017D"
+				supplier   	"Logical View::org.apache.catalina::session"
+				quidu      	"3E42E00C026D"))
+			exportControl 	"Public"
+			logical_models 	(list unit_reference_list)
+			logical_presentations 	(list unit_reference_list))
+		    (object Class_Category "core"
+			quid       	"3E42DFD603BA"
+			visible_categories 	(list visibility_relationship_list
+			    (object Visibility_Relationship
+				quid       	"3E43D19E01A9"
+				supplier   	"Logical View::org.apache.catalina::deploy"
+				quidu      	"3E42DFDC0340")
+			    (object Visibility_Relationship
+				quid       	"3E43D1A10185"
+				supplier   	"Logical View::org.apache.catalina::util"
+				quidu      	"3E42E0260184")
+			    (object Visibility_Relationship
+				quid       	"3E43D1CE007C"
+				supplier   	"Logical View::org.apache.catalina::connector"
+				quidu      	"3E42DFCF036A")
+			    (object Visibility_Relationship
+				quid       	"3E43D1D800D0"
+				supplier   	"Logical View::org.apache.catalina::security"
+				quidu      	"3E42E00100D7")
+			    (object Visibility_Relationship
+				quid       	"3E43D25C031F"
+				supplier   	"Logical View::org.apache.catalina::mbean"
+				quidu      	"3E42DFF10188")
+			    (object Visibility_Relationship
+				quid       	"3E43D260028E"
+				supplier   	"Logical View::org.apache.catalina::startup"
+				quidu      	"3E42E01E00EC")
+			    (object Visibility_Relationship
+				quid       	"3E43D26A015C"
+				supplier   	"Logical View::org.apache.catalina::session"
+				quidu      	"3E42E00C026D")
+			    (object Visibility_Relationship
+				quid       	"3E43D2830271"
+				supplier   	"Logical View::org.apache.catalina::valves"
+				quidu      	"3E42E02D035B")
+			    (object Visibility_Relationship
+				quid       	"3E43D2C80248"
+				supplier   	"Logical View::org.apache.catalina::net"
+				quidu      	"3E42DFF70227")
+			    (object Visibility_Relationship
+				quid       	"3E43D2D6002B"
+				supplier   	"Logical View::org.apache.catalina::loader"
+				quidu      	"3E43D2D002D6")
+			    (object Visibility_Relationship
+				quid       	"3E43D3D300F7"
+				supplier   	"Logical View::org.apache.naming"
+				quidu      	"3E43D1580339"))
+			exportControl 	"Public"
+			logical_models 	(list unit_reference_list)
+			logical_presentations 	(list unit_reference_list))
+		    (object Class_Category "deploy"
+			quid       	"3E42DFDC0340"
+			visible_categories 	(list visibility_relationship_list
+			    (object Visibility_Relationship
+				quid       	"3E43D32001B8"
+				supplier   	"Logical View::org.apache.catalina::util"
+				quidu      	"3E42E0260184"))
+			exportControl 	"Public"
+			logical_models 	(list unit_reference_list)
+			logical_presentations 	(list unit_reference_list))
+		    (object Class_Category "launcher"
+			quid       	"3E42DFE2033F"
+			exportControl 	"Public"
+			logical_models 	(list unit_reference_list)
+			logical_presentations 	(list unit_reference_list))
+		    (object Class_Category "logger"
+			quid       	"3E42DFEC0285"
+			exportControl 	"Public"
+			logical_models 	(list unit_reference_list)
+			logical_presentations 	(list unit_reference_list))
+		    (object Class_Category "mbean"
+			quid       	"3E42DFF10188"
+			visible_categories 	(list visibility_relationship_list
+			    (object Visibility_Relationship
+				quid       	"3E43D49101A5"
+				supplier   	"Logical View::org.apache.catalina::deploy"
+				quidu      	"3E42DFDC0340")
+			    (object Visibility_Relationship
+				quid       	"3E43D4C6027D"
+				supplier   	"Logical View::org.apache.catalina::core"
+				quidu      	"3E42DFD603BA")
+			    (object Visibility_Relationship
+				quid       	"3E43D4FB008F"
+				supplier   	"Logical View::org.apache.catalina::session"
+				quidu      	"3E42E00C026D")
+			    (object Visibility_Relationship
+				quid       	"3E43D50000BE"
+				supplier   	"Logical View::org.apache.catalina::valves"
+				quidu      	"3E42E02D035B")
+			    (object Visibility_Relationship
+				quid       	"3E43D5080278"
+				supplier   	"Logical View::org.apache.catalina::realm"
+				quidu      	"3E42DFFA00AE")
+			    (object Visibility_Relationship
+				quid       	"3E43D55A0258"
+				supplier   	"Logical View::org.apache.catalina::logger"
+				quidu      	"3E42DFEC0285")
+			    (object Visibility_Relationship
+				quid       	"3E43D56000D0"
+				supplier   	"Logical View::org.apache.catalina::authenticator"
+				quidu      	"3E42DFC702B4"))
+			exportControl 	"Public"
+			logical_models 	(list unit_reference_list)
+			logical_presentations 	(list unit_reference_list))
+		    (object Class_Category "net"
+			quid       	"3E42DFF70227"
+			visible_categories 	(list visibility_relationship_list
+			    (object Visibility_Relationship
+				quid       	"3E43D6390371"
+				supplier   	"Logical View::org.apache.catalina::util"
+				quidu      	"3E42E0260184"))
+			exportControl 	"Public"
+			logical_models 	(list unit_reference_list)
+			logical_presentations 	(list unit_reference_list))
+		    (object Class_Category "realm"
+			quid       	"3E42DFFA00AE"
+			visible_categories 	(list visibility_relationship_list
+			    (object Visibility_Relationship
+				quid       	"3E43D69F0133"
+				supplier   	"Logical View::org.apache.catalina::core"
+				quidu      	"3E42DFD603BA")
+			    (object Visibility_Relationship
+				quid       	"3E43D6A10353"
+				supplier   	"Logical View::org.apache.catalina::util"
+				quidu      	"3E42E0260184")
+			    (object Visibility_Relationship
+				quid       	"3E43D70E00E2"
+				supplier   	"Logical View::org.apache.naming"
+				quidu      	"3E43D1580339")
+			    (object Visibility_Relationship
+				quid       	"3E43D72302D7"
+				supplier   	"Logical View::org.apache.catalina::deploy"
+				quidu      	"3E42DFDC0340"))
+			exportControl 	"Public"
+			logical_models 	(list unit_reference_list)
+			logical_presentations 	(list unit_reference_list))
+		    (object Class_Category "security"
+			quid       	"3E42E00100D7"
+			visible_categories 	(list visibility_relationship_list
+			    (object Visibility_Relationship
+				quid       	"3E43D74D007F"
+				supplier   	"Logical View::org.apache.catalina::startup"
+				quidu      	"3E42E01E00EC")
+			    (object Visibility_Relationship
+				quid       	"3E43D76B0371"
+				supplier   	"Logical View::org.apache.catalina::util"
+				quidu      	"3E42E0260184"))
+			exportControl 	"Public"
+			logical_models 	(list unit_reference_list)
+			logical_presentations 	(list unit_reference_list))
+		    (object Class_Category "servlets"
+			quid       	"3E42E00502DB"
+			visible_categories 	(list visibility_relationship_list
+			    (object Visibility_Relationship
+				quid       	"3E43D82702E5"
+				supplier   	"Logical View::org.apache.tomcat.util"
+				quidu      	"3E42DEDF01F2")
+			    (object Visibility_Relationship
+				quid       	"3E43D82A02CC"
+				supplier   	"Logical View::org.apache.catalina::util"
+				quidu      	"3E42E0260184")
+			    (object Visibility_Relationship
+				quid       	"3E43D82D0244"
+				supplier   	"Logical View::org.apache.naming"
+				quidu      	"3E43D1580339"))
+			exportControl 	"Public"
+			logical_models 	(list unit_reference_list)
+			logical_presentations 	(list unit_reference_list))
+		    (object Class_Category "session"
+			quid       	"3E42E00C026D"
+			visible_categories 	(list visibility_relationship_list
+			    (object Visibility_Relationship
+				quid       	"3E43D8770344"
+				supplier   	"Logical View::org.apache.catalina::util"
+				quidu      	"3E42E0260184"))
+			exportControl 	"Public"
+			logical_models 	(list unit_reference_list)
+			logical_presentations 	(list unit_reference_list))
+		    (object Class_Category "ssi"
+			quid       	"3E42E01002C3"
+			visible_categories 	(list visibility_relationship_list
+			    (object Visibility_Relationship
+				quid       	"3E43D8F902B5"
+				supplier   	"Logical View::org.apache.catalina::util"
+				quidu      	"3E42E0260184"))
+			exportControl 	"Public"
+			logical_models 	(list unit_reference_list)
+			logical_presentations 	(list unit_reference_list))
+		    (object Class_Category "startup"
+			quid       	"3E42E01E00EC"
+			visible_categories 	(list visibility_relationship_list
+			    (object Visibility_Relationship
+				quid       	"3E43D9150251"
+				supplier   	"Logical View::org.apache.catalina::logger"
+				quidu      	"3E42DFEC0285")
+			    (object Visibility_Relationship
+				quid       	"3E43D919018F"
+				supplier   	"Logical View::org.apache.catalina::security"
+				quidu      	"3E42E00100D7")
+			    (object Visibility_Relationship
+				quid       	"3E43D946000D"
+				supplier   	"Logical View::org.apache.catalina::core"
+				quidu      	"3E42DFD603BA")
+			    (object Visibility_Relationship
+				quid       	"3E43D95E012A"
+				supplier   	"Logical View::org.apache.catalina::loader"
+				quidu      	"3E43D2D002D6")
+			    (object Visibility_Relationship
+				quid       	"3E43D9960315"
+				supplier   	"Logical View::org.apache.catalina::util"
+				quidu      	"3E42E0260184")
+			    (object Visibility_Relationship
+				quid       	"3E43D99902BF"
+				supplier   	"Logical View::org.apache.catalina::valves"
+				quidu      	"3E42E02D035B")
+			    (object Visibility_Relationship
+				quid       	"3E43D99C0147"
+				supplier   	"Logical View::org.apache.catalina::deploy"
+				quidu      	"3E42DFDC0340")
+			    (object Visibility_Relationship
+				quid       	"3E43D9DA0114"
+				supplier   	"Logical View::org.apache.catalina::net"
+				quidu      	"3E42DFF70227")
+			    (object Visibility_Relationship
+				quid       	"3E43D9F402F2"
+				supplier   	"Logical View::org.apache.catalina::realm"
+				quidu      	"3E42DFFA00AE"))
+			exportControl 	"Public"
+			logical_models 	(list unit_reference_list)
+			logical_presentations 	(list unit_reference_list))
+		    (object Class_Category "user"
+			quid       	"3E42E0220174"
+			visible_categories 	(list visibility_relationship_list
+			    (object Visibility_Relationship
+				quid       	"3E43DB240227"
+				supplier   	"Logical View::org.apache.catalina::util"
+				quidu      	"3E42E0260184")
+			    (object Visibility_Relationship
+				quid       	"3E43DB31009F"
+				supplier   	"Logical View::org.apache.naming"
+				quidu      	"3E43D1580339"))
+			exportControl 	"Public"
+			logical_models 	(list unit_reference_list)
+			logical_presentations 	(list unit_reference_list))
+		    (object Class_Category "util"
+			quid       	"3E42E0260184"
+			visible_categories 	(list visibility_relationship_list
+			    (object Visibility_Relationship
+				quid       	"3E43DB85017C"
+				supplier   	"Logical View::org.apache.catalina::core"
+				quidu      	"3E42DFD603BA")
+			    (object Visibility_Relationship
+				quid       	"3E43DB88016C"
+				supplier   	"Logical View::org.apache.naming"
+				quidu      	"3E43D1580339"))
+			exportControl 	"Public"
+			logical_models 	(list unit_reference_list)
+			logical_presentations 	(list unit_reference_list))
+		    (object Class_Category "valves"
+			quid       	"3E42E02D035B"
+			visible_categories 	(list visibility_relationship_list
+			    (object Visibility_Relationship
+				quid       	"3E43DC2B0257"
+				supplier   	"Logical View::org.apache.catalina::util"
+				quidu      	"3E42E0260184")
+			    (object Visibility_Relationship
+				quid       	"3E43DD3E0271"
+				supplier   	"Logical View::org.apache.catalina::deploy"
+				quidu      	"3E42DFDC0340")
+			    (object Visibility_Relationship
+				quid       	"3E43DD4102CF"
+				supplier   	"Logical View::org.apache.catalina::connector"
+				quidu      	"3E42DFCF036A")
+			    (object Visibility_Relationship
+				quid       	"3E43DDDE00B8"
+				supplier   	"Logical View::org.apache.catalina::core"
+				quidu      	"3E42DFD603BA"))
+			exportControl 	"Public"
+			logical_models 	(list unit_reference_list)
+			logical_presentations 	(list unit_reference_list))
+		    (object Class_Category "loader"
+			quid       	"3E43D2D002D6"
+			visible_categories 	(list visibility_relationship_list
+			    (object Visibility_Relationship
+				quid       	"3E43D3CF00F2"
+				supplier   	"Logical View::org.apache.naming"
+				quidu      	"3E43D1580339"))
+			exportControl 	"Public"
+			logical_models 	(list unit_reference_list)
+			logical_presentations 	(list unit_reference_list)))
+		logical_presentations 	(list unit_reference_list
+		    (object ClassDiagram "Main"
+			quid       	"3E42DFB6010B"
+			title      	"Main"
+			zoom       	100
+			max_height 	28350
+			max_width  	21600
+			origin_x   	0
+			origin_y   	0
+			items      	(list diagram_item_list
+			    (object CategoryView "Logical View::org.apache.catalina::ant" @1
+				location   	(2208, 1504)
+				font       	(object Font
+				    size       	10
+				    face       	"Arial"
+				    bold       	FALSE
+				    italics    	FALSE
+				    underline  	FALSE
+				    strike     	FALSE
+				    color      	0
+				    default_color 	TRUE)
+				label      	(object ItemLabel
+				    Parent_View 	@1
+				    location   	(2064, 1420)
+				    fill_color 	13434879
+				    nlines     	2
+				    max_width  	288
+				    justify    	0
+				    label      	"ant")
+				icon_style 	"Icon"
+				line_color 	3342489
+				fill_color 	13434879
+				quidu      	"3E42DFBB037F"
+				width      	300
+				height     	180)
+			    (object CategoryView "Logical View::org.apache.catalina::authenticator" @2
+				location   	(192, 2000)
+				font       	(object Font
+				    size       	10
+				    face       	"Arial"
+				    bold       	FALSE
+				    italics    	FALSE
+				    underline  	FALSE
+				    strike     	FALSE
+				    color      	0
+				    default_color 	TRUE)
+				label      	(object ItemLabel
+				    Parent_View 	@2
+				    location   	(48, 1916)
+				    fill_color 	13434879
+				    nlines     	2
+				    max_width  	288
+				    justify    	0
+				    label      	"authenticator")
+				icon_style 	"Icon"
+				line_color 	3342489
+				fill_color 	13434879
+				quidu      	"3E42DFC702B4"
+				width      	300
+				height     	180)
+			    (object CategoryView "Logical View::org.apache.catalina::connector" @3
+				location   	(464, 1328)
+				font       	(object Font
+				    size       	10
+				    face       	"Arial"
+				    bold       	FALSE
+				    italics    	FALSE
+				    underline  	FALSE
+				    strike     	FALSE
+				    color      	0
+				    default_color 	TRUE)
+				label      	(object ItemLabel
+				    Parent_View 	@3
+				    location   	(320, 1244)
+				    fill_color 	13434879
+				    nlines     	2
+				    max_width  	288
+				    justify    	0
+				    label      	"connector")
+				icon_style 	"Icon"
+				line_color 	3342489
+				fill_color 	13434879
+				quidu      	"3E42DFCF036A"
+				width      	300
+				height     	180)
+			    (object CategoryView "Logical View::org.apache.catalina::core" @4
+				location   	(2224, 800)
+				font       	(object Font
+				    size       	10
+				    face       	"Arial"
+				    bold       	FALSE
+				    italics    	FALSE
+				    underline  	FALSE
+				    strike     	FALSE
+				    color      	0
+				    default_color 	TRUE)
+				label      	(object ItemLabel
+				    Parent_View 	@4
+				    location   	(2080, 716)
+				    fill_color 	13434879
+				    nlines     	2
+				    max_width  	288
+				    justify    	0
+				    label      	"core")
+				icon_style 	"Icon"
+				line_color 	3342489
+				fill_color 	13434879
+				quidu      	"3E42DFD603BA"
+				width      	300
+				height     	180)
+			    (object CategoryView "Logical View::org.apache.catalina::deploy" @5
+				location   	(240, 160)
+				font       	(object Font
+				    size       	10
+				    face       	"Arial"
+				    bold       	FALSE
+				    italics    	FALSE
+				    underline  	FALSE
+				    strike     	FALSE
+				    color      	0
+				    default_color 	TRUE)
+				label      	(object ItemLabel
+				    Parent_View 	@5
+				    location   	(96, 76)
+				    fill_color 	13434879
+				    nlines     	2
+				    max_width  	288
+				    justify    	0
+				    label      	"deploy")
+				icon_style 	"Icon"
+				line_color 	3342489
+				fill_color 	13434879
+				quidu      	"3E42DFDC0340"
+				width      	300
+				height     	180)
+			    (object CategoryView "Logical View::org.apache.catalina::launcher" @6
+				location   	(1776, 2480)
+				font       	(object Font
+				    size       	10
+				    face       	"Arial"
+				    bold       	FALSE
+				    italics    	FALSE
+				    underline  	FALSE
+				    strike     	FALSE
+				    color      	0
+				    default_color 	TRUE)
+				label      	(object ItemLabel
+				    Parent_View 	@6
+				    location   	(1632, 2396)
+				    fill_color 	13434879
+				    nlines     	2
+				    max_width  	288
+				    justify    	0
+				    label      	"launcher")
+				icon_style 	"Icon"
+				line_color 	3342489
+				fill_color 	13434879
+				quidu      	"3E42DFE2033F"
+				width      	300
+				height     	180)
+			    (object CategoryView "Logical View::org.apache.catalina::logger" @7
+				location   	(752, 128)
+				font       	(object Font
+				    size       	10
+				    face       	"Arial"
+				    bold       	FALSE
+				    italics    	FALSE
+				    underline  	FALSE
+				    strike     	FALSE
+				    color      	0
+				    default_color 	TRUE)
+				label      	(object ItemLabel
+				    Parent_View 	@7
+				    location   	(608, 44)
+				    fill_color 	13434879
+				    nlines     	2
+				    max_width  	288
+				    justify    	0
+				    label      	"logger")
+				icon_style 	"Icon"
+				line_color 	3342489
+				fill_color 	13434879
+				quidu      	"3E42DFEC0285"
+				width      	300
+				height     	180)
+			    (object CategoryView "Logical View::org.apache.catalina::mbean" @8
+				location   	(2208, 1216)
+				font       	(object Font
+				    size       	10
+				    face       	"Arial"
+				    bold       	FALSE
+				    italics    	FALSE
+				    underline  	FALSE
+				    strike     	FALSE
+				    color      	0
+				    default_color 	TRUE)
+				label      	(object ItemLabel
+				    Parent_View 	@8
+				    location   	(2064, 1132)
+				    fill_color 	13434879
+				    nlines     	2
+				    max_width  	288
+				    justify    	0
+				    label      	"mbean")
+				icon_style 	"Icon"
+				line_color 	3342489
+				fill_color 	13434879
+				quidu      	"3E42DFF10188"
+				width      	300
+				height     	180)
+			    (object CategoryView "Logical View::org.apache.catalina::net" @9
+				location   	(1056, 2496)
+				font       	(object Font
+				    size       	10
+				    face       	"Arial"
+				    bold       	FALSE
+				    italics    	FALSE
+				    underline  	FALSE
+				    strike     	FALSE
+				    color      	0
+				    default_color 	TRUE)
+				label      	(object ItemLabel
+				    Parent_View 	@9
+				    location   	(912, 2412)
+				    fill_color 	13434879
+				    nlines     	2
+				    max_width  	288
+				    justify    	0
+				    label      	"net")
+				icon_style 	"Icon"
+				line_color 	3342489
+				fill_color 	13434879
+				quidu      	"3E42DFF70227"
+				width      	300
+				height     	180)
+			    (object CategoryView "Logical View::org.apache.catalina::realm" @10
+				location   	(1248, 112)
+				font       	(object Font
+				    size       	10
+				    face       	"Arial"
+				    bold       	FALSE
+				    italics    	FALSE
+				    underline  	FALSE
+				    strike     	FALSE
+				    color      	0
+				    default_color 	TRUE)
+				label      	(object ItemLabel
+				    Parent_View 	@10
+				    location   	(1104, 28)
+				    fill_color 	13434879
+				    nlines     	2
+				    max_width  	288
+				    justify    	0
+				    label      	"realm")
+				icon_style 	"Icon"
+				line_color 	3342489
+				fill_color 	13434879
+				quidu      	"3E42DFFA00AE"
+				width      	300
+				height     	180)
+			    (object CategoryView "Logical View::org.apache.catalina::security" @11
+				location   	(304, 2496)
+				font       	(object Font
+				    size       	10
+				    face       	"Arial"
+				    bold       	FALSE
+				    italics    	FALSE
+				    underline  	FALSE
+				    strike     	FALSE
+				    color      	0
+				    default_color 	TRUE)
+				label      	(object ItemLabel
+				    Parent_View 	@11
+				    location   	(160, 2412)
+				    fill_color 	13434879
+				    nlines     	2
+				    max_width  	288
+				    justify    	0
+				    label      	"security")
+				icon_style 	"Icon"
+				line_color 	3342489
+				fill_color 	13434879
+				quidu      	"3E42E00100D7"
+				width      	300
+				height     	180)
+			    (object CategoryView "Logical View::org.apache.catalina::servlets" @12
+				location   	(2096, 1888)
+				font       	(object Font
+				    size       	10
+				    face       	"Arial"
+				    bold       	FALSE
+				    italics    	FALSE
+				    underline  	FALSE
+				    strike     	FALSE
+				    color      	0
+				    default_color 	TRUE)
+				label      	(object ItemLabel
+				    Parent_View 	@12
+				    location   	(1952, 1804)
+				    fill_color 	13434879
+				    nlines     	2
+				    max_width  	288
+				    justify    	0
+				    label      	"servlets")
+				icon_style 	"Icon"
+				line_color 	3342489
+				fill_color 	13434879
+				quidu      	"3E42E00502DB"
+				width      	300
+				height     	180)
+			    (object CategoryView "Logical View::org.apache.catalina::session" @13
+				location   	(432, 1696)
+				font       	(object Font
+				    size       	10
+				    face       	"Arial"
+				    bold       	FALSE
+				    italics    	FALSE
+				    underline  	FALSE
+				    strike     	FALSE
+				    color      	0
+				    default_color 	TRUE)
+				label      	(object ItemLabel
+				    Parent_View 	@13
+				    location   	(288, 1612)
+				    fill_color 	13434879
+				    nlines     	2
+				    max_width  	288
+				    justify    	0
+				    label      	"session")
+				icon_style 	"Icon"
+				line_color 	3342489
+				fill_color 	13434879
+				quidu      	"3E42E00C026D"
+				width      	300
+				height     	180)
+			    (object CategoryView "Logical View::org.apache.catalina::ssi" @14
+				location   	(672, 2480)
+				font       	(object Font
+				    size       	10
+				    face       	"Arial"
+				    bold       	FALSE
+				    italics    	FALSE
+				    underline  	FALSE
+				    strike     	FALSE
+				    color      	0
+				    default_color 	TRUE)
+				label      	(object ItemLabel
+				    Parent_View 	@14
+				    location   	(528, 2393)
+				    fill_color 	13434879
+				    nlines     	2
+				    max_width  	288
+				    justify    	0
+				    label      	"ssi")
+				icon_style 	"Icon"
+				line_color 	3342489
+				fill_color 	13434879
+				quidu      	"3E42E01002C3"
+				width      	301
+				height     	187)
+			    (object CategoryView "Logical View::org.apache.catalina::startup" @15
+				location   	(1088, 832)
+				font       	(object Font
+				    size       	10
+				    face       	"Arial"
+				    bold       	FALSE
+				    italics    	FALSE
+				    underline  	FALSE
+				    strike     	FALSE
+				    color      	0
+				    default_color 	TRUE)
+				label      	(object ItemLabel
+				    Parent_View 	@15
+				    location   	(944, 748)
+				    fill_color 	13434879
+				    nlines     	2
+				    max_width  	288
+				    justify    	0
+				    label      	"startup")
+				icon_style 	"Icon"
+				line_color 	3342489
+				fill_color 	13434879
+				quidu      	"3E42E01E00EC"
+				width      	300
+				height     	180)
+			    (object CategoryView "Logical View::org.apache.catalina::user" @16
+				location   	(1424, 2496)
+				font       	(object Font
+				    size       	10
+				    face       	"Arial"
+				    bold       	FALSE
+				    italics    	FALSE
+				    underline  	FALSE
+				    strike     	FALSE
+				    color      	0
+				    default_color 	TRUE)
+				label      	(object ItemLabel
+				    Parent_View 	@16
+				    location   	(1280, 2412)
+				    fill_color 	13434879
+				    nlines     	2
+				    max_width  	288
+				    justify    	0
+				    label      	"user")
+				icon_style 	"Icon"
+				line_color 	3342489
+				fill_color 	13434879
+				quidu      	"3E42E0220174"
+				width      	300
+				height     	180)
+			    (object CategoryView "Logical View::org.apache.catalina::util" @17
+				location   	(1312, 1872)
+				font       	(object Font
+				    size       	10
+				    face       	"Arial"
+				    bold       	FALSE
+				    italics    	FALSE
+				    underline  	FALSE
+				    strike     	FALSE
+				    color      	0
+				    default_color 	TRUE)
+				label      	(object ItemLabel
+				    Parent_View 	@17
+				    location   	(1168, 1788)
+				    fill_color 	13434879
+				    nlines     	2
+				    max_width  	288
+				    justify    	0
+				    label      	"util")
+				icon_style 	"Icon"
+				line_color 	3342489
+				fill_color 	13434879
+				quidu      	"3E42E0260184"
+				width      	300
+				height     	180)
+			    (object CategoryView "Logical View::org.apache.catalina::valves" @18
+				location   	(304, 704)
+				font       	(object Font
+				    size       	10
+				    face       	"Arial"
+				    bold       	FALSE
+				    italics    	FALSE
+				    underline  	FALSE
+				    strike     	FALSE
+				    color      	0
+				    default_color 	TRUE)
+				label      	(object ItemLabel
+				    Parent_View 	@18
+				    location   	(160, 620)
+				    fill_color 	13434879
+				    nlines     	2
+				    max_width  	288
+				    justify    	0
+				    label      	"valves")
+				icon_style 	"Icon"
+				line_color 	3342489
+				fill_color 	13434879
+				quidu      	"3E42E02D035B"
+				width      	300
+				height     	180)
+			    (object ImportView "" @19
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43CFF7020F"
+				client     	@1
+				supplier   	@17
+				line_style 	0)
+			    (object ImportView "" @20
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D07E017D"
+				client     	@3
+				supplier   	@13
+				line_style 	0)
+			    (object CategoryView "Logical View::org.apache.catalina::loader" @21
+				location   	(2240, 416)
+				font       	(object Font
+				    size       	10
+				    face       	"Arial"
+				    bold       	FALSE
+				    italics    	FALSE
+				    underline  	FALSE
+				    strike     	FALSE
+				    color      	0
+				    default_color 	TRUE)
+				label      	(object ItemLabel
+				    Parent_View 	@21
+				    location   	(2096, 332)
+				    fill_color 	13434879
+				    nlines     	2
+				    max_width  	288
+				    justify    	0
+				    label      	"loader")
+				icon_style 	"Icon"
+				line_color 	3342489
+				fill_color 	13434879
+				quidu      	"3E43D2D002D6"
+				width      	300
+				height     	180)
+			    (object ImportView "" @22
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D32001B8"
+				client     	@5
+				supplier   	@17
+				line_style 	0)
+			    (object CategoryView "Logical View::org.apache.naming" @23
+				location   	(1872, 96)
+				font       	(object Font
+				    size       	10
+				    face       	"Arial"
+				    bold       	FALSE
+				    italics    	FALSE
+				    underline  	FALSE
+				    strike     	FALSE
+				    color      	0
+				    default_color 	TRUE)
+				label      	(object ItemLabel
+				    Parent_View 	@23
+				    location   	(1699, 12)
+				    fill_color 	13434879
+				    nlines     	2
+				    max_width  	346
+				    justify    	0
+				    label      	"org.apache.naming")
+				icon_style 	"Icon"
+				line_color 	3342489
+				fill_color 	13434879
+				quidu      	"3E43D1580339"
+				width      	358
+				height     	180)
+			    (object ImportView "" @24
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D3CF00F2"
+				client     	@21
+				supplier   	@23
+				line_style 	0)
+			    (object ImportView "" @25
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D6390371"
+				client     	@9
+				supplier   	@17
+				line_style 	0)
+			    (object ImportView "" @26
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D69F0133"
+				client     	@10
+				supplier   	@4
+				line_style 	0)
+			    (object ImportView "" @27
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D6A10353"
+				client     	@10
+				supplier   	@17
+				line_style 	0)
+			    (object ImportView "" @28
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D70E00E2"
+				client     	@10
+				supplier   	@23
+				line_style 	0)
+			    (object ImportView "" @29
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D72302D7"
+				client     	@10
+				supplier   	@5
+				line_style 	0)
+			    (object ImportView "" @30
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D69F0133"
+				client     	@10
+				supplier   	@4
+				line_style 	0)
+			    (object ImportView "" @31
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D74D007F"
+				client     	@11
+				supplier   	@15
+				line_style 	0)
+			    (object ImportView "" @32
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D76B0371"
+				client     	@11
+				supplier   	@17
+				line_style 	0)
+			    (object CategoryView "Logical View::org.apache.tomcat.util" @33
+				location   	(2096, 2224)
+				font       	(object Font
+				    size       	10
+				    face       	"Arial"
+				    bold       	FALSE
+				    italics    	FALSE
+				    underline  	FALSE
+				    strike     	FALSE
+				    color      	0
+				    default_color 	TRUE)
+				label      	(object ItemLabel
+				    Parent_View 	@33
+				    location   	(1923, 2140)
+				    fill_color 	13434879
+				    nlines     	2
+				    max_width  	346
+				    justify    	0
+				    label      	"org.apache.tomcat.util")
+				icon_style 	"Icon"
+				line_color 	3342489
+				fill_color 	13434879
+				quidu      	"3E42DEDF01F2"
+				width      	358
+				height     	180)
+			    (object ImportView "" @34
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D8770344"
+				client     	@13
+				supplier   	@17
+				line_style 	0)
+			    (object ImportView "" @35
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D8F902B5"
+				client     	@14
+				supplier   	@17
+				line_style 	0)
+			    (object ImportView "" @36
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43DB240227"
+				client     	@16
+				supplier   	@17
+				line_style 	0)
+			    (object ImportView "" @37
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43DB31009F"
+				client     	@16
+				supplier   	@23
+				line_style 	0)
+			    (object ImportView "" @38
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43DB85017C"
+				client     	@17
+				supplier   	@4
+				line_style 	0)
+			    (object ImportView "" @39
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43DB88016C"
+				client     	@17
+				supplier   	@23
+				line_style 	0)
+			    (object ImportView "" @40
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D82702E5"
+				client     	@12
+				supplier   	@33
+				line_style 	0)
+			    (object ImportView "" @41
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D82A02CC"
+				client     	@12
+				supplier   	@17
+				line_style 	0)
+			    (object ImportView "" @42
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D82D0244"
+				client     	@12
+				supplier   	@23
+				vertices   	(list Points
+				    (2060, 1743)
+				    (1746, 447)
+				    (1838, 186))
+				line_style 	0)
+			    (object ImportView "" @43
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D919018F"
+				client     	@15
+				supplier   	@11
+				line_style 	0)
+			    (object ImportView "" @44
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D946000D"
+				client     	@15
+				supplier   	@4
+				line_style 	0)
+			    (object ImportView "" @45
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D95E012A"
+				client     	@15
+				supplier   	@21
+				line_style 	0)
+			    (object ImportView "" @46
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D95E012A"
+				client     	@15
+				supplier   	@21
+				line_style 	0)
+			    (object ImportView "" @47
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D9960315"
+				client     	@15
+				supplier   	@17
+				line_style 	0)
+			    (object ImportView "" @48
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D99902BF"
+				client     	@15
+				supplier   	@18
+				line_style 	0)
+			    (object ImportView "" @49
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D99C0147"
+				client     	@15
+				supplier   	@5
+				line_style 	0)
+			    (object ImportView "" @50
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D946000D"
+				client     	@15
+				supplier   	@4
+				line_style 	0)
+			    (object ImportView "" @51
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D9150251"
+				client     	@15
+				supplier   	@7
+				line_style 	0)
+			    (object ImportView "" @52
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D9DA0114"
+				client     	@15
+				supplier   	@9
+				line_style 	0)
+			    (object ImportView "" @53
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D9F402F2"
+				client     	@15
+				supplier   	@10
+				line_style 	0)
+			    (object ImportView "" @54
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D9960315"
+				client     	@15
+				supplier   	@17
+				line_style 	0)
+			    (object ImportView "" @55
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D946000D"
+				client     	@15
+				supplier   	@4
+				line_style 	0)
+			    (object ImportView "" @56
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D99C0147"
+				client     	@15
+				supplier   	@5
+				line_style 	0)
+			    (object ImportView "" @57
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D49101A5"
+				client     	@8
+				supplier   	@5
+				line_style 	0)
+			    (object ImportView "" @58
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D4C6027D"
+				client     	@8
+				supplier   	@4
+				line_style 	0)
+			    (object ImportView "" @59
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D4FB008F"
+				client     	@8
+				supplier   	@13
+				line_style 	0)
+			    (object ImportView "" @60
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D50000BE"
+				client     	@8
+				supplier   	@18
+				vertices   	(list Points
+				    (2057, 1216)
+				    (1278, 1216)
+				    (454, 783))
+				line_style 	0)
+			    (object ImportView "" @61
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D5080278"
+				client     	@8
+				supplier   	@10
+				line_style 	0)
+			    (object ImportView "" @62
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D55A0258"
+				client     	@8
+				supplier   	@7
+				line_style 	0)
+			    (object ImportView "" @63
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D56000D0"
+				client     	@8
+				supplier   	@2
+				line_style 	0)
+			    (object ImportView "" @64
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D19E01A9"
+				client     	@4
+				supplier   	@5
+				line_style 	0)
+			    (object ImportView "" @65
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D1A10185"
+				client     	@4
+				supplier   	@17
+				line_style 	0)
+			    (object ImportView "" @66
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D1CE007C"
+				client     	@4
+				supplier   	@3
+				line_style 	0)
+			    (object ImportView "" @67
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D1D800D0"
+				client     	@4
+				supplier   	@11
+				vertices   	(list Points
+				    (2081, 890)
+				    (959, 1616)
+				    (409, 2351))
+				line_style 	0)
+			    (object ImportView "" @68
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D25C031F"
+				client     	@4
+				supplier   	@8
+				line_style 	0)
+			    (object ImportView "" @69
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D260028E"
+				client     	@4
+				supplier   	@15
+				line_style 	0)
+			    (object ImportView "" @70
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D26A015C"
+				client     	@4
+				supplier   	@13
+				line_style 	0)
+			    (object ImportView "" @71
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D2830271"
+				client     	@4
+				supplier   	@18
+				line_style 	0)
+			    (object ImportView "" @72
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D2C80248"
+				client     	@4
+				supplier   	@9
+				line_style 	0)
+			    (object ImportView "" @73
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D2D6002B"
+				client     	@4
+				supplier   	@21
+				line_style 	0)
+			    (object ImportView "" @74
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D3D300F7"
+				client     	@4
+				supplier   	@23
+				line_style 	0)
+			    (object ImportView "" @75
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D03C0395"
+				client     	@2
+				supplier   	@5
+				vertices   	(list Points
+				    (171, 1855)
+				    (16, 766)
+				    (205, 250))
+				line_style 	0)
+			    (object ImportView "" @76
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D03F01C2"
+				client     	@2
+				supplier   	@17
+				line_style 	0)
+			    (object ImportView "" @77
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D043024A"
+				client     	@2
+				supplier   	@18
+				line_style 	0)
+			    (object ImportView "" @78
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43DC2B0257"
+				client     	@18
+				supplier   	@17
+				line_style 	0)
+			    (object ImportView "" @79
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43DD3E0271"
+				client     	@18
+				supplier   	@5
+				line_style 	0)
+			    (object ImportView "" @80
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43DD4102CF"
+				client     	@18
+				supplier   	@3
+				line_style 	0)
+			    (object ImportView "" @81
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43DDDE00B8"
+				client     	@18
+				supplier   	@4
+				vertices   	(list Points
+				    (454, 654)
+				    (1293, 381)
+				    (2073, 731))
+				line_style 	0)))))
+	    (object Class_Category "org.apache.coyote"
+		quid       	"3E42DE9F0132"
+		visible_categories 	(list visibility_relationship_list
+		    (object Visibility_Relationship
+			quid       	"3E42DEFC00B3"
+			supplier   	"Logical View::org.apache.tomcat.util"
+			quidu      	"3E42DEDF01F2"))
+		exportControl 	"Public"
+		logical_models 	(list unit_reference_list)
+		logical_presentations 	(list unit_reference_list))
+	    (object Class_Category "org.apache.tomcat.util"
+		quid       	"3E42DEDF01F2"
+		exportControl 	"Public"
+		logical_models 	(list unit_reference_list)
+		logical_presentations 	(list unit_reference_list))
+	    (object Class_Category "org.apache.jasper"
+		quid       	"3E42DEFF0270"
+		exportControl 	"Public"
+		logical_models 	(list unit_reference_list)
+		logical_presentations 	(list unit_reference_list))
+	    (object Class_Category "org.apache.naming"
+		quid       	"3E43D1580339"
+		exportControl 	"Public"
+		logical_models 	(list unit_reference_list)
+		logical_presentations 	(list unit_reference_list))
+	    (object Mechanism @82
+		logical_models 	(list unit_reference_list
+		    (object Object "Bootstrap"
+			quid       	"3DFDF8FD0345"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFDF9210008"
+				supplier   	"Bootstrap"
+				quidu      	"3DFDF8FD0345"
+				messages   	(list Messages
+				    (object Message "initClassLoaders()"
+					quid       	"3DFDF9210009"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1"
+					ordinal    	0
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFDF91A010C"
+				supplier   	"Catalina"
+				quidu      	"3DFDF90A0330"
+				messages   	(list Messages
+				    (object Message "newInstance()"
+					quid       	"3DFDF91A010D"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"2"
+					ordinal    	1
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "setParentClassLoader()"
+					quid       	"3DFDF97900C2"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3"
+					ordinal    	2
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "load()"
+					quid       	"3DFDFA3402F2"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"4"
+					ordinal    	3
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "Digester"
+			quid       	"3DFDFAF201A1"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFDFB8400A6"
+				supplier   	"ServerLifecycleListener"
+				quidu      	"3DFDFB4B0217"
+				messages   	(list Messages
+				    (object Message "newInstance()"
+					quid       	"3DFDFB8400A7"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"9.1"
+					ordinal    	9
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFDFB920147"
+				supplier   	"GlobalResourcesLifecycleListener"
+				quidu      	"3DFDFB7A02AB"
+				messages   	(list Messages
+				    (object Message "newInstance()"
+					quid       	"3DFDFB920148"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"9.2"
+					ordinal    	10
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "ServerLifecycleListener"
+			quid       	"3DFDFB4B0217"
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "GlobalResourcesLifecycleListener"
+			quid       	"3DFDFB7A02AB"
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "SecurityConfig"
+			quid       	"3DFDFBD802BA"
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "Catalina"
+			quid       	"3DFDF90A0330"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFDFA8001D9"
+				supplier   	"Catalina"
+				quidu      	"3DFDF90A0330"
+				messages   	(list Messages
+				    (object Message "initDirs()"
+					quid       	"3DFDFA8001DA"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"5"
+					ordinal    	4
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "initNaming()"
+					quid       	"3DFDFA8B0347"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"6"
+					ordinal    	5
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "initialize()"
+					quid       	"3DFDFAAD01AC"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"7"
+					ordinal    	6
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFDFAF800C3"
+				supplier   	"Digester"
+				quidu      	"3DFDFAF201A1"
+				messages   	(list Messages
+				    (object Message "createDigester()"
+					quid       	"3DFDFAF800C4"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"8"
+					ordinal    	7
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "parse()"
+					quid       	"3DFDFB0100B2"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"9"
+					ordinal    	8
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFDFBEA00C1"
+				supplier   	"SecurityConfig"
+				quidu      	"3DFDFBD802BA"
+				messages   	(list Messages
+				    (object Message "newInstance()"
+					quid       	"3DFDFBEA00C2"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"10"
+					ordinal    	11
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "setPackageDefinition()"
+					quid       	"3DFDFBF401F2"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"11"
+					ordinal    	12
+					Operation  	"setPackageDefinition"
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "setPackageAccess()"
+					quid       	"3DFDFC1203C2"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"12"
+					ordinal    	13
+					Operation  	"setPackageAccess"
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)))
+	    (object Mechanism @83
+		logical_models 	(list unit_reference_list
+		    (object Object "Catalina"
+			quid       	"3DFDFC8F015F"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFDFD1F0075"
+				supplier   	"StandardServer"
+				quidu      	"3DFDFCCB006B"
+				messages   	(list Messages
+				    (object Message "initialize()"
+					quid       	"3DFDFD1F0076"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1"
+					ordinal    	0
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "StandardServer"
+			quid       	"3DFDFCCB006B"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFDFD3D01C3"
+				supplier   	"StandardService"
+				quidu      	"3DFDFD370020"
+				messages   	(list Messages
+				    (object Message "initialize()"
+					quid       	"3DFDFD3D01C4"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"2"
+					ordinal    	1
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "StandardService"
+			quid       	"3DFDFD370020"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFDFE990304"
+				supplier   	"CoyoteConnector"
+				quidu      	"3DFDFE810313"
+				messages   	(list Messages
+				    (object Message "initialize()"
+					quid       	"3DFDFE990305"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"2.1"
+					ordinal    	2
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "CoyoteConnector"
+			quid       	"3DFDFE810313"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE013D0216"
+				supplier   	"CoyoteAdapter"
+				quidu      	"3DFDFFA00226"
+				messages   	(list Messages
+				    (object Message "new()"
+					quid       	"3DFE013D0217"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"2.1.1"
+					ordinal    	3
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE0183032F"
+				supplier   	"Http11Protocol"
+				quidu      	"3DFE016601A6"
+				messages   	(list Messages
+				    (object Message "new()"
+					quid       	"3DFE01830330"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"2.1.2"
+					ordinal    	4
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "init()"
+					quid       	"3DFE0188032C"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"2.1.3"
+					ordinal    	5
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE01BC038B"
+				supplier   	"JkCoyoteAdapter"
+				quidu      	"3DFE01AD01A8"
+				messages   	(list Messages
+				    (object Message "new()"
+					quid       	"3DFE01BC038C"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"2.1.4"
+					ordinal    	6
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "init()"
+					quid       	"3DFE01C30164"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"2.1.5"
+					ordinal    	7
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "CoyoteAdapter"
+			quid       	"3DFDFFA00226"
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "Http11Protocol"
+			quid       	"3DFE016601A6"
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "JkCoyoteAdapter"
+			quid       	"3DFE01AD01A8"
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)))
+	    (object Mechanism @84
+		logical_models 	(list unit_reference_list
+		    (object Object "Bootstrap"
+			quid       	"3DFE027700F5"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE02830373"
+				supplier   	"Catalina"
+				quidu      	"3DFE027D0067"
+				messages   	(list Messages
+				    (object Message "start()"
+					quid       	"3DFE02830374"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1"
+					ordinal    	0
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "Catalina"
+			quid       	"3DFE027D0067"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE02BA0187"
+				supplier   	"StandardServer"
+				quidu      	"3DFE02B30015"
+				messages   	(list Messages
+				    (object Message "start()"
+					quid       	"3DFE02BA0188"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1.1"
+					ordinal    	1
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "StandardServer"
+			quid       	"3DFE02B30015"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE02D3006B"
+				supplier   	"StandardServer"
+				quidu      	"3DFE02B30015"
+				messages   	(list Messages
+				    (object Message "fireLifecycleEvent(BEFORE_START_EVENT)"
+					quid       	"3DFE02D3006C"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1.1.1"
+					ordinal    	2
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "fireLifecycleEvent(START_EVENT)"
+					quid       	"3DFE02DF02DF"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1.1.2"
+					ordinal    	3
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE030C02B2"
+				supplier   	"StandardService"
+				quidu      	"3DFE030400E3"
+				messages   	(list Messages
+				    (object Message "start()"
+					quid       	"3DFE030C02B3"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1.1.3"
+					ordinal    	4
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "StandardService"
+			quid       	"3DFE030400E3"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE031D0021"
+				supplier   	"StandardService"
+				quidu      	"3DFE030400E3"
+				messages   	(list Messages
+				    (object Message "fireLifecycleEvent(BEFORE_START_EVENT)"
+					quid       	"3DFE031D0022"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1.1.3.1"
+					ordinal    	5
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "fireLifecycleEvent(START_EVENT)"
+					quid       	"3DFE0330019B"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1.1.3.2"
+					ordinal    	6
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE03700189"
+				supplier   	"StandardEngine"
+				quidu      	"3DFE034700C2"
+				messages   	(list Messages
+				    (object Message "start()"
+					quid       	"3DFE0370018A"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1.1.3.3"
+					ordinal    	7
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "StandardEngine"
+			quid       	"3DFE034700C2"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE03750050"
+				supplier   	"StandardEngine"
+				quidu      	"3DFE034700C2"
+				messages   	(list Messages
+				    (object Message "fireLifecycleEvent(BEFORE_START_EVENT)"
+					quid       	"3DFE03750051"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"2"
+					ordinal    	8
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "addDefaultMapper()"
+					quid       	"3DFE0389001C"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3"
+					ordinal    	9
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "logger.start()"
+					quid       	"3DFE03980281"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"4"
+					ordinal    	10
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "realm.start()"
+					quid       	"3DFE03A80107"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"5"
+					ordinal    	11
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "findMappers()"
+					quid       	"3DFE03BD000D"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"6"
+					ordinal    	12
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "findChildren()"
+					quid       	"3DFE03E000A4"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"7"
+					ordinal    	13
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE03FB0279"
+				supplier   	"StandardHost"
+				quidu      	"3DFE03F2035D"
+				messages   	(list Messages
+				    (object Message "start()"
+					quid       	"3DFE03FB027A"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"8"
+					ordinal    	14
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "StandardHost"
+			quid       	"3DFE03F2035D"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE043B02AD"
+				supplier   	"StandardHost"
+				quidu      	"3DFE03F2035D"
+				messages   	(list Messages
+				    (object Message "fireLifecycleEvent(BEFORE_START_EVENT)"
+					quid       	"3DFE043B02AE"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"8.1"
+					ordinal    	15
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "addDefaultMapper()"
+					quid       	"3DFE045C021F"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"8.2"
+					ordinal    	16
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "logger.start()"
+					quid       	"3DFE049B000C"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"8.3"
+					ordinal    	17
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "findMapper()"
+					quid       	"3DFE04A303BB"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"8.4"
+					ordinal    	18
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "findChildren()"
+					quid       	"3DFE04A90342"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"8.5"
+					ordinal    	19
+					Operation  	"findChildren"
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE048E00B8"
+				supplier   	"StandardPipeline"
+				quidu      	"3DFE047D006D"
+				messages   	(list Messages
+				    (object Message "start()"
+					quid       	"3DFE048E00B9"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"8.6"
+					ordinal    	20
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "StandardPipeline"
+			quid       	"3DFE047D006D"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE05780137"
+				supplier   	"StandardPipeline"
+				quidu      	"3DFE047D006D"
+				messages   	(list Messages
+				    (object Message "fireLifecycleEvent(BEFORE_START_EVENT)"
+					quid       	"3DFE05780138"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"8.6.1"
+					ordinal    	21
+					Operation  	"fireLifecycleEvent(AFTER_START_EVENT)"
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "fireLifecycleEvent(START_EVENT)"
+					quid       	"3DFE05A80398"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"8.6.2"
+					ordinal    	22
+					Operation  	"fireLifecycleEvent(BEFORE_START_EVENT)"
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "fireLifecycleEvent(AFTER_EVENT)"
+					quid       	"3DFE05BA0196"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"8.6.3"
+					ordinal    	23
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)))
+	    (object Mechanism @85
+		logical_models 	(list unit_reference_list
+		    (object Object "StandardHost"
+			quid       	"3DFE0538017B"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE066C0340"
+				supplier   	"StandardHost"
+				quidu      	"3DFE0538017B"
+				messages   	(list Messages
+				    (object Message "fireLifecycleEvent(START_EVENT)"
+					quid       	"3DFE066C0341"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1"
+					ordinal    	0
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE06D20293"
+				supplier   	"HostConfig"
+				quidu      	"3DFE06A60131"
+				messages   	(list Messages
+				    (object Message "interested[i].lifecycleEvent()"
+					quid       	"3DFE06D20294"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"2"
+					ordinal    	1
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "install()"
+					quid       	"3DFE078B03BB"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"ToClientFromSupplier"
+					sequence   	"2.6"
+					ordinal    	7
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "install()"
+					quid       	"3DFE132D0309"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"ToClientFromSupplier"
+					sequence   	"5"
+					ordinal    	13
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE07B100BD"
+				supplier   	"StandardHostDeployer"
+				quidu      	"3DFE079A0055"
+				messages   	(list Messages
+				    (object Message "install()"
+					quid       	"3DFE07B100BE"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3"
+					ordinal    	8
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "install() // same as above"
+					quid       	"3DFE133A036C"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"6"
+					ordinal    	17
+					Operation  	"install()"
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "HostConfig"
+			quid       	"3DFE06A60131"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE06E9028C"
+				supplier   	"HostConfig"
+				quidu      	"3DFE06A60131"
+				messages   	(list Messages
+				    (object Message "setDeployXML()"
+					quid       	"3DFE06E9028D"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"2.1"
+					ordinal    	2
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "setLiveDeploy()"
+					quid       	"3DFE06F300FF"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"2.2"
+					ordinal    	3
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "setUnpacksWar()"
+					quid       	"3DFE06FB00D9"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"2.3"
+					ordinal    	4
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "setXMLValidation()"
+					quid       	"3DFE070C0015"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"2.4"
+					ordinal    	5
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "deployDescriptors()"
+					quid       	"3DFE073B0031"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"2.5"
+					ordinal    	6
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "deployApps()"
+					quid       	"3DFE131F0327"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"4"
+					ordinal    	12
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "StandardHostDeployer"
+			quid       	"3DFE079A0055"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE07D200EC"
+				supplier   	"Digester"
+				quidu      	"3DFE07C9034C"
+				messages   	(list Messages
+				    (object Message "create()"
+					quid       	"3DFE07D200ED"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.1"
+					ordinal    	9
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "parse()"
+					quid       	"3DFE07D603D7"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.6"
+					ordinal    	16
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "add(ContextRuleSet)"
+					quid       	"3DFE08FA003D"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.3"
+					ordinal    	11
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE087D01E2"
+				supplier   	"StandardHostDeployer"
+				quidu      	"3DFE079A0055")
+			    (object Link
+				quid       	"3DFE08DA029A"
+				supplier   	"ContextRuleSet"
+				quidu      	"3DFE0834016F"
+				messages   	(list Messages
+				    (object Message "new()"
+					quid       	"3DFE08DA029B"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.2"
+					ordinal    	10
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "add(NamingRuleSet())"
+					quid       	"3DFE0907015F"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.5"
+					ordinal    	15
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE08E00090"
+				supplier   	"NamingRuleSet"
+				quidu      	"3DFE08D00173"
+				messages   	(list Messages
+				    (object Message "new()"
+					quid       	"3DFE08E00091"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.4"
+					ordinal    	14
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "Digester"
+			quid       	"3DFE07C9034C"
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "ContextRuleSet"
+			quid       	"3DFE0834016F"
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "NamingRuleSet"
+			quid       	"3DFE08D00173"
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)))
+	    (object Mechanism @86
+		logical_models 	(list unit_reference_list
+		    (object Object "Digester"
+			quid       	"3DFE095A0371"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE0E7801DA"
+				supplier   	"Digester"
+				quidu      	"3DFE095A0371"
+				messages   	(list Messages
+				    (object Message "parse"
+					quid       	"3DFE0E7801DB"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1"
+					ordinal    	0
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "startElement()"
+					quid       	"3DFE0F2F03D2"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"2"
+					ordinal    	1
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE0F400213"
+				supplier   	"Rule"
+				quidu      	"3DFE0E7400D0"
+				messages   	(list Messages
+				    (object Message "begin()"
+					quid       	"3DFE0F400214"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3"
+					ordinal    	2
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "Rule"
+			quid       	"3DFE0E7400D0"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE0FD30265"
+				supplier   	"StandardContext"
+				quidu      	"3DFE0FC502A1"
+				messages   	(list Messages
+				    (object Message "newInstance()"
+					quid       	"3DFE0FD30266"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.1"
+					ordinal    	3
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE102002E8"
+				supplier   	"SetPropertiesRule"
+				quidu      	"3DFE100303A4"
+				messages   	(list Messages
+				    (object Message "begin()"
+					quid       	"3DFE102002E9"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.2"
+					ordinal    	6
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE127F0024"
+				supplier   	"Rule"
+				quidu      	"3DFE0E7400D0")
+			    (object Link
+				quid       	"3DFE128501C7"
+				supplier   	"SetNextRule"
+				quidu      	"3DFE12690267"
+				messages   	(list Messages
+				    (object Message "end()"
+					quid       	"3DFE128501C8"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.3"
+					ordinal    	8
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "StandardContext"
+			quid       	"3DFE0FC502A1"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE114A0192"
+				supplier   	"StandardPipeline"
+				quidu      	"3DFE112F003F"
+				messages   	(list Messages
+				    (object Message "setBasic(StandardContextValve)"
+					quid       	"3DFE114A0193"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.1.2"
+					ordinal    	5
+					Operation  	"setBasic"
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE115E001E"
+				supplier   	"StandardContextValve"
+				quidu      	"3DFE110D0375"
+				messages   	(list Messages
+				    (object Message "new()"
+					quid       	"3DFE115E001F"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.1.1"
+					ordinal    	4
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "SetPropertiesRule"
+			quid       	"3DFE100303A4"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE11D50390"
+				supplier   	"StandardContext"
+				quidu      	"3DFE0FC502A1"
+				messages   	(list Messages
+				    (object Message "//Using BeanUtil, set the object properties (from ex: admin.xml)"
+					quid       	"3DFE11D50391"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.2.1"
+					ordinal    	7
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "StandardContextValve"
+			quid       	"3DFE110D0375"
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "StandardPipeline"
+			quid       	"3DFE112F003F"
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "SetNextRule"
+			quid       	"3DFE12690267"
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)))
+	    (object Mechanism @87
+		logical_models 	(list unit_reference_list
+		    (object Object "StandardContext"
+			quid       	"3DFE196D00D9"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE200603BD"
+				supplier   	"WebappLoader"
+				quidu      	"3DFE1FFA0347"
+				messages   	(list Messages
+				    (object Message "new"
+					quid       	"3DFE200603BE"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.1.1.1"
+					ordinal    	5
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE200C0299"
+				supplier   	"StandardContext"
+				quidu      	"3DFE196D00D9"
+				messages   	(list Messages
+				    (object Message "setLoader"
+					quid       	"3DFE200C029A"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.1.1.2"
+					ordinal    	6
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "setManager"
+					quid       	"3DFE2032001C"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.1.1.4"
+					ordinal    	8
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "fireLifecycleEvent(START_EVENT)"
+					quid       	"3DFE205B01A2"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.1.1.5"
+					ordinal    	9
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE202C024F"
+				supplier   	"StandardManager"
+				quidu      	"3DFE201F0105"
+				messages   	(list Messages
+				    (object Message "new"
+					quid       	"3DFE202C0250"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.1.1.3"
+					ordinal    	7
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "start()"
+					quid       	"3DFE20B600E5"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.1.1.7"
+					ordinal    	12
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE20960002"
+				supplier   	"ContextConfig"
+				quidu      	"3DFE2087028C"
+				messages   	(list Messages
+				    (object Message " // Notify interested LifecycleListeners"
+					quid       	"3DFE20960003"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.1.1.6"
+					ordinal    	10
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "StandardHostDeployer"
+			quid       	"3DFE1D8A02DC"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE1FAF0014"
+				supplier   	"StandardHost"
+				quidu      	"3DFE1DF20141"
+				messages   	(list Messages
+				    (object Message "addChild"
+					quid       	"3DFE1FB60277"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.1"
+					ordinal    	3
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "StandardHost"
+			quid       	"3DFE1DF20141"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE1FC40227"
+				supplier   	"StandardContext"
+				quidu      	"3DFE196D00D9"
+				messages   	(list Messages
+				    (object Message "start()"
+					quid       	"3DFE1FC40228"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.1.1"
+					ordinal    	4
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "WebappLoader"
+			quid       	"3DFE1FFA0347"
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "StandardManager"
+			quid       	"3DFE201F0105"
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "ContextConfig"
+			quid       	"3DFE2087028C"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE20CF018B"
+				supplier   	"ContextConfig"
+				quidu      	"3DFE2087028C"
+				messages   	(list Messages
+				    (object Message "start()"
+					quid       	"3DFE20CF018C"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.1.1.6.1"
+					ordinal    	11
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "defaultConfig()"
+					quid       	"3DFE20E303E2"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.1.1.6.2"
+					ordinal    	13
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "applicationConfig()"
+					quid       	"3DFE211D01A1"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.1.1.6.3"
+					ordinal    	14
+					Operation  	"applicationConfig"
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE21B60287"
+				supplier   	"Digester"
+				quidu      	"3DFE13960364"
+				messages   	(list Messages
+				    (object Message "create()"
+					quid       	"3DFE21B60288"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.1.1.6.3.1"
+					ordinal    	15
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "createWarpper() // Invoked by a WebWrapperRule (not Directly by the Digester)"
+					quid       	"3DFE228B03BA"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"ToClientFromSupplier"
+					sequence   	"3.1.1.6.3.1.2"
+					ordinal    	17
+					Operation  	"createWarpper() // Invoked by a Rule (not Directly by the Digester)"
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE22560061"
+				supplier   	"StandardWrapper"
+				quidu      	"3DFE220C0122"
+				messages   	(list Messages
+				    (object Message "new"
+					quid       	"3DFE229A0004"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.1.1.6.3.1.2.1"
+					ordinal    	18
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "addInstanceListener()"
+					quid       	"3DFE22A700C1"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.1.1.6.3.2"
+					ordinal    	19
+					Operation  	"addInstanceListener"
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "addLifecycleListener()"
+					quid       	"3DFE22C701CC"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.1.1.6.3.3"
+					ordinal    	20
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "addContainerListener()"
+					quid       	"3DFE22E80364"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.1.1.6.3.4"
+					ordinal    	21
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	TRUE
+			multi      	FALSE)
+		    (object Object "Digester"
+			quid       	"3DFE13960364"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE19AE0064"
+				supplier   	"Digester"
+				quidu      	"3DFE13960364"
+				messages   	(list Messages
+				    (object Message "parse"
+					quid       	"3DFE19AE0065"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1"
+					ordinal    	0
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "startElement()"
+					quid       	"3DFE19B102E9"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"2"
+					ordinal    	1
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "// Process web.xml * tld.xml"
+					quid       	"3DFE21BE021B"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.1.1.6.3.1.1"
+					ordinal    	16
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE1DFB0021"
+				supplier   	"StandardHostDeployer"
+				quidu      	"3DFE1D8A02DC"
+				messages   	(list Messages
+				    (object Message "addChild"
+					quid       	"3DFE1DFB0022"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3"
+					ordinal    	2
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE22190225"
+				supplier   	"StandardWrapper"
+				quidu      	"3DFE220C0122"))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "StandardWrapper"
+			quid       	"3DFE220C0122"
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)))
+	    (object Mechanism @88
+		logical_models 	(list unit_reference_list
+		    (object Object "ThreadPool"
+			quid       	"3DFE402B02C5"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE40E701AD"
+				supplier   	"TcpWorkerThread"
+				quidu      	"3DFE403200F8"
+				messages   	(list Messages
+				    (object Message "runIt()"
+					quid       	"3DFE40E701AE"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1"
+					ordinal    	0
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "TcpWorkerThread"
+			quid       	"3DFE403200F8"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE40FC010D"
+				supplier   	"Http11Protocol"
+				quidu      	"3DFE40750177"
+				messages   	(list Messages
+				    (object Message "processConnection"
+					quid       	"3DFE40FC010E"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1.1"
+					ordinal    	1
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "Http11Protocol"
+			quid       	"3DFE40750177"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE4111029E"
+				supplier   	"Http11Protocol"
+				quidu      	"3DFE40750177"
+				messages   	(list Messages
+				    (object Message "process()"
+					quid       	"3DFE4111029F"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1.1.1"
+					ordinal    	2
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "parseHeaders()"
+					quid       	"3DFE415C0151"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"2"
+					ordinal    	3
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "prepareRequest()"
+					quid       	"3DFE41A60161"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3"
+					ordinal    	4
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE41D60106"
+				supplier   	"CoyoteAdapter"
+				quidu      	"3DFE410600DF"
+				messages   	(list Messages
+				    (object Message "service()"
+					quid       	"3DFE41D60107"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"4"
+					ordinal    	5
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "CoyoteAdapter"
+			quid       	"3DFE410600DF"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE422C01F0"
+				supplier   	"CoyoteAdapter"
+				quidu      	"3DFE410600DF"
+				messages   	(list Messages
+				    (object Message "postParseRequest()"
+					quid       	"3DFE422C01F1"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"5"
+					ordinal    	6
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE42800237"
+				supplier   	"StandardEngine"
+				quidu      	"3DFE424B0349"
+				messages   	(list Messages
+				    (object Message "invoke()"
+					quid       	"3DFE42800238"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"6"
+					ordinal    	7
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "StandardEngine"
+			quid       	"3DFE424B0349"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE429A002C"
+				supplier   	"StandardPipeline"
+				quidu      	"3DFE42900045"
+				messages   	(list Messages
+				    (object Message "invoke()"
+					quid       	"3DFE429A002D"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"6.1"
+					ordinal    	8
+					Operation  	"invoke"
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "StandardPipeline"
+			quid       	"3DFE42900045"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE42CE022F"
+				supplier   	"StandardValveContext"
+				quidu      	"3DFE42C002B1"
+				messages   	(list Messages
+				    (object Message "invoke()"
+					quid       	"3DFE42CE0230"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"6.1.1"
+					ordinal    	9
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "StandardValveContext"
+			quid       	"3DFE42C002B1"
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)))
+	    (object Mechanism @89
+		logical_models 	(list unit_reference_list
+		    (object Object "StandardContextValve"
+			quid       	"3DFE4307001E"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE434C019A"
+				supplier   	"StandardEngineValve"
+				quidu      	"3DFE432801F3"
+				messages   	(list Messages
+				    (object Message "invoke()"
+					quid       	"3DFE434C019B"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1"
+					ordinal    	0
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE43C203A3"
+				supplier   	"ErrorReportValve"
+				quidu      	"3DFE438C028D"
+				messages   	(list Messages
+				    (object Message "invoke()"
+					quid       	"3DFE43C203A4"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3"
+					ordinal    	4
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "invokeNext()"
+					quid       	"3DFE46330293"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"ToClientFromSupplier"
+					sequence   	"3.2"
+					ordinal    	6
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE46E70025"
+				supplier   	"ErrorDispatcherValve"
+				quidu      	"3DFE451F01EC"
+				messages   	(list Messages
+				    (object Message "invoke()"
+					quid       	"3DFE46E70026"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"4"
+					ordinal    	7
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "invokeNext"
+					quid       	"3DFE475D03A0"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"ToClientFromSupplier"
+					sequence   	"4.1"
+					ordinal    	8
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE476503C9"
+				supplier   	"StandardHostValve"
+				quidu      	"3DFE47310130"
+				messages   	(list Messages
+				    (object Message "invoke()"
+					quid       	"3DFE476503CA"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"5"
+					ordinal    	9
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "StandardEngineValve"
+			quid       	"3DFE432801F3"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE436C009C"
+				supplier   	"StandardHost"
+				quidu      	"3DFE436503BD"
+				messages   	(list Messages
+				    (object Message "map()"
+					quid       	"3DFE436C009D"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1.1"
+					ordinal    	1
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "invoke()"
+					quid       	"3DFE43830063"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1.2"
+					ordinal    	2
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE437F0143"
+				supplier   	"StandardEngineValve"
+				quidu      	"3DFE432801F3"))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "StandardHost"
+			quid       	"3DFE436503BD"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE43B903BE"
+				supplier   	"StandardContextValve"
+				quidu      	"3DFE4307001E"
+				messages   	(list Messages
+				    (object Message "invoke()"
+					quid       	"3DFE43B903BF"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"2"
+					ordinal    	3
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "ErrorReportValve"
+			quid       	"3DFE438C028D"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE442501B0"
+				supplier   	"ErrorReportValve"
+				quidu      	"3DFE438C028D"
+				messages   	(list Messages
+				    (object Message "report()"
+					quid       	"3DFE442501B1"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.1"
+					ordinal    	5
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE452A00F7"
+				supplier   	"ErrorDispatcherValve"
+				quidu      	"3DFE451F01EC"))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "ErrorDispatcherValve"
+			quid       	"3DFE451F01EC"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE47500148"
+				supplier   	"StandardHostValve"
+				quidu      	"3DFE47310130")
+			    (object Link
+				quid       	"3DFE47580335"
+				supplier   	"ErrorDispatcherValve"
+				quidu      	"3DFE451F01EC"))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "StandardHostValve"
+			quid       	"3DFE47310130"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE47CD0166"
+				supplier   	"StandardHostValve"
+				quidu      	"3DFE47310130"
+				messages   	(list Messages
+				    (object Message "map() //Context"
+					quid       	"3DFE47CD0167"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"5.1"
+					ordinal    	10
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE47D500B3"
+				supplier   	"StandardContext"
+				quidu      	"3DFE47C100F1"
+				messages   	(list Messages
+				    (object Message "invoke()"
+					quid       	"3DFE47D500B4"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"5.2"
+					ordinal    	11
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "StandardContext"
+			quid       	"3DFE47C100F1"
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)))
+	    (object Mechanism @90
+		logical_models 	(list unit_reference_list
+		    (object Object "StandardContext"
+			quid       	"3DFE48B001D1"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE48BE0267"
+				supplier   	"StandardPipeline"
+				quidu      	"3DFE48B80088"
+				messages   	(list Messages
+				    (object Message "invoke()"
+					quid       	"3DFE48BE0268"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1"
+					ordinal    	0
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "StandardPipeline"
+			quid       	"3DFE48B80088"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE48EA0039"
+				supplier   	"StandardValveContext"
+				quidu      	"3DFE48D000DC"
+				messages   	(list Messages
+				    (object Message "invoke()"
+					quid       	"3DFE48EA003A"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1.1"
+					ordinal    	1
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "invoke()"
+					quid       	"3DFE4976015D"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1.2"
+					ordinal    	6
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "StandardValveContext"
+			quid       	"3DFE48D000DC"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE491102D5"
+				supplier   	"StandardContextValve"
+				quidu      	"3DFE490303A7"
+				messages   	(list Messages
+				    (object Message "invoke()"
+					quid       	"3DFE491102D6"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1.1.1"
+					ordinal    	2
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE4993023B"
+				supplier   	"StandardWrapperValve"
+				quidu      	"3DFE49890056"
+				messages   	(list Messages
+				    (object Message "invoke()"
+					quid       	"3DFE4993023C"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1.2.1"
+					ordinal    	7
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "StandardContextValve"
+			quid       	"3DFE490303A7"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE492F033C"
+				supplier   	"StandardContextValve"
+				quidu      	"3DFE490303A7"
+				messages   	(list Messages
+				    (object Message "map //return Wrapper"
+					quid       	"3DFE492F033D"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1.1.1.1"
+					ordinal    	3
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE494A0150"
+				supplier   	"StandardWrapper"
+				quidu      	"3DFE49370351"
+				messages   	(list Messages
+				    (object Message "invoke()"
+					quid       	"3DFE494A0151"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1.1.1.2"
+					ordinal    	4
+					Operation  	"invoke"
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "StandardWrapper"
+			quid       	"3DFE49370351"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE495F0287"
+				supplier   	"StandardPipeline"
+				quidu      	"3DFE48B80088"
+				messages   	(list Messages
+				    (object Message "invoke()"
+					quid       	"3DFE495F0288"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1.1.1.2.1"
+					ordinal    	5
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "StandardWrapperValve"
+			quid       	"3DFE49890056"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE49DB018A"
+				supplier   	"StandardWrapperValve"
+				quidu      	"3DFE49890056")
+			    (object Link
+				quid       	"3DFE49EC004E"
+				supplier   	"StandardWrapper"
+				quidu      	"3DFE49370351"
+				messages   	(list Messages
+				    (object Message "allocate()"
+					quid       	"3DFE49EC004F"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1.2.1.1"
+					ordinal    	8
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "return servlet"
+					quid       	"3DFE4A200067"
+					frequency  	"Aperiodic"
+					synchronization 	"Return"
+					dir        	"ToClientFromSupplier"
+					sequence   	"1.2.1.1.1"
+					ordinal    	9
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE4A29027D"
+				supplier   	"ApplicationFilterChain"
+				quidu      	"3DFE4A1500B2"
+				messages   	(list Messages
+				    (object Message "createFilterChain()"
+					quid       	"3DFE4A29027E"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1.2.1.1.1.1"
+					ordinal    	10
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "doFilter()"
+					quid       	"3DFE4A490283"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1.2.1.2"
+					ordinal    	11
+					Operation  	"doFilter"
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "return"
+					quid       	"3DFE4CB4025B"
+					frequency  	"Aperiodic"
+					synchronization 	"Return"
+					dir        	"ToClientFromSupplier"
+					sequence   	"1.2.1.2.3"
+					ordinal    	14
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "ApplicationFilterChain"
+			quid       	"3DFE4A1500B2"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE4C2701C2"
+				supplier   	"ApplicationFilterChain"
+				quidu      	"3DFE4A1500B2"
+				messages   	(list Messages
+				    (object Message "internalDoFilter()"
+					quid       	"3DFE4C2701C3"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1.2.1.2.1"
+					ordinal    	12
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE4CA502BE"
+				supplier   	"$UNNAMED$0"
+				quidu      	"3DFE4BAE0056"
+				messages   	(list Messages
+				    (object Message "service()"
+					quid       	"3DFE4CA502BF"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1.2.1.2.2"
+					ordinal    	13
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "$UNNAMED$0"
+			quid       	"3DFE4BAE0056"
+			stereotype 	"Servlet"
+			persistence 	"Transient"
+			creationObj 	TRUE
+			multi      	FALSE))))
+	logical_presentations 	(list unit_reference_list
+	    (object ClassDiagram "Main"
+		quid       	"3DFDF6D2021B"
+		title      	"Main"
+		zoom       	100
+		max_height 	28350
+		max_width  	21600
+		origin_x   	0
+		origin_y   	0
+		items      	(list diagram_item_list))
+	    (object ClassDiagram "high level packaging"
+		quid       	"3E42DE75004B"
+		title      	"high level packaging"
+		zoom       	100
+		max_height 	28350
+		max_width  	21600
+		origin_x   	0
+		origin_y   	0
+		items      	(list diagram_item_list
+		    (object CategoryView "Logical View::org.apache.catalina" @91
+			location   	(1024, 752)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@91
+			    location   	(780, 668)
+			    fill_color 	13434879
+			    nlines     	2
+			    max_width  	488
+			    justify    	0
+			    label      	"org.apache.catalina")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3E42DE8D0082"
+			width      	500
+			height     	181)
+		    (object CategoryView "Logical View::org.apache.coyote" @92
+			location   	(512, 1184)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@92
+			    location   	(237, 1090)
+			    fill_color 	13434879
+			    nlines     	2
+			    max_width  	550
+			    justify    	0
+			    label      	"org.apache.coyote")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3E42DE9F0132"
+			width      	563
+			height     	200)
+		    (object CategoryView "Logical View::org.apache.tomcat.util" @93
+			location   	(1920, 1104)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@93
+			    location   	(1670, 1020)
+			    fill_color 	13434879
+			    nlines     	2
+			    max_width  	500
+			    justify    	0
+			    label      	"org.apache.tomcat.util")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3E42DEDF01F2"
+			width      	512
+			height     	181)
+		    (object ImportView "" @94
+			stereotype 	TRUE
+			line_color 	3342489
+			quidu      	"3E42DEF601EB"
+			client     	@91
+			supplier   	@93
+			line_style 	0)
+		    (object ImportView "" @95
+			stereotype 	TRUE
+			line_color 	3342489
+			quidu      	"3E42DEFC00B3"
+			client     	@92
+			supplier   	@93
+			line_style 	0)
+		    (object CategoryView "Logical View::org.apache.jasper" @96
+			location   	(1728, 624)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@96
+			    location   	(1437, 540)
+			    fill_color 	13434879
+			    nlines     	2
+			    max_width  	582
+			    justify    	0
+			    label      	"org.apache.jasper")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3E42DEFF0270"
+			width      	594
+			height     	181)
+		    (object ImportView "" @97
+			stereotype 	TRUE
+			line_color 	3342489
+			quidu      	"3E42DF700060"
+			client     	@91
+			supplier   	@92
+			line_style 	0)
+		    (object NoteView @98
+			location   	(1200, 208)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@98
+			    location   	(847, 143)
+			    fill_color 	13434879
+			    nlines     	2
+			    max_width  	671
+			    label      	"High Level package dependencies")
+			line_color 	3342489
+			fill_color 	13434879
+			width      	731
+			height     	143)
+		    (object CategoryView "Logical View::org.apache.naming" @99
+			location   	(352, 304)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@99
+			    location   	(83, 220)
+			    fill_color 	13434879
+			    nlines     	2
+			    max_width  	538
+			    justify    	0
+			    label      	"org.apache.naming")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3E43D1580339"
+			width      	550
+			height     	181)
+		    (object ImportView "" @100
+			stereotype 	TRUE
+			line_color 	3342489
+			quidu      	"3E43D165039C"
+			client     	@91
+			supplier   	@99
+			line_style 	0)))
+	    (object InteractionDiagram "1. catalina_load"
+		mechanism_ref 	@82
+		quid       	"3DFDF8EE0267"
+		title      	"1. catalina_load"
+		zoom       	100
+		max_height 	28350
+		max_width  	21600
+		origin_x   	0
+		origin_y   	519
+		items      	(list diagram_item_list
+		    (object InterObjView "Bootstrap" @101
+			location   	(224, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@101
+			    location   	(224, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"Bootstrap")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFDF8FD0345"
+			width      	300
+			height     	1972
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @102
+			    location   	(224, 368)
+			    line_color 	3342489
+			    InterObjView 	@101
+			    height     	1738
+			    y_coord    	1678
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @103
+			    location   	(224, 368)
+			    line_color 	3342489
+			    InterObjView 	@101
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE))
+		    (object InterObjView "Digester" @104
+			location   	(896, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@104
+			    location   	(896, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"Digester")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFDFAF201A1"
+			width      	300
+			height     	1972
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @105
+			    location   	(896, 1232)
+			    line_color 	3342489
+			    InterObjView 	@104
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @106
+			    location   	(896, 1312)
+			    line_color 	3342489
+			    InterObjView 	@104
+			    height     	264
+			    y_coord    	204
+			    Nested     	FALSE))
+		    (object InterObjView "ServerLifecycleListener" @107
+			location   	(1232, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@107
+			    location   	(1232, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"ServerLifecycleListener")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFDFB4B0217"
+			width      	300
+			height     	1972
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @108
+			    location   	(1232, 1328)
+			    line_color 	3342489
+			    InterObjView 	@107
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE))
+		    (object InterObjView "GlobalResourcesLifecycleListener" @109
+			location   	(1568, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@109
+			    location   	(1568, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	322
+			    justify    	0
+			    label      	"GlobalResourcesLifecycleListener")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFDFB7A02AB"
+			width      	340
+			height     	1972
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @110
+			    location   	(1568, 1456)
+			    line_color 	3342489
+			    InterObjView 	@109
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE))
+		    (object InterObjView "SecurityConfig" @111
+			location   	(1920, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@111
+			    location   	(1920, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"SecurityConfig")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFDFBD802BA"
+			width      	300
+			height     	1972
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @112
+			    location   	(1920, 1600)
+			    line_color 	3342489
+			    InterObjView 	@111
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @113
+			    location   	(1920, 1680)
+			    line_color 	3342489
+			    InterObjView 	@111
+			    height     	146
+			    y_coord    	86
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @114
+			    location   	(1920, 1760)
+			    line_color 	3342489
+			    InterObjView 	@111
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE))
+		    (object SelfMessView "" @115
+			location   	(16, 368)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @116
+			    Parent_View 	@115
+			    location   	(315, 324)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFDF9210009"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	340
+			    justify    	0
+			    label      	"initClassLoaders()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@101
+			supplier   	@101
+			Focus_Src  	@102
+			Focus_Entry 	@103
+			origin     	(240, 368)
+			terminus   	(390, 368)
+			ordinal    	0)
+		    (object NoteView @117
+			location   	(1152, 1072)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@117
+			    location   	(1014, 1012)
+			    fill_color 	13434879
+			    nlines     	2
+			    max_width  	240
+			    label      	"parse server.xml")
+			line_color 	3342489
+			fill_color 	13434879
+			width      	300
+			height     	132)
+		    (object NoteView @118
+			location   	(1376, 80)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@118
+			    location   	(1238, 20)
+			    fill_color 	13434879
+			    nlines     	2
+			    max_width  	240
+			    label      	"MBeans")
+			line_color 	3342489
+			fill_color 	13434879
+			width      	300
+			height     	132)
+		    (object AttachView "" @119
+			stereotype 	TRUE
+			line_color 	3342489
+			client     	@118
+			supplier   	@107
+			line_style 	0)
+		    (object AttachView "" @120
+			stereotype 	TRUE
+			line_color 	3342489
+			client     	@109
+			supplier   	@118
+			line_style 	0)
+		    (object NoteView @121
+			location   	(2160, 2176)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@121
+			    location   	(1947, 2113)
+			    fill_color 	13434879
+			    nlines     	2
+			    max_width  	390
+			    label      	"#1Catalina.load()")
+			line_color 	3342489
+			fill_color 	13434879
+			width      	450
+			height     	138)
+		    (object InterObjView "Catalina" @122
+			location   	(560, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@122
+			    location   	(560, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"Catalina")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFDF90A0330"
+			width      	300
+			height     	1972
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @123
+			    location   	(560, 464)
+			    line_color 	3342489
+			    InterObjView 	@122
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @124
+			    location   	(560, 608)
+			    line_color 	3342489
+			    InterObjView 	@122
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @125
+			    location   	(560, 720)
+			    line_color 	3342489
+			    InterObjView 	@122
+			    height     	1326
+			    y_coord    	1266
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @126
+			    location   	(560, 896)
+			    line_color 	3342489
+			    InterObjView 	@122
+			    height     	194
+			    y_coord    	134
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @127
+			    location   	(560, 896)
+			    InterObjView 	@122
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @128
+			    location   	(560, 1024)
+			    line_color 	3342489
+			    InterObjView 	@122
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @129
+			    location   	(560, 1024)
+			    InterObjView 	@122
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @130
+			    location   	(560, 1152)
+			    line_color 	3342489
+			    InterObjView 	@122
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @131
+			    location   	(560, 1152)
+			    InterObjView 	@122
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE))
+		    (object SelfMessView "" @132
+			location   	(16, 896)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @133
+			    Parent_View 	@132
+			    location   	(651, 852)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFDFA8001DA"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	160
+			    justify    	0
+			    label      	"initDirs()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@122
+			supplier   	@122
+			Focus_Src  	@127
+			Focus_Entry 	@126
+			origin     	(576, 896)
+			terminus   	(726, 896)
+			ordinal    	4)
+		    (object SelfMessView "" @134
+			location   	(16, 1024)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @135
+			    Parent_View 	@134
+			    location   	(701, 981)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFDFA8B0347"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	228
+			    justify    	0
+			    label      	"initNaming()"
+			    pctDist    	0.840000
+			    height     	44
+			    orientation 	0)
+			line_color 	3342489
+			client     	@122
+			supplier   	@122
+			Focus_Src  	@129
+			Focus_Entry 	@128
+			origin     	(576, 1024)
+			terminus   	(726, 1024)
+			ordinal    	5)
+		    (object SelfMessView "" @136
+			location   	(16, 1152)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @137
+			    Parent_View 	@136
+			    location   	(686, 1109)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFDFAAD01AC"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	180
+			    justify    	0
+			    label      	"initialize()"
+			    pctDist    	0.733333
+			    height     	44
+			    orientation 	0)
+			line_color 	3342489
+			client     	@122
+			supplier   	@122
+			Focus_Src  	@131
+			Focus_Entry 	@130
+			origin     	(576, 1152)
+			terminus   	(726, 1152)
+			ordinal    	6)
+		    (object InterMessView "" @138
+			location   	(16, 464)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @139
+			    Parent_View 	@138
+			    location   	(389, 437)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFDF91A010D"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	265
+			    justify    	0
+			    label      	"newInstance()"
+			    pctDist    	0.495082
+			    height     	28
+			    orientation 	0)
+			line_color 	3342489
+			client     	@101
+			supplier   	@122
+			Focus_Src  	@102
+			Focus_Entry 	@123
+			origin     	(239, 464)
+			terminus   	(544, 464)
+			ordinal    	1)
+		    (object InterMessView "" @140
+			location   	(16, 608)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @141
+			    Parent_View 	@140
+			    location   	(456, 565)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFDF97900C2"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	445
+			    justify    	0
+			    label      	"setParentClassLoader()"
+			    pctDist    	0.711475
+			    height     	44
+			    orientation 	0)
+			line_color 	3342489
+			client     	@101
+			supplier   	@122
+			Focus_Src  	@102
+			Focus_Entry 	@124
+			origin     	(239, 608)
+			terminus   	(544, 608)
+			ordinal    	2)
+		    (object InterMessView "" @142
+			location   	(16, 720)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @143
+			    Parent_View 	@142
+			    location   	(391, 676)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFDFA3402F2"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	108
+			    justify    	0
+			    label      	"load()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@101
+			supplier   	@122
+			Focus_Src  	@102
+			Focus_Entry 	@125
+			origin     	(239, 720)
+			terminus   	(544, 720)
+			ordinal    	3)
+		    (object InterMessView "" @144
+			location   	(16, 1232)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @145
+			    Parent_View 	@144
+			    location   	(727, 1188)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFDFAF800C4"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	302
+			    justify    	0
+			    label      	"createDigester()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@122
+			supplier   	@104
+			Focus_Src  	@125
+			Focus_Entry 	@105
+			origin     	(575, 1232)
+			terminus   	(880, 1232)
+			ordinal    	7)
+		    (object InterMessView "" @146
+			location   	(16, 1312)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @147
+			    Parent_View 	@146
+			    location   	(727, 1268)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFDFB0100B2"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	136
+			    justify    	0
+			    label      	"parse()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@122
+			supplier   	@104
+			Focus_Src  	@125
+			Focus_Entry 	@106
+			origin     	(575, 1312)
+			terminus   	(880, 1312)
+			ordinal    	8)
+		    (object AttachView "" @148
+			stereotype 	TRUE
+			line_color 	3342489
+			client     	@147
+			supplier   	@117
+			line_style 	0)
+		    (object InterMessView "" @149
+			location   	(16, 1328)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @150
+			    Parent_View 	@149
+			    location   	(1063, 1284)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFDFB8400A7"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	265
+			    justify    	0
+			    label      	"newInstance()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@104
+			supplier   	@107
+			Focus_Src  	@106
+			Focus_Entry 	@108
+			origin     	(911, 1328)
+			terminus   	(1216, 1328)
+			ordinal    	9)
+		    (object InterMessView "" @151
+			location   	(16, 1456)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @152
+			    Parent_View 	@151
+			    location   	(1231, 1412)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFDFB920148"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	265
+			    justify    	0
+			    label      	"newInstance()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@104
+			supplier   	@109
+			Focus_Src  	@106
+			Focus_Entry 	@110
+			origin     	(911, 1456)
+			terminus   	(1552, 1456)
+			ordinal    	10)
+		    (object InterMessView "" @153
+			location   	(16, 1600)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @154
+			    Parent_View 	@153
+			    location   	(1239, 1556)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFDFBEA00C2"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	265
+			    justify    	0
+			    label      	"newInstance()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@122
+			supplier   	@111
+			Focus_Src  	@125
+			Focus_Entry 	@112
+			origin     	(575, 1600)
+			terminus   	(1904, 1600)
+			ordinal    	11)
+		    (object InterMessView "" @155
+			location   	(16, 1680)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @156
+			    Parent_View 	@155
+			    location   	(1239, 1636)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFDFBF401F2"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	425
+			    justify    	0
+			    label      	"setPackageDefinition()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@122
+			supplier   	@111
+			Focus_Src  	@125
+			Focus_Entry 	@113
+			origin     	(575, 1680)
+			terminus   	(1904, 1680)
+			ordinal    	12)
+		    (object InterMessView "" @157
+			location   	(16, 1760)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @158
+			    Parent_View 	@157
+			    location   	(1239, 1716)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFDFC1203C2"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	386
+			    justify    	0
+			    label      	"setPackageAccess()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@122
+			supplier   	@111
+			Focus_Src  	@125
+			Focus_Entry 	@114
+			origin     	(575, 1760)
+			terminus   	(1904, 1760)
+			ordinal    	13)))
+	    (object InteractionDiagram "2. catalina_initliaze"
+		mechanism_ref 	@83
+		quid       	"3DFDFC44002A"
+		title      	"2. catalina_initliaze"
+		zoom       	100
+		max_height 	28350
+		max_width  	21600
+		origin_x   	0
+		origin_y   	87
+		items      	(list diagram_item_list
+		    (object InterObjView "Catalina" @159
+			location   	(176, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@159
+			    location   	(176, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"Catalina")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFDFC8F015F"
+			width      	300
+			height     	1180
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @160
+			    location   	(176, 400)
+			    line_color 	3342489
+			    InterObjView 	@159
+			    height     	914
+			    y_coord    	854
+			    Nested     	FALSE))
+		    (object InterObjView "StandardServer" @161
+			location   	(496, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@161
+			    location   	(496, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"StandardServer")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFDFCCB006B"
+			width      	300
+			height     	1180
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @162
+			    location   	(496, 400)
+			    line_color 	3342489
+			    InterObjView 	@161
+			    height     	854
+			    y_coord    	794
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @163
+			    location   	(496, 480)
+			    line_color 	3342489
+			    InterObjView 	@161
+			    height     	768
+			    y_coord    	708
+			    Nested     	TRUE))
+		    (object InterObjView "StandardService" @164
+			location   	(832, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@164
+			    location   	(832, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"StandardService")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFDFD370020"
+			width      	300
+			height     	1180
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @165
+			    location   	(832, 480)
+			    line_color 	3342489
+			    InterObjView 	@164
+			    height     	708
+			    y_coord    	648
+			    Nested     	FALSE))
+		    (object InterObjView "CoyoteConnector" @166
+			location   	(1168, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@166
+			    location   	(1168, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"CoyoteConnector")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFDFE810313"
+			width      	300
+			height     	1180
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @167
+			    location   	(1168, 528)
+			    line_color 	3342489
+			    InterObjView 	@166
+			    height     	600
+			    y_coord    	540
+			    Nested     	FALSE))
+		    (object InterObjView "CoyoteAdapter" @168
+			location   	(1504, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@168
+			    location   	(1504, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"CoyoteAdapter")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFDFFA00226"
+			width      	300
+			height     	1180
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @169
+			    location   	(1504, 576)
+			    line_color 	3342489
+			    InterObjView 	@168
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE))
+		    (object InterObjView "Http11Protocol" @170
+			location   	(1808, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@170
+			    location   	(1808, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"Http11Protocol")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE016601A6"
+			width      	300
+			height     	1180
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @171
+			    location   	(1808, 704)
+			    line_color 	3342489
+			    InterObjView 	@170
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @172
+			    location   	(1808, 832)
+			    line_color 	3342489
+			    InterObjView 	@170
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE))
+		    (object InterObjView "JkCoyoteAdapter" @173
+			location   	(2144, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@173
+			    location   	(2144, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"JkCoyoteAdapter")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE01AD01A8"
+			width      	300
+			height     	1180
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @174
+			    location   	(2144, 928)
+			    line_color 	3342489
+			    InterObjView 	@173
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @175
+			    location   	(2144, 1008)
+			    line_color 	3342489
+			    InterObjView 	@173
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE))
+		    (object InterMessView "" @176
+			location   	(16, 400)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @177
+			    Parent_View 	@176
+			    location   	(335, 356)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFDFD1F0076"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	180
+			    justify    	0
+			    label      	"initialize()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@159
+			supplier   	@161
+			Focus_Src  	@160
+			Focus_Entry 	@162
+			origin     	(191, 400)
+			terminus   	(480, 400)
+			ordinal    	0)
+		    (object InterMessView "" @178
+			location   	(16, 480)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @179
+			    Parent_View 	@178
+			    location   	(663, 436)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFDFD3D01C4"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	180
+			    justify    	0
+			    label      	"initialize()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@161
+			supplier   	@164
+			Focus_Src  	@163
+			Focus_Entry 	@165
+			origin     	(511, 480)
+			terminus   	(816, 480)
+			ordinal    	1)
+		    (object InterMessView "" @180
+			location   	(16, 528)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @181
+			    Parent_View 	@180
+			    location   	(999, 484)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFDFE990305"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	180
+			    justify    	0
+			    label      	"initialize()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@164
+			supplier   	@166
+			Focus_Src  	@165
+			Focus_Entry 	@167
+			origin     	(847, 528)
+			terminus   	(1152, 528)
+			ordinal    	2)
+		    (object InterMessView "" @182
+			location   	(16, 576)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @183
+			    Parent_View 	@182
+			    location   	(1335, 532)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE013D0217"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	106
+			    justify    	0
+			    label      	"new()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@166
+			supplier   	@168
+			Focus_Src  	@167
+			Focus_Entry 	@169
+			origin     	(1183, 576)
+			terminus   	(1488, 576)
+			ordinal    	3)
+		    (object InterMessView "" @184
+			location   	(1504, 704)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @185
+			    Parent_View 	@184
+			    location   	(1487, 660)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE01830330"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	106
+			    justify    	0
+			    label      	"new()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@166
+			supplier   	@170
+			Focus_Src  	@167
+			Focus_Entry 	@171
+			origin     	(1183, 704)
+			terminus   	(1792, 704)
+			ordinal    	4)
+		    (object InterMessView "" @186
+			location   	(1504, 832)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @187
+			    Parent_View 	@186
+			    location   	(1487, 788)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE0188032C"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	80
+			    justify    	0
+			    label      	"init()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@166
+			supplier   	@170
+			Focus_Src  	@167
+			Focus_Entry 	@172
+			origin     	(1183, 832)
+			terminus   	(1792, 832)
+			ordinal    	5)
+		    (object InterMessView "" @188
+			location   	(16, 928)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @189
+			    Parent_View 	@188
+			    location   	(1655, 884)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE01BC038C"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	106
+			    justify    	0
+			    label      	"new()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@166
+			supplier   	@173
+			Focus_Src  	@167
+			Focus_Entry 	@174
+			origin     	(1183, 928)
+			terminus   	(2128, 928)
+			ordinal    	6)
+		    (object InterMessView "" @190
+			location   	(16, 1008)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @191
+			    Parent_View 	@190
+			    location   	(1655, 964)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE01C30164"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	80
+			    justify    	0
+			    label      	"init()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@166
+			supplier   	@173
+			Focus_Src  	@167
+			Focus_Entry 	@175
+			origin     	(1183, 1008)
+			terminus   	(2128, 1008)
+			ordinal    	7)
+		    (object NoteView @192
+			location   	(2144, 2016)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@192
+			    location   	(1947, 1957)
+			    fill_color 	13434879
+			    nlines     	2
+			    max_width  	359
+			    label      	"#2 Catalina.initialize()")
+			line_color 	3342489
+			fill_color 	13434879
+			width      	419
+			height     	131)))
+	    (object InteractionDiagram "3. catalina_start"
+		mechanism_ref 	@84
+		quid       	"3DFE026D02D1"
+		title      	"3. catalina_start"
+		zoom       	100
+		max_height 	28350
+		max_width  	21600
+		origin_x   	0
+		origin_y   	2481
+		items      	(list diagram_item_list
+		    (object InterObjView "Bootstrap" @193
+			location   	(192, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@193
+			    location   	(192, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"Bootstrap")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE027700F5"
+			width      	300
+			height     	2912
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @194
+			    location   	(192, 384)
+			    line_color 	3342489
+			    InterObjView 	@193
+			    height     	2662
+			    y_coord    	2602
+			    Nested     	FALSE))
+		    (object InterObjView "Catalina" @195
+			location   	(480, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@195
+			    location   	(480, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"Catalina")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE027D0067"
+			width      	300
+			height     	2912
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @196
+			    location   	(480, 384)
+			    line_color 	3342489
+			    InterObjView 	@195
+			    height     	2602
+			    y_coord    	2542
+			    Nested     	FALSE))
+		    (object InterObjView "StandardServer" @197
+			location   	(784, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@197
+			    location   	(784, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"StandardServer")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE02B30015"
+			width      	300
+			height     	2912
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @198
+			    location   	(784, 416)
+			    line_color 	3342489
+			    InterObjView 	@197
+			    height     	2510
+			    y_coord    	2450
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @199
+			    location   	(784, 480)
+			    line_color 	3342489
+			    InterObjView 	@197
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @200
+			    location   	(784, 592)
+			    line_color 	3342489
+			    InterObjView 	@197
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE))
+		    (object InterObjView "StandardService" @201
+			location   	(1088, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@201
+			    location   	(1088, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"StandardService")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE030400E3"
+			width      	300
+			height     	2912
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @202
+			    location   	(1088, 704)
+			    line_color 	3342489
+			    InterObjView 	@201
+			    height     	2162
+			    y_coord    	2102
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @203
+			    location   	(1088, 752)
+			    line_color 	3342489
+			    InterObjView 	@201
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @204
+			    location   	(1088, 864)
+			    line_color 	3342489
+			    InterObjView 	@201
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE))
+		    (object InterObjView "StandardEngine" @205
+			location   	(1424, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@205
+			    location   	(1424, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	332
+			    justify    	0
+			    label      	"StandardEngine")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE034700C2"
+			width      	350
+			height     	2912
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @206
+			    location   	(1424, 976)
+			    line_color 	3342489
+			    InterObjView 	@205
+			    height     	1830
+			    y_coord    	1770
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @207
+			    location   	(1424, 1056)
+			    line_color 	3342489
+			    InterObjView 	@205
+			    height     	1744
+			    y_coord    	1684
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @208
+			    location   	(1424, 1056)
+			    line_color 	3342489
+			    InterObjView 	@205
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @209
+			    location   	(1424, 1168)
+			    line_color 	3342489
+			    InterObjView 	@205
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @210
+			    location   	(1424, 1296)
+			    line_color 	3342489
+			    InterObjView 	@205
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @211
+			    location   	(1424, 1408)
+			    line_color 	3342489
+			    InterObjView 	@205
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @212
+			    location   	(1424, 1536)
+			    line_color 	3342489
+			    InterObjView 	@205
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @213
+			    location   	(1424, 1648)
+			    line_color 	3342489
+			    InterObjView 	@205
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE))
+		    (object InterObjView "StandardHost" @214
+			location   	(1760, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@214
+			    location   	(1760, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"StandardHost")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE03F2035D"
+			width      	300
+			height     	2912
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @215
+			    location   	(1760, 1760)
+			    line_color 	3342489
+			    InterObjView 	@214
+			    height     	980
+			    y_coord    	920
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @216
+			    location   	(1760, 1808)
+			    line_color 	3342489
+			    InterObjView 	@214
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @217
+			    location   	(1760, 1920)
+			    line_color 	3342489
+			    InterObjView 	@214
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @218
+			    location   	(1760, 2032)
+			    line_color 	3342489
+			    InterObjView 	@214
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @219
+			    location   	(1760, 2144)
+			    line_color 	3342489
+			    InterObjView 	@214
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @220
+			    location   	(1760, 2256)
+			    line_color 	3342489
+			    InterObjView 	@214
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE))
+		    (object InterObjView "StandardPipeline" @221
+			location   	(2080, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@221
+			    location   	(2080, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	326
+			    justify    	0
+			    label      	"StandardPipeline")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE047D006D"
+			width      	344
+			height     	2912
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @222
+			    location   	(2080, 2368)
+			    line_color 	3342489
+			    InterObjView 	@221
+			    height     	312
+			    y_coord    	252
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @223
+			    location   	(2080, 2416)
+			    line_color 	3342489
+			    InterObjView 	@221
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @224
+			    location   	(2080, 2480)
+			    line_color 	3342489
+			    InterObjView 	@221
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @225
+			    location   	(2080, 2560)
+			    line_color 	3342489
+			    InterObjView 	@221
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE))
+		    (object InterMessView "" @226
+			location   	(16, 384)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @227
+			    Parent_View 	@226
+			    location   	(335, 340)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE02830374"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	110
+			    justify    	0
+			    label      	"start()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@193
+			supplier   	@195
+			Focus_Src  	@194
+			Focus_Entry 	@196
+			origin     	(207, 384)
+			terminus   	(464, 384)
+			ordinal    	0)
+		    (object InterMessView "" @228
+			location   	(16, 416)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @229
+			    Parent_View 	@228
+			    location   	(631, 372)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE02BA0188"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	110
+			    justify    	0
+			    label      	"start()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@195
+			supplier   	@197
+			Focus_Src  	@196
+			Focus_Entry 	@198
+			origin     	(495, 416)
+			terminus   	(768, 416)
+			ordinal    	1)
+		    (object SelfMessView "" @230
+			location   	(16, 480)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @231
+			    Parent_View 	@230
+			    location   	(1244, 437)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE02D3006C"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	854
+			    justify    	0
+			    label      	"fireLifecycleEvent(BEFORE_START_EVENT)"
+			    pctDist    	2.960000
+			    height     	44
+			    orientation 	0)
+			line_color 	3342489
+			client     	@197
+			supplier   	@197
+			Focus_Src  	@198
+			Focus_Entry 	@199
+			origin     	(800, 480)
+			terminus   	(950, 480)
+			ordinal    	2)
+		    (object SelfMessView "" @232
+			location   	(16, 592)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @233
+			    Parent_View 	@232
+			    location   	(1146, 549)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE02DF02DF"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	658
+			    justify    	0
+			    label      	"fireLifecycleEvent(START_EVENT)"
+			    pctDist    	2.313333
+			    height     	44
+			    orientation 	0)
+			line_color 	3342489
+			client     	@197
+			supplier   	@197
+			Focus_Src  	@198
+			Focus_Entry 	@200
+			origin     	(800, 592)
+			terminus   	(950, 592)
+			ordinal    	3)
+		    (object InterMessView "" @234
+			location   	(16, 704)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @235
+			    Parent_View 	@234
+			    location   	(935, 660)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE030C02B3"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	110
+			    justify    	0
+			    label      	"start()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@197
+			supplier   	@201
+			Focus_Src  	@198
+			Focus_Entry 	@202
+			origin     	(799, 704)
+			terminus   	(1072, 704)
+			ordinal    	4)
+		    (object SelfMessView "" @236
+			location   	(16, 752)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @237
+			    Parent_View 	@236
+			    location   	(1531, 708)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE031D0022"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	854
+			    justify    	0
+			    label      	"fireLifecycleEvent(BEFORE_START_EVENT)"
+			    pctDist    	2.853333
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@201
+			supplier   	@201
+			Focus_Src  	@202
+			Focus_Entry 	@203
+			origin     	(1104, 752)
+			terminus   	(1254, 752)
+			ordinal    	5)
+		    (object SelfMessView "" @238
+			location   	(16, 864)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @239
+			    Parent_View 	@238
+			    location   	(1449, 821)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE0330019B"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	658
+			    justify    	0
+			    label      	"fireLifecycleEvent(START_EVENT)"
+			    pctDist    	2.306667
+			    height     	44
+			    orientation 	0)
+			line_color 	3342489
+			client     	@201
+			supplier   	@201
+			Focus_Src  	@202
+			Focus_Entry 	@204
+			origin     	(1104, 864)
+			terminus   	(1254, 864)
+			ordinal    	6)
+		    (object InterMessView "" @240
+			location   	(16, 976)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @241
+			    Parent_View 	@240
+			    location   	(1255, 932)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE0370018A"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	110
+			    justify    	0
+			    label      	"start()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@201
+			supplier   	@205
+			Focus_Src  	@202
+			Focus_Entry 	@206
+			origin     	(1103, 976)
+			terminus   	(1408, 976)
+			ordinal    	7)
+		    (object SelfMessView "" @242
+			location   	(16, 1056)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @243
+			    Parent_View 	@242
+			    location   	(1865, 1014)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE03750051"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	854
+			    justify    	0
+			    label      	"fireLifecycleEvent(BEFORE_START_EVENT)"
+			    pctDist    	2.840000
+			    height     	43
+			    orientation 	0)
+			line_color 	3342489
+			client     	@205
+			supplier   	@205
+			Focus_Src  	@207
+			Focus_Entry 	@208
+			origin     	(1440, 1056)
+			terminus   	(1590, 1056)
+			ordinal    	8)
+		    (object SelfMessView "" @244
+			location   	(16, 1168)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @245
+			    Parent_View 	@244
+			    location   	(1639, 1141)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE0389001C"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	373
+			    justify    	0
+			    label      	"addDefaultMapper()"
+			    pctDist    	1.326667
+			    height     	28
+			    orientation 	0)
+			line_color 	3342489
+			client     	@205
+			supplier   	@205
+			Focus_Src  	@207
+			Focus_Entry 	@209
+			origin     	(1440, 1168)
+			terminus   	(1590, 1168)
+			ordinal    	9)
+		    (object SelfMessView "" @246
+			location   	(16, 1296)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @247
+			    Parent_View 	@246
+			    location   	(1592, 1268)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE03980281"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	238
+			    justify    	0
+			    label      	"logger.start()"
+			    pctDist    	1.020000
+			    height     	29
+			    orientation 	0)
+			line_color 	3342489
+			client     	@205
+			supplier   	@205
+			Focus_Src  	@207
+			Focus_Entry 	@210
+			origin     	(1440, 1296)
+			terminus   	(1590, 1296)
+			ordinal    	10)
+		    (object SelfMessView "" @248
+			location   	(16, 1408)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @249
+			    Parent_View 	@248
+			    location   	(1593, 1380)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE03A80107"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	226
+			    justify    	0
+			    label      	"realm.start()"
+			    pctDist    	1.026667
+			    height     	29
+			    orientation 	0)
+			line_color 	3342489
+			client     	@205
+			supplier   	@205
+			Focus_Src  	@207
+			Focus_Entry 	@211
+			origin     	(1440, 1408)
+			terminus   	(1590, 1408)
+			ordinal    	11)
+		    (object SelfMessView "" @250
+			location   	(16, 1536)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @251
+			    Parent_View 	@250
+			    location   	(1608, 1508)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE03BD000D"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	259
+			    justify    	0
+			    label      	"findMappers()"
+			    pctDist    	1.120000
+			    height     	29
+			    orientation 	0)
+			line_color 	3342489
+			client     	@205
+			supplier   	@205
+			Focus_Src  	@207
+			Focus_Entry 	@212
+			origin     	(1440, 1536)
+			terminus   	(1590, 1536)
+			ordinal    	12)
+		    (object SelfMessView "" @252
+			location   	(16, 1648)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @253
+			    Parent_View 	@252
+			    location   	(1515, 1604)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE03E000A4"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	251
+			    justify    	0
+			    label      	"findChildren()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@205
+			supplier   	@205
+			Focus_Src  	@207
+			Focus_Entry 	@213
+			origin     	(1440, 1648)
+			terminus   	(1590, 1648)
+			ordinal    	13)
+		    (object InterMessView "" @254
+			location   	(1664, 1760)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @255
+			    Parent_View 	@254
+			    location   	(1591, 1716)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE03FB027A"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	110
+			    justify    	0
+			    label      	"start()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@205
+			supplier   	@214
+			Focus_Src  	@207
+			Focus_Entry 	@215
+			origin     	(1439, 1760)
+			terminus   	(1744, 1760)
+			ordinal    	14)
+		    (object SelfMessView "" @256
+			location   	(16, 1808)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @257
+			    Parent_View 	@256
+			    location   	(1606, 1784)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE043B02AE"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	854
+			    justify    	0
+			    label      	"fireLifecycleEvent(BEFORE_START_EVENT)"
+			    pctDist    	-1.133333
+			    height     	24
+			    orientation 	0)
+			line_color 	3342489
+			client     	@214
+			supplier   	@214
+			Focus_Src  	@215
+			Focus_Entry 	@216
+			origin     	(1776, 1808)
+			terminus   	(1926, 1808)
+			ordinal    	15)
+		    (object SelfMessView "" @258
+			location   	(16, 1920)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @259
+			    Parent_View 	@258
+			    location   	(1963, 1877)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE045C021F"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	373
+			    justify    	0
+			    label      	"addDefaultMapper()"
+			    pctDist    	1.253333
+			    height     	44
+			    orientation 	0)
+			line_color 	3342489
+			client     	@214
+			supplier   	@214
+			Focus_Src  	@215
+			Focus_Entry 	@217
+			origin     	(1776, 1920)
+			terminus   	(1926, 1920)
+			ordinal    	16)
+		    (object InterMessView "" @260
+			location   	(2000, 2368)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @261
+			    Parent_View 	@260
+			    location   	(1919, 2324)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE048E00B9"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	110
+			    justify    	0
+			    label      	"start()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@214
+			supplier   	@221
+			Focus_Src  	@215
+			Focus_Entry 	@222
+			origin     	(1775, 2368)
+			terminus   	(2064, 2368)
+			ordinal    	20)
+		    (object SelfMessView "" @262
+			location   	(16, 2032)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @263
+			    Parent_View 	@262
+			    location   	(1916, 2004)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE049B000C"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	238
+			    justify    	0
+			    label      	"logger.start()"
+			    pctDist    	0.933333
+			    height     	29
+			    orientation 	0)
+			line_color 	3342489
+			client     	@214
+			supplier   	@214
+			Focus_Src  	@215
+			Focus_Entry 	@218
+			origin     	(1776, 2032)
+			terminus   	(1926, 2032)
+			ordinal    	17)
+		    (object SelfMessView "" @264
+			location   	(16, 2144)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @265
+			    Parent_View 	@264
+			    location   	(1916, 2117)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE04A303BB"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	238
+			    justify    	0
+			    label      	"findMapper()"
+			    pctDist    	0.933333
+			    height     	28
+			    orientation 	0)
+			line_color 	3342489
+			client     	@214
+			supplier   	@214
+			Focus_Src  	@215
+			Focus_Entry 	@219
+			origin     	(1776, 2144)
+			terminus   	(1926, 2144)
+			ordinal    	18)
+		    (object SelfMessView "" @266
+			location   	(16, 2256)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @267
+			    Parent_View 	@266
+			    location   	(1916, 2228)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE04A90342"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	251
+			    justify    	0
+			    label      	"findChildren()"
+			    pctDist    	0.933333
+			    height     	29
+			    orientation 	0)
+			line_color 	3342489
+			client     	@214
+			supplier   	@214
+			Focus_Src  	@215
+			Focus_Entry 	@220
+			origin     	(1776, 2256)
+			terminus   	(1926, 2256)
+			ordinal    	19)
+		    (object NoteView @268
+			location   	(2128, 1488)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@268
+			    location   	(1915, 1422)
+			    fill_color 	13434879
+			    nlines     	2
+			    max_width  	390
+			    label      	"#1 Catalina.start()")
+			line_color 	3342489
+			fill_color 	13434879
+			width      	450
+			height     	144)
+		    (object SelfMessView "" @269
+			location   	(16, 2416)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @270
+			    Parent_View 	@269
+			    location   	(1644, 2498)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE05780138"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	854
+			    justify    	0
+			    label      	"fireLifecycleEvent(BEFORE_START_EVENT)"
+			    pctDist    	-3.020000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@221
+			supplier   	@221
+			Focus_Src  	@222
+			Focus_Entry 	@223
+			origin     	(2096, 2416)
+			terminus   	(2246, 2416)
+			ordinal    	21)
+		    (object SelfMessView "" @271
+			location   	(16, 2480)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @272
+			    Parent_View 	@271
+			    location   	(1705, 2582)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE05A80398"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	658
+			    justify    	0
+			    label      	"fireLifecycleEvent(START_EVENT)"
+			    pctDist    	-2.613333
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@221
+			supplier   	@221
+			Focus_Src  	@222
+			Focus_Entry 	@224
+			origin     	(2096, 2480)
+			terminus   	(2246, 2480)
+			ordinal    	22)
+		    (object SelfMessView "" @273
+			location   	(16, 2560)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @274
+			    Parent_View 	@273
+			    location   	(1737, 2423)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE05BA0196"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	658
+			    justify    	0
+			    label      	"fireLifecycleEvent(AFTER_EVENT)"
+			    pctDist    	-2.393333
+			    height     	138
+			    orientation 	0)
+			line_color 	3342489
+			client     	@221
+			supplier   	@221
+			Focus_Src  	@222
+			Focus_Entry 	@225
+			origin     	(2096, 2560)
+			terminus   	(2246, 2560)
+			ordinal    	23)
+		    (object NoteView @275
+			location   	(960, 1680)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@275
+			    location   	(635, 1571)
+			    fill_color 	13434879
+			    nlines     	4
+			    max_width  	615
+			    label      	"All StandardX will fire these events.")
+			line_color 	3342489
+			fill_color 	13434879
+			width      	675
+			height     	231)
+		    (object AttachView "" @276
+			stereotype 	TRUE
+			line_color 	3342489
+			client     	@275
+			supplier   	@272
+			line_style 	0)
+		    (object AttachView "" @277
+			stereotype 	TRUE
+			line_color 	3342489
+			client     	@275
+			supplier   	@270
+			line_style 	0)
+		    (object AttachView "" @278
+			stereotype 	TRUE
+			line_color 	3342489
+			client     	@275
+			supplier   	@274
+			line_style 	0)))
+	    (object InteractionDiagram "4. catalina_start_2"
+		mechanism_ref 	@85
+		quid       	"3DFE050900BF"
+		title      	"4. catalina_start_2"
+		zoom       	100
+		max_height 	28350
+		max_width  	21600
+		origin_x   	0
+		origin_y   	1087
+		items      	(list diagram_item_list
+		    (object InterObjView "StandardHost" @279
+			location   	(208, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@279
+			    location   	(208, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"StandardHost")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE0538017B"
+			width      	300
+			height     	2114
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @280
+			    location   	(208, 384)
+			    line_color 	3342489
+			    InterObjView 	@279
+			    height     	1864
+			    y_coord    	1804
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @281
+			    location   	(208, 384)
+			    line_color 	3342489
+			    InterObjView 	@279
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @282
+			    location   	(208, 1088)
+			    line_color 	3342489
+			    InterObjView 	@279
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @283
+			    location   	(208, 1616)
+			    line_color 	3342489
+			    InterObjView 	@279
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE))
+		    (object InterObjView "HostConfig" @284
+			location   	(544, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@284
+			    location   	(544, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"HostConfig")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE06A60131"
+			width      	300
+			height     	2114
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @285
+			    location   	(544, 512)
+			    line_color 	3342489
+			    InterObjView 	@284
+			    height     	696
+			    y_coord    	636
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @286
+			    location   	(544, 576)
+			    line_color 	3342489
+			    InterObjView 	@284
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @287
+			    location   	(544, 688)
+			    line_color 	3342489
+			    InterObjView 	@284
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @288
+			    location   	(544, 784)
+			    line_color 	3342489
+			    InterObjView 	@284
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @289
+			    location   	(544, 896)
+			    line_color 	3342489
+			    InterObjView 	@284
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @290
+			    location   	(544, 1008)
+			    line_color 	3342489
+			    InterObjView 	@284
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @291
+			    location   	(544, 1536)
+			    line_color 	3342489
+			    InterObjView 	@284
+			    height     	200
+			    y_coord    	140
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @292
+			    location   	(544, 1536)
+			    line_color 	3342489
+			    InterObjView 	@284
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE))
+		    (object InterObjView "StandardHostDeployer" @293
+			location   	(944, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@293
+			    location   	(944, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	426
+			    justify    	0
+			    label      	"StandardHostDeployer")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE079A0055"
+			width      	444
+			height     	2114
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @294
+			    location   	(944, 1280)
+			    line_color 	3342489
+			    InterObjView 	@293
+			    height     	824
+			    y_coord    	764
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @295
+			    location   	(944, 2128)
+			    line_color 	3342489
+			    InterObjView 	@293
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE))
+		    (object InterObjView "Digester" @296
+			location   	(1328, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@296
+			    location   	(1328, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"Digester")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE07C9034C"
+			width      	300
+			height     	2114
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @297
+			    location   	(1328, 1280)
+			    line_color 	3342489
+			    InterObjView 	@296
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @298
+			    location   	(1328, 1488)
+			    line_color 	3342489
+			    InterObjView 	@296
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @299
+			    location   	(1328, 1984)
+			    line_color 	3342489
+			    InterObjView 	@296
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE))
+		    (object InterObjView "ContextRuleSet" @300
+			location   	(1648, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@300
+			    location   	(1648, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"ContextRuleSet")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE0834016F"
+			width      	300
+			height     	2114
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @301
+			    location   	(1648, 1408)
+			    line_color 	3342489
+			    InterObjView 	@300
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @302
+			    location   	(1648, 1888)
+			    line_color 	3342489
+			    InterObjView 	@300
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE))
+		    (object InterObjView "NamingRuleSet" @303
+			location   	(1968, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@303
+			    location   	(1968, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"NamingRuleSet")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE08D00173"
+			width      	300
+			height     	2114
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @304
+			    location   	(1968, 1792)
+			    line_color 	3342489
+			    InterObjView 	@303
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE))
+		    (object SelfMessView "" @305
+			location   	(0, 384)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @306
+			    Parent_View 	@305
+			    location   	(555, 342)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE066C0341"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	651
+			    justify    	0
+			    label      	"fireLifecycleEvent(START_EVENT)"
+			    pctDist    	2.206667
+			    height     	43
+			    orientation 	0)
+			line_color 	3342489
+			client     	@279
+			supplier   	@279
+			Focus_Src  	@280
+			Focus_Entry 	@281
+			origin     	(224, 384)
+			terminus   	(374, 384)
+			ordinal    	0)
+		    (object InterMessView "" @307
+			location   	(384, 512)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @308
+			    Parent_View 	@307
+			    location   	(486, 468)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE06D20294"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	507
+			    justify    	0
+			    label      	"interested[i].lifecycleEvent()"
+			    pctDist    	0.865574
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@279
+			supplier   	@284
+			Focus_Src  	@280
+			Focus_Entry 	@285
+			origin     	(223, 512)
+			terminus   	(528, 512)
+			ordinal    	1)
+		    (object SelfMessView "" @309
+			location   	(16, 576)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @310
+			    Parent_View 	@309
+			    location   	(713, 537)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE06E9028D"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	297
+			    justify    	0
+			    label      	"setDeployXML()"
+			    pctDist    	1.026667
+			    height     	40
+			    orientation 	0)
+			line_color 	3342489
+			client     	@284
+			supplier   	@284
+			Focus_Src  	@285
+			Focus_Entry 	@286
+			origin     	(560, 576)
+			terminus   	(710, 576)
+			ordinal    	2)
+		    (object SelfMessView "" @311
+			location   	(16, 688)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @312
+			    Parent_View 	@311
+			    location   	(714, 645)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE06F300FF"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	288
+			    justify    	0
+			    label      	"setLiveDeploy()"
+			    pctDist    	1.033333
+			    height     	44
+			    orientation 	0)
+			line_color 	3342489
+			client     	@284
+			supplier   	@284
+			Focus_Src  	@285
+			Focus_Entry 	@287
+			origin     	(560, 688)
+			terminus   	(710, 688)
+			ordinal    	3)
+		    (object SelfMessView "" @313
+			location   	(16, 784)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @314
+			    Parent_View 	@313
+			    location   	(732, 756)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE06FB00D9"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	326
+			    justify    	0
+			    label      	"setUnpacksWar()"
+			    pctDist    	1.153333
+			    height     	29
+			    orientation 	0)
+			line_color 	3342489
+			client     	@284
+			supplier   	@284
+			Focus_Src  	@285
+			Focus_Entry 	@288
+			origin     	(560, 784)
+			terminus   	(710, 784)
+			ordinal    	4)
+		    (object SelfMessView "" @315
+			location   	(16, 896)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @316
+			    Parent_View 	@315
+			    location   	(747, 868)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE070C0015"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	350
+			    justify    	0
+			    label      	"setXMLValidation()"
+			    pctDist    	1.246667
+			    height     	29
+			    orientation 	0)
+			line_color 	3342489
+			client     	@284
+			supplier   	@284
+			Focus_Src  	@285
+			Focus_Entry 	@289
+			origin     	(560, 896)
+			terminus   	(710, 896)
+			ordinal    	5)
+		    (object SelfMessView "" @317
+			location   	(16, 1008)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @318
+			    Parent_View 	@317
+			    location   	(762, 980)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE073B0031"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	359
+			    justify    	0
+			    label      	"deployDescriptors()"
+			    pctDist    	1.346667
+			    height     	29
+			    orientation 	0)
+			line_color 	3342489
+			client     	@284
+			supplier   	@284
+			Focus_Src  	@285
+			Focus_Entry 	@290
+			origin     	(560, 1008)
+			terminus   	(710, 1008)
+			ordinal    	6)
+		    (object InterMessView "" @319
+			location   	(16, 1088)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @320
+			    Parent_View 	@319
+			    location   	(376, 1044)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE078B03BB"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	136
+			    justify    	0
+			    label      	"install()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	1)
+			line_color 	3342489
+			client     	@284
+			supplier   	@279
+			Focus_Src  	@285
+			Focus_Entry 	@282
+			origin     	(528, 1088)
+			terminus   	(224, 1088)
+			ordinal    	7)
+		    (object InterMessView "" @321
+			location   	(576, 1280)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @322
+			    Parent_View 	@321
+			    location   	(575, 1236)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE07B100BE"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	136
+			    justify    	0
+			    label      	"install()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@279
+			supplier   	@293
+			Focus_Src  	@280
+			Focus_Entry 	@294
+			origin     	(223, 1280)
+			terminus   	(928, 1280)
+			ordinal    	8)
+		    (object InterMessView "" @323
+			location   	(1152, 1280)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @324
+			    Parent_View 	@323
+			    location   	(1135, 1236)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE07D200ED"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	144
+			    justify    	0
+			    label      	"create()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@293
+			supplier   	@296
+			Focus_Src  	@294
+			Focus_Entry 	@297
+			origin     	(959, 1280)
+			terminus   	(1312, 1280)
+			ordinal    	9)
+		    (object InterMessView "" @325
+			location   	(1136, 1984)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @326
+			    Parent_View 	@325
+			    location   	(1135, 1940)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE07D603D7"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	136
+			    justify    	0
+			    label      	"parse()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@293
+			supplier   	@296
+			Focus_Src  	@294
+			Focus_Entry 	@299
+			origin     	(959, 1984)
+			terminus   	(1312, 1984)
+			ordinal    	16)
+		    (object InterMessView "" @327
+			location   	(1296, 1408)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @328
+			    Parent_View 	@327
+			    location   	(1295, 1364)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE08DA029B"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	106
+			    justify    	0
+			    label      	"new()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@293
+			supplier   	@300
+			Focus_Src  	@294
+			Focus_Entry 	@301
+			origin     	(959, 1408)
+			terminus   	(1632, 1408)
+			ordinal    	10)
+		    (object InterMessView "" @329
+			location   	(1456, 1792)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @330
+			    Parent_View 	@329
+			    location   	(1455, 1748)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE08E00091"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	106
+			    justify    	0
+			    label      	"new()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@293
+			supplier   	@303
+			Focus_Src  	@294
+			Focus_Entry 	@304
+			origin     	(959, 1792)
+			terminus   	(1952, 1792)
+			ordinal    	14)
+		    (object InterMessView "" @331
+			location   	(16, 1488)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @332
+			    Parent_View 	@331
+			    location   	(1182, 1445)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE08FA003D"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	387
+			    justify    	0
+			    label      	"add(ContextRuleSet)"
+			    pctDist    	0.631728
+			    height     	44
+			    orientation 	0)
+			line_color 	3342489
+			client     	@293
+			supplier   	@296
+			Focus_Src  	@294
+			Focus_Entry 	@298
+			origin     	(959, 1488)
+			terminus   	(1312, 1488)
+			ordinal    	11)
+		    (object InterMessView "" @333
+			location   	(1296, 1888)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @334
+			    Parent_View 	@333
+			    location   	(1295, 1844)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE0907015F"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	416
+			    justify    	0
+			    label      	"add(NamingRuleSet())"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@293
+			supplier   	@300
+			Focus_Src  	@294
+			Focus_Entry 	@302
+			origin     	(959, 1888)
+			terminus   	(1632, 1888)
+			ordinal    	15)
+		    (object NoteView @335
+			location   	(2096, 2384)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@335
+			    location   	(1893, 2315)
+			    fill_color 	13434879
+			    nlines     	2
+			    max_width  	371
+			    label      	"#2 Catalina.start()")
+			line_color 	3342489
+			fill_color 	13434879
+			width      	431
+			height     	150)
+		    (object SelfMessView "" @336
+			location   	(16, 1536)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @337
+			    Parent_View 	@336
+			    location   	(697, 1493)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE131F0327"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	244
+			    justify    	0
+			    label      	"deployApps()"
+			    pctDist    	0.913333
+			    height     	43
+			    orientation 	0)
+			line_color 	3342489
+			client     	@284
+			supplier   	@284
+			Focus_Src  	@291
+			Focus_Entry 	@292
+			origin     	(560, 1536)
+			terminus   	(710, 1536)
+			ordinal    	12)
+		    (object InterMessView "" @338
+			location   	(16, 1616)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @339
+			    Parent_View 	@338
+			    location   	(376, 1572)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE132D0309"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	136
+			    justify    	0
+			    label      	"install()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	1)
+			line_color 	3342489
+			client     	@284
+			supplier   	@279
+			Focus_Src  	@291
+			Focus_Entry 	@283
+			origin     	(528, 1616)
+			terminus   	(224, 1616)
+			ordinal    	13)
+		    (object InterMessView "" @340
+			location   	(576, 2128)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @341
+			    Parent_View 	@340
+			    location   	(575, 2084)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE133A036C"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	463
+			    justify    	0
+			    label      	"install() // same as above"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@279
+			supplier   	@293
+			Focus_Src  	@280
+			Focus_Entry 	@295
+			origin     	(223, 2128)
+			terminus   	(928, 2128)
+			ordinal    	17)))
+	    (object InteractionDiagram "5. catalina_start_3"
+		mechanism_ref 	@86
+		quid       	"3DFE094A0346"
+		title      	"5. catalina_start_3"
+		zoom       	100
+		max_height 	28350
+		max_width  	21600
+		origin_x   	0
+		origin_y   	0
+		items      	(list diagram_item_list
+		    (object InterObjView "Digester" @342
+			location   	(176, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@342
+			    location   	(176, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"Digester")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE095A0371"
+			width      	300
+			height     	1214
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @343
+			    location   	(176, 352)
+			    line_color 	3342489
+			    InterObjView 	@342
+			    height     	996
+			    y_coord    	936
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @344
+			    location   	(176, 352)
+			    line_color 	3342489
+			    InterObjView 	@342
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @345
+			    location   	(176, 448)
+			    line_color 	3342489
+			    InterObjView 	@342
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE))
+		    (object InterObjView "Rule" @346
+			location   	(480, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@346
+			    location   	(480, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"Rule")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE0E7400D0"
+			width      	300
+			height     	1214
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @347
+			    location   	(480, 560)
+			    line_color 	3342489
+			    InterObjView 	@346
+			    height     	728
+			    y_coord    	668
+			    Nested     	FALSE))
+		    (object InterObjView "StandardContext" @348
+			location   	(816, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@348
+			    location   	(816, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	332
+			    justify    	0
+			    label      	"StandardContext")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE0FC502A1"
+			width      	350
+			height     	1214
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @349
+			    location   	(816, 592)
+			    line_color 	3342489
+			    InterObjView 	@348
+			    height     	264
+			    y_coord    	204
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @350
+			    location   	(816, 1008)
+			    line_color 	3342489
+			    InterObjView 	@348
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE))
+		    (object InterObjView "StandardPipeline" @351
+			location   	(1184, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@351
+			    location   	(1184, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	363
+			    justify    	0
+			    label      	"StandardPipeline")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE112F003F"
+			width      	381
+			height     	1214
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @352
+			    location   	(1184, 736)
+			    line_color 	3342489
+			    InterObjView 	@351
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE))
+		    (object InterObjView "StandardContextValve" @353
+			location   	(1552, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@353
+			    location   	(1552, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	300
+			    justify    	0
+			    label      	"StandardContextValve")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE110D0375"
+			width      	318
+			height     	1214
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @354
+			    location   	(1552, 624)
+			    line_color 	3342489
+			    InterObjView 	@353
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE))
+		    (object InterObjView "SetPropertiesRule" @355
+			location   	(1920, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@355
+			    location   	(1920, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	363
+			    justify    	0
+			    label      	"SetPropertiesRule")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE100303A4"
+			width      	381
+			height     	1214
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @356
+			    location   	(1920, 928)
+			    line_color 	3342489
+			    InterObjView 	@355
+			    height     	200
+			    y_coord    	140
+			    Nested     	FALSE))
+		    (object InterObjView "SetNextRule" @357
+			location   	(2272, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@357
+			    location   	(2272, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"SetNextRule")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE12690267"
+			width      	300
+			height     	1214
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @358
+			    location   	(2272, 1168)
+			    line_color 	3342489
+			    InterObjView 	@357
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE))
+		    (object SelfMessView "" @359
+			location   	(0, 352)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @360
+			    Parent_View 	@359
+			    location   	(267, 308)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE0E7801DB"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	108
+			    justify    	0
+			    label      	"parse"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@342
+			supplier   	@342
+			Focus_Src  	@343
+			Focus_Entry 	@344
+			origin     	(192, 352)
+			terminus   	(342, 352)
+			ordinal    	0)
+		    (object SelfMessView "" @361
+			location   	(16, 448)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @362
+			    Parent_View 	@361
+			    location   	(345, 420)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE0F2F03D2"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	267
+			    justify    	0
+			    label      	"startElement()"
+			    pctDist    	1.020000
+			    height     	28
+			    orientation 	0)
+			line_color 	3342489
+			client     	@342
+			supplier   	@342
+			Focus_Src  	@343
+			Focus_Entry 	@345
+			origin     	(192, 448)
+			terminus   	(342, 448)
+			ordinal    	1)
+		    (object InterMessView "" @363
+			location   	(336, 560)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @364
+			    Parent_View 	@363
+			    location   	(327, 516)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE0F400214"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	132
+			    justify    	0
+			    label      	"begin()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@342
+			supplier   	@346
+			Focus_Src  	@343
+			Focus_Entry 	@347
+			origin     	(191, 560)
+			terminus   	(464, 560)
+			ordinal    	2)
+		    (object InterMessView "" @365
+			location   	(16, 592)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @366
+			    Parent_View 	@365
+			    location   	(647, 548)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE0FD30266"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	265
+			    justify    	0
+			    label      	"newInstance()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@346
+			supplier   	@348
+			Focus_Src  	@347
+			Focus_Entry 	@349
+			origin     	(495, 592)
+			terminus   	(800, 592)
+			ordinal    	3)
+		    (object InterMessView "" @367
+			location   	(864, 928)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @368
+			    Parent_View 	@367
+			    location   	(1199, 884)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE102002E9"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	132
+			    justify    	0
+			    label      	"begin()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@346
+			supplier   	@355
+			Focus_Src  	@347
+			Focus_Entry 	@356
+			origin     	(495, 928)
+			terminus   	(1904, 928)
+			ordinal    	6)
+		    (object InterMessView "" @369
+			location   	(1008, 736)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @370
+			    Parent_View 	@369
+			    location   	(1139, 693)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE114A0193"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	610
+			    justify    	0
+			    label      	"setBasic(StandardContextValve)"
+			    pctDist    	0.915014
+			    height     	44
+			    orientation 	0)
+			line_color 	3342489
+			client     	@348
+			supplier   	@351
+			Focus_Src  	@349
+			Focus_Entry 	@352
+			origin     	(831, 736)
+			terminus   	(1168, 736)
+			ordinal    	5)
+		    (object InterMessView "" @371
+			location   	(16, 624)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @372
+			    Parent_View 	@371
+			    location   	(1183, 580)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE115E001F"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	106
+			    justify    	0
+			    label      	"new()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@348
+			supplier   	@353
+			Focus_Src  	@349
+			Focus_Entry 	@354
+			origin     	(831, 624)
+			terminus   	(1536, 624)
+			ordinal    	4)
+		    (object InterMessView "" @373
+			location   	(1440, 1008)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @374
+			    Parent_View 	@373
+			    location   	(1368, 964)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE11D50391"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	1190
+			    justify    	0
+			    label      	"//Using BeanUtil, set the object properties (from ex: admin.xml)"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	1)
+			line_color 	3342489
+			client     	@355
+			supplier   	@348
+			Focus_Src  	@356
+			Focus_Entry 	@350
+			origin     	(1904, 1008)
+			terminus   	(832, 1008)
+			ordinal    	7)
+		    (object InterMessView "" @375
+			location   	(1392, 1168)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @376
+			    Parent_View 	@375
+			    location   	(1375, 1124)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE128501C8"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	99
+			    justify    	0
+			    label      	"end()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@346
+			supplier   	@357
+			Focus_Src  	@347
+			Focus_Entry 	@358
+			origin     	(495, 1168)
+			terminus   	(2256, 1168)
+			ordinal    	8)
+		    (object NoteView @377
+			location   	(1216, 80)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@377
+			    location   	(900, 15)
+			    fill_color 	13434879
+			    nlines     	2
+			    max_width  	596
+			    label      	"HostConfig.deployDescriptor()")
+			line_color 	3342489
+			fill_color 	13434879
+			width      	656
+			height     	143)
+		    (object NoteView @378
+			location   	(2128, 1888)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@378
+			    location   	(1947, 1822)
+			    fill_color 	13434879
+			    nlines     	2
+			    max_width  	327
+			    label      	"#3 Catalina.start()")
+			line_color 	3342489
+			fill_color 	13434879
+			width      	387
+			height     	144)))
+	    (object InteractionDiagram "6. catalina_start_4"
+		mechanism_ref 	@87
+		quid       	"3DFE13890008"
+		title      	"6. catalina_start_4"
+		zoom       	100
+		max_height 	28350
+		max_width  	21600
+		origin_x   	0
+		origin_y   	1818
+		items      	(list diagram_item_list
+		    (object InterObjView "Digester" @379
+			location   	(176, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@379
+			    location   	(176, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"Digester")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE13960364"
+			width      	300
+			height     	2446
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @380
+			    location   	(176, 336)
+			    line_color 	3342489
+			    InterObjView 	@379
+			    height     	1228
+			    y_coord    	1168
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @381
+			    location   	(176, 336)
+			    line_color 	3342489
+			    InterObjView 	@379
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @382
+			    location   	(176, 480)
+			    line_color 	3342489
+			    InterObjView 	@379
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @383
+			    location   	(176, 1616)
+			    line_color 	3342489
+			    InterObjView 	@379
+			    height     	580
+			    y_coord    	520
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @384
+			    location   	(176, 1728)
+			    line_color 	3342489
+			    InterObjView 	@379
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE))
+		    (object InterObjView "StandardHostDeployer" @385
+			location   	(480, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@385
+			    location   	(480, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	301
+			    justify    	0
+			    label      	"StandardHostDeployer")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE1D8A02DC"
+			width      	319
+			height     	2446
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @386
+			    location   	(480, 576)
+			    line_color 	3342489
+			    InterObjView 	@385
+			    height     	928
+			    y_coord    	868
+			    Nested     	FALSE))
+		    (object InterObjView "StandardHost" @387
+			location   	(800, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@387
+			    location   	(800, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"StandardHost")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE1DF20141"
+			width      	300
+			height     	2446
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @388
+			    location   	(800, 592)
+			    line_color 	3342489
+			    InterObjView 	@387
+			    height     	852
+			    y_coord    	792
+			    Nested     	FALSE))
+		    (object InterObjView "StandardContext" @389
+			location   	(1120, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@389
+			    location   	(1120, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	295
+			    justify    	0
+			    label      	"StandardContext")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE196D00D9"
+			width      	313
+			height     	2446
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @390
+			    location   	(1120, 624)
+			    line_color 	3342489
+			    InterObjView 	@389
+			    height     	760
+			    y_coord    	700
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @391
+			    location   	(1120, 800)
+			    line_color 	3342489
+			    InterObjView 	@389
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @392
+			    location   	(1120, 976)
+			    line_color 	3342489
+			    InterObjView 	@389
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @393
+			    location   	(1120, 1072)
+			    line_color 	3342489
+			    InterObjView 	@389
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE))
+		    (object InterObjView "WebappLoader" @394
+			location   	(1440, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@394
+			    location   	(1440, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	295
+			    justify    	0
+			    label      	"WebappLoader")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE1FFA0347"
+			width      	313
+			height     	2446
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @395
+			    location   	(1440, 640)
+			    line_color 	3342489
+			    InterObjView 	@394
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE))
+		    (object InterObjView "StandardManager" @396
+			location   	(1760, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@396
+			    location   	(1760, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	301
+			    justify    	0
+			    label      	"StandardManager")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE201F0105"
+			width      	319
+			height     	2446
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @397
+			    location   	(1760, 832)
+			    line_color 	3342489
+			    InterObjView 	@396
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @398
+			    location   	(1760, 1264)
+			    line_color 	3342489
+			    InterObjView 	@396
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE))
+		    (object InterObjView "ContextConfig" @399
+			location   	(1952, 352)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@399
+			    location   	(1952, 352)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"ContextConfig")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE2087028C"
+			width      	300
+			height     	2318
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @400
+			    location   	(1952, 412)
+			    InterObjView 	@399
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @401
+			    location   	(1952, 1136)
+			    line_color 	3342489
+			    InterObjView 	@399
+			    height     	1444
+			    y_coord    	1384
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @402
+			    location   	(1952, 1264)
+			    line_color 	3342489
+			    InterObjView 	@399
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @403
+			    location   	(1952, 1456)
+			    line_color 	3342489
+			    InterObjView 	@399
+			    height     	1070
+			    y_coord    	1010
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @404
+			    location   	(1952, 1568)
+			    line_color 	3342489
+			    InterObjView 	@399
+			    height     	952
+			    y_coord    	892
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @405
+			    location   	(1952, 1984)
+			    line_color 	3342489
+			    InterObjView 	@399
+			    height     	152
+			    y_coord    	92
+			    Nested     	TRUE))
+		    (object SelfMessView "" @406
+			location   	(16, 336)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @407
+			    Parent_View 	@406
+			    location   	(267, 292)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE19AE0065"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	108
+			    justify    	0
+			    label      	"parse"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@379
+			supplier   	@379
+			Focus_Src  	@380
+			Focus_Entry 	@381
+			origin     	(192, 336)
+			terminus   	(342, 336)
+			ordinal    	0)
+		    (object SelfMessView "" @408
+			location   	(16, 480)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @409
+			    Parent_View 	@408
+			    location   	(328, 437)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE19B102E9"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	267
+			    justify    	0
+			    label      	"startElement()"
+			    pctDist    	0.906667
+			    height     	44
+			    orientation 	0)
+			line_color 	3342489
+			client     	@379
+			supplier   	@379
+			Focus_Src  	@380
+			Focus_Entry 	@382
+			origin     	(192, 480)
+			terminus   	(342, 480)
+			ordinal    	1)
+		    (object InterMessView "" @410
+			location   	(16, 576)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @411
+			    Parent_View 	@410
+			    location   	(327, 552)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE1DFB0022"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	165
+			    justify    	0
+			    label      	"addChild"
+			    pctDist    	0.498645
+			    height     	25
+			    orientation 	0)
+			line_color 	3342489
+			client     	@379
+			supplier   	@385
+			Focus_Src  	@380
+			Focus_Entry 	@386
+			origin     	(191, 576)
+			terminus   	(464, 576)
+			ordinal    	2)
+		    (object InterMessView "" @412
+			location   	(16, 592)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @413
+			    Parent_View 	@412
+			    location   	(639, 548)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE1FB60277"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	165
+			    justify    	0
+			    label      	"addChild"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@385
+			supplier   	@387
+			Focus_Src  	@386
+			Focus_Entry 	@388
+			origin     	(495, 592)
+			terminus   	(784, 592)
+			ordinal    	3)
+		    (object InterMessView "" @414
+			location   	(16, 624)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @415
+			    Parent_View 	@414
+			    location   	(959, 580)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE1FC40228"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	110
+			    justify    	0
+			    label      	"start()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@387
+			supplier   	@389
+			Focus_Src  	@388
+			Focus_Entry 	@390
+			origin     	(815, 624)
+			terminus   	(1104, 624)
+			ordinal    	4)
+		    (object InterMessView "" @416
+			location   	(16, 640)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @417
+			    Parent_View 	@416
+			    location   	(1279, 596)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE200603BE"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	82
+			    justify    	0
+			    label      	"new"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@389
+			supplier   	@394
+			Focus_Src  	@390
+			Focus_Entry 	@395
+			origin     	(1135, 640)
+			terminus   	(1424, 640)
+			ordinal    	5)
+		    (object SelfMessView "" @418
+			location   	(16, 800)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @419
+			    Parent_View 	@418
+			    location   	(1224, 756)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE200C029A"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	186
+			    justify    	0
+			    label      	"setLoader"
+			    pctDist    	0.593333
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@389
+			supplier   	@389
+			Focus_Src  	@390
+			Focus_Entry 	@391
+			origin     	(1136, 800)
+			terminus   	(1286, 800)
+			ordinal    	6)
+		    (object InterMessView "" @420
+			location   	(16, 832)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @421
+			    Parent_View 	@420
+			    location   	(1439, 788)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE202C0250"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	82
+			    justify    	0
+			    label      	"new"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@389
+			supplier   	@396
+			Focus_Src  	@390
+			Focus_Entry 	@397
+			origin     	(1135, 832)
+			terminus   	(1744, 832)
+			ordinal    	7)
+		    (object SelfMessView "" @422
+			location   	(16, 976)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @423
+			    Parent_View 	@422
+			    location   	(1260, 933)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE2032001C"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	221
+			    justify    	0
+			    label      	"setManager"
+			    pctDist    	0.833333
+			    height     	44
+			    orientation 	0)
+			line_color 	3342489
+			client     	@389
+			supplier   	@389
+			Focus_Src  	@390
+			Focus_Entry 	@392
+			origin     	(1136, 976)
+			terminus   	(1286, 976)
+			ordinal    	8)
+		    (object SelfMessView "" @424
+			location   	(16, 1072)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @425
+			    Parent_View 	@424
+			    location   	(1481, 1043)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE205B01A2"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	658
+			    justify    	0
+			    label      	"fireLifecycleEvent(START_EVENT)"
+			    pctDist    	2.306667
+			    height     	30
+			    orientation 	0)
+			line_color 	3342489
+			client     	@389
+			supplier   	@389
+			Focus_Src  	@390
+			Focus_Entry 	@393
+			origin     	(1136, 1072)
+			terminus   	(1286, 1072)
+			ordinal    	9)
+		    (object InterMessView "" @426
+			location   	(16, 1136)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @427
+			    Parent_View 	@426
+			    location   	(1535, 1092)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE20960003"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	745
+			    justify    	0
+			    label      	" // Notify interested LifecycleListeners"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@389
+			supplier   	@399
+			Focus_Src  	@390
+			Focus_Entry 	@401
+			origin     	(1135, 1136)
+			terminus   	(1936, 1136)
+			ordinal    	10)
+		    (object SelfMessView "" @428
+			location   	(16, 1264)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @429
+			    Parent_View 	@428
+			    location   	(2043, 1220)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE20CF018C"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	110
+			    justify    	0
+			    label      	"start()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@399
+			supplier   	@399
+			Focus_Src  	@401
+			Focus_Entry 	@402
+			origin     	(1968, 1264)
+			terminus   	(2118, 1264)
+			ordinal    	11)
+		    (object SelfMessView "" @430
+			location   	(16, 1456)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @431
+			    Parent_View 	@430
+			    location   	(2027, 1413)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE20E303E2"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	275
+			    justify    	0
+			    label      	"defaultConfig()"
+			    pctDist    	0.393333
+			    height     	44
+			    orientation 	0)
+			line_color 	3342489
+			client     	@399
+			supplier   	@399
+			Focus_Src  	@401
+			Focus_Entry 	@403
+			origin     	(1968, 1456)
+			terminus   	(2118, 1456)
+			ordinal    	13)
+		    (object SelfMessView "" @432
+			location   	(16, 1568)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @433
+			    Parent_View 	@432
+			    location   	(2043, 1524)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE211D01A1"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	349
+			    justify    	0
+			    label      	"applicationConfig()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@399
+			supplier   	@399
+			Focus_Src  	@401
+			Focus_Entry 	@404
+			origin     	(1968, 1568)
+			terminus   	(2118, 1568)
+			ordinal    	14)
+		    (object InterMessView "" @434
+			location   	(1664, 1264)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @435
+			    Parent_View 	@434
+			    location   	(1439, 1220)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE20B600E5"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	110
+			    justify    	0
+			    label      	"start()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@389
+			supplier   	@396
+			Focus_Src  	@390
+			Focus_Entry 	@398
+			origin     	(1135, 1264)
+			terminus   	(1744, 1264)
+			ordinal    	12)
+		    (object InterMessView "" @436
+			location   	(16, 1616)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @437
+			    Parent_View 	@436
+			    location   	(1064, 1572)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE21B60288"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	145
+			    justify    	0
+			    label      	"create()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	1)
+			line_color 	3342489
+			client     	@399
+			supplier   	@379
+			Focus_Src  	@404
+			Focus_Entry 	@383
+			origin     	(1936, 1616)
+			terminus   	(192, 1616)
+			ordinal    	15)
+		    (object SelfMessView "" @438
+			location   	(16, 1728)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @439
+			    Parent_View 	@438
+			    location   	(457, 1701)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE21BE021B"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	530
+			    justify    	0
+			    label      	"// Process web.xml * tld.xml"
+			    pctDist    	1.773333
+			    height     	28
+			    orientation 	0)
+			line_color 	3342489
+			client     	@379
+			supplier   	@379
+			Focus_Src  	@383
+			Focus_Entry 	@384
+			origin     	(192, 1728)
+			terminus   	(342, 1728)
+			ordinal    	16)
+		    (object InterObjView "StandardWrapper" @440
+			location   	(2208, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@440
+			    location   	(2208, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"StandardWrapper")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE220C0122"
+			width      	300
+			height     	2446
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @441
+			    location   	(2208, 2016)
+			    line_color 	3342489
+			    InterObjView 	@440
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @442
+			    location   	(2208, 2176)
+			    line_color 	3342489
+			    InterObjView 	@440
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @443
+			    location   	(2208, 2288)
+			    line_color 	3342489
+			    InterObjView 	@440
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @444
+			    location   	(2208, 2400)
+			    line_color 	3342489
+			    InterObjView 	@440
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE))
+		    (object InterMessView "" @445
+			location   	(16, 1984)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @446
+			    Parent_View 	@445
+			    location   	(1063, 1940)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE228B03BA"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	1478
+			    justify    	0
+			    label      	"createWarpper() // Invoked by a WebWrapperRule (not Directly by the Digester)"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@379
+			supplier   	@399
+			Focus_Src  	@383
+			Focus_Entry 	@405
+			origin     	(191, 1984)
+			terminus   	(1936, 1984)
+			ordinal    	17)
+		    (object InterMessView "" @447
+			location   	(16, 2016)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @448
+			    Parent_View 	@447
+			    location   	(2079, 1972)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE229A0004"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	82
+			    justify    	0
+			    label      	"new"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@399
+			supplier   	@440
+			Focus_Src  	@405
+			Focus_Entry 	@441
+			origin     	(1967, 2016)
+			terminus   	(2192, 2016)
+			ordinal    	18)
+		    (object InterMessView "" @449
+			location   	(16, 2176)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @450
+			    Parent_View 	@449
+			    location   	(2116, 2134)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE22A700C1"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	405
+			    justify    	0
+			    label      	"addInstanceListener()"
+			    pctDist    	0.662295
+			    height     	43
+			    orientation 	0)
+			line_color 	3342489
+			client     	@399
+			supplier   	@440
+			Focus_Src  	@404
+			Focus_Entry 	@442
+			origin     	(1967, 2176)
+			terminus   	(2192, 2176)
+			ordinal    	19)
+		    (object InterMessView "" @451
+			location   	(2496, 2288)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @452
+			    Parent_View 	@451
+			    location   	(2116, 2245)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE22C701CC"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	410
+			    justify    	0
+			    label      	"addLifecycleListener()"
+			    pctDist    	0.662295
+			    height     	44
+			    orientation 	0)
+			line_color 	3342489
+			client     	@399
+			supplier   	@440
+			Focus_Src  	@404
+			Focus_Entry 	@443
+			origin     	(1967, 2288)
+			terminus   	(2192, 2288)
+			ordinal    	20)
+		    (object InterMessView "" @453
+			location   	(16, 2400)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @454
+			    Parent_View 	@453
+			    location   	(2124, 2357)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE22E80364"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	428
+			    justify    	0
+			    label      	"addContainerListener()"
+			    pctDist    	0.701639
+			    height     	44
+			    orientation 	0)
+			line_color 	3342489
+			client     	@399
+			supplier   	@440
+			Focus_Src  	@404
+			Focus_Entry 	@444
+			origin     	(1967, 2400)
+			terminus   	(2192, 2400)
+			ordinal    	21)
+		    (object NoteView @455
+			location   	(1216, 80)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@455
+			    location   	(825, 14)
+			    fill_color 	13434879
+			    nlines     	2
+			    max_width  	746
+			    label      	"Deploy App.")
+			line_color 	3342489
+			fill_color 	13434879
+			width      	806
+			height     	144)
+		    (object NoteView @456
+			location   	(2144, 2704)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@456
+			    location   	(1953, 2641)
+			    fill_color 	13434879
+			    nlines     	2
+			    max_width  	347
+			    label      	"#4 Catalina.start()")
+			line_color 	3342489
+			fill_color 	13434879
+			width      	407
+			height     	138)))
+	    (object InteractionDiagram "1. catalina_request"
+		mechanism_ref 	@88
+		quid       	"3DFE3B5001C3"
+		title      	"1. catalina_request"
+		zoom       	100
+		max_height 	28350
+		max_width  	21600
+		origin_x   	0
+		origin_y   	0
+		items      	(list diagram_item_list
+		    (object InterObjView "ThreadPool" @457
+			location   	(176, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@457
+			    location   	(176, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"ThreadPool")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE402B02C5"
+			width      	300
+			height     	1276
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @458
+			    location   	(176, 384)
+			    line_color 	3342489
+			    InterObjView 	@457
+			    height     	304
+			    y_coord    	244
+			    Nested     	FALSE))
+		    (object InterObjView "TcpWorkerThread" @459
+			location   	(512, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@459
+			    location   	(512, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	332
+			    justify    	0
+			    label      	"TcpWorkerThread")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE403200F8"
+			width      	350
+			height     	1276
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @460
+			    location   	(512, 384)
+			    line_color 	3342489
+			    InterObjView 	@459
+			    height     	244
+			    y_coord    	184
+			    Nested     	FALSE))
+		    (object InterObjView "Http11Protocol" @461
+			location   	(848, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@461
+			    location   	(848, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"Http11Protocol")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE40750177"
+			width      	300
+			height     	1276
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @462
+			    location   	(848, 400)
+			    line_color 	3342489
+			    InterObjView 	@461
+			    height     	168
+			    y_coord    	108
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @463
+			    location   	(848, 448)
+			    line_color 	3342489
+			    InterObjView 	@461
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @464
+			    location   	(848, 592)
+			    line_color 	3342489
+			    InterObjView 	@461
+			    height     	120
+			    y_coord    	60
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @465
+			    location   	(848, 592)
+			    line_color 	3342489
+			    InterObjView 	@461
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @466
+			    location   	(848, 736)
+			    line_color 	3342489
+			    InterObjView 	@461
+			    height     	674
+			    y_coord    	614
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @467
+			    location   	(848, 736)
+			    line_color 	3342489
+			    InterObjView 	@461
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE))
+		    (object InterObjView "CoyoteAdapter" @468
+			location   	(1168, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@468
+			    location   	(1168, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"CoyoteAdapter")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE410600DF"
+			width      	300
+			height     	1276
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @469
+			    location   	(1168, 848)
+			    line_color 	3342489
+			    InterObjView 	@468
+			    height     	502
+			    y_coord    	442
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @470
+			    location   	(1168, 944)
+			    line_color 	3342489
+			    InterObjView 	@468
+			    height     	352
+			    y_coord    	292
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @471
+			    location   	(1168, 944)
+			    line_color 	3342489
+			    InterObjView 	@468
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE))
+		    (object InterObjView "StandardEngine" @472
+			location   	(1520, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@472
+			    location   	(1520, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	363
+			    justify    	0
+			    label      	"StandardEngine")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE424B0349"
+			width      	381
+			height     	1276
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @473
+			    location   	(1520, 1008)
+			    line_color 	3342489
+			    InterObjView 	@472
+			    height     	228
+			    y_coord    	168
+			    Nested     	FALSE))
+		    (object InterObjView "StandardPipeline" @474
+			location   	(1872, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@474
+			    location   	(1872, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"StandardPipeline")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE42900045"
+			width      	300
+			height     	1276
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @475
+			    location   	(1872, 1040)
+			    line_color 	3342489
+			    InterObjView 	@474
+			    height     	136
+			    y_coord    	76
+			    Nested     	FALSE))
+		    (object InterObjView "StandardValveContext" @476
+			location   	(2192, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@476
+			    location   	(2192, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"StandardValveContext")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE42C002B1"
+			width      	300
+			height     	1276
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @477
+			    location   	(2192, 1056)
+			    line_color 	3342489
+			    InterObjView 	@476
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE))
+		    (object InterMessView "" @478
+			location   	(16, 384)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @479
+			    Parent_View 	@478
+			    location   	(343, 340)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE40E701AE"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	112
+			    justify    	0
+			    label      	"runIt()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@457
+			supplier   	@459
+			Focus_Src  	@458
+			Focus_Entry 	@460
+			origin     	(191, 384)
+			terminus   	(496, 384)
+			ordinal    	0)
+		    (object InterMessView "" @480
+			location   	(16, 400)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @481
+			    Parent_View 	@480
+			    location   	(679, 356)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE40FC010E"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	359
+			    justify    	0
+			    label      	"processConnection"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@459
+			supplier   	@461
+			Focus_Src  	@460
+			Focus_Entry 	@462
+			origin     	(527, 400)
+			terminus   	(832, 400)
+			ordinal    	1)
+		    (object SelfMessView "" @482
+			location   	(16, 448)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @483
+			    Parent_View 	@482
+			    location   	(969, 405)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE4111029F"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	175
+			    justify    	0
+			    label      	"process()"
+			    pctDist    	0.706667
+			    height     	44
+			    orientation 	0)
+			line_color 	3342489
+			client     	@461
+			supplier   	@461
+			Focus_Src  	@462
+			Focus_Entry 	@463
+			origin     	(864, 448)
+			terminus   	(1014, 448)
+			ordinal    	2)
+		    (object SelfMessView "" @484
+			location   	(16, 592)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @485
+			    Parent_View 	@484
+			    location   	(1048, 549)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE415C0151"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	291
+			    justify    	0
+			    label      	"parseHeaders()"
+			    pctDist    	1.226667
+			    height     	44
+			    orientation 	0)
+			line_color 	3342489
+			client     	@461
+			supplier   	@461
+			Focus_Src  	@464
+			Focus_Entry 	@465
+			origin     	(864, 592)
+			terminus   	(1014, 592)
+			ordinal    	3)
+		    (object SelfMessView "" @486
+			location   	(16, 736)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @487
+			    Parent_View 	@486
+			    location   	(1052, 692)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE41A60161"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	328
+			    justify    	0
+			    label      	"prepareRequest()"
+			    pctDist    	1.253333
+			    height     	44
+			    orientation 	0)
+			line_color 	3342489
+			client     	@461
+			supplier   	@461
+			Focus_Src  	@466
+			Focus_Entry 	@467
+			origin     	(864, 736)
+			terminus   	(1014, 736)
+			ordinal    	4)
+		    (object InterMessView "" @488
+			location   	(992, 848)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @489
+			    Parent_View 	@488
+			    location   	(1007, 804)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE41D60107"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	162
+			    justify    	0
+			    label      	"service()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@461
+			supplier   	@468
+			Focus_Src  	@466
+			Focus_Entry 	@469
+			origin     	(863, 848)
+			terminus   	(1152, 848)
+			ordinal    	5)
+		    (object SelfMessView "" @490
+			location   	(16, 944)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @491
+			    Parent_View 	@490
+			    location   	(1372, 916)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE422C01F1"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	373
+			    justify    	0
+			    label      	"postParseRequest()"
+			    pctDist    	1.253333
+			    height     	28
+			    orientation 	0)
+			line_color 	3342489
+			client     	@468
+			supplier   	@468
+			Focus_Src  	@470
+			Focus_Entry 	@471
+			origin     	(1184, 944)
+			terminus   	(1334, 944)
+			ordinal    	6)
+		    (object InterMessView "" @492
+			location   	(1344, 1008)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @493
+			    Parent_View 	@492
+			    location   	(1343, 964)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE42800238"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	149
+			    justify    	0
+			    label      	"invoke()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@468
+			supplier   	@472
+			Focus_Src  	@470
+			Focus_Entry 	@473
+			origin     	(1183, 1008)
+			terminus   	(1504, 1008)
+			ordinal    	7)
+		    (object InterMessView "" @494
+			location   	(16, 1040)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @495
+			    Parent_View 	@494
+			    location   	(1695, 996)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE429A002D"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	149
+			    justify    	0
+			    label      	"invoke()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@472
+			supplier   	@474
+			Focus_Src  	@473
+			Focus_Entry 	@475
+			origin     	(1535, 1040)
+			terminus   	(1856, 1040)
+			ordinal    	8)
+		    (object InterMessView "" @496
+			location   	(16, 1056)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @497
+			    Parent_View 	@496
+			    location   	(2031, 1012)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE42CE0230"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	149
+			    justify    	0
+			    label      	"invoke()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@474
+			supplier   	@476
+			Focus_Src  	@475
+			Focus_Entry 	@477
+			origin     	(1887, 1056)
+			terminus   	(2176, 1056)
+			ordinal    	9)
+		    (object NoteView @498
+			location   	(2000, 2016)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@498
+			    location   	(1862, 1956)
+			    fill_color 	13434879
+			    nlines     	2
+			    max_width  	240
+			    label      	"See next diagram")
+			line_color 	3342489
+			fill_color 	13434879
+			width      	300
+			height     	132)
+		    (object AttachView "" @499
+			stereotype 	TRUE
+			line_color 	3342489
+			client     	@498
+			supplier   	@476
+			line_style 	0)))
+	    (object InteractionDiagram "2. catalina_request_2"
+		mechanism_ref 	@89
+		quid       	"3DFE42F7024C"
+		title      	"2. catalina_request_2"
+		zoom       	100
+		max_height 	28350
+		max_width  	21600
+		origin_x   	0
+		origin_y   	0
+		items      	(list diagram_item_list
+		    (object InterObjView "StandardContextValve" @500
+			location   	(224, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@500
+			    location   	(224, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	401
+			    justify    	0
+			    label      	"StandardContextValve")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE4307001E"
+			width      	419
+			height     	1678
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @501
+			    location   	(224, 384)
+			    line_color 	3342489
+			    InterObjView 	@500
+			    height     	386
+			    y_coord    	326
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @502
+			    location   	(224, 704)
+			    line_color 	3342489
+			    InterObjView 	@500
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @503
+			    location   	(224, 896)
+			    line_color 	3342489
+			    InterObjView 	@500
+			    height     	916
+			    y_coord    	856
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @504
+			    location   	(224, 1024)
+			    line_color 	3342489
+			    InterObjView 	@500
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @505
+			    location   	(224, 1280)
+			    line_color 	3342489
+			    InterObjView 	@500
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE))
+		    (object InterObjView "StandardEngineValve" @506
+			location   	(592, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@506
+			    location   	(592, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"StandardEngineValve")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE432801F3"
+			width      	300
+			height     	1678
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @507
+			    location   	(592, 384)
+			    line_color 	3342489
+			    InterObjView 	@506
+			    height     	264
+			    y_coord    	204
+			    Nested     	FALSE))
+		    (object InterObjView "StandardHost" @508
+			location   	(912, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@508
+			    location   	(912, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"StandardHost")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE436503BD"
+			width      	300
+			height     	1678
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @509
+			    location   	(912, 416)
+			    line_color 	3342489
+			    InterObjView 	@508
+			    height     	431
+			    y_coord    	371
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @510
+			    location   	(912, 528)
+			    line_color 	3342489
+			    InterObjView 	@508
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @511
+			    location   	(912, 704)
+			    line_color 	3342489
+			    InterObjView 	@508
+			    height     	120
+			    y_coord    	60
+			    Nested     	TRUE))
+		    (object InterObjView "ErrorReportValve" @512
+			location   	(1264, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@512
+			    location   	(1264, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	294
+			    justify    	0
+			    label      	"ErrorReportValve")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE438C028D"
+			width      	312
+			height     	1678
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @513
+			    location   	(1264, 896)
+			    line_color 	3342489
+			    InterObjView 	@512
+			    height     	248
+			    y_coord    	188
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @514
+			    location   	(1264, 944)
+			    line_color 	3342489
+			    InterObjView 	@512
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE))
+		    (object InterObjView "ErrorDispatcherValve" @515
+			location   	(1584, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@515
+			    location   	(1584, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	295
+			    justify    	0
+			    label      	"ErrorDispatcherValve")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE451F01EC"
+			width      	313
+			height     	1678
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @516
+			    location   	(1584, 1168)
+			    line_color 	3342489
+			    InterObjView 	@515
+			    height     	232
+			    y_coord    	172
+			    Nested     	FALSE))
+		    (object InterObjView "StandardHostValve" @517
+			location   	(1904, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@517
+			    location   	(1904, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	295
+			    justify    	0
+			    label      	"StandardHostValve")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE47310130"
+			width      	313
+			height     	1678
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @518
+			    location   	(1904, 1472)
+			    line_color 	3342489
+			    InterObjView 	@517
+			    height     	280
+			    y_coord    	220
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @519
+			    location   	(1904, 1536)
+			    line_color 	3342489
+			    InterObjView 	@517
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE))
+		    (object InterObjView "StandardContext" @520
+			location   	(2224, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@520
+			    location   	(2224, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"StandardContext")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE47C100F1"
+			width      	300
+			height     	1678
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @521
+			    location   	(2224, 1632)
+			    line_color 	3342489
+			    InterObjView 	@520
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE))
+		    (object InterMessView "" @522
+			location   	(16, 384)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @523
+			    Parent_View 	@522
+			    location   	(407, 340)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE434C019B"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	146
+			    justify    	0
+			    label      	"invoke()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@500
+			supplier   	@506
+			Focus_Src  	@501
+			Focus_Entry 	@507
+			origin     	(239, 384)
+			terminus   	(576, 384)
+			ordinal    	0)
+		    (object InterMessView "" @524
+			location   	(16, 416)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @525
+			    Parent_View 	@524
+			    location   	(751, 372)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE436C009D"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	107
+			    justify    	0
+			    label      	"map()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@506
+			supplier   	@508
+			Focus_Src  	@507
+			Focus_Entry 	@509
+			origin     	(607, 416)
+			terminus   	(896, 416)
+			ordinal    	1)
+		    (object InterMessView "" @526
+			location   	(800, 528)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @527
+			    Parent_View 	@526
+			    location   	(751, 484)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE43830063"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	146
+			    justify    	0
+			    label      	"invoke()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@506
+			supplier   	@508
+			Focus_Src  	@507
+			Focus_Entry 	@510
+			origin     	(607, 528)
+			terminus   	(896, 528)
+			ordinal    	2)
+		    (object InterMessView "" @528
+			location   	(608, 704)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @529
+			    Parent_View 	@528
+			    location   	(568, 660)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE43B903BF"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	146
+			    justify    	0
+			    label      	"invoke()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	1)
+			line_color 	3342489
+			client     	@508
+			supplier   	@500
+			Focus_Src  	@511
+			Focus_Entry 	@502
+			origin     	(896, 704)
+			terminus   	(240, 704)
+			ordinal    	3)
+		    (object InterMessView "" @530
+			location   	(752, 896)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @531
+			    Parent_View 	@530
+			    location   	(743, 852)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE43C203A4"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	146
+			    justify    	0
+			    label      	"invoke()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@500
+			supplier   	@512
+			Focus_Src  	@503
+			Focus_Entry 	@513
+			origin     	(239, 896)
+			terminus   	(1248, 896)
+			ordinal    	4)
+		    (object SelfMessView "" @532
+			location   	(16, 944)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @533
+			    Parent_View 	@532
+			    location   	(1355, 900)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE442501B1"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	135
+			    justify    	0
+			    label      	"report()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@512
+			supplier   	@512
+			Focus_Src  	@513
+			Focus_Entry 	@514
+			origin     	(1280, 944)
+			terminus   	(1430, 944)
+			ordinal    	5)
+		    (object InterMessView "" @534
+			location   	(16, 1024)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @535
+			    Parent_View 	@534
+			    location   	(744, 980)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE46330293"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	230
+			    justify    	0
+			    label      	"invokeNext()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	1)
+			line_color 	3342489
+			client     	@512
+			supplier   	@500
+			Focus_Src  	@513
+			Focus_Entry 	@504
+			origin     	(1248, 1024)
+			terminus   	(240, 1024)
+			ordinal    	6)
+		    (object InterMessView "" @536
+			location   	(944, 1168)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @537
+			    Parent_View 	@536
+			    location   	(903, 1124)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE46E70026"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	146
+			    justify    	0
+			    label      	"invoke()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@500
+			supplier   	@515
+			Focus_Src  	@503
+			Focus_Entry 	@516
+			origin     	(239, 1168)
+			terminus   	(1568, 1168)
+			ordinal    	7)
+		    (object InterMessView "" @538
+			location   	(16, 1280)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @539
+			    Parent_View 	@538
+			    location   	(904, 1236)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE475D03A0"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	206
+			    justify    	0
+			    label      	"invokeNext"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	1)
+			line_color 	3342489
+			client     	@515
+			supplier   	@500
+			Focus_Src  	@516
+			Focus_Entry 	@505
+			origin     	(1568, 1280)
+			terminus   	(240, 1280)
+			ordinal    	8)
+		    (object InterMessView "" @540
+			location   	(1184, 1472)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @541
+			    Parent_View 	@540
+			    location   	(1063, 1428)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE476503CA"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	146
+			    justify    	0
+			    label      	"invoke()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@500
+			supplier   	@517
+			Focus_Src  	@503
+			Focus_Entry 	@518
+			origin     	(239, 1472)
+			terminus   	(1888, 1472)
+			ordinal    	9)
+		    (object SelfMessView "" @542
+			location   	(16, 1536)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @543
+			    Parent_View 	@542
+			    location   	(1995, 1492)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE47CD0167"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	295
+			    justify    	0
+			    label      	"map() //Context"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@517
+			supplier   	@517
+			Focus_Src  	@518
+			Focus_Entry 	@519
+			origin     	(1920, 1536)
+			terminus   	(2070, 1536)
+			ordinal    	10)
+		    (object InterMessView "" @544
+			location   	(16, 1632)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @545
+			    Parent_View 	@544
+			    location   	(2063, 1588)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE47D500B4"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	146
+			    justify    	0
+			    label      	"invoke()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@517
+			supplier   	@520
+			Focus_Src  	@518
+			Focus_Entry 	@521
+			origin     	(1919, 1632)
+			terminus   	(2208, 1632)
+			ordinal    	11)))
+	    (object InteractionDiagram "3. catalina_request_3"
+		mechanism_ref 	@90
+		quid       	"3DFE48A202AD"
+		title      	"3. catalina_request_3"
+		zoom       	100
+		max_height 	28350
+		max_width  	21600
+		origin_x   	612
+		origin_y   	938
+		items      	(list diagram_item_list
+		    (object InterObjView "StandardContext" @546
+			location   	(160, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@546
+			    location   	(160, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"StandardContext")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE48B001D1"
+			width      	300
+			height     	2226
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @547
+			    location   	(160, 400)
+			    line_color 	3342489
+			    InterObjView 	@546
+			    height     	1960
+			    y_coord    	1900
+			    Nested     	FALSE))
+		    (object InterObjView "StandardPipeline" @548
+			location   	(480, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@548
+			    location   	(480, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"StandardPipeline")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE48B80088"
+			width      	300
+			height     	2226
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @549
+			    location   	(480, 400)
+			    line_color 	3342489
+			    InterObjView 	@548
+			    height     	1900
+			    y_coord    	1840
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @550
+			    location   	(480, 1088)
+			    line_color 	3342489
+			    InterObjView 	@548
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE))
+		    (object InterObjView "StandardValveContext" @551
+			location   	(800, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@551
+			    location   	(800, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"StandardValveContext")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE48D000DC"
+			width      	300
+			height     	2226
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @552
+			    location   	(800, 736)
+			    line_color 	3342489
+			    InterObjView 	@551
+			    height     	1510
+			    y_coord    	1450
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @553
+			    location   	(800, 1168)
+			    line_color 	3342489
+			    InterObjView 	@551
+			    height     	1072
+			    y_coord    	1012
+			    Nested     	TRUE))
+		    (object InterObjView "StandardContextValve" @554
+			location   	(1104, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@554
+			    location   	(1104, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"StandardContextValve")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE490303A7"
+			width      	300
+			height     	2226
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @555
+			    location   	(1104, 800)
+			    line_color 	3342489
+			    InterObjView 	@554
+			    height     	468
+			    y_coord    	408
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @556
+			    location   	(1104, 848)
+			    line_color 	3342489
+			    InterObjView 	@554
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE))
+		    (object InterObjView "StandardWrapper" @557
+			location   	(1424, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@557
+			    location   	(1424, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	288
+			    justify    	0
+			    label      	"StandardWrapper")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE49370351"
+			width      	306
+			height     	2226
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @558
+			    location   	(1424, 944)
+			    line_color 	3342489
+			    InterObjView 	@557
+			    height     	264
+			    y_coord    	204
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @559
+			    location   	(1424, 1520)
+			    line_color 	3342489
+			    InterObjView 	@557
+			    height     	340
+			    y_coord    	280
+			    Nested     	FALSE))
+		    (object InterObjView "StandardWrapperValve" @560
+			location   	(1744, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@560
+			    location   	(1744, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"StandardWrapperValve")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE49890056"
+			width      	300
+			height     	2226
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @561
+			    location   	(1744, 1440)
+			    line_color 	3342489
+			    InterObjView 	@560
+			    height     	740
+			    y_coord    	680
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @562
+			    location   	(1744, 1616)
+			    line_color 	3342489
+			    InterObjView 	@560
+			    height     	184
+			    y_coord    	124
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @563
+			    location   	(1744, 2000)
+			    line_color 	3342489
+			    InterObjView 	@560
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE))
+		    (object InterObjView "ApplicationFilterChain" @564
+			location   	(2064, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@564
+			    location   	(2064, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"ApplicationFilterChain")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE4A1500B2"
+			width      	300
+			height     	2226
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @565
+			    location   	(2064, 1680)
+			    line_color 	3342489
+			    InterObjView 	@564
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @566
+			    location   	(2064, 1808)
+			    line_color 	3342489
+			    InterObjView 	@564
+			    height     	312
+			    y_coord    	252
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @567
+			    location   	(2064, 1872)
+			    line_color 	3342489
+			    InterObjView 	@564
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE))
+		    (object InterMessView "" @568
+			location   	(336, 400)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @569
+			    Parent_View 	@568
+			    location   	(319, 356)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE48BE0268"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	147
+			    justify    	0
+			    label      	"invoke()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@546
+			supplier   	@548
+			Focus_Src  	@547
+			Focus_Entry 	@549
+			origin     	(175, 400)
+			terminus   	(464, 400)
+			ordinal    	0)
+		    (object InterMessView "" @570
+			location   	(16, 736)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @571
+			    Parent_View 	@570
+			    location   	(639, 692)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE48EA003A"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	147
+			    justify    	0
+			    label      	"invoke()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@548
+			supplier   	@551
+			Focus_Src  	@549
+			Focus_Entry 	@552
+			origin     	(495, 736)
+			terminus   	(784, 736)
+			ordinal    	1)
+		    (object InterMessView "" @572
+			location   	(16, 800)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @573
+			    Parent_View 	@572
+			    location   	(951, 756)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE491102D6"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	147
+			    justify    	0
+			    label      	"invoke()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@551
+			supplier   	@554
+			Focus_Src  	@552
+			Focus_Entry 	@555
+			origin     	(815, 800)
+			terminus   	(1088, 800)
+			ordinal    	2)
+		    (object SelfMessView "" @574
+			location   	(16, 848)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @575
+			    Parent_View 	@574
+			    location   	(1322, 821)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE492F033D"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	437
+			    justify    	0
+			    label      	"map //return Wrapper"
+			    pctDist    	1.346667
+			    height     	28
+			    orientation 	0)
+			line_color 	3342489
+			client     	@554
+			supplier   	@554
+			Focus_Src  	@555
+			Focus_Entry 	@556
+			origin     	(1120, 848)
+			terminus   	(1270, 848)
+			ordinal    	3)
+		    (object InterMessView "" @576
+			location   	(1264, 944)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @577
+			    Parent_View 	@576
+			    location   	(1262, 901)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE494A0151"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	147
+			    justify    	0
+			    label      	"invoke()"
+			    pctDist    	0.498270
+			    height     	44
+			    orientation 	0)
+			line_color 	3342489
+			client     	@554
+			supplier   	@557
+			Focus_Src  	@555
+			Focus_Entry 	@558
+			origin     	(1119, 944)
+			terminus   	(1408, 944)
+			ordinal    	4)
+		    (object InterMessView "" @578
+			location   	(960, 1088)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @579
+			    Parent_View 	@578
+			    location   	(952, 1044)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE495F0288"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	147
+			    justify    	0
+			    label      	"invoke()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	1)
+			line_color 	3342489
+			client     	@557
+			supplier   	@548
+			Focus_Src  	@558
+			Focus_Entry 	@550
+			origin     	(1408, 1088)
+			terminus   	(496, 1088)
+			ordinal    	5)
+		    (object InterMessView "" @580
+			location   	(16, 1168)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @581
+			    Parent_View 	@580
+			    location   	(639, 1124)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE4976015D"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	147
+			    justify    	0
+			    label      	"invoke()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@548
+			supplier   	@551
+			Focus_Src  	@549
+			Focus_Entry 	@553
+			origin     	(495, 1168)
+			terminus   	(784, 1168)
+			ordinal    	6)
+		    (object InterMessView "" @582
+			location   	(1296, 1440)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @583
+			    Parent_View 	@582
+			    location   	(1271, 1396)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE4993023C"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	147
+			    justify    	0
+			    label      	"invoke()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@551
+			supplier   	@560
+			Focus_Src  	@553
+			Focus_Entry 	@561
+			origin     	(815, 1440)
+			terminus   	(1728, 1440)
+			ordinal    	7)
+		    (object InterMessView "" @584
+			location   	(1616, 1520)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @585
+			    Parent_View 	@584
+			    location   	(1584, 1476)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE49EC004F"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	175
+			    justify    	0
+			    label      	"allocate()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	1)
+			line_color 	3342489
+			client     	@560
+			supplier   	@557
+			Focus_Src  	@561
+			Focus_Entry 	@559
+			origin     	(1728, 1520)
+			terminus   	(1440, 1520)
+			ordinal    	8)
+		    (object InterMessView "" @586
+			location   	(1616, 1616)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @587
+			    Parent_View 	@586
+			    location   	(1583, 1572)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE4A200067"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	242
+			    justify    	0
+			    label      	"return servlet"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@557
+			supplier   	@560
+			Focus_Src  	@559
+			Focus_Entry 	@562
+			origin     	(1439, 1616)
+			terminus   	(1728, 1616)
+			ordinal    	9)
+		    (object InterMessView "" @588
+			location   	(1936, 1680)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @589
+			    Parent_View 	@588
+			    location   	(1937, 1636)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE4A29027E"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	343
+			    justify    	0
+			    label      	"createFilterChain()"
+			    pctDist    	0.619377
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@560
+			supplier   	@564
+			Focus_Src  	@562
+			Focus_Entry 	@565
+			origin     	(1759, 1680)
+			terminus   	(2048, 1680)
+			ordinal    	10)
+		    (object InterMessView "" @590
+			location   	(16, 1808)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @591
+			    Parent_View 	@590
+			    location   	(1902, 1764)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE4A490283"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	170
+			    justify    	0
+			    label      	"doFilter()"
+			    pctDist    	0.498270
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@560
+			supplier   	@564
+			Focus_Src  	@561
+			Focus_Entry 	@566
+			origin     	(1759, 1808)
+			terminus   	(2048, 1808)
+			ordinal    	11)
+		    (object InterObjView "$UNNAMED$0" @592
+			location   	(2240, 368)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@592
+			    location   	(2240, 368)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"")
+			stereotype 	(object ItemLabel
+			    Parent_View 	@592
+			    location   	(2240, 368)
+			    fill_color 	13434879
+			    anchor     	10
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	222
+			    justify    	0
+			    label      	"<<Servlet>>")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE4BAE0056"
+			width      	300
+			height     	2082
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @593
+			    location   	(2240, 428)
+			    InterObjView 	@592
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @594
+			    location   	(2240, 1984)
+			    line_color 	3342489
+			    InterObjView 	@592
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE))
+		    (object SelfMessView "" @595
+			location   	(16, 1872)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @596
+			    Parent_View 	@595
+			    location   	(2155, 1828)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE4C2701C3"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	308
+			    justify    	0
+			    label      	"internalDoFilter()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@564
+			supplier   	@564
+			Focus_Src  	@566
+			Focus_Entry 	@567
+			origin     	(2080, 1872)
+			terminus   	(2230, 1872)
+			ordinal    	12)
+		    (object InterMessView "" @597
+			location   	(2144, 1984)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @598
+			    Parent_View 	@597
+			    location   	(2151, 1940)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE4CA502BF"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	162
+			    justify    	0
+			    label      	"service()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@564
+			supplier   	@592
+			Focus_Src  	@566
+			Focus_Entry 	@594
+			origin     	(2079, 1984)
+			terminus   	(2224, 1984)
+			ordinal    	13)
+		    (object InterMessView "" @599
+			location   	(16, 2000)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @600
+			    Parent_View 	@599
+			    location   	(1904, 1956)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE4CB4025B"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	113
+			    justify    	0
+			    label      	"return"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	1)
+			line_color 	3342489
+			client     	@564
+			supplier   	@560
+			Focus_Src  	@566
+			Focus_Entry 	@563
+			origin     	(2048, 2000)
+			terminus   	(1760, 2000)
+			ordinal    	14)))))
+    root_subsystem 	(object SubSystem "Component View"
+	quid       	"3DFDF6CE036A"
+	physical_models 	(list unit_reference_list)
+	physical_presentations 	(list unit_reference_list
+	    (object Module_Diagram "Main"
+		quid       	"3DFDF6D201FD"
+		title      	"Main"
+		zoom       	100
+		max_height 	28350
+		max_width  	21600
+		origin_x   	0
+		origin_y   	0
+		items      	(list diagram_item_list))))
+    process_structure 	(object Processes
+	quid       	"3DFDF6CE0373"
+	ProcsNDevs 	(list
+	    (object Process_Diagram "Deployment View"
+		quid       	"3DFDF6CE0387"
+		title      	"Deployment View"
+		zoom       	100
+		max_height 	28350
+		max_width  	21600
+		origin_x   	0
+		origin_y   	0
+		items      	(list diagram_item_list))))
+    properties 	(object Properties
+	attributes 	(list Attribute_Set
+	    (object Attribute
+		tool       	"Data Modeler"
+		name       	"propertyId"
+		value      	"809135966")
+	    (object Attribute
+		tool       	"Data Modeler"
+		name       	"default__Project"
+		value      	(list Attribute_Set
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"project"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"TableCounter"
+			value      	0)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"ViewCounter"
+			value      	0)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"DomainCounter"
+			value      	0)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"SPPackageCounter"
+			value      	0)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"TriggerCounter"
+			value      	0)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IndexCounter"
+			value      	0)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"ConstraintCounter"
+			value      	0)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"StoreProcedureCounter"
+			value      	0)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"PrimaryKeyCounter"
+			value      	0)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"ForeignKeyCounter"
+			value      	0)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"JoinCounter"
+			value      	0)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"TableSpaceCounter"
+			value      	0)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"cONTAINERCounter"
+			value      	0)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"TablePrefix"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"ViewPrefix"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"DomainPrefix"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"TriggerPrefix"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IndexPrefix"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"ConstraintPrefix"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"StoreProcedurePrefix"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"PrimaryKeyPrefix"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"ForeignKeyPrefix"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"TableSpacePrefix"
+			value      	"")))
+	    (object Attribute
+		tool       	"Data Modeler"
+		name       	"default__Module-Spec"
+		value      	(list Attribute_Set
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"dmItem"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"DMName"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsDatabase"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"TargetDatabase"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"Location"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsTableSpace"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"TableSpaceType"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsDeault"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"BufferPool"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"ExtentSize"
+			value      	1)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"PrefetchSize"
+			value      	1)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"PageSize"
+			value      	4)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"ManagedBy"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"ContainerList"
+			value      	"")))
+	    (object Attribute
+		tool       	"Data Modeler"
+		name       	"default__Category"
+		value      	(list Attribute_Set
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"dmItem"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"DMName"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"dmSchema"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"dmDomainPackage"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsSchema"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsDomainPackage"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsRootSchema"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsRootDomainPackage"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsSchemaPackage"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"DatabaseID"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"DBMS"
+			value      	"")))
+	    (object Attribute
+		tool       	"Data Modeler"
+		name       	"default__Class"
+		value      	(list Attribute_Set
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"dmItem"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"DMName"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsTable"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsView"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsDomain"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsSPPackage"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"Synonymns"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"TableSpaceID"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"SourceId"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"SourceType"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"CorrelationName"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"SelectClause"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsUpdateable"
+			value      	TRUE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"CheckOption"
+			value      	"None")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsSnapShot"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsDistinct"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"PersistToServer"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsPackage"
+			value      	FALSE)))
+	    (object Attribute
+		tool       	"Data Modeler"
+		name       	"default__Attribute"
+		value      	(list Attribute_Set
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"dmItem"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"DMName"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"Ordinal"
+			value      	0)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsIdentity"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsUnique"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"NullsAllowed"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"Length"
+			value      	0)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"Scale"
+			value      	0)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"ColumnType"
+			value      	"Native")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"ForBitData"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"DefaultValueType"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"DefaultValue"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"SourceId"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"SourceType"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"OID"
+			value      	FALSE)))
+	    (object Attribute
+		tool       	"Data Modeler"
+		name       	"default__Association"
+		value      	(list Attribute_Set
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"dmItem"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"DMName"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsRelationship"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"SourceId"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"SourceType"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"RIMethod"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"ParentUpdateRule"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"ParentUpdateRuleName"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"ParentDeleteRule"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"ParentDeleteRuleName"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"ChildInsertRestrict"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"ChildInsertRestrictName"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"ChildMultiplicity"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"ChildMultiplicityName"
+			value      	"")))
+	    (object Attribute
+		tool       	"Data Modeler"
+		name       	"default__Role"
+		value      	(list Attribute_Set
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"dmItem"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"DMName"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"ConstraintName"
+			value      	"")))
+	    (object Attribute
+		tool       	"Data Modeler"
+		name       	"default__Operation"
+		value      	(list Attribute_Set
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"dmItem"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"DMName"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsConstraint"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"ConstraintType"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsIndex"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsTrigger"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsStoredProcedure"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsCluster"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"TableSpace"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"FillFactor"
+			value      	0)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"KeyList"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"CheckPredicate"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsUnique"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"DeferalMode"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"InitialCheckTime"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"TriggerType"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsInsertEvent"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsUpdateEvent"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsDeleteEvent"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"RefOldTable"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"RefNewTable"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"RefOldRow"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"RefNewRow"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsRow"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"WhenClause"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"Language"
+			value      	"SQL")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"ProcType"
+			value      	"Procedure")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsDeterministic"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"ParameterStyle"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"ReturnedNull"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"ExternalName"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"Length"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"Scale"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"ForBitData"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"DefaultValue"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"DefaultValueType"
+			value      	"")))
+	    (object Attribute
+		tool       	"Data Modeler"
+		name       	"default__Parameter"
+		value      	(list Attribute_Set
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"dmItem"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"DMName"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsInParameter"
+			value      	TRUE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsOutParameter"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"Ordinal"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"Length"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"Scale"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"ForBitData"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"DefaultValueType"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"DefaultValue"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"OperationID"
+			value      	"")))
+	    (object Attribute
+		tool       	"Data Modeler"
+		name       	"HiddenTool"
+		value      	FALSE)
+	    (object Attribute
+		tool       	"Data Modeler Communicator"
+		name       	"HiddenTool"
+		value      	FALSE)
+	    (object Attribute
+		tool       	"Deploy"
+		name       	"HiddenTool"
+		value      	FALSE)
+	    (object Attribute
+		tool       	"Rose Model Integrator"
+		name       	"HiddenTool"
+		value      	FALSE)
+	    (object Attribute
+		tool       	"Rose Web Publisher"
+		name       	"HiddenTool"
+		value      	FALSE)
+	    (object Attribute
+		tool       	"Web Modeler"
+		name       	"HiddenTool"
+		value      	FALSE))
+	quid       	"3DFDF6CE0374"))
Index: /nutchez-0.1/tomcat/webapps/docs/architecture/startup.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/architecture/startup.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/architecture/startup.html	(revision 66)
@@ -0,0 +1,42 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Architecture - Startup</title><meta value="Yoav Shapira" name="author"><meta value="yoavs@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li></ul><p><strong>Contents</strong></p><ul><li><a href="index.html">Contents</a></li><li><a href="overview.html">Overview</a></li><li><a href="startup.html">Server Startup</a></li><li><a href="requestProcess.html">Request Process</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Architecture</h1><h2>Startup</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/startup.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Server Startup"><strong>Server Startup</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>
+This page describes how the Tomcat server starts up.  There are several
+different ways to start tomcat, including:
+<ul>
+  <li>From the command line.</li>
+  <li>From a Java program as an embedded server.</li>
+  <li>Automatically as a Windows service.</li>
+</ul>
+</p>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="description"><strong>description</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+A text description of the startup procedure is available
+<a href="startup/serverStartup.txt">here.</a>
+</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="diagram"><strong>diagram</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+A UML sequence diagram of the startup procedure is available
+<a href="startup/serverStartup.pdf">here.</a>
+</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="comments"><strong>comments</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+The startup process can be customized in many ways, both
+by modifying Tomcat code and by implementing your own
+LifecycleListeners which are then registered in the server.xml
+configuration file.
+</p>
+
+</blockquote></td></tr></table>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/architecture/startup/serverStartup.txt
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/architecture/startup/serverStartup.txt	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/architecture/startup/serverStartup.txt	(revision 66)
@@ -0,0 +1,151 @@
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+Tomcat 5 Startup Sequence
+
+Sequence 1. Start from Command Line
+Class: org.apache.catalina.startup.Bootstrap
+What it does:
+	a) Set up classloaders 
+		commonLoader (common)-> System Loader
+		sharedLoader (shared)-> commonLoader -> System Loader
+		catalinaLoader(server) -> commonLoader -> System Loader
+	b) Load startup class (reflection)
+		org.apache.catalina.startup.Catalina
+		setParentClassloader -> sharedLoader
+		Thread.contextClassloader -> catalinaLoader
+	c) Bootstrap.daemon.init() complete
+	
+Sequence 2. Process command line argument (start, startd, stop, stopd)
+Class: org.apache.catalina.startup.Bootstrap (assume command->start)
+What it does: 
+	a) Catalina.setAwait(true);
+	b) Catalina.load()
+		b1) initDirs() -> set properties like 
+		                  catalina.home
+		                  catalina.base == catalina.home (most cases)
+		b2) initNaming
+			setProperty(javax.naming.Context.INITIAL_CONTEXT_FACTORY,
+				    org.apache.naming.java.javaURLContextFactory ->default)
+		b3) createStartDigester() 
+			Configures a digester for the main server.xml elements like
+			org.apache.catalina.core.StandardServer (can change of course :)
+			org.apache.catalina.deploy.NamingResources
+				Stores naming resources in the J2EE JNDI tree
+			org.apache.catalina.LifecycleListener
+				implements events for start/stop of major components
+			org.apache.catalina.core.StandardService
+				The single entry for a set of connectors,
+				so that a container can listen to multiple connectors
+				ie, single entry
+			org.apache.coyote.tomcat5.CoyoteConnector
+				Connectors to listen for incoming requests only
+			It also adds the following rulesets to the digester
+				NamingRuleSet
+				EngineRuleSet
+				HostRuleSet
+				ContextRuleSet
+		b4) Load the server.xml and parse it using the digester
+		    Parsing the server.xml using the digester is an automatic
+		    XML-object mapping tool, that will create the objects defined in server.xml
+		    Startup of the actual container has not started yet.
+		b5) Assigns System.out and System.err to the SystemLogHandler class
+		b6) Calls intialize on all components, this makes each object register itself with the 
+		    JMX agent.
+		    During the process call the Connectors also initialize the adapters.
+		    The adapters are the components that do the request pre-processing.
+		    Typical adapters are HTTP1.1 (default if no protocol is specified,
+		    org.apache.coyote.http11.Http11Protocol)
+		    AJP1.3 for mod_jk etc.
+
+	c) Catalina.start()
+		c1) Starts the NamingContext and binds all JNDI references into it
+		c2) Starts the services under <Server> which are:
+			StandardService -> starts Engine (ContainerBase ->Logger,Loader,Realm,Cluster etc)
+		c3) StandardHost (started by the service)
+				Configures a ErrorReportValvem to do proper HTML output for different HTTP 
+				errors codes
+				Starts the Valves in the pipeline (at least the ErrorReportValve)
+				Configures the StandardHostValve, 
+					this valves ties the Webapp Class loader to the thread context
+					it also finds the session for the request
+					and invokes the context pipeline
+				Starts the HostConfig component
+					This component deploys all the webapps
+						(webapps & conf/Catalina/localhost/*.xml)
+					Webapps are installed using the deployer (StandardHostDeployer)
+					The deployer will create a Digester for your context, this digester
+					will then invoke ContextConfig.start()
+						The ContextConfig.start() will process the default web.xml (conf/web.xml)
+						and then process the applications web.xml (WEB-INF/web.xml)
+						
+		c4) During the lifetime of the container (StandardEngine) there is a background thread that 
+		    keeps checking if the context has changed. If a context changes (timestamp of war file, 
+		    context xml file, web.xml) then a reload is issued (stop/remove/deploy/start)
+		    
+	d) Tomcat receives a request on an HTTP port
+	    d1) The request is received by a separate thread which is waiting in the PoolTcpEndPoint 
+	         class. It is waiting for a request in a regular ServerSocket.accept() method.
+	         When a request is received, this thread wakes up.
+	    d2) The PoolTcpEndPoint assigns the a TcpConnection to handle the request. 
+	        It also supplies a JMX object name to the catalina container (not used I believe)
+	    d3) The processor to handle the request in this case is Coyote Http11Processor, 
+	        and the process method is invoked.
+	        This same processor is also continuing to check the input stream of the socket
+	        until the keep alive point is reached or the connection is disconnected.
+	    d4) The HTTP request is parsed using an internal buffer class (Coyote Http11 Internal Buffer)
+	        The buffer class parses the request line, the headers, etc and store the result in a 
+	        Coyote request (not an HTTP request) This request contains all the HTTP info, such
+	        as servername, port, scheme, etc.
+	    d5) The processor contains a reference to an Adapter, in this case it is the 
+	        Coyote Tomcat 5 Adapter. Once the request has been parsed, the Http11 processor
+	        invokes service() on the adapter. In the service method, the Request contains a 
+	        CoyoteRequest and CoyoteRespons (null for the first time)
+	        The CoyoteRequest(Response) implements HttpRequest(Response) and HttpServletRequest(Response)
+	        The adapter parses and associates everything with the request, cookies, the context through a 
+	        Mapper, etc
+	    d6) When the parsing is finished, the CoyoteAdapter invokes its container (StandardEngine)
+	        and invokes the invoke(request,response) method.
+	        This initiates the HTTP request into the Catalina container starting at the engine level
+	    d7) The StandardEngine.invoke() simply invokes the container pipeline.invoke()
+	    d8) By default the engine only has one valve the StandardEngineValve, this valve simply
+	        invokes the invoke() method on the Host pipeline (StandardHost.getPipeLine())
+	    d9) the StandardHost has two valves by default, the StandardHostValve and the ErrorReportValve
+	    d10) The standard host valve associates the correct class loader with the current thread
+	         It also retrives the Manager and the session associated with the request (if there is one)
+	         If there is a session access() is called to keep the session alive
+	    d11) After that the StandardHostValve invokes the pipeline on the context associated
+	         with the request.
+	    d12) The first valve that gets invoked by the Context pipeline is the FormAuthenticator
+	         valve. Then the StandardContextValve gets invoke.
+	         The StandardContextValve invokes any context listeners associated with the context.
+	         Next it invokes the pipeline on the Wrapper component (StandardWrapperValve)
+	    d13) During the invokation of the StandardWrapperValve, the JSP wrapper (Jasper) gets invoked
+	         This results in the actual compilation of the JSP.
+	         And then invokes the actual servlet.
+	e) Invokation of the servlet class
+	         
+	         
+	         
+	    
+	        
+	        
+	        
+	    
+			
+			
+		
+		
+			
Index: /nutchez-0.1/tomcat/webapps/docs/balancer-howto.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/balancer-howto.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/balancer-howto.html	(revision 66)
@@ -0,0 +1,25 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - Load Balancer HOW-TO</title><meta value="Yoav Shapira" name="author"><meta value="yoavs@apache.org" name="email"><meta value="Remy Maucherat" name="author"><meta value="" name="email"><meta value="Andy Oliver" name="author"><meta value="" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://wiki.apache.org/tomcat/FAQ">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR/Native</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li><li><a href="aio.html">25) Advanced IO</a></li><li><a href="extras.html">26) Additional Components</a></li><li><a href="maven-jars.html">27) Mavenized</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Configuration</a></li><li><a href="api/index.html">Javadocs</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="http://wiki.apache.org/tomcat/TomcatVersions">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="architecture/index.html">Architecture</a></li><li><a href="funcspecs/index.html">Functional Specs.</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>Load Balancer HOW-TO</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/balancer-howto.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Table of Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+<a href="#Using the JK 1.2.x native connector">
+Using the JK native connector</a><br>
+<a href="#Using Apache HTTP Server 2.x with mod_proxy">
+Using Apache HTTP Server 2.x and mod_proxy</a><br>
+
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Using the JK 1.2.x native connector"><strong>Using the JK 1.2.x native connector</strong></a></font></td></tr><tr><td><blockquote>
+
+Please refer to the JK 1.2.x documentation.
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Using Apache HTTP Server 2.x with mod_proxy"><strong>Using Apache HTTP Server 2.x with mod_proxy</strong></a></font></td></tr><tr><td><blockquote>
+
+Please refer to the mod_proxy documentation for Apache HTTP Server 2.2. This supports either
+HTTP or AJP load balancing. This new version of mod_proxy is also useable with
+Apache HTTP Server 2.0, but mod_proxy will have to be compiled separately using the code
+from Apache HTTP Server 2.2.
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/building.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/building.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/building.html	(revision 66)
@@ -0,0 +1,189 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - Building Tomcat</title><meta value="Remy Maucherat" name="author"><meta value="" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://wiki.apache.org/tomcat/FAQ">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR/Native</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li><li><a href="aio.html">25) Advanced IO</a></li><li><a href="extras.html">26) Additional Components</a></li><li><a href="maven-jars.html">27) Mavenized</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Configuration</a></li><li><a href="api/index.html">Javadocs</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="http://wiki.apache.org/tomcat/TomcatVersions">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="architecture/index.html">Architecture</a></li><li><a href="funcspecs/index.html">Functional Specs.</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>Building Tomcat</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>
+Building Apache Tomcat from SVN is very easy, and is the first step to contributing to
+Tomcat. The following is a step by step TODO list.
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Download a Java Development Kit (JDK) release (version 1.5.x or later)"><strong>Download a Java Development Kit (JDK) release (version 1.5.x or later)</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>
+The Sun JDK can be downloaded <a href="http://java.sun.com/j2se/">here</a>.
+</p>
+
+<p>
+<b>IMPORTANT</b>: Set an environment variable JAVA_HOME to the pathname of the 
+directory into which you installed the JDK release.
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Install Apache Ant 1.6.5 or later"><strong>Install Apache Ant 1.6.5 or later</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>
+Download a binary distribution of Ant 1.6.5 or later from 
+<a href="http://ant.apache.org/bindownload.cgi">here</a>.
+</p>
+
+<p>
+Unpack the binary distribution into a convenient location so that the
+Ant release resides in its own directory (conventionally named
+"apache-ant-1.6.x").  For the purposes of the remainder of this document,
+the symbolic name "${ant.home}" is used to refer to the full pathname of
+ the release directory.
+</p>
+
+<p>
+Create an ANT_HOME environment variable to point the directory ${ant.home}, 
+and modify the PATH environment variable to include directory
+"${ant.home}/bin" in its list.  This makes the "ant" command line script
+available, which will be used to actually perform the build.
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Checkout or obtain the source code for Tomcat 6.0"><strong>Checkout or obtain the source code for Tomcat 6.0</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>
+  Tomcat SVN repository URL:
+  <code>http://svn.apache.org/repos/asf/tomcat/tc6.0.x/</code>
+  </p>
+  
+  <p>
+  Download a source package from:
+  <code>http://tomcat.apache.org/download-60.cgi</code>
+  </p>
+  
+  <p>
+  Checkout the source using SVN, selecting the desired version or
+  branch (current development source is at 
+  <code>http://svn.apache.org/repos/asf/tomcat/tc6.0.x/trunk/</code>), or 
+  unpack the source package. The location where the source has been
+  placed will be referred as ${tomcat.source}.
+  </p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Building Tomcat"><strong>Building Tomcat</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>
+Use the following commands:
+<code><br>
+    cd ${tomcat.source}<br>
+    ant download<br>
+    ant<br>
+</code>
+</p>
+
+<p>
+NOTE: Users accessing the Internet through a proxy must use a properties
+  file to indicate to Ant the proxy configuration. Read below.
+</p>
+
+<p>
+WARNING: Running this command will download binaries to the 
+  <code>/usr/share/java</code> directory. 
+  Make sure this is appropriate to do so on your computer. On Windows, 
+  this usually corresponds to the <code>C:\usr\share\java</code> directory, 
+  unless Cygwin is used. Read below to customize the directory used 
+  to download the binaries.
+</p>
+
+<p>
+The build can be controlled by creating a ${tomcat.source}/build.properties
+  file, and adding the following content to it:
+<code><br>
+    # ----- Proxy setup -----<br>
+    # Uncomment if using a proxy server.<br>
+    #proxy.host=proxy.domain<br>
+    #proxy.port=8080<br>
+    #proxy.use=on<br>
+<br>
+    # ----- Default Base Path for Dependent Packages -----<br>
+    # Replace this path with the directory path where<br>
+    # dependencies binaries should be downloaded.<br>
+    base.path=/usr/share/java<br>
+</code>
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Building with Eclipse"><strong>Building with Eclipse</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>
+<b>Important:</b>
+This is not a supported means of building Tomcat; this information is
+provided without warranty :-).
+The only supported means of building Tomcat is with the "ant build"
+described above.
+However, some developers like to work on Java code with a Java IDE,
+and the following steps have been used by some developers.
+</p>
+
+<p>
+Note that you <b>must</b> complete all the above steps to fetch
+the repositories and build some JAR files the first time.
+After you have completed the above steps, you can set up a
+series of Eclipse 4 projects.
+<b>Note</b> that this will not let you build everything under Eclipse;
+the build process requires use of Ant for the many stages that aren't
+simple Java compilations.
+However, it will allow you to view and edit the Java code,
+get warnings, reformat code, perform refactorings, run Tomcat
+under the IDE, and so on.
+</p>
+
+<p>
+Use Windows-&gt;Preferences and then Java-&gt;Build Path-&gt;Classpath
+Variables to add two new Classpath variables:
+</p>
+
+<p>
+<table border="1">
+ <tr><td>TOMCAT_LIBS_BASE</td><td>the base path where the binary dependencies have been downloaded</td></tr>
+ <tr><td>ANT_HOME</td><td>the base path of Ant 1.6.2 or later</td></tr>
+</table>
+</p>
+
+<p>
+Use File-&gt;New Project to create a new Java project 
+for each of the binaries repository (e.g., /usr/share/java), 
+container, connectors, jasper, servletapi. 
+Unless you thought ahead to make the ${tomcat.source} directory be under
+your Workspace folder, tell Eclipse the external location using "Import/Export...",
+General-&gt;Existing Project into Workspace.
+</p>
+
+<p>
+Eclipse .project and .classpath files are provided in each of these
+directories so Eclipse should find all source trees and jars, and
+hopefully compile without problems. <b>Note</b> that these
+files assume you are using Eclipse with a 5.0 or later JDK; also, the
+connectors module must be built with a compiler compliance level of 5.0.
+</p>
+
+<p>
+To run Tomcat without a special IDE plug-in, you can simply use Run-&gt;Run...
+enter "org.apache.catalina.startup.Catalina" as the main class,
+"start" as program arguments, and
+"-Dcatalina.home=..." (with the name of your build directory) 
+as VM arguments.
+</p>
+
+<p>
+Note also that due to the way the Tomcat source is assembled
+from several SVN projects, you may not be able to use the Eclipse
+SVN client to update (nor to commit, if you are a committer).
+Use the external SVN client of your choice, then use the
+Eclipse PackageExplorer or Navigator "Refresh" context menu item
+to tell Eclipse that you've updated the files.
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Building with other IDEs"><strong>Building with other IDEs</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+The same caveats apply as for Eclipse, above.
+</p>
+
+<p>
+The same general idea should work in most IDEs; it has been reported
+to work in Idea, for example.
+</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/cgi-howto.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/cgi-howto.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/cgi-howto.html	(revision 66)
@@ -0,0 +1,55 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - CGI How To</title><meta value="Glenn L. Nielsen" name="author"><meta value="glenn@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://wiki.apache.org/tomcat/FAQ">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR/Native</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li><li><a href="aio.html">25) Advanced IO</a></li><li><a href="extras.html">26) Additional Components</a></li><li><a href="maven-jars.html">27) Mavenized</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Configuration</a></li><li><a href="api/index.html">Javadocs</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="http://wiki.apache.org/tomcat/TomcatVersions">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="architecture/index.html">Architecture</a></li><li><a href="funcspecs/index.html">Functional Specs.</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>CGI How To</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/cgi-howto.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The CGI (Common Gateway Interface) defines a way for a web server to
+interact with external content-generating programs, which are often
+referred to as CGI programs or CGI scripts.
+</p>
+
+<p>Within Tomcat, CGI support can be added when you are using Tomcat as your
+HTTP server and require CGI support.  Typically this is done
+during development when you don't want to run a web server like 
+Apache httpd.
+Tomcat's CGI support is largely compatible with Apache httpd's, 
+but there are some limitations (e.g., only one cgi-bin directory).
+</p>
+
+<p>CGI support is implemented using the servlet class
+<code>org.apache.catalina.servlets.CGIServlet</code>.  Traditionally,
+this servlet is mapped to the URL pattern "/cgi-bin/*".</p>
+
+<p>By default CGI support is disabled in Tomcat.</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Installation"><strong>Installation</strong></a></font></td></tr><tr><td><blockquote>
+
+<p><strong>CAUTION</strong> - CGI scripts are used to execute programs
+external to the Tomcat JVM. If you are using the Java SecurityManager this
+will bypass your security policy configuration in <code>catalina.policy.</code></p>
+
+<p>Remove the XML comments from around the CGI servlet and servlet-mapping
+configuration in <code>$CATALINA_BASE/conf/web.xml</code>.</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Configuration"><strong>Configuration</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>There are several servlet init parameters which can be used to
+configure the behaviour of the CGI servlet.
+<ul>
+<li><strong>cgiPathPrefix</strong> - The CGI search path will start at
+the web application root directory + File.separator + this prefix.
+The default cgiPathPrefix is <code>WEB-INF/cgi</code></li>
+<li><strong>debug</strong> - Debugging detail level for messages logged
+by this servlet. Default 0.</li>
+<li><strong>executable</strong> - The of the executable to be used to
+run the script. Default is <code>perl</code>.</li>
+<li><strong>parameterEncoding</strong> - Name of the parameter encoding
+to be used with the GCI servlet. Default is
+<code>System.getProperty("file.encoding","UTF-8")</code>.</li>
+<li><strong>passShellEnvironment</strong> - Should the shell environment
+variables (if any) be passed to the CGI script? Default is
+<code>false</code>.</li>
+</ul>
+</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/changelog.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/changelog.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/changelog.html	(revision 66)
@@ -0,0 +1,1873 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - Changelog</title><meta value="Remy Maucherat" name="author"><meta value="remm@apache.org" name="email"><meta value="Yoav Shapira" name="author"><meta value="yoavs@apache.org" name="email"><meta value="Filip Hanik" name="author"><meta value="fhanik@apache.org" name="email"><meta value="Rainer Jung" name="author"><meta value="rjung@apache.org" name="email"><meta value="Peter Rossbach" name="author"><meta value="pero@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://wiki.apache.org/tomcat/FAQ">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR/Native</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li><li><a href="aio.html">25) Advanced IO</a></li><li><a href="extras.html">26) Additional Components</a></li><li><a href="maven-jars.html">27) Mavenized</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Configuration</a></li><li><a href="api/index.html">Javadocs</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="http://wiki.apache.org/tomcat/TomcatVersions">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="architecture/index.html">Architecture</a></li><li><a href="funcspecs/index.html">Functional Specs.</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>Changelog</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/changelog.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 6.0.18 (remm)"><strong>Tomcat 6.0.18 (remm)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cataina"><strong>Cataina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td><a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42727">42727</a>Correctly handle request lines that are exact multiples of 4096 in length.
+  Patch provided by Will Pugh.</td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42678">42678</a>: Only ignore docBase it it really is a subdir of
+        appBase. Patch provided by juergen. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42722">42722</a>: Possible NPE in CGI Servlet. (markt)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=45285">45285</a>: Look for annotations in class hierarchy. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Add additional checks for URI normalization. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42565">42565</a>: Make EL ternary expression without space before colon
+        work. Patch provided by Lucas Galfaso. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=45323">45323</a>: Add note that context.xml files can only contain a
+        single Context element. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster"><strong>Cluster</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=45317">45317</a>: Properly document and log the value of the state transfer timeout flag (fhanik)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Other"><strong>Other</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=45332">45332</a>: Specify the correct encoding (the current Windows code
+        page) rather than assuming UTF-8 when creating tomcat-users.xml with the
+        Windows installer. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 6.0.17 (remm)"><strong>Tomcat 6.0.17 (remm)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=45315">45315</a>: Add Unix support for NSIS. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td><a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=45272">45272</a>Put in work around for Internet Explorer not accepting a quoted Path: value using the Set-Cookie header (fhanik)</td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        APR connector now adds connection to poller after using send file.
+        (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Add ManagerBase session getLastAccessedTimestamp and
+        getCreationTimestamp for better remote JMX access. (pero)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Expose alwaysSend flag for message dispatch interceptor. (fhanik)
+      </td></tr>  
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=29936">29936</a>: Create digesters and parsers earlier so we aren't
+        using the webapp class loader when we create them. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42662">42662</a>: Properly resolve reflection proxies during session
+        replication. (fhanik)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42750">42750</a>: Request line should be tolerant of multiple
+        whitespaces. (markt/fhanik)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42934">42934</a>: Change the order of events on context start so
+        <code>contextInitialized()</code> event is fired before
+        <code>sessionDidActivate()</code>. The spec isn't 100% clear on the
+        required order but this seems more logical than the current behaviour.
+        (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43079">43079</a>: Fix identification of suspicious URL patterns. Patch
+        provided by John Kew. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43080">43080</a>: Log suspicious URL patterns to the correct web app.
+        (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43117">43117</a>: Setting an empty workDir could result in all of
+        CATALINA_HOME being deleted. Patch provided by Takayuki Kaneko. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43142">43142</a>: Don't assume a directory named xxx.war is a war file.
+        (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43150">43150</a>: Allow Tomcat to start correctly when installed on a
+        path that contains a # character. (markt)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        The fix for <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43285">43285</a> had the side-effct of coercing
+        <code>null</code> values to zero. This side-effect has been made
+        configurable with a system property,
+        <code>org.apache.el.parser.COERCE_TO_ZERO</code> which defaults to
+        <code>true</code>. Patch provided by Nils Eckert. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43343">43343</a>: Correctly handle requesting a session we are in the
+        middle of persisting. Based on a suggestion by Wade Chandler. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43425">43425</a>: Make annotations spec compliant. Patch provided by
+        Dain Sundstrom. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43470">43470</a>: Fix various class cast exceptions. Based on a patch
+        by Lucas Galfaso. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43578">43578</a>: Fix startup when installation path contains a space.
+        Patch provided by Ray Sauers. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43683">43683</a>: Fix 404 that could occur if a Servlet is accessed
+        while the context is reloading. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>ExtendedAccessLogValve cs-uri not print empty querystring. (pero)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        ServletContext.getResource("noslash/resource") only requires forward
+        slash if STRICT_SERVLET_COMPLIANCE flag is set to true. This mimics the
+        behavior of 6.0.15 and earlier. (fhanik)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44021">44021</a>: Add support for using the # character to define
+        multi-level contexts in WARs and directories in the appBase. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44282">44282</a>: Fix TRACE level class loader logging message when a
+        security manager is used. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44337">44337</a>: Dir listing crashes if no readme-file present.
+        (funkman)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        If listener declared in web.xml, only add it once. (funkman)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix NPE when iterating through sessions for expiration. (fhanik/jim)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44380">44380</a>: Don't scan non-file URLs for TLDs. Patch provided by
+        Florent Benoit. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44389">44389</a>: Fix memory leak that occurred if using a
+        RequestDispatcher. Patch provided by Arto Huusko. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44529">44529</a>: Correct handling of resource constraints so no roles
+        (deny all) overrides no aoth-constraint (allow all). (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44562">44562</a>: HEAD requests cannot use includes. Patch provided by
+        David Jencks. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44595">44595</a>: Add possibility to request the QueueSize of an
+        executor via JMX. (jfclere)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix CGI Servlet so it correctly reads the environment variables on
+        Vista. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44611">44611</a>: DirContextURLConnection didn't implement
+        getHeaderFields(), getHeaderField(String name) was case sensitive and
+        returned "" rather than null for header values that did not exist. Patch
+        provided by Chris Hubick. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44633">44633</a>: Provide a more helpful error message if a class can't
+        be loaded due to a version error. (rjung/markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44646">44646</a>: Correct various issues, including an ISE, in
+        CometConnectionManagerValve. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44673">44673</a>: ServletInputStream is no longer readable once closed.
+        (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Better handling of lack of permission for context specific logging.
+        (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Add permission required to read JDK logging config. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Update web.xml to reflect packaging of SSI and CGI. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Add missing access check for ThreadWithAttributes. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44833">44833</a>: Correctly override StandardSession methods from
+        DeltaSession. (fhanik)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44943">44943</a>: Use the same engine name in server.xml comments to
+        reduce copy and pastes issues. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44988">44988</a>: Use Java5 syntax for debug options. Patch provided
+        by Cedrik Lime. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=45101">45101</a>: Format header dates obtained from
+        <code>DirContextURLConnection</code> as per the HTTP spec. Patch
+        provided by Chris Hubick. (markt)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        A new valve, <code>org.apache.catalina.valves.WebdavFixValve</code>,
+        that forces MS clients connecting to the WebDAV Servlet on port 80 to
+        use a client that works rather than the default broken one. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=45195">45195</a>: Passing in null into setAttribute or removeAttribute
+        cause NPE. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        NIO: Fix bug in NIO sendfile, symptoms during heavy traffic is that
+        connection don't get closed. For previous versions, one can disable
+        sendfile to work around the problem. (fhanik)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        APR: Allow to specify the "random device" to use to collect the entropy.
+        (jfclere)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Fix NIO/SSL live lock during client disconnect. (fhanik)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix possible ArrayIndexOutOfBoundsException. Patch provided by Charles R
+        Caldarale. (markt/jim)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Add support for keystore types that do not need a file. Based on a patch
+        by Bruno Harbulot. (markt)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43094">43094</a>: Allow specification of keystore providers. Based on a
+        patch by Bruno Harbulot. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43191">43191</a>: Make it possible to override the defaults with the
+        compressableMimeType attribute. Based on a patch by Len Popp. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44391">44391</a>: Correct handling of escaped values in SSI processing.
+        (markt) 
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44392">44392</a>: HTML entities now handled correctly in SSI processing.
+        (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44558">44558</a>: Improve error message so address is included if
+        binding fails. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44494">44494</a>: Character input limited to 8KB. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44620">44620</a>: Infinite loop in NIO connector. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44785">44785</a>: Correctly document default maxThreads for AJP
+        connector. (markt)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Log errors for AJP signoffs at DEBUG level, 
+        since it is harmless if mod_jk has hung up the phone. (billbarker)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44968">44968</a>: Provide more information when the load of a keystore
+        fails. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31257">31257</a>: Quote endorsed dirs if they contain a space. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42943">42943</a>: Make sure nested element is inside &lt;jsp:text&gt;
+        element before throwing exception. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43617">43617</a>: Correctly escape attribute values in tag files.
+        Based on a patch by Lucas Galfaso. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43656">43656</a>: Fix various numeric coercion bugs. Includes a patch by
+        Nils Eckert and fixes related issues identified in a test case provided
+        by Konstantin Kolinko. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43741">43741</a>: Correctly handle dependencies for tag files in JARs.
+        (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44408">44408</a>: Reduce synchronisation when evaluating EL expressions.
+        Patch provided by Robert Andersson. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44428">44428</a>: Fix possible NPE during serialization. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44766">44766</a>: EL doesn't coerce custom Number subclasses. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44877">44877</a>: Prevent collisions on tag pool names. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44986">44986</a>: Make page encoding consistency checks
+        case-insensitive. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44994">44994</a>: Enable nested conditional expressions in JSP EL. Patch
+        provided by James Manger. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=45015">45015</a>: You can't use an unescaped quote if you quote the
+        value with that character. (markt/fhanik)  
+      </td></tr>  
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Add HTML filtering of error messages for included resources in case the
+        app has tried to include an unsafe URL that does not exist. This is
+        really an app responsibility but the filtering has been added for XSS
+        safety. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Update documentation to use correct version number, correct file paths
+        and to use $CATALINA_BASE rather than $CATALINA_HOME where applicable.
+        (markt/jim)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Add a section on available system property configuration options.
+        (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Amend the JNDI datasource doc to reflect new value for no limit used by
+        updated commons-pool and commons-DBCP. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43333">43333</a>: Fix errors in sendfile documentation. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43366">43366</a>: Provide backwards compatibility for manager sessions
+        command. (markt)
+      </td></tr> 
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44541">44541</a>: Document packetSize attribute for AJP connector.
+        (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44715">44715</a>: Document secret attribute for AJP connector. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix some links in the ROOT application that are broken if ROOT is
+        renamed. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Align the Realm documentation so that both the configuration and the
+        how-to are consistent. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=45277">45277</a>: Fix typo in logging docs. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster"><strong>Cluster</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=45212">45212</a>: AbstractReplicatedMap.entrySet() now returns entries
+        rather than vaules. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td><a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=45279">45279</a>Properly close multicast socket.</td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Fix session replication dead lock during non sticky load balancing.
+        (fhanik)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Other"><strong>Other</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Improve the Tests for unit tests for the cookie issues. (jfclere)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix build for JavaDoc. Patch provided by Stephen Bannasch. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44955">44955</a>: Use correct location for endorsed directory in Windows
+        installer. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 6.0.16 (remm)"><strong>Tomcat 6.0.16 (remm)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Update commons-logging to version 1.1.1 and the NSIS installer to 2.34.
+        (markt)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Update to commons-pool version 1.4, native version 1.1.12 and update
+        the download location for the commons libraries. (markt)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Change chunked input parsing, always parse CRLF directly after a chunk has been
+        received, except if data is not available. If data is not available for CRLF
+        parsing, we run into BZ 11117, and must defer the parsing of CRLF to the next read event.
+        This fixes the incorrect blocking when using CometProcessor and the draining data during the READ event
+        where it before would block incorrectly waiting for the next chunk (fhanik)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        The CometProcessor interface now extends the javax.servlet.Servlet interface(fhanik)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix CVE-2007-5342 by limiting permissions granted to JULI. (markt)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Fix handling of CometEvent.close when called during BEGIN event (fhanik)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43594">43594</a>: Use setenv from CATALINA_BASE (if set) in preference
+        to the one in CATALINA_HOME. Patch provided by Shaddy Baddah.
+        (markt/jim)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43692">43692</a>: Clean up unused entires from build scripts. Patch
+        provided by Paul Shemansky. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43775">43775</a>: Don't try to change line endings of binary files in
+        the source distribution. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td><a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43846">43846</a>:
+        Fix block simulated read and writes causing timeouts.
+        Add non blocking parsing of HTTP request headers.
+        Perf improvements(fhanik)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43957">43957</a>: Service.bat doesn't configure logging correctly. Patch
+        provided by  Richard Fearn. (markt/jim)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Cookie handling/parsing changes!
+        The following behavior has been changed with regards to Tomcat's cookie handling
+        a) Cookies containing control characters, except 0x09(HT), are rejected using an InvalidArgumentException <br>
+        b) If cookies are not quoted, they will be quoted if they contain tspecials(ver0), tspecials2(ver1) characters<br>
+        c) Escape character '\\' is allowed and respected as a escape character, will be unescaped during parsing
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Cookie parsing of $Version regression from 6.0.15 has been fixed
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        The script that builds the windows installer was including additional
+        files due to the way it processes recurrsive file selectors. The
+        selectors have been modified to only include the intended files. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix ManagerServlet.expireSessions throws Exceptions as iterate longer
+        session lists at production servers. (pero)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td><a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38131">38131</a>: WatchedResource doesn't work if app is outside host appbase webapps.
+        Patch provided by Peter Lynch (pero)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>Add -Dorg.apache.catalina.tribes.dns_lookups=false as default. The ability to turn off reverse DNS lookups for membership.(fhanik)</td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+         Set correct StandardManager.sessionCounter after reload/restart. (pero)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42503">42503</a>: ServletContext.getResourceAsStream() could return
+        stale data. Patch provided by Arvind Srinivasan. (funkman/jim)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43236">43236</a>: When resetting the response, also reset the flags
+        associated with using a writer or an output stream to allow the user to
+        change character set after the reset. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43241">43241</a>: Make ServletContext.getResourceAsStream() conform to
+        the specification. Patch provided by John Kew. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43530 ">43530 </a>: doc link fixes provided by  Paul Shemansky (funkman)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43675">43675</a>: Fix a possible logging related classloader leak.
+        (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td><a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43687">43687</a> Remove conditional headers on Form Auth replay,
+           since the UA (esp. FireFox) isn't expecting it.
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43706">43706</a>: WebDAV copy/move now returns 201 on success. Based on
+        a patch by Panagiotis Astithas. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43840">43840</a>: Include user principal if possible when serializing /
+        de-serializing sessions. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43868">43868</a>: MBean methods getInvoke and getSetter were broken.
+        (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43887">43887</a>: Make error messages much more helpful when illegal
+        Servlet names are used. Based on a patch provided by Mike Baranczak.
+        (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix a bug that causes CGI Servlet to fail when it is included. (markt)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Improve the webDAV Servlet Javadocs to make clear that the WebDAV
+        Servlet can not be used as the default servlet. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43993">43993</a>: mime mapping for WS-Policy. Patch by Fabian Ritzmann  (funkman)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44041">44041</a>: Fix duplicate class definition under load. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44084">44084</a>: JASSRealm was broken for application provided
+        Principals. Patch provided by Noah Levitt. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44223">44223</a>: Use the javax.net.ssl.trustStoreType setting if no
+        explicit connector configuration is provided and the property is set.
+        (markt/jim)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44268">44268</a>: Log a warning if a duplicate listener configuration is
+        ignored. (markt/jim)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43622">43622</a>: Don't overwrite the min compression size set by the
+        compression attribute with the default. (markt/jim)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43839">43839</a>: URL based session tracking failed when a session
+        cookie from a parent context was present. Based on a patch by Yuan
+        Qingyun. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43914">43914</a>: URLs in location headers should be encoded. Patch
+        provided by Ivan Todoroski. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43285">43285</a>: Missing EL Coercion causes argument type mismatch.
+        Patch provided by Bernhard Huemer. (funkman/jim)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43675">43675</a>: Fix a possible logging related classloader leak.
+        (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43702">43702</a>: Inner class files have unnecessarily long names.
+        (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43743">43743</a>: Fix NPE when compiling nest tag files packaged in a
+        JAR. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43757">43757</a>: Rather than use string matching to work out the line
+        in the JSP with the error, use the SMAP info and the knowledge that for
+        a scriptlet there is a one to one line mapping. (markt/jim)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43758">43758</a>: Fix NPE when scripting elements are empty. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43909">43909</a>: Make sure locale maps to wrapped ELContext. Patch
+        provided by Tuomas Kiviaho. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43944">43944</a>: Fix a missing resource exception. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Improve docs for Jasper configuration. Put options in alphabetcial
+        order, add some missing options, deprecate an unused one and address
+        feedback about the page provided on the users list.
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43173">43173</a>: Fix typo in logging documentation regarding location
+        of logging.properties. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43344">43344</a>: Fix typo in if.jsp example. Patch provided by Tim
+        Nowaczyk. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43468">43468</a>: Fix possible NPE when listing contexts in the Manager
+        application. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43515">43515</a>: Fix bug in Manager application that may have caused
+        problems when listing contexts. Patch provided by Lucas Galfaso. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43611">43611</a>: Provide an error message if user tries to upload a war
+        for a context defined in server.xml rather than failing silently.
+        (markt/jim)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43800">43800</a>: Make relationship between APR and the native connector
+        clearer. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44088">44088</a>: Fix expire session button in manager. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44094">44094</a>: Add a note about the side effects of configuring a
+        context as privileged. (markt)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Update JNDI documentation to refer to configuring contexts via
+        context.xml rather than server.xml. (markt/jim)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+   <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster"><strong>Cluster</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix FarmWarDeployer can be only configured as host subelement (pero)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+      	Fix wrong &amp;&amp; at ReplicationValve (pero)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Add get/set methods for properties in the Tcp Failure detector.
+        (fhanik/jim)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 6.0.15 (remm)"><strong>Tomcat 6.0.15 (remm)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>Fix the MD5 file contents in distribution</td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Add ANT script to be able to publish signed Tomcat JAR's to ASF Maven repo (fhanik)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Use Eclipse JDT 3.3.1. (pero)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>Guess java location from the PATH environment and improve fix for 37284</td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>Add NIO connector to server.xml parsing warning, remove Connector as exception case</td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td><a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43653">43653</a>: Fix SSL buffer mixup when response is unable to write more than socket buffer can handle</td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td><a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43643">43643</a>: If connector doesn't support external executor, display warning</td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td><a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43641">43641</a>: Property bind multicast address for cluster membership</td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td><a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42693">42693</a>: Fix JSP compiler bug</td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>Add mbean descriptor for virtual webapp loader</td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td><a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43487">43487</a>:
+        Fix request processing stats
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43435">43435</a>: Don't iterate and relocate sessions if they are not part of the map.
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43356">43356</a>: Keystore parameter is relative to CATALINA_BASE,
+        Truststore is either defined as parameter, javax.net.ssl.trustStore or if empty
+        defaults to the keystore.
+        SSL Client cert authentication changed from boolean to "true|false|want" (fhanik)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=30949">30949</a>: Improve previous fix. Ensure requests are re-cycled
+        on cross-context includes and forwards when an exception occurs in the
+        target page. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42944">42944</a>: Correctly handle servlet mappings that use a '+'
+        character as part of the url pattern. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+         <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42951">42951</a>: Don't use CATALINA_OPTS when stopping Tomcat. This
+         allows options for starting and stopping to be set on JAVA_OPTS and
+         options for starting only to be set on CATALINA_OPTS. Without this
+         fix, some startup options (eg the port for remote JMX) would cause
+         stop to fail. Based on a fix suggested by Michael Vorburger.
+         Port of r454193 (<a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36976">36976</a>) from Tomcat 5.5.x. (markt,rjung)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+         Validation of attributes and elements used in server.xml. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43175">43175</a>: Fix typos in servlet XSD files. Patch provided by
+        Takayuki Kaneko. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43216">43216</a>: Set correct StandardSession#accessCount as StandardSession.ACTIVITY_CHECK is true.
+        Patch provided by Takayuki Kaneko (pero)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Made session createTime accessible for all SessionManager via JMX (pero)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43129">43129</a>: Support logging of all response header values at AccessLogValve (ex. add %{Set-Cookie}o to your pattern). (pero)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Support logging of all response header values at ExtendedAccessLogValve (ex. add x-O(Set-Cookie) to your pattern). (pero)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Support logging of current thread name at AccessLogValve (ex. add %I to your pattern).
+        Usefull to compare access logging entry later with a stacktraces. (pero)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Improve large-file support (more then 4 Gb) at all AccessLogValves, backport from 5.5.25. (pero)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Optimized JDBCAccessLogValve combined pattern request attribute access. (pero)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        o.a.juli.ClassLoaderLogManager handle more then one system property replacement at file logging.properties. (pero)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43338">43338</a>: Support '*' servlet-name mapping at filter-mapping.
+        Patch provided by Keiichi Fujino. (pero)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41797">41797</a>: CNFE/NPE thrown from function mapper when externalizing
+        Patch by Tuomas Kiviaho- tuomas.kiviahos at ikis fi (funkman)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43453">43453</a>: ClassCastException at
+        org.apache.catalina.core.StandardContext.findStatusPage(int)
+         (funkman)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix important vulnerability when webdav is enabled for write. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Call stopAwait in StandardServer.stop if port == -1. (pero)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43668">43668</a> Fix NPE when the outer most wrapper is a ServletRequest/ResponseWrapper, but not a HttpServletRequest/ResponseWrapper on a Forward. (billbarker)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Harmonize with HTTP java.io code. Otherwise the socket is not closed.
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        In the APR connector, start accepting connections after fully starting
+        the connector, to prevent possible exceptions due to non initialized fields. (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Cookie parser refactoring, submitted by John Kew. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Make cookie escaping / unescaping consistent. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43479">43479</a>: Memory leak cleaning up sendfile connections, submitted by Chris Elving. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42925">42925</a>: Add maintain for sendfile. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix explicit flush before response commit in the org.apache.jk AJP connector. (pero)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43621">43621</a> Fix possible Dos condition when using the experimental NIO/AJP Connector (billbarker)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37326">37326</a>: No error reported when an included page does not
+        exist. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix WebDAV Servlet so it works correctly with MS clients. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix CVE-2007-5461, an important information disclosure vulnerability in
+        the WebDAV Servlet. Based on a patch by Marc Schoenefeld. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42979">42979</a>: Update sample.war to include recent security fixes
+        in the source code. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Minor connector doc fix. (jfclere)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+   <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster"><strong>Cluster</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+         Set correct BioReceiver transfer buffer size. (pero)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Other"><strong>Other</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+         Tests for unit tests for the cookie issues. (jfclere)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 6.0.14 (remm)"><strong>Tomcat 6.0.14 (remm)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/docs.gif" class="icon" alt="docs"></td><td>
+        Correct j.u.l log levels in JULI docs. (rjung)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Handle special case of ROOT when re-loading webapp after ROOT.xml has
+        been modified. In some circumstances the reloaded ROOT webapp had no
+        associated resources. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Remove invalid attribute "encoding" of MBean MemoryUserDatabase,
+        which lead to errors in the manager webapp JMXProxy output. (rjung)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33774">33774</a> Retry JNDI authentiction on ServiceUnavailableException
+        as at least one provider throws this after an idle connection has been
+        closed. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+         <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39875">39875</a>: Fix BPE in RealmBase.init(). Port of yoavs's fix from
+         Tomcat 5. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41722">41722</a>: Make the role-link element optional (as required by
+        the spec) when using a security-role-ref element. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+         <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42361">42361</a>: Handle multi-part forms when saving requests during
+         FORM authentication process. Patch provided by Peter Runge. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+         <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42401">42401</a>: Update RUNNING.txt with better JRE/JDK information.
+         (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+         <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42444">42444</a>: prevent NPE for AccessLogValve
+         Patch provided by Nils Hammar (funkman)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+         <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42449">42449</a>:
+         JNDIRealm does not catch NullPointerException for Sun's
+         LDAP provider (See bug for details) (funkman)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+         <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42497">42497</a>: Ensure ETag header is present in a 304 response.
+         Patch provided by Len Popp. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix XSS security vulnerability (CVE-2007-2450) in the Manager and Host
+        Manager. Reported by Daiki Fukumori. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42547">42547</a>: Fix NPE when a ResourceLink in context.xml tries to
+        override an env-entry in web.xml. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Avoid some casting in ErrorReportValve (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix persistence API annotation, submitted by Bill Burke (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        In Comet mode, if bytes are not read, send an error event (otherwise,
+        fields referring to the connection could remain) (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix Comet when running Tomcat with the security manager (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39425">39425</a> Add additional system property permission to
+        catalina.policy for pre-compiled JSPs. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42438">42438</a> Duplicate temporary variables were created when
+        jsp:attribute was used in conjunction with custom tags. Patch provided
+        by Brian Lenz. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42643">42643</a> Prevent creation of duplicate JSP function mapper
+        variables. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Separate sequence increment from getter in ThreadPool to avoid
+        misleading increments during monitoring via JMX. (rjung)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Add back missing socketBuffer attribute in the java.io HTTP connector (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Don't write error on System.out, use log() instead. (rjung)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39813">39813</a>: Correct handling of new line characters in JMX
+        attributes. Patch provided by R Bramley. Ported from tc5.5.x r415029. (markt,rjung)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+         <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42459">42459</a>: Fix Tomcat Web Application Manager table error. (rjung)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix XSS security vulnerabilities (CVE-2007-2449) in the examples.
+        Reported by Toshiharu Sugiyama. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 6.0.13 (remm)"><strong>Tomcat 6.0.13 (remm)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+         More accurate available() method. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+         Add recycle check in the event object, since it is a facade like the others. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+         When processing a read event, enforce that the servlet consumes all available bytes. (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+         Add a flag in ContainerBase which could be used in embedded scenarios to avoid a double start
+         of contexts (this problem generally occurs when adding contexts to a started host). (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+         <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42309">42309</a>: Ability to create a connector using a custom protocol specification for embedded.
+         (fhanik)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+         Add SSL engine flag to AprLifecycleListener. (fhanik)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+         Improve event processing, so that an END event is generated when encountering EOF, and an
+         ERROR is always generated on client disconnects. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+         Add declarations for the new XSD files. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+         Add heartbeatBackgroundEnabled flag to SimpleTcpCluster.
+         Enable this flag don't forget to disable the channel heartbeat thread (pero)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+         Possible memory leak when using comet, caused by adding the socket to the poller before
+         cleaning up the connection tracking structure. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+         <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42308">42308</a>: nextRequest recycles the request, which caused issues with statistics. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+         Fix non recycled comet flag in the APR connector. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster"><strong>Cluster</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+         Add heartbeatBackgroundEnabled flag to SimpleTcpCluster.
+         Enable this flag don't forget to disable the channel heartbeat thread (pero)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+         Method name cleanup. (fhanik)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+         Some examples webapp fixes. Submitted by Frank McCown. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 6.0.12 (remm)"><strong>Tomcat 6.0.12 (remm)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        License source headers. Submitted by Niall Pemberton. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42039">42039</a> Log a stack trace if a servlet throws an
+         UnavailableException. Patch provided by Kawasima Kazuh. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41990">41990</a> Add some additional mime-type mappings. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41655">41655</a> Fix message translations. Japanese translations
+        provided by Suzuki Yuichiro. (markt)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Add enabled attribute to AccessLogValve (pero)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42085">42085</a>: Avoid adding handlers for the root logger twice when they are explicitly
+        specified. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Reduce thread local manipulation in the request dispatcher. Submitted by
+        Arvind Srinivasan. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Avoid keeping references to loggers tied to the webapp classloaders after a reload in
+        a couple more places. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42202">42202</a>: Fix container parsing of TLDs in webapps when Tomcat is installed in
+        a URL encodable path. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42119">42119</a> Fix return value for request.getCharacterEncoding() when
+        Content-Type headers contain parameters other than charset. Patch by
+        Leigh L Klotz Jr. (markt)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Move away from using a thread local processor for the APR and java.io
+        connectors, as this does not work well when using an executor. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Remove Comet timeout hack in the APR connector. Comet connections will now
+        use the regular timeout or the keepalive timeout if specified. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42025">42025</a>: Update valve documentation to refer to correct regular
+        expression implementation. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix various paths in the manager webapps (remm)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Session viewer and editor for the HTML manager. Submitted by C&eacute;drik Lime. (remm)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Session handling tools for the manager. Submitted by Rainer Jung. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41869">41869</a> TagData.getAttribute() should return
+        TagData.REQUEST_TIME_VALUE when the attribute value is an EL expression.
+        (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42071">42071</a> Fix IllegalStateException on multiple requests to
+        an unavailable JSP. Patch provided by Kawasima Kazuh. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        After a JSP throws an UnavailableException allow it to be accessed once
+        the unavailable period has expired. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster"><strong>Cluster</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+         Add toString method to better logging session replication message at tribes MESSAGES (pero)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 6.0.11 (remm)"><strong>Tomcat 6.0.11 (remm)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Update DBCP to 1.2.2, pool to 1.3, JDT to 3.2.2 and remove collections
+        build dependency (pero, remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Don't log pattern subtoken at ExtendedAccesLogValve (pero)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Add some missing JMX attributes for new AccessLogValve (pero)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41786  ">41786  </a> Incorrect reference to catalina_home in catalina.sh/bat Patch provided by Mike Hanafey (fhanik)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41703">41703</a> SingleSignOnMessage invalid setter, patch provided by Nils Hammar (fhanik)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41682">41682</a> ClassCastException when logging is turned on (fhanik)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41530  ">41530  </a>Don't log error messages when connector is stopped (fhanik)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41166">41166</a> Invalid handling when using replicated context (fhanik)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Added SENDFILE support for the NIO connector. (fhanik) <br>
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Added support for shared thread pools by adding in the &lt;Executor&gt;
+        element as a nested element to the &lt;Service&gt; element. (fhanik)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41666">41666</a> Correct handling of boundary conditions for
+        If-Unmodified-Since and If-Modified-Since headers. Patch provided by
+        Suzuki Yuichiro. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41739">41739</a> Correct handling of servlets with a load-on-startup
+        value of zero. These are now the first servlets to be started. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41747">41747</a> Correct example ant script for deploy task. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41752">41752</a> Correct error message on exception in MemoryRealm.
+        (markt)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39883">39883</a> Add documentation warning about using antiResourceLocking
+        on a webapp outside the Host's appBase. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40150">40150</a> Ensure user and roll classnames are validated on startup.  Patch by
+          Tom. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Refactor extend access log valve using the optimized access log valve. Submitted by
+        Takayuki Kaneko. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Possible deadlock in classloading when defining packages. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Remove excessive syncing from listener support. (remm)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Web services support. The actual factory implementations are implemented in the
+        extras. Submitted by Fabien Carrion. (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Add logging to display APR capabilities on the platform. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Expose executors in JMX. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        CRLF inside a URL pattern is always invalid. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Tweak startup time display. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Adjustments to handling exceptions with Comet. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        If the event is closed asynchronously, generate an end event for cleanup on the
+        next event. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Cleanup hello webapp from the docs and fix a XSS issue in the JSP.  (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Examples webapp cleanup. Submitted by Takayuki Kaneko and Markus Sch&ouml;nhaber. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41289">41289</a>: Create configBase, since it is no longer created elsewhere.
+        Submitted by Shiva Kumar H R. (remm)
+      </td></tr>
+     </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Fixed NIO memory leak caused by the NioChannel cache not working properly.
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Added flag to enable/disable the usage of the pollers selector instead of a Selector pool
+        when the serviet is reading/writing from the input/output streams
+        The flag is <code>-Dorg.apache.tomcat.util.net.NioSelectorShared=true</code>
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Requests with multiple content-length headers are now rejected. (markt)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41675">41675</a> Add a couple of DEBUG-level logging statements to Http11Processors
+          when sending error responses.  Patch by Ralf Hauser. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Reuse digester used by the modeler. (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        When the platform does not support deferred accept, put accepted sockets in the
+        poller. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix problem with blocking reads for keepalive when using an executor (the number
+        of busy threads is always 0). (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        The poller now has good performance, so remove firstReadTimeout. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42119">42119</a> Fix return value for request.getCharacterEncoding() when
+        Content-Type headers contain parameters other than charset. Patch by
+        Leigh L Klotz Jr. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix previous update to servlet 2.5 xsd to use correct declaration.
+        (markt)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Update host configuration document for new behaviour for directories
+        in appBase. (markt)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39540">39540</a> Add link to httpd 2.2 mod_proxy_ajp docs in AJP connector doc. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41227">41227</a> Add a bit of DEBUG-level logging to JspC so users know
+          which file is being compiled. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Remove some dead utility code, and refactor stream capture as part of the Ant compiler. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Support the trim directive of JSP 2.1 as an equivalent of Jasper's own parameter. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41790">41790</a>: Close file stream used to read the Java source. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix reporting of errors which do not correspond to a portion of the JSP source. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Remove try/catch usage for annotation processing in classic tags. The usage
+        of the log method might have been questionable as well. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Cleanup of the message that is displayed for compilation errors. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Skip BOM when reading a JSP file. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+ </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 6.0.10 (remm)"><strong>Tomcat 6.0.10 (remm)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Unify usage of security manager flag, submitted by Arvind Srinivasan. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix formatting of CGI variable SCRIPT_NAME. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41521">41521</a>: Support * for servlet-name, submitted by Paul McMahan. (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Cache getServletContext value, submitted by Arvind Srinivasan. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Add options for handling special URL characters in paths, and disallow '\' and encoded '/'
+        due to possible differences in behavior between Tomcat and a front end webserver. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix bad comparison for FORM processing, submitted by Anil Saldhana. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41608">41608</a> Make log levels consistent when Servlet.service()
+        throws an exception. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Reduce usage of MessageBytes.getLength(), submitted by Arvind Srinivasan. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41558">41558</a>: Don't call synced method on every request, submitted by Arvind Srinivasan. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Switch to a thread local page context pool. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 6.0.9 (remm)"><strong>Tomcat 6.0.9 (remm)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Use 2.5 xsd in Tomcat webapps. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Compression filter improvements, submitted by Eric Hedstr&ouml;m. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Properly return connector names. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Remove logging of the XML validation flag. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Correct error messages for context.xml. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41217">41217</a>: Set secure flag correctly on SSO cookie, submitted by
+        Chris Halstead. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40524">40524</a>: request.getAuthType() now returns CLIENT_CERT rather
+        than CLIENT-CERT. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40526">40526</a>: Return support for JPDA_OPTS to catalina.bat and add
+        a new option JPDA_SUSPEND, submitted by by Kurt Roy. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41265">41265</a>: In embedded, remove the code that resets checkInterval
+        values of zero to 300. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37869">37869</a>: Fix getting client certificate, submitted by Christophe Pierret. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40960">40960</a>: Throw a timeout exception when getting a timeout rather than a
+        generic IOE, submitted by Christophe Pierret. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        EL validation fixes for attributes. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41327">41327</a>: Show full URI for a 404. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        JspException now uses getCause() as the result for getRootCause(). (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster"><strong>Cluster</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41466">41466</a>: When using the NioChannel and SecureNioChannel its
+        important to use the channels buffers. (fhanik)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 6.0.8 (remm)"><strong>Tomcat 6.0.8 (remm)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Make provided instances of RequestDispatcher thread safe. (markt)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Optional development oriented loader implementation. (funkman)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Optimized access log valve, submitted by Takayuki Kaneko. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix error messages when parsing context.xml that incorrectly referred to
+        web.xml. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41217">41217</a>: Set secure attribute on SSO cookie when cookie is
+        created during a secure request. Patch provided by Chris Halstead.
+        (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40524">40524</a>: HttpServletRequest.getAuthType() now returns
+        CLIENT_CERT rather than CLIENT-CERT for certificate authentication
+        as per the spec. Note that web.xml continues to use CLIENT-CERT to
+        specify the certificate authentication should be used. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41401">41401</a>: Add support for JPDA_OPTS to catalina.bat and add a
+        JPDA_SUSPEND environment variable to both startup scripts. Patch
+        provided by Kurt Roy. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Use the tomcat-native-1.1.10 as recommended version.
+        OpenSSL detection on some platforms was broken 1.1.8 will continue to work,
+        although on some platforms there can be JVM crash if IPV6 is enabled and
+        platform doesn't support IPV4 mapped addresses on IPV6 sockets.
+      </td></tr>
+  </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        When displaying JSP source after an exception, handle included files.
+        (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Display the JSP source when a compilation error occurs and display
+        the correct line number rather than start of a scriptlet block. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix NPE when processing dynamic attributes. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        More accurate EL usage validation. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix regression for implicit taglib and page data version numbers. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41265">41265</a>: Allow JspServlet checkInterval init parameter to be
+        explicitly set to the stated default value of zero by removing the
+        code that resets it to 300 if explicitly specified as zero. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41327">41327</a>: Show full URI for a 404. Patch provided by Vijay.
+        (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/docs.gif" class="icon" alt="docs"></td><td>
+        Add a virtual hosting how-to contributed by Hassan Schroeder. (markt)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Update all webapps to use the servlet 2.5 xsd. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39572">39572</a>: Improvements to CompressionFilter example provided by
+        Eric Hedstr&ouml;m. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 6.0.7 (remm)"><strong>Tomcat 6.0.7 (remm)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix installer's bitmap (mturk)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Refactor logging of errors which may occur when reading a post body (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37869">37869</a>: Also use the SSL_INFO_CLIENT_CERT field if the chain is empty,
+        submitted by Grzegorz Grzybek (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 6.0.6 (remm)"><strong>Tomcat 6.0.6 (remm)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix tagging which did not include 6.0.5's changelog (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 6.0.5 (remm)"><strong>Tomcat 6.0.5 (remm)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40585">40585</a>: Fix parameterised constructor for o.a.juli.FileHandler
+        so parameters have an effect. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Escape invalid characters from request.getLocale. (markt, remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Update required version for native to 1.1.8. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Do not log broken pipe errors which can occur when flushing the content of an error page. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix firstReadTimeout behavior for the AJP connector. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41057">41057</a>: Make jsp:plugin output XHTML compliant. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster"><strong>Cluster</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Cluster interface cleanup. (fhanik)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Refactoring to allow usage of executors. (fhanik)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 6.0.4 (remm)"><strong>Tomcat 6.0.4 (remm)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Update to NSIS 2.22 (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix regression in 6.0.3 with Windows wrapper (mturk)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 6.0.3 (remm)"><strong>Tomcat 6.0.3 (remm)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37509">37509</a>: Do not remove whitespace from the end of values
+        defined in logging.properties files. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38198">38198</a>: Add reference to Context documentation from Host
+        documentation that explains how Context name is obtained from the
+        Context filename. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40844">40844</a> Missing syncs in JDBCRealm. (markt)
+      </td></tr>
+       <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40901">40901</a>: Encode directory listing output. Based on a patch
+        provided by Chris Halstead. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40929">40929</a>: Correct JavaDoc for StandardClassLoader. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41008">41008</a>: Allow POST to be used for indexed queries with CGI
+        Servlet. Patch provided by Chris Halstead. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix usage of print on the servlet output stream if the processor never used
+        a writer (fhanik)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix logic of sameSameObjects used to determine correct wrapping of request and
+        response objects (fhanik)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Update TLD scan lists, and disable caching for now (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Add system property to WebappClassLoader to allow disabling setting references
+        to null when stopping it (remm)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Add clustered SSO code, submitted by Fabien Carrion (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40860">40860</a>: Log exceptions and other problems during parameter
+        processing. (markt)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Enable JMX for trust store attributes for SSL connector. (markt)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Port memory usage reduction changes to the java.io HTTP connector. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        MessageBytes.setString(null) will remove the String value. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41057">41057</a>: Caching large strings is not useful and takes too much
+        memory, so don't cache these (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Add keepAliveTimeout attribute to most connectors (mturk, remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Relax EL type validation for litterals. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Update some version numbers to 2.1. (funkman, remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Add xsds for JSP 2.1 (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41106">41106</a>: Update validation checks for EL to also include
+        legacy 1.2 tags (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40677">40677</a>: Update SSL documentation to indicate that PKCS11
+        keystores may be used. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 6.0.2 (remm)"><strong>Tomcat 6.0.2 (remm)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Various tweaks to distribution (remm, funkman)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Update Tomcat native to 1.1.7 (mturk)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Update to JDT 3.2.1 (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix EJB annotation interface (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix passing of the keystore password for the NIO connector (fhanik)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 6.0.1 (remm)"><strong>Tomcat 6.0.1 (remm)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37439">37439</a>, <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40823">40823</a>: Documentation cleanup (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Refactor exception processing using Throwable.getCause to improve exception chaining (remm)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Remove dead code involving the Logger (funkman)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37458">37458</a>: Fix some exceptions which could happen during classloading (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40817">40817</a>: Fix CGI path (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34956">34956</a>: Add the possibility to enforce usage of request and response
+        wrapper objects (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Many fixes for JSP 2.1 compliance, invloving tag files handling, deferred expressions
+        validation, bom encoding support (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Many HTTP NIO connector fixes and refactorings (fhanik)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        HTTP NIO connector performance improvements (fhanik)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Add packetSize option for the classic AJP connector (jfclere)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Implement explicit flushing in AJP (mturk)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 6.0.0 (remm)"><strong>Tomcat 6.0.0 (remm)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        SSLEngine attribute added to the AprLifecycleListener(fhanik)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Add API for Comet IO handling (remm, fhanik)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Servlet 2.5 support (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        JSP 2.1 support (jhook, remm)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Unifed EL 2.1 support (jhook)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        SSLEnabled attribute required for SSL to be turned on, on all HTTP connectors (fhanik)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Memory usage reduction for the HTTP connectors, except java.io (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Modeler update to use dynamic mbeans rather than model mbeans, which consume more
+        resources (costin)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster"><strong>Cluster</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        New cluster configuration and new documentation (fhanik)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/class-loader-howto.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/class-loader-howto.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/class-loader-howto.html	(revision 66)
@@ -0,0 +1,160 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - Class Loader HOW-TO</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"><meta value="Yoav Shapira" name="author"><meta value="yoavs@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://wiki.apache.org/tomcat/FAQ">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR/Native</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li><li><a href="aio.html">25) Advanced IO</a></li><li><a href="extras.html">26) Additional Components</a></li><li><a href="maven-jars.html">27) Mavenized</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Configuration</a></li><li><a href="api/index.html">Javadocs</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="http://wiki.apache.org/tomcat/TomcatVersions">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="architecture/index.html">Architecture</a></li><li><a href="funcspecs/index.html">Functional Specs.</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>Class Loader HOW-TO</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/class-loader-howto.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Overview"><strong>Overview</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Like many server applications, Tomcat 6 installs a variety of class loaders
+(that is, classes that implement <code>java.lang.ClassLoader</code>) to allow
+different portions of the container, and the web applications running on the
+container, to have access to different repositories of available classes and
+resources.  This mechanism is used to provide the functionality defined in the
+Servlet Specification, version 2.4 -- in particular, Sections 9.4 and 9.6.</p>
+
+<p>In a J2SE 2 (that is, J2SE 1.2 or later) environment, class loaders are
+arranged in a parent-child tree.  Normally, when a class loader is asked to
+load a particular class or resource, it delegates the request to a parent
+class loader first, and then looks in its own repositories only if the parent
+class loader(s) cannot find the requested class or resource.  The model for
+web application class loaders differs slightly from this, as discussed below,
+but the main principles are the same.</p>
+
+<p>When Tomcat 6 is started, it creates a set of class loaders that are
+organized into the following parent-child relationships, where the parent
+class loader is above the child class loader:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+      Bootstrap
+          |
+       System
+          |
+       Common
+       /     \
+  Webapp1   Webapp2 ... 
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>The characteristics of each of these class loaders, including the source
+of classes and resources that they make visible, are discussed in detail in
+the following section.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Class Loader Definitions"><strong>Class Loader Definitions</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>As indicated in the diagram above, Tomcat 6 creates the following class
+loaders as it is initialized:</p>
+<ul>
+<li><strong>Bootstrap</strong> - This class loader contains the basic runtime
+    classes provided by the Java Virtual Machine, plus any classes from JAR
+    files present in the System Extensions directory
+    (<code>$JAVA_HOME/jre/lib/ext</code>).  <em>NOTE</em> - Some JVMs may
+    implement this as more than one class loader, or it may not be visible
+    (as a class loader) at all.</li>
+<li><strong>System</strong> - This class loader is normally initialized from
+    the contents of the <code>CLASSPATH</code> environment variable.  All such
+    classes are visible to both Tomcat internal classes, and to web
+    applications.  However, the standard Tomcat 6 startup scripts
+    (<code>$CATALINA_HOME/bin/catalina.sh</code> or
+    <code>%CATALINA_HOME%\bin\catalina.bat</code>) totally ignore the contents
+    of the <code>CLASSPATH</code> environment variable itself, and instead
+    build the System class loader from the following repositories:
+    <ul>
+    <li><em>$CATALINA_HOME/bin/bootstrap.jar</em> - Contains the main() method
+        that is used to initialize the Tomcat 6 server, and the class loader
+        implementation classes it depends on.</li>
+    <li><em>$CATALINA_HOME/bin/tomcat-juli.jar</em> - Package renamed Jakarta commons 
+        logging API, and java.util.logging LogManager.</li>
+    </ul></li>
+<li><strong>Common</strong> - This class loader contains additional classes
+    that are made visible to both Tomcat internal classes and to all web
+    applications.  Normally, application classes should <strong>NOT</strong>
+    be placed here.  All unpacked classes and resources in
+    <code>$CATALINA_HOME/lib</code>, as well as classes and
+    resources in JAR files are made visible through this
+    class loader.  By default, that includes the following:
+    <ul>
+    <li><em>annotations-api.jar</em> - JEE annotations classes.</li>
+    <li><em>catalina.jar</em> - Implementation of the Catalina servlet
+        container portion of Tomcat 6.</li>
+    <li><em>catalina-ant.jar</em> - Tomcat Catalina Ant tasks.</li>
+    <li><em>catalina-ha.jar</em> - High availability package.</li>
+    <li><em>catalina-tribes.jar</em> - Group communication package.</li>
+    <li><em>el-api.jar</em> - EL 2.1 API.</li>
+    <li><em>jasper.jar</em> - Jasper 2 Compiler and Runtime.</li>
+    <li><em>jasper-el.jar</em> - Jasper 2 EL implementation.</li>
+    <li><em>jasper-jdt.jar</em> - Eclipse JDT 3.2 Java compiler.</li>
+    <li><em>jsp-api.jar</em> - JSP 2.1 API.</li>
+    <li><em>servlet-api.jar</em> - Servlet 2.5 API.</li>
+    <li><em>tomcat-coyote.jar</em> - Tomcat connectors and utility classes.</li>
+    <li><em>tomcat-dbcp.jar</em> - package renamed database connection 
+        pool based on Commons DBCP.</li>
+    <li><em>tomcat-i18n-**.jar</em> - Optional JARs containing resource bundles
+        for other languages. As default bundles are also included in each 
+        individual JAR, they can be safely removed if no internationalization
+        of messages is needed.</li>
+    </ul></li>
+<li><strong>WebappX</strong> - A class loader is created for each web
+    application that is deployed in a single Tomcat 6 instance.  All unpacked
+    classes and resources in the <code>/WEB-INF/classes</code> directory of
+    your web application archive, plus classes and resources in JAR files
+    under the <code>/WEB-INF/lib</code> directory of your web application
+    archive, are made visible to the containing web application, but to
+    no others.</li>
+</ul>
+
+<p>As mentioned above, the web application class loader diverges from the
+default Java 2 delegation model (in accordance with the recommendations in the
+Servlet Specification, version 2.3, section 9.7.2 Web Application Classloader).  
+When a request to load a
+class from the web application's <em>WebappX</em> class loader is processed,
+this class loader will look in the local repositories <strong>first</strong>,
+instead of delegating before looking.  There are exceptions. Classes which are
+part of the JRE base classes cannot be overriden. For some classes (such as
+the XML parser components in J2SE 1.4+), the J2SE 1.4 endorsed feature can be 
+used.
+Last, any JAR containing servlet API classes will be ignored by the 
+classloader.
+All other class loaders in Tomcat 6 follow the usual delegation pattern.</p>
+
+<p>Therefore, from the perspective of a web application, class or resource
+loading looks in the following repositories, in this order:</p>
+<ul>
+<li>Bootstrap classes of your JVM</li>
+<li>System class loader classses (described above)</li>
+<li><em>/WEB-INF/classes</em> of your web application</li>
+<li><em>/WEB-INF/lib/*.jar</em> of your web application</li>
+<li><em>$CATALINA_HOME/lib</em></li>
+<li><em>$CATALINA_HOME/lib/*.jar</em></li>
+</ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="XML Parsers and JSE 5"><strong>XML Parsers and JSE 5</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Among many other changes, the JSE 5 release packages the JAXP APIs, and
+a version of Xerces, inside the JRE.  This has impacts on applications that
+wish to use their own XML parser.</p>
+
+<p>In previous versions of Tomcat, you could simply replace the XML parser
+in the <code>$CATALINA_HOME/common/lib</code> directory to change the parser
+used by all web applications.  However, this technique will not be effective
+when you are running on JSE 5, because the usual class loader delegation
+process will always choose the implementation inside the JDK in preference
+to this one.</p>
+
+<p>JDK 1.5 supports a mechanism called the "Endorsed Standards Override
+Mechanism" to allow replacement of APIs created outside of the JCP (i.e.
+DOM and SAX from W3C).  It can also be used to update the XML parser
+implementation.  For more information, see:
+<a href="http://java.sun.com/j2se/1.5/docs/guide/standards/index.html">
+http://java.sun.com/j2se/1.5/docs/guide/standards/index.html</a>.</p>
+
+<p>Tomcat utilizes this mechanism by including the system property setting
+<code>-Djava.endorsed.dirs=$JAVA_ENDORSED_DIRS</code> in the
+command line that starts the container.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Running under a security manager"><strong>Running under a security manager</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>When running under a security manager the locations from which classes
+are permitted to be loaded will also depend on the contents of your policy
+file. See <a href="security-manager-howto.html">Security Manager HOW-TO</a>
+for further information.</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/cluster-howto.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/cluster-howto.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/cluster-howto.html	(revision 66)
@@ -0,0 +1,644 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - Clustering/Session Replication HOW-TO</title><meta value="Filip Hanik" name="author"><meta value="fhanik@apache.org" name="email"><meta value="Peter Rossbach" name="author"><meta value="pero@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://wiki.apache.org/tomcat/FAQ">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR/Native</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li><li><a href="aio.html">25) Advanced IO</a></li><li><a href="extras.html">26) Additional Components</a></li><li><a href="maven-jars.html">27) Mavenized</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Configuration</a></li><li><a href="api/index.html">Javadocs</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="http://wiki.apache.org/tomcat/TomcatVersions">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="architecture/index.html">Architecture</a></li><li><a href="funcspecs/index.html">Functional Specs.</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>Clustering/Session Replication HOW-TO</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/cluster-howto.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Important Note"><strong>Important Note</strong></a></font></td></tr><tr><td><blockquote>
+<p><b>You can also check the <a href="config/cluster.html">configuration reference documentation.</a></b>
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="For the impatient"><strong>For the impatient</strong></a></font></td></tr><tr><td><blockquote>
+  <p>
+    Simply add <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>&lt;Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/&gt;</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+    to your <code>&lt;Engine&gt;</code> or your <code>&lt;Host&gt;</code> element to enable clustering.
+  </p>
+  <p>
+    Using the above configuration will enable all-to-all session replication
+    using the <code>DeltaManager</code> to replicate session deltas. By all-to-all we mean that the session gets replicated to all the other 
+    nodes in the cluster. This works great for smaller cluster but we don't recommend it for larger clusters(a lot of tomcat nodes).
+    Also when using the delta manager it will replicate to all nodes, even nodes that don't have the application deployed.<br>
+    To get around this problem, you'll want to use the BackupManager. This manager only replicates the session data to one backup
+    node, and only to nodes that have the application deployed. Downside of the BackupManager: not quite as battle tested as the delta manager.
+    <br>
+    Here are some of the important default values:<br>
+    1. Multicast address is 228.0.0.4<br>
+    2. Multicast port is 45564 (the port and the address together determine cluster membership.<br>
+    3. The IP broadcasted is <code>java.net.InetAddress.getLocalHost().getHostAddress()</code> (make sure you don't broadcast 127.0.0.1, this is a common error)<br>
+    4. The TCP port listening for replication messages is the first available server socket in range <code>4000-4100</code><br>
+    5. Two listeners are configured <code>ClusterSessionListener</code> and <code>JvmRouteSessionIDBinderListener</code><br>
+    6. Two interceptors are configured <code>TcpFailureDetector</code> and <code>MessageDispatch15Interceptor</code><br>
+    The following is the default cluster configuration:<br>
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+        &lt;Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"
+                 channelSendOptions="8"&gt;
+
+          &lt;Manager className="org.apache.catalina.ha.session.DeltaManager"
+                   expireSessionsOnShutdown="false"
+                   notifyListenersOnReplication="true"/&gt;
+
+          &lt;Channel className="org.apache.catalina.tribes.group.GroupChannel"&gt;
+            &lt;Membership className="org.apache.catalina.tribes.membership.McastService"
+                        address="228.0.0.4"
+                        port="45564"
+                        frequency="500"
+                        dropTime="3000"/&gt;
+            &lt;Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
+                      address="auto"
+                      port="4000"
+                      autoBind="100"
+                      selectorTimeout="5000"
+                      maxThreads="6"/&gt;
+
+            &lt;Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter"&gt;
+              &lt;Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/&gt;
+            &lt;/Sender&gt;
+            &lt;Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/&gt;
+            &lt;Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/&gt;
+          &lt;/Channel&gt;
+
+          &lt;Valve className="org.apache.catalina.ha.tcp.ReplicationValve"
+                 filter=""/&gt;
+          &lt;Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/&gt;
+
+          &lt;Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"
+                    tempDir="/tmp/war-temp/"
+                    deployDir="/tmp/war-deploy/"
+                    watchDir="/tmp/war-listen/"
+                    watchEnabled="false"/&gt;
+
+          &lt;ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/&gt;
+          &lt;ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/&gt;
+        &lt;/Cluster&gt;    
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+  </p>
+  <p>Will cover this section in more detail later in this document.</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster Basics"><strong>Cluster Basics</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>To run session replication in your Tomcat 6.0 container, the following steps
+should be completed:</p>
+<ul>
+  <li>All your session attributes must implement <code>java.io.Serializable</code></li>
+  <li>Uncomment the <code>Cluster</code> element in server.xml</li>
+  <li>If you have defined custom cluster valves, make sure you have the <code>ReplicationValve</code>  defined as well under the Cluster element in server.xml</li>
+  <li>If your Tomcat instances are running on the same machine, make sure the <code>tcpListenPort</code>
+      attribute is unique for each instance, in most cases Tomcat is smart enough to resolve this on it's own by autodetecting available ports in the range 4000-4100</li>
+  <li>Make sure your <code>web.xml</code> has the <code>&lt;distributable/&gt;</code> element 
+      or set at your <code>&lt;Context distributable="true" /&gt;</code></li>
+  <li>If you are using mod_jk, make sure that jvmRoute attribute is set at your Engine <code>&lt;Engine name="Catalina" jvmRoute="node01" &gt;</code>
+      and that the jvmRoute attribute value matches your worker name in workers.properties</li>
+  <li>Make sure that all nodes have the same time and sync with NTP service!</li>
+  <li>Make sure that your loadbalancer is configured for sticky session mode.</li>
+</ul>
+<p>Load balancing can be achieved through many techniques, as seen in the
+<a href="balancer-howto.html">Load Balancing</a> chapter.</p>
+<p>Note: Remember that your session state is tracked by a cookie, so your URL must look the same from the out
+   side otherwise, a new session will be created.</p>
+<p>Note: Clustering support currently requires the JDK version 1.5 or later.</p>
+<p>The Cluster module uses the Tomcat JULI logging framework, so you can configure logging 
+   through the regular logging.properties file. To track messages, you can enable logging on the key:<code>org.apache.catalina.tribes.MESSAGES</code></p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Overview"><strong>Overview</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>To enable session replication in Tomcat, three different paths can be followed to achieve the exact same thing:</p>
+<ol>
+  <li>Using session persistence, and saving the session to a shared file system (PersistenceManager + FileStore)</li>
+  <li>Using session persistence, and saving the session to a shared database (PersistenceManager + JDBCStore)</li>
+  <li>Using in-memory-replication, using the SimpleTcpCluster that ships with Tomcat 6 (lib/catalina-tribes.jar + lib/catalina-ha.jar)</li>
+</ol>
+
+<p>In this release of session replication, Tomcat can perform an all-to-all replication of session state using the <code>DeltaManager</code> or 
+   perform backup replication to only one node using the <code>BackupManager</code>.
+   The all-to-all replication is an algorithm that is only efficient when the clusters are small. For larger clusters,  to use 
+   a primary-secondary session replication where the session will only be stored at one backup server simply setup the BackupManager. <br>
+   Currently you can use the domain worker attribute (mod_jk &gt; 1.2.8) to build cluster partitions
+   with the potential of having a more scaleable cluster solution with the DeltaManager(you'll need to configure the domain interceptor for this).
+   In order to keep the network traffic down in an all-to-all environment, you can split your cluster
+   into smaller groups. This can be easily achieved by using different multicast addresses for the different groups.
+   A very simple setup would look like this:
+   </p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+        DNS Round Robin
+               |
+         Load Balancer
+          /           \
+      Cluster1      Cluster2
+      /     \        /     \
+  Tomcat1 Tomcat2  Tomcat3 Tomcat4
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>What is important to mention here, is that session replication is only the beginning of clustering.
+   Another popular concept used to implement clusters is farming, ie, you deploy your apps only to one
+   server, and the cluster will distribute the deployments across the entire cluster.
+   This is all capabilities that can go into with the FarmWarDeployer (s. cluster example at <code>server.xml</code>)</p>
+<p>In the next section will go deeper into how session replication works and how to configure it.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster Information"><strong>Cluster Information</strong></a></font></td></tr><tr><td><blockquote>
+<p>Membership is established using multicast heartbeats. 
+   Hence, if you wish to subdivide your clusters, you can do this by 
+   changing the multicast IP address or port in the <code>&lt;Membership&gt;</code> element.
+</p>
+<p>
+   The heartbeat contains the IP address of the Tomcat node and the TCP port that 
+   Tomcat listens to for replication traffic. All data communication happens over TCP.
+</p>
+<p>
+    The <code>ReplicationValve</code> is used to find out when the request has been completed and initiate the
+    replication, if any. Data is only replicated if the session has changed (by calling setAttribute or removeAttribute
+    on the session).
+</p>
+<p>
+    One of the most important performance considerations is the synchronous versus asynchronous replication.
+    In a synchronous replication mode the request doesn't return until the replicated session has been
+    sent over the wire and reinstantiated on all the other cluster nodes.
+    Synchronous vs asynchronous is configured using the <code>channelSendOptions</code>
+    flag and is an integer value. The default value for the <code>SimpleTcpCluster/DeltaManager</code> combo is
+    8, which is asynchronous. You can read more on the <a href="tribes/introduction.html">send flag(overview)</a> or the 
+    <a href="http://tomcat.apache.org/tomcat-6.0-doc/api/org/apache/catalina/tribes/Channel.html">send flag(javadoc)</a>.
+    During async replication, the request is returned before the data has been replicated. async replication yields shorter
+    request times, and synchronous replication guarantees the session to be replicated before the request returns.
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Bind session after crash to failover node"><strong>Bind session after crash to failover node</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+    If you are using mod_jk and not using sticky sessions or for some reasons sticky session don't 
+    work, or you are simply failing over, the session id will need to be modified as it previously contained 
+    the worker id of the previous tomcat (as defined by jvmRoute in the Engine element).
+    To solve this, we will use the JvmRouteBinderValve.
+</p>
+<p> 
+    The JvmRouteBinderValve rewrites the session id to ensure that the next request will remain sticky
+    (and not fall back to go to random nodes since the worker is no longer available) after a fail over.
+    The valve rewrites the JSESSIONID value in the cookie with the same name.
+    Not having this valve in place, will make it harder to ensure stickyness in case of a failure for the mod_jk module.
+</p>
+<p>
+    By default, if no valves are configured, the JvmRouteBinderValve is added on.
+    The cluster message listener called JvmRouteSessionIDBinderListener is also defined by default and is used to actually rewrite the 
+    session id on the other nodes in the cluster once a fail over has occurred.
+    Remember, if you are adding your own valves or cluster listeners in server.xml then the defaults are no longer valid,
+    make sure that you add in all the appropriate valves and listeners as defined by the default.
+</p>
+<p>
+    <b>Hint:</b><br>
+    With attribute <i>sessionIdAttribute</i> you can change the request attribute name that included the old session id.
+    Default attribuite name is <i>org.apache.catalina.cluster.session.JvmRouteOrignalSessionID</i>.
+</p>
+<p>
+    <b>Trick:</b><br>
+    You can enable this mod_jk turnover mode via JMX before you drop a node to all backup nodes!
+    Set enable true on all JvmRouteBinderValve backups, disable worker at mod_jk 
+    and then drop node and restart it! Then enable mod_jk Worker and disable JvmRouteBinderValves again. 
+    This use case means that only requested session are migrated.
+</p>
+
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Configuration Example"><strong>Configuration Example</strong></a></font></td></tr><tr><td><blockquote>
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+        &lt;Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"
+                 channelSendOptions="6"&gt;
+
+          &lt;Manager className="org.apache.catalina.ha.session.BackupManager"
+                   expireSessionsOnShutdown="false"
+                   notifyListenersOnReplication="true"
+                   mapSendOptions="6"/&gt;
+          &lt;!--
+          &lt;Manager className="org.apache.catalina.ha.session.DeltaManager"
+                   expireSessionsOnShutdown="false"
+                   notifyListenersOnReplication="true"/&gt;
+          --&gt;        
+          &lt;Channel className="org.apache.catalina.tribes.group.GroupChannel"&gt;
+            &lt;Membership className="org.apache.catalina.tribes.membership.McastService"
+                        address="228.0.0.4"
+                        port="45564"
+                        frequency="500"
+                        dropTime="3000"/&gt;
+            &lt;Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
+                      address="auto"
+                      port="5000"
+                      selectorTimeout="100"
+                      maxThreads="6"/&gt;
+
+            &lt;Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter"&gt;
+              &lt;Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/&gt;
+            &lt;/Sender&gt;
+            &lt;Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/&gt;
+            &lt;Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/&gt;
+            &lt;Interceptor className="org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor"/&gt;
+          &lt;/Channel&gt;
+
+          &lt;Valve className="org.apache.catalina.ha.tcp.ReplicationValve"
+                 filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/&gt;
+
+          &lt;Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"
+                    tempDir="/tmp/war-temp/"
+                    deployDir="/tmp/war-deploy/"
+                    watchDir="/tmp/war-listen/"
+                    watchEnabled="false"/&gt;
+
+          &lt;ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/&gt;
+        &lt;/Cluster&gt;
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+    <p>
+      Break it down!!
+    </p>
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+        &lt;Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"
+                 channelSendOptions="6"&gt;
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+    <p>
+      The main element, inside this element all cluster details can be configured.
+      The <code>channelSendOptions</code> is the flag that is attached to each message sent by the
+      SimpleTcpCluster class or any objects that are invoking the SimpleTcpCluster.send method.
+      The description of the send flags is available at <a href="http://tomcat.apache.org/tomcat-6.0-doc/api/org/apache/catalina/tribes/Channel.html">
+      our javadoc site</a>
+      The <code>DeltaManager</code> sends information using the SimpleTcpCluster.send method, while the backup manager
+      sends it itself directly through the channel.
+      <br>For more info, Please visit the <a href="config/cluster.html">reference documentation</a>
+    </p>
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+          &lt;Manager className="org.apache.catalina.ha.session.BackupManager"
+                   expireSessionsOnShutdown="false"
+                   notifyListenersOnReplication="true"
+                   mapSendOptions="6"/&gt;
+          &lt;!--
+          &lt;Manager className="org.apache.catalina.ha.session.DeltaManager"
+                   expireSessionsOnShutdown="false"
+                   notifyListenersOnReplication="true"/&gt;
+          --&gt;        
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+    <p>
+        This is a template for the manager configuration that will be used if no manager is defined in the &lt;Context&gt;
+        element. In Tomcat 5.x each webapp marked distributable had to use the same manager, this is no longer the case
+        since Tomcat 6 you can define a manager class for each webapp, so that you can mix managers in your cluster.
+        Obviously the managers on one node's application has to correspond with the same manager on the same application on the other node.
+        If no manager has been specified for the webapp, and the webapp is marked &lt;distributable/&gt; Tomcat will take this manager configuration 
+        and create a manager instance cloning this configuration.
+        <br>For more info, Please visit the <a href="config/cluster-manager.html">reference documentation</a>
+    </p>
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+          &lt;Channel className="org.apache.catalina.tribes.group.GroupChannel"&gt;
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+    <p>
+        The channel element is <a href="tribes/introduction.html">Tribes</a>, the group communication framework
+        used inside Tomcat. This element encapsulates everything that has to do with communication and membership logic.
+        <br>For more info, Please visit the <a href="config/cluster-channel.html">reference documentation</a>
+    </p>
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+            &lt;Membership className="org.apache.catalina.tribes.membership.McastService"
+                        address="228.0.0.4"
+                        port="45564"
+                        frequency="500"
+                        dropTime="3000"/&gt;
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+    <p>
+        Membership is done using multicasting. Please note that Tribes also supports static memberships using the 
+        <code>StaticMembershipInterceptor</code> if you want to extend your membership to points beyond multicasting.
+        The address attribute is the multicast address used and the port is the multicast port. These two together
+        create the cluster separation. If you want a QA cluster and a production cluster, the easiest config is to
+        have the QA cluster be on a separate multicast address/port combination the the production cluster.<br>
+        The membership component broadcasts TCP adress/port of itselt to the other nodes so that communication between
+        nodes can be done over TCP. Please note that the address being broadcasted is the one of the 
+        <code>Receiver.address</code> attribute.
+        <br>For more info, Please visit the <a href="config/cluster-membership.html">reference documentation</a>
+    </p>
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+            &lt;Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
+                      address="auto"
+                      port="5000"
+                      selectorTimeout="100"
+                      maxThreads="6"/&gt;
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+    <p>
+        In tribes the logic of sending and receiving data has been broken into two functional components. The Receiver, as the name suggests
+        is responsible for receiving messages. Since the Tribes stack is thread less, (a popular improvement now adopted by other frameworks as well),
+        there is a thread pool in this component that has a maxThreads and minThreads setting.<br>
+        The address attribute is the host address that will be broadcasted by the membership component to the other nodes.
+        <br>For more info, Please visit the <a href="config/cluster-receiver.html">reference documentation</a>
+    </p>
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+
+            &lt;Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter"&gt;
+              &lt;Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/&gt;
+            &lt;/Sender&gt;
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+    <p>
+        The sender component, as the name indicates is responsible for sending messages to other nodes.
+        The sender has a shell component, the <code>ReplicationTransmitter</code> but the real stuff done is done in the 
+        sub component, <code>Transport</code>.
+        Tribes support having a pool of senders, so that messages can be sent in parallel and if using the NIO sender,
+        you can send messages concurrently as well.<br>
+        Concurrently means one message to multiple senders at the same time and Parallel means multiple messages to multiple senders
+        at the same time.
+        <br>For more info, Please visit the <a href="config/cluster-sender.html">reference documentation</a>
+    </p>
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+            &lt;Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/&gt;
+            &lt;Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/&gt;
+            &lt;Interceptor className="org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor"/&gt;
+          &lt;/Channel&gt;
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+    <p>
+        Tribes uses a stack to send messages through. Each element in the stack is called an interceptor, and works much like the valves do 
+        in the Tomcat servlet container.
+        Using interceptors, logic can be broken into more managable pieces of code. The interceptors configured above are:<br>
+        TcpFailureDetector - verifies crashed members through TCP, if multicast packets get dropped, this interceptor protects against false positives,
+        ie the node marked as crashed even though it still is alive and running.<br>
+        MessageDispatch15Interceptor - dispatches messages to a thread (thread pool) to send message asynchrously.<br>
+        ThroughputInterceptor - prints out simple stats on message traffic.<br>
+        Please note that the order of interceptors is important. the way they are defined in server.xml is the way they are represented in the 
+        channel stack. Think of it as a linked list, with the head being the first most interceptor and the tail the last.
+        <br>For more info, Please visit the <a href="config/cluster-interceptor.html">reference documentation</a>
+    </p>
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+          &lt;Valve className="org.apache.catalina.ha.tcp.ReplicationValve"
+                 filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/&gt;
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+    <p>
+        The cluster uses valves to track requests to web applications, we've mentioned the ReplicationValve and the JvmRouteBinderValve above.
+        The &lt;Cluster&gt; element itself is not part of the pipeline in Tomcat, instead the cluster adds the valve to its parent container.
+        If the &lt;Cluster&gt; elements is configured in the &lt;Engine&gt; element, the valves get added to the engine and so on.
+        <br>For more info, Please visit the <a href="config/cluster-valve.html">reference documentation</a>
+    </p>
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+          &lt;Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"
+                    tempDir="/tmp/war-temp/"
+                    deployDir="/tmp/war-deploy/"
+                    watchDir="/tmp/war-listen/"
+                    watchEnabled="false"/&gt;
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+    <p>
+        The default tomcat cluster supports farmed deployment, ie, the cluster can deploy and undeploy applications on the other nodes.
+        The state of this component is currently in flux but will be addressed soon. There was a change in the deployment algorithm 
+        between Tomcat 5.0 and 5.5 and at that point, the logic of this component changed to where the deploy dir has to match the 
+        webapps directory.
+        <br>For more info, Please visit the <a href="config/cluster-deployer.html">reference documentation</a>
+    </p>
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+          &lt;ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/&gt;
+        &lt;/Cluster&gt;
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+    <p>
+        Since the SimpleTcpCluster itself is a sender and receiver of the Channel object, components can register themselves as listeners to 
+        the SimpleTcpCluster. The listener above <code>ClusterSessionListener</code> listens for DeltaManager replication messages
+        and applies the deltas to the manager that in turn applies it to the session.
+        <br>For more info, Please visit the <a href="config/cluster-listener.html">reference documentation</a>
+    </p>
+    
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster Architecture"><strong>Cluster Architecture</strong></a></font></td></tr><tr><td><blockquote>
+
+<p><b>Component Levels:</b>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+         Server
+           |
+         Service
+           |
+         Engine
+           |  \ 
+           |  --- Cluster --*
+           |
+         Host
+           |
+         ------
+        /      \
+     Cluster    Context(1-N)                 
+        |             \
+        |             -- Manager
+        |                   \
+        |                   -- DeltaManager
+        |                   -- BackupManager
+        |
+     ---------------------------
+        |                       \
+      Channel                    \
+    ----------------------------- \
+        |                          \
+     Interceptor_1 ..               \
+        |                            \
+     Interceptor_N                    \
+    -----------------------------      \
+     |          |         |             \
+   Receiver    Sender   Membership       \
+                                         -- Valve
+                                         |      \
+                                         |       -- ReplicationValve
+                                         |       -- JvmRouteBinderValve 
+                                         |
+                                         -- LifecycleListener 
+                                         |
+                                         -- ClusterListener 
+                                         |      \
+                                         |       -- ClusterSessionListener
+                                         |       -- JvmRouteSessionIDBinderListener
+                                         |
+                                         -- Deployer 
+                                                \
+                                                 -- FarmWarDeployer
+      
+      
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="How it Works"><strong>How it Works</strong></a></font></td></tr><tr><td><blockquote>
+<p>To make it easy to understand how clustering works, We are gonna take you through a series of scenarios.
+   In the scenario we only plan to use two tomcat instances <code>TomcatA</code> and <code>TomcatB</code>.
+   We will cover the following sequence of events:</p>
+
+<ol>
+<li><code>TomcatA</code> starts up</li>
+<li><code>TomcatB</code> starts up (Wait that TomcatA start is complete)</li>
+<li><code>TomcatA</code> receives a request, a session <code>S1</code> is created.</li>
+<li><code>TomcatA</code> crashes</li>
+<li><code>TomcatB</code> receives a request for session <code>S1</code></li>
+<li><code>TomcatA</code> starts up</li>
+<li><code>TomcatA</code> receives a request, invalidate is called on the session (<code>S1</code>)</li>
+<li><code>TomcatB</code> receives a request, for a new session (<code>S2</code>)</li>
+<li><code>TomcatA</code> The session <code>S2</code> expires due to inactivity.</li>
+</ol>
+
+<p>Ok, now that we have a good sequence, we will take you through exactly what happens in the session repliction code</p>
+
+<ol>
+<li><b><code>TomcatA</code> starts up</b>
+    <p>
+        Tomcat starts up using the standard start up sequence. When the Host object is created, a cluster object is associated with it.
+        When the contexts are parsed, if the distributable element is in place in web.xml
+        Tomcat asks the Cluster class (in this case <code>SimpleTcpCluster</code>) to create a manager
+        for the replicated context. So with clustering enabled, distributable set in web.xml
+        Tomcat will create a <code>DeltaManager</code> for that context instead of a <code>StandardManager</code>.
+        The cluster class will start up a membership service (multicast) and a replication service (tcp unicast).
+        More on the architecture further down in this document.
+    </p><p></p>
+</li>
+<li><b><code>TomcatB</code> starts up</b>
+    <p>
+        When TomcatB starts up, it follows the same sequence as TomcatA did with one exception.
+        The cluster is started and will establish a membership (TomcatA,TomcatB).
+        TomcatB will now request the session state from a server that already exists in the cluster,
+        in this case TomcatA. TomcatA responds to the request, and before TomcatB starts listening
+        for HTTP requests, the state has been transferred from TomcatA to TomcatB.
+        In case TomcatA doesn't respond, TomcatB will time out after 60 seconds, and issue a log
+        entry. The session state gets transferred for each web application that has distributable in
+        its web.xml. Note: To use session replication efficiently, all your tomcat instances should be
+        configured the same.
+    </p><p></p>
+</li>
+<li><B><code>TomcatA</code> receives a request, a session <code>S1</code> is created.</B>
+    <p>
+        The request coming in to TomcatA is treated exactly the same way as without session replication.
+        The action happens when the request is completed, the <code>ReplicationValve</code> will intercept
+        the request before the response is returned to the user.
+        At this point it finds that the session has been modified, and it uses TCP to replicata the
+        session to TomcatB. Once the serialized data has been handed off to the operating systems TCP logic,
+        the request returns to the user, back through the valve pipeline.
+        For each request the entire session is replicated, this allows code that modifies attributes
+        in the session without calling setAttribute or removeAttribute to be replicated.
+        a useDirtyFlag configuration parameter can be used to optimize the number of times
+        a session is replicated.
+    </p><p></p>
+
+</li>
+<li><b><code>TomcatA</code> crashes</b>
+    <p>
+        When TomcatA crashes, TomcatB receives a notification that TomcatA has dropped out
+        of the cluster. TomcatB removes TomcatA from its membership list, and TomcatA will no longer
+        be notified of any changes that occurs in TomcatB.
+        The load balancer will redirect the requests from TomcatA to TomcatB and all the sessions
+        are current.
+    </p><p></p>
+</li>
+<li><b><code>TomcatB</code> receives a request for session <code>S1</code></b>
+    <p>Nothing exciting, TomcatB will process the request as any other request.
+    </p><p></p>
+</li>
+<li><b><code>TomcatA</code> starts up</b>
+    <p>Upon start up, before TomcatA starts taking new request and making itself
+    available to it will follow the start up sequence described above 1) 2).
+    It will join the cluster, contact TomcatB for the current state of all the sessions.
+    And once it receives the session state, it finishes loading and opens its HTTP/mod_jk ports.
+    So no requests will make it to TomcatA until it has received the session state from TomcatB.
+    </p><p></p>
+</li>
+<li><b><code>TomcatA</code> receives a request, invalidate is called on the session (<code>S1</code>)</b>
+    <p>The invalidate is call is intercepted, and the session is queued with invalidated sessions.
+        When the request is complete, instead of sending out the session that has changed, it sends out
+        an "expire" message to TomcatB and TomcatB will invalidate the session as well.
+    </p><p></p>
+
+</li>
+<li><b><code>TomcatB</code> receives a request, for a new session (<code>S2</code>)</b>
+    <p>Same scenario as in step 3)
+    </p><p></p>
+
+
+</li>
+<li><code>TomcatA</code> The session <code>S2</code> expires due to inactivity.
+    <p>The invalidate is call is intercepted the same was as when a session is invalidated by the user,
+       and the session is queued with invalidated sessions.
+       At this point, the invalidet session will not be replicated across until
+       another request comes through the system and checks the invalid queue.
+    </p><p></p>
+</li>
+</ol>
+
+<p>Phuuuhh! :)</p>
+
+<p><b>Membership</b>
+    Clustering membership is established using very simple multicast pings.
+    Each Tomcat instance will periodically send out a multicast ping,
+    in the ping message the instance will broad cast its IP and TCP listen port
+    for replication.
+    If an instance has not received such a ping within a given timeframe, the
+    member is considered dead. Very simple, and very effective!
+    Of course, you need to enable multicasting on your system.
+</p>
+
+<p><b>TCP Replication</b>
+    Once a multicast ping has been received, the member is added to the cluster
+    Upon the next replication request, the sending instance will use the host and
+    port info and establish a TCP socket. Using this socket it sends over the serialized data.
+    The reason I choose TCP sockets is because it has built in flow control and guaranteed delivery.
+    So I know, when I send some data, it will make it there :)
+</p>
+
+<p><b>Distributed locking and pages using frames</b>
+    Tomcat does not keep session instances in sync across the cluster.
+    The implementation of such logic would be to much overhead and cause all
+    kinds of problems. If your client accesses the same session
+    simultanously using multiple requests, then the last request
+    will override the other sessions in the cluster.
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Monitoring your Cluster with JMX"><strong>Monitoring your Cluster with JMX</strong></a></font></td></tr><tr><td><blockquote>
+<p>Monitoring is a very important question when you use a cluster. Some of the cluster objects are JMX MBeans </p>
+<p>Add the following parameter to your startup script with Java 5:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+set CATALINA_OPTS=\
+-Dcom.sun.management.jmxremote \
+-Dcom.sun.management.jmxremote.port=%my.jmx.port% \
+-Dcom.sun.management.jmxremote.ssl=false \
+-Dcom.sun.management.jmxremote.authenticate=false
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+<p>Activate JMX with JDK 1.4:
+<ol>
+<li>Install the compat package</li>
+<li>Install the mx4j-tools.jar at common/lib (use the same mx4j version as your tomcat release)</li>
+<li>Configure a MX4J JMX HTTP Adaptor at your AJP Connector<p></p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Connector port="${AJP.PORT}" 
+   handler.list="mx"
+   mx.enabled="true" 
+   mx.httpHost="${JMX.HOST}" 
+   mx.httpPort="${JMX.PORT}" 
+   protocol="AJP/1.3" /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</li>
+<li>Start your tomcat and look with your browser to http://${JMX.HOST}:${JMX.PORT}</li>
+<li>With the connector parameter <code>mx.authMode="basic" mx.authUser="tomcat" mx.authPassword="strange"</code> you can control the access!</li>
+</ol>
+</p>
+<p>
+List of Cluster Mbeans<br>
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">Name</th>
+    <th align="center" bgcolor="aqua">Description</th>
+    <th align="center" bgcolor="aqua">MBean ObjectName - Engine</th>
+    <th align="center" bgcolor="aqua">MBean ObjectName - Host</th>
+  </tr>
+
+  <tr>
+    <td>Cluster</td>
+    <td>The complete cluster element</td>
+    <td><code>type=Cluster</code></td>
+    <td><code>type=Cluster,host=${HOST}</code></td>
+  </tr>
+ 
+  <tr>
+    <td>DeltaManager</td>
+    <td>This manager control the sessions and handle session replication </td>
+    <td><code>type=Manager,path=${APP.CONTEXT.PATH}, host=${HOST}</code></td>
+    <td><code>type=Manager,path=${APP.CONTEXT.PATH}, host=${HOST}</code></td>
+  </tr>
+
+  <tr>
+    <td>ReplicationValve</td>
+    <td>This valve control the replication to the backup nodes</td>
+    <td><code>type=Valve,name=ReplicationValve</code></td>
+    <td><code>type=Valve,name=ReplicationValve,host=${HOST}</code></td>
+  </tr>
+
+  <tr>
+    <td>JvmRouteBinderValve</td>
+    <td>This is a cluster fallback valve to change the Session ID to the current tomcat jvmroute.</td>
+    <td><code>type=Valve,name=JvmRouteBinderValve,
+              path=${APP.CONTEXT.PATH}</code></td>
+    <td><code>type=Valve,name=JvmRouteBinderValve,host=${HOST},
+              path=${APP.CONTEXT.PATH}</code></td>
+  </tr>
+
+</table>
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="FAQ"><strong>FAQ</strong></a></font></td></tr><tr><td><blockquote>
+<p>Please see <a href="http://tomcat.apache.org/faq/cluster.html">the clustering section of the FAQ</a>.</p>
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/config/ajp.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/config/ajp.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/config/ajp.html	(revision 66)
@@ -0,0 +1,219 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The AJP Connector</title><meta value="Remy Maucherat" name="author"><meta value="remm@apache.org" name="email"><meta value="Yoav Shapira" name="author"><meta value="yoavs@apache.org" name="email"><meta value="Andrew R. Jaquith" name="author"><meta value="arjaquith@mindspring.com" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul><p><strong>Cluster Elements</strong></p><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul><p><strong>Global Settings</strong></p><ul><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The AJP Connector</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/ajp.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The <strong>AJP Connector</strong> element represents a
+  <strong>Connector</strong> component that communicates with a web
+  connector via the <code>AJP</code> protocol.  This is used for cases
+  where you wish to invisibly integrate Tomcat 6 into an existing (or new)
+  Apache installation, and you want Apache to handle the static content
+  contained in the web application, and/or utilize Apache's SSL
+  processing.</p>
+
+  <p>This connector supports load balancing when used in conjunction with
+  the <code>jvmRoute</code> attribute of the 
+  <a href="engine.html">Engine</a>.</p>
+
+<p>The native connectors supported with this Tomcat release are:
+<ul>
+  <li>JK 1.2.x with any of the supported servers</li>
+  <li>mod_proxy on Apache httpd 2.x (included by default in Apache HTTP Server 2.2), 
+      with AJP enabled: see
+      <a href="http://httpd.apache.org/docs/2.2/mod/mod_proxy_ajp.html">the httpd docs</a>
+      for details.</li>
+</ul>
+</p>
+
+<p><b>Other native connectors supporting AJP may work, but are no longer supported.</b></p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>All implementations of <strong>Connector</strong>
+  support the following attributes:</p>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>allowTrace</code></td><td valign="center" align="left">
+      <p>A boolean value which can be used to enable or disable the TRACE
+      HTTP method. If not specified, this attribute is set to false.</p>
+    </td></tr><tr><td valign="center" align="left"><code>emptySessionPath</code></td><td valign="center" align="left">
+      <p>If set to <code>true</code>, all paths for session cookies will be set
+      to <code>/</code>. This can be useful for portlet specification implementations.
+      If not specified, this attribute is set to <code>false</code>.</p>
+    </td></tr><tr><td valign="center" align="left"><code>enableLookups</code></td><td valign="center" align="left">
+      <p>Set to <code>true</code> if you want calls to
+      <code>request.getRemoteHost()</code> to perform DNS lookups in
+      order to return the actual host name of the remote client.  Set
+      to <code>false</code> to skip the DNS lookup and return the IP
+      address in String form instead (thereby improving performance).
+      By default, DNS lookups are enabled.</p>
+    </td></tr><tr><td valign="center" align="left"><code>maxPostSize</code></td><td valign="center" align="left">
+      <p>The maximum size in bytes of the POST which will be handled by
+      the container FORM URL parameter parsing. The feature can be disabled by
+      setting this attribute to a value less than or equal to 0.
+      If not specified, this attribute is set to 2097152 (2 megabytes).</p>
+    </td></tr><tr><td valign="center" align="left"><code>maxSavePostSize</code></td><td valign="center" align="left">
+      <p>The maximum size in bytes of the POST which will be saved/buffered by
+      the container during FORM or CLIENT-CERT authentication. For both types
+      of authentication, the POST will be saved/buffered before the user is
+      authenticated. For CLIENT-CERT authentication, the POST is buffered for
+      the duration of the SSL handshake and the buffer emptied when the request
+      is processed. For FORM authentication the POST is saved whilst the user
+      is re-directed to the login form and is retained until the user
+      successfully authenticates or the session associated with the
+      authentication request expires. The limit can be disabled by setting this
+      attribute to -1. Setting the attribute to zero will disable the saving of
+      POST data during authentication. If not specified, this attribute is set
+      to 4096 (4 kilobytes).</p>
+    </td></tr><tr><td valign="center" align="left"><code>protocol</code></td><td valign="center" align="left">
+      <p>This attribute value must be <code>AJP/1.3</code> to use the AJP
+      handler.</p>
+    </td></tr><tr><td valign="center" align="left"><code>proxyName</code></td><td valign="center" align="left">
+      <p>If this <strong>Connector</strong> is being used in a proxy
+      configuration, configure this attribute to specify the server name
+      to be returned for calls to <code>request.getServerName()</code>.
+      See <a href="#Proxy Support">Proxy Support</a> for more
+      information.</p>
+    </td></tr><tr><td valign="center" align="left"><code>proxyPort</code></td><td valign="center" align="left">
+      <p>If this <strong>Connector</strong> is being used in a proxy
+      configuration, configure this attribute to specify the server port
+      to be returned for calls to <code>request.getServerPort()</code>.
+      See <a href="#Proxy Support">Proxy Support</a> for more
+      information.</p>
+    </td></tr><tr><td valign="center" align="left"><code>redirectPort</code></td><td valign="center" align="left">
+      <p>If this <strong>Connector</strong> is supporting non-SSL
+      requests, and a request is received for which a matching
+      <code>&lt;security-constraint&gt;</code> requires SSL transport,
+      Catalina will automatically redirect the request to the port
+      number specified here.</p>
+    </td></tr><tr><td valign="center" align="left"><code>request.registerRequests</code></td><td valign="center" align="left">
+      <p>This attribute controls request registration for JMX monitoring
+      of the Connector.  It is enabled by default, but may be turned
+      it off to save a bit of memory.</p>
+    </td></tr><tr><td valign="center" align="left"><code>scheme</code></td><td valign="center" align="left">
+      <p>Set this attribute to the name of the protocol you wish to have
+      returned by calls to <code>request.getScheme()</code>.  For
+      example, you would set this attribute to "<code>https</code>"
+      for an SSL Connector.  The default value is "<code>http</code>".
+      See <a href="#SSL Support">SSL Support</a> for more information.</p>
+    </td></tr><tr><td valign="center" align="left"><code>secure</code></td><td valign="center" align="left">
+      <p>Set this attribute to <code>true</code> if you wish to have
+      calls to <code>request.isSecure()</code> to return <code>true</code>
+      for requests received by this Connector (you would want this on an
+      SSL Connector).  The default value is <code>false</code>.</p>
+    </td></tr><tr><td valign="center" align="left"><code>URIEncoding</code></td><td valign="center" align="left">
+      <p>This specifies the character encoding used to decode the URI bytes,
+      after %xx decoding the URL. If not specified, ISO-8859-1 will be used.
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>useBodyEncodingForURI</code></td><td valign="center" align="left">
+      <p>This specifies if the encoding specified in contentType should be used
+      for URI query parameters, instead of using the URIEncoding. This
+      setting is present for compatibility with Tomcat 4.1.x, where the
+      encoding specified in the contentType, or explicitely set using
+      Request.setCharacterEncoding method was also used for the parameters from
+      the URL. The default value is <code>false</code>.
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>useIPVHosts</code></td><td valign="center" align="left">
+      <p>Set this attribute to <code>true</code> to cause Tomcat to use
+      the ServerName passed by the native web server to determine the Host
+      to send the request to.  The default value is <code>false</code>.</p>
+    </td></tr><tr><td valign="center" align="left"><code>xpoweredBy</code></td><td valign="center" align="left">
+      <p>Set this attribute to <code>true</code> to cause Tomcat to advertise
+      support for the Srevlet specification using the header recommended in the
+      specification.  The default value is <code>false</code>.</p>
+    </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Standard Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>To use AJP, you
+  must specify the protocol attribute (see above).</p>
+
+  <p><strong>This implementation supports the AJP 1.3 protocol.</strong></p>
+
+  <p>It supports the following additional attributes (in addition to the
+  common attributes listed above):</p>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>address</code></td><td valign="center" align="left">
+      <p>For servers with more than one IP address, this attribute
+      specifies which address will be used for listening on the specified
+      port.  By default, this port will be used on all IP addresses
+      associated with the server. A value of <code>127.0.0.1</code>
+      indicates that the Connector will only listen on the loopback
+      interface.</p>
+    </td></tr><tr><td valign="center" align="left"><code>backlog</code></td><td valign="center" align="left">
+      <p>The maximum queue length for incoming connection requests when
+      all possible request processing threads are in use.  Any requests
+      received when the queue is full will be refused.  The default
+      value is 10.</p>
+    </td></tr><tr><td valign="center" align="left"><code>bufferSize</code></td><td valign="center" align="left">
+      <p>The size of the output buffer to use.  If less than or equal to zero,
+         then output buffering is disabled.  The default value is -1
+         (i.e. buffering disabled)</p>
+    </td></tr><tr><td valign="center" align="left"><code>connectionTimeout</code></td><td valign="center" align="left">
+      <p>The number of milliseconds this <strong>Connector</strong> will wait,
+      after accepting a connection, for the request URI line to be
+      presented.  The default value is infinite (i.e. no timeout).</p>
+    </td></tr><tr><td valign="center" align="left"><code>executor</code></td><td valign="center" align="left">
+      <p>A reference to the name in an <a href="executor.html">Executor</a> element.
+         If this attribute is enabled, and the named executor exists, the connector will
+         use the executor, and all the other thread attributes will be ignored.</p>
+    </td></tr><tr><td valign="center" align="left"><code>keepAliveTimeout</code></td><td valign="center" align="left">
+      <p>The number of milliseconds this <strong>Connector</strong> will wait for
+       another AJP request before closing the connection.
+       The default value is to use the value that has been set for the
+       connectionTimeout attribute.</p>
+    </td></tr><tr><td valign="center" align="left"><code>maxThreads</code></td><td valign="center" align="left">
+      <p>The maximum number of request processing threads to be created
+      by this <strong>Connector</strong>, which therefore determines the
+      maximum number of simultaneous requests that can be handled.  If
+      not specified, this attribute is set to 200. If an executor is associated
+      with this connector, this attribute is ignored as the connector will 
+      execute tasks using the executor rather than an internal thread pool.</p>
+    </td></tr><tr><td valign="center" align="left"><code>packetSize</code></td><td valign="center" align="left">
+      <p>This attribute sets the maximum AJP packet size in Bytes. The maximum
+      value is 65536. It should be the same as the <code>max_packet_size</code>
+      directive configured for mod_jk. Normally it is not necessary to change
+      the maximum packet size. Problems with the default value have been
+      reported when sending certificates or certificate chains. The default
+      value is 8192.</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>port</code></strong></td><td valign="center" align="left">
+      <p>The TCP port number on which this <strong>Connector</strong>
+      will create a server socket and await incoming connections.  Your
+      operating system will allow only one server application to listen
+      to a particular port number on a particular IP address.</p>
+    </td></tr><tr><td valign="center" align="left"><code>request.secret</code></td><td valign="center" align="left">
+      <p>Only requests from workers with this secret keyword will be accepted.
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>request.shutdownEnabled</code></td><td valign="center" align="left">
+      <p>If true and a secret has been configured, a correctly fomatted AJP
+      request (that includes the secret) will shutdown the Tomcat instance
+      associated with this connector. This is set to <code>false</code> by
+      default.</p>
+    </td></tr><tr><td valign="center" align="left"><code>request.useSecret</code></td><td valign="center" align="left">
+      <p>If set to <code>true</code>, then a random value for
+      <code>request.secret</code> will be generated. It is for use with
+      <code>request.shutdownEnabled</code>. This is set to <code>false</code>
+      by default.</p>
+    </td></tr><tr><td valign="center" align="left"><code>tcpNoDelay</code></td><td valign="center" align="left">
+      <p>If set to <code>true</code>, the TCP_NO_DELAY option will be
+      set on the server socket, which improves performance under most
+      circumstances.  This is set to <code>true</code> by default.</p>
+    </td></tr><tr><td valign="center" align="left"><code>tomcatAuthentication</code></td><td valign="center" align="left">
+      <p>If set to <code>true</code>, the authetication will be done in Tomcat. 
+      Otherwise, the authenticated principal will be propagated from the native
+      webaserver and used for authorization in Tomcat.  
+      The default value is <code>true</code>.</p>
+    </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nested Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>None at this time.</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/config/cluster-channel.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/config/cluster-channel.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/config/cluster-channel.html	(revision 66)
@@ -0,0 +1,61 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Cluster Channel object</title><meta value="Filip Hanik" name="author"><meta value="fhanik@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul><p><strong>Cluster Elements</strong></p><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul><p><strong>Global Settings</strong></p><ul><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Cluster Channel object</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/cluster-channel.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+  The cluster channel is the main component of a small framework we've nicknamed Apache Tribes.<br>
+  The channel manages a set of sub components and together they create a group communication framework.<br>
+  This framework is then used internally by the components that need to send messages between different Tomcat instances.
+  <br>
+  A few examples of these components would be the SimpleTcpCluster that does the messaging for the DeltaManager,
+  or the BackupManager that uses a different replication strategy. The ReplicatedContext object does also 
+  use the channel object to communicate context attribute changes.
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nested Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>
+  <p><b><a href="cluster-membership.html">Channel/Membership</a>:</b> <br>
+    The Membership component is responsible for auto discovering new nodes in the cluster
+    and also to provide for notifications for any nodes that have not responded with a heartbeat.
+    The default implementation uses multicast.<br>
+    In the membership component you configure how your nodes, aka. members, are to be discovered and/or 
+    divided up. 
+    You can always find out more about <a href="../tribes/introduction.html">Apache Tribes</a>
+  </p>
+  <p><b><a href="cluster-sender.html">Channel/Sender</a>:</b> <br>
+    The Sender component manages all outbound connections and data messages that are sent 
+    over the network from one node to another.
+    This component allows messages to be sent in parallel.
+    The default implementation uses TCP client sockets, and socket tuning for outgoing messages are
+    configured here.<br>
+    You can always find out more about <a href="../tribes/introduction.html">Apache Tribes</a>
+  </p>
+  <p><b><a href="cluster-sender.html#transport">Channel/Sender/Transport</a>:</b> <br>
+    The Transport component is the bottom IO layer for the sender component.
+    The default implementation uses non-blocking TCP client sockets.<br>
+    You can always find out more about <a href="../tribes/introduction.html">Apache Tribes</a>
+  </p>
+  <p><b><a href="cluster-receiver.html">Channel/Receiver</a>:</b> <br>
+    The receiver component listens for messages from other nodes.
+    Here you will configure the cluster thread pool, as it will dispatch incoming
+    messages to a thread pool for faster processing.
+    The default implementation uses non-blocking TCP server sockets.<br>
+    You can always find out more about <a href="../tribes/introduction.html">Apache Tribes</a>
+  </p>
+  <p><b><a href="cluster-interceptor.html">Channel/Interceptor</a>:</b> <br>
+    The channel will send messages through an interceptor stack. Because of this, you have the ability to 
+    customize the way messages are sent and received, and even how membership is handled.<br>
+    You can always find out more about <a href="../tribes/introduction.html">Apache Tribes</a>
+  </p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+       The default value here is <code>org.apache.catalina.tribes.group.GroupChannel</code> and is
+       currently the only implementation available.
+    </td></tr></table>
+
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/config/cluster-deployer.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/config/cluster-deployer.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/config/cluster-deployer.html	(revision 66)
@@ -0,0 +1,22 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Cluster Deployer object</title><meta value="Filip Hanik" name="author"><meta value="fhanik@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul><p><strong>Cluster Elements</strong></p><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul><p><strong>Global Settings</strong></p><ul><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Cluster Deployer object</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/cluster-deployer.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+  <p>This goober is currently pretty broken, but we are working hard to fix it</p>
+  
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+
+    </td></tr></table>
+
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/config/cluster-interceptor.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/config/cluster-interceptor.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/config/cluster-interceptor.html	(revision 66)
@@ -0,0 +1,122 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Channel Interceptor object</title><meta value="Filip Hanik" name="author"><meta value="fhanik@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul><p><strong>Cluster Elements</strong></p><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul><p><strong>Global Settings</strong></p><ul><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Channel Interceptor object</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/cluster-interceptor.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+  <p>
+  Apache Tribes supports an interceptor architecture to intercept both messages and membership notifications.
+  This architecture allows decoupling of logic and opens the way for some very kewl feature add ons.
+  </p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Available Interceptors"><strong>Available Interceptors</strong></a></font></td></tr><tr><td><blockquote>
+ <p>
+   <ul>
+    <li><code>org.apache.catalina.tribes.group.interceptors.TcpFailureDetector</code></li>
+    <li><code>org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor</code></li>
+    <li><code>org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor</code></li>
+    <li><code>org.apache.catalina.tribes.group.interceptors.MessageDispatchInterceptor</code></li>
+    <li><code>org.apache.catalina.tribes.group.interceptors.NonBlockingCoordinator</code></li>
+    <li><code>org.apache.catalina.tribes.group.interceptors.OrderInterceptor</code></li>
+    <li><code>org.apache.catalina.tribes.group.interceptors.StaticMembershipInterceptor</code></li>
+    <li><code>org.apache.catalina.tribes.group.interceptors.TwoPhaseCommitInterceptor</code></li>
+    <li><code>org.apache.catalina.tribes.group.interceptors.DomainFilterInterceptor</code></li>
+    <li><code>org.apache.catalina.tribes.group.interceptors.FragmentationInterceptor</code></li>
+    <li><code>org.apache.catalina.tribes.group.interceptors.GzipInterceptor</code></li>
+   </ul>
+ </p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Static Membership"><strong>Static Membership</strong></a></font></td></tr><tr><td><blockquote>
+  <p>
+   In addition to dynamic discovery, Apache Tribes also supports static membership, with membership verification.
+   To achieve this add the <code>org.apache.catalina.tribes.group.interceptors.StaticMembershipInterceptor</code>
+   underneath the <code>org.apache.catalina.tribes.group.interceptors.TcpFailureDetector</code> interceptor.
+   Inside the <code>StaticMembershipInterceptor</code> you can add the static members you wish to have.
+   The <code>TcpFailureDetector</code> will do a health check on the static members,and also monitor them for crashes
+   so they will have the same level of notification mechanism as the members that are automatically discovered.
+   <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+     &lt;Interceptor className="org.apache.catalina.tribes.group.interceptors.StaticMembershipInterceptor"&gt;
+       &lt;Member className="org.apache.catalina.tribes.membership.StaticMember"
+                  port="5678"
+                  securePort="-1"
+                  host="tomcat01.mydomain.com"
+                  domain="staging-cluster"
+                  uniqueId="{0,1,2,3,4,5,6,7,8,9}"/&gt;
+     &lt;/Interceptor&gt;
+   
+   </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+  </p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
+   <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+       Required, as there is no default 
+     </td></tr><tr><td valign="center" align="left"><code>optionFlag</code></td><td valign="center" align="left">
+       If you want the interceptor to trigger on certain message depending on the message's option flag,
+       you can setup the interceptors flag here.
+       The default value is <code>0</code>, meaning this interceptor will trigger on all messages.
+     </td></tr></table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor Attributes"><strong>org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor Attributes</strong></a></font></td></tr><tr><td><blockquote>
+   <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+       Required, This dispatcher uses JDK 1.5 java.util.concurrent package 
+     </td></tr><tr><td valign="center" align="left"><code>optionFlag</code></td><td valign="center" align="left">
+       The default and hard coded value is <code>8 (org.apache.catalina.tribes.Channel.SEND_OPTIONS_ASYNCHRONOUS)</code>.
+       The dispatcher will trigger on this value only, as it is predefined by Tribes.
+     </td></tr></table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="org.apache.catalina.tribes.group.interceptors.MessageDispatchInterceptor Attributes"><strong>org.apache.catalina.tribes.group.interceptors.MessageDispatchInterceptor Attributes</strong></a></font></td></tr><tr><td><blockquote>
+   <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+       Required, Same implementation as <code>MessageDispatch15Interceptor</code>, but with JDK 1.4 compliance.
+     </td></tr><tr><td valign="center" align="left"><code>optionFlag</code></td><td valign="center" align="left">
+       The default and hard coded value is <code>8 (org.apache.catalina.tribes.Channel.SEND_OPTIONS_ASYNCHRONOUS)</code>.
+       The dispatcher will trigger on this value only, as it is predefined by Tribes.
+     </td></tr><tr><td valign="center" align="left"><code>alwaysSend</code></td><td valign="center" align="left">
+       What behavior should be executed when the dispatch queue is full. If <code>true</code> (default), then the message is
+       is sent synchronously, if <code>false</code> an error is thrown.   
+     </td></tr><tr><td valign="center" align="left"><code>maxQueueSize</code></td><td valign="center" align="left">
+       Size in bytes of the dispatch queue, the default value is <code> 1024*1024*64 (64MB)</code> sets the maximum queue size for the dispatch queue
+       if the queue fills up, one can trigger the behavior, if <code>alwaysSend</code> is set to true, the mesage will be sent synchronously
+       if the flag is false, an error is thrown  
+     </td></tr></table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector Attributes"><strong>org.apache.catalina.tribes.group.interceptors.TcpFailureDetector Attributes</strong></a></font></td></tr><tr><td><blockquote>
+   <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr></table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor Attributes"><strong>org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor Attributes</strong></a></font></td></tr><tr><td><blockquote>
+   <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>interval</code></td><td valign="center" align="left">
+       Defines the interval in number of messages when we are to report the throughput statistics.
+       The report is logged to the <code>org.apache.juli.logging.LogFactory.getLog(ThroughputInterceptor.class)</code>
+       logger under the <code>INFO</code> level.
+       Default value is to report every <code>10000</code> messages.
+     </td></tr></table>
+  </blockquote></td></tr></table>
+  
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nested element StaticMember Attributes"><strong>Nested element StaticMember Attributes</strong></a></font></td></tr><tr><td><blockquote>
+   <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+       Only one implementation available:<code>org.apache.catalina.tribes.membership.StaticMember</code>
+     </td></tr><tr><td valign="center" align="left"><strong><code>port</code></strong></td><td valign="center" align="left">
+       The port that this static member listens to for cluster messages
+     </td></tr><tr><td valign="center" align="left"><code>securePort</code></td><td valign="center" align="left">
+       The secure port this static member listens to for encrypted cluster messages
+       default value is <code>-1</code>, this value means the member is not listening on a secure port
+     </td></tr><tr><td valign="center" align="left"><strong><code>host</code></strong></td><td valign="center" align="left">
+       The host (or network interface) that this static member listens for cluster messages.
+       Three different type of values are possible:<br>
+       1. IP address in the form of "216.123.1.23"<br>
+       2. Hostnames like "tomcat01.mydomain.com" or "tomcat01" as long as they resolve correctly<br>
+       3. byte array in string form, for example {216,123,12,3}<br>
+     </td></tr><tr><td valign="center" align="left"><strong><code>domain</code></strong></td><td valign="center" align="left">
+       The logical cluster domain for this this static member listens for cluster messages.
+       Two different type of values are possible:<br>
+       1. Regular string values like "staging-domain" or "tomcat-cluster" will be converted into bytes 
+       using ISO-8859-1 encoding.
+       2. byte array in string form, for example {216,123,12,3}<br>
+     </td></tr><tr><td valign="center" align="left"><strong><code>uniqueId</code></strong></td><td valign="center" align="left">
+       A universally uniqueId for this static member.
+       The values must be 16 bytes in the following form:<br>
+       1. byte array in string form, for example {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}<br>
+     </td></tr></table>
+  </blockquote></td></tr></table>
+  
+  
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/config/cluster-listener.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/config/cluster-listener.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/config/cluster-listener.html	(revision 66)
@@ -0,0 +1,36 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The ClusterListener object</title><meta value="Filip Hanik" name="author"><meta value="fhanik@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul><p><strong>Cluster Elements</strong></p><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul><p><strong>Global Settings</strong></p><ul><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The ClusterListener object</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/cluster-listener.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+  <p>
+    The <code>org.apache.catalina.ha.ClusterListener</code> base class 
+    lets you listen in on messages that are received by the <code>Cluster</code> component.
+  </p>  
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="org.apache.catalina.ha.session.ClusterSessionListener"><strong>org.apache.catalina.ha.session.ClusterSessionListener</strong></a></font></td></tr><tr><td><blockquote>
+  <p>
+   When using the DeltaManager, the messages are received by the Cluster object and are propagated to the 
+   to the manager through this listener.
+   </p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"><strong>org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener</strong></a></font></td></tr><tr><td><blockquote>
+  <p>
+   Listens for session Id changes. This listener is only used if you are using mod_jk
+   along with the <code>jvmRoute</code> attribute where the session Id can change.
+   In the event of a change, the <code>JvmRouteBinderValve</code> will broadcast the
+   session change and it will get picked up by this listener.
+   </p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+
+    </td></tr></table>
+
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/config/cluster-manager.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/config/cluster-manager.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/config/cluster-manager.html	(revision 66)
@@ -0,0 +1,71 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The ClusterManager object</title><meta value="Filip Hanik" name="author"><meta value="fhanik@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul><p><strong>Cluster Elements</strong></p><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul><p><strong>Global Settings</strong></p><ul><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The ClusterManager object</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/cluster-manager.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+  <p>
+  A cluster manager is an extension to Tomcat's session manager interface, 
+  <code>org.apache.catalina.Manager</code>
+  A cluster manager must implement the <code>org.apache.catalina.ha.ClusterManager</code> and is solely 
+  responsible for how the session is replicated.<br>
+  There are currently two different managers, the <code>org.apache.catalina.ha.session.DeltaManager</code> replicates deltas 
+  of session data to all members in the cluster. This implementation is proven and works very well, but has a limitation
+  as it requires the cluster members to be homogeneous, all nodes must deploy the same applications and be exact replicas.
+  The <code>org.apache.catalina.ha.session.BackupManager</code> also replicates deltas but only to one backup node.
+  The location of the backup node is known to all nodes in the cluster. It also supports heterogeneous deployments,
+  so the manager knows at what locations the webapp is deployed.<br>
+  We are planning to add more managers with even more sophisticated backup mechanism to support even larger clusters.
+  Check back soon! 
+  </p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="The <Manager>"><strong>The &lt;Manager&gt;</strong></a></font></td></tr><tr><td><blockquote>
+  <p>
+   The <code>&lt;Manager&gt;</code> element defined inside the <code>&lt;Cluster&gt;</code> element
+   is the template defined for all web applications that are marked <code>&lt;distributable/&gt;</code>
+   in their <code>web.xml</code> file. 
+   However, you can still override the manager implementation on a per web application basis,
+   by putting the <code>&lt;Manager&gt;</code> inside the <code>&lt;Context&gt;</code> element either in the 
+   <code><a href="context.html">context.xml</a></code> file or the <code><a href="index.html">server.xml</a></code> file.
+  </p> 
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+     </td></tr><tr><td valign="center" align="left"><code>name</code></td><td valign="center" align="left">
+      <b>The name of this cluster manager, the name is used to identify a session manager on a node.
+      The name might get modified by the <code>Cluster</code> element to make it unique in the container.</b>
+     </td></tr><tr><td valign="center" align="left"><code>defaultMode</code></td><td valign="center" align="left">
+      <b>Deprecated since 6.0.0</b>
+     </td></tr><tr><td valign="center" align="left"><code>notifyListenersOnReplication</code></td><td valign="center" align="left">
+       Set to <code>true</code> if you wish to have session listeners notified when
+       session attributes are being replicated or removed across Tomcat nodes in the cluster.
+     </td></tr><tr><td valign="center" align="left"><code>expireSessionsOnShutdown</code></td><td valign="center" align="left">
+       When a webapplication is being shutdown, Tomcat issues an expire call to each session to 
+       notify all the listeners. If you wish for all sessions to expire on all nodes when
+       a shutdown occurs on one node, set this value to <code>true</code>.
+       Default value is <code>false</code>.
+     </td></tr></table>
+  </blockquote></td></tr></table> 
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="org.apache.catalina.ha.session.DeltaManager Attributes"><strong>org.apache.catalina.ha.session.DeltaManager Attributes</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>domainReplication</code></td><td valign="center" align="left">
+      Set to true if you wish sessions to be replicated only to members that have the same logical
+      domain set. If set to false, session replication will ignore the domain setting the 
+      <code><a href="cluster-membership.html">&lt;Membership&gt;</a></code>
+      element.
+     </td></tr><tr><td valign="center" align="left"><code>expireSessionsOnShutdown</code></td><td valign="center" align="left">
+       When a webapplication is being shutdown, Tomcat issues an expire call to each session to 
+       notify all the listeners. If you wish for all sessions to expire on all nodes when
+       a shutdown occurs on one node, set this value to <code>true</code>.
+       Default value is <code>false</code>.
+     </td></tr><tr><td valign="center" align="left"><code>stateTransferTimeout</code></td><td valign="center" align="left">
+       The time in seconds to wait for a session state transfer to complete from another node
+       when a node is starting up.
+       Default value is <code>60</code> seconds.
+     </td></tr></table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="org.apache.catalina.ha.session.BackupManager Attributes"><strong>org.apache.catalina.ha.session.BackupManager Attributes</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>mapSendOptions</code></td><td valign="center" align="left">
+       The backup manager uses a replicated map, this map is sending and receiving messages.
+       You can setup the flag for how this map is sending messages, the default value is <code>6</code>(asynchronous).
+     </td></tr></table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/config/cluster-membership.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/config/cluster-membership.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/config/cluster-membership.html	(revision 66)
@@ -0,0 +1,90 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Cluster Membership object</title><meta value="Filip Hanik" name="author"><meta value="fhanik@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul><p><strong>Cluster Elements</strong></p><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul><p><strong>Global Settings</strong></p><ul><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Cluster Membership object</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/cluster-membership.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+  <p>
+    The membership component in the Apache Tribes <a href="cluster-channel.html">Channel</a> is responsible
+    for dynamic discovery of other members(nodes) in the cluster.
+  </p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Default Implementation"><strong>Default Implementation</strong></a></font></td></tr><tr><td><blockquote>
+  <p>
+    The default implementation of the cluster group notification is built on top of multicast heartbeats
+    sent using UDP packets to a multicast IP address.
+    Cluster members are grouped together by using the same multicast address/port combination.
+    Each member sends out a heartbeat with a given interval (<code>frequency</code>), and this
+    heartbeat is used for dynamic discovery.
+    In a similar fashion, if a heartbeat has not been received in a timeframe specified by <code>dropTime</code>
+    ms. a member is considered suspect and the channel and any membership listener will be notified.
+  </p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Multicast Attributes"><strong>Multicast Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+      <p>
+      The default value is <code>org.apache.catalina.tribes.membership.McastService</code>
+      and is currently the only implementation.
+      This implementation uses multicast heartbeats for member discovery.
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>address</code></td><td valign="center" align="left">
+      <p>
+      The multicast address that the membership will broadcast its presence and listen
+      for other heartbeats on. The default value is <code>228.0.0.4</code>
+      Make sure your network is enabled for multicast traffic.<br>
+      The multicast address, in conjunction with the <code>port</code> is what 
+      creates a cluster group. To divide up your farm into several different group, or to 
+      split up QA from production, change the <code>port</code> or the <code>address</code>
+      <br>Previously known as mcastAddr.
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>port</code></td><td valign="center" align="left">
+      <p>
+      The multicast port, the default value is <code>45564</code><br>
+      The multicast port, in conjunction with the <code>address</code> is what 
+      creates a cluster group. To divide up your farm into several different group, or to 
+      split up QA from production, change the <code>port</code> or the <code>address</code>
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>frequency</code></td><td valign="center" align="left">
+      <p>
+      The frequency in milliseconds in which heartbeats are sent out. The default value is <code>500</code> ms.<br>
+      In most cases the default value is sufficient. Changing this value, simply changes the interval in between heartbeats.
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>dropTime</code></td><td valign="center" align="left">
+      <p>
+      The membership component will time out members and notify the Channel if a member fails to send a heartbeat within 
+      a give time. The default value is <code>3000</code> ms. This means, that if a heartbeat is not received from a 
+      member in that timeframe, the membership component will notify the cluster of this.<br>
+      On a high latency network you may wish to increase this value, to protect against false positives.<br>
+      Apache Tribes also provides a <a href="cluster-interceptor.html#tcpfailuredetector"><code>TcpFailureDetector</code></a> that will
+      verify a timeout using a TCP connection when a heartbeat timeout has occurred. This protects against false positives.
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>bind</code></td><td valign="center" align="left">
+      <p>
+      Use this attribute if you wish to bind your multicast traffic to a specific network interface.
+      By default, or when this attribute is unset, it tries to bind to <code>0.0.0.0</code> and sometimes on multihomed hosts
+      this becomes a problem.
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>ttl</code></td><td valign="center" align="left">
+      <p>
+      The time-to-live setting for the multicast heartbeats.
+      This setting should be a value between 0 and 255. The default value is VM implementation specific.
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>domain</code></td><td valign="center" align="left">
+      <p>
+      Apache Tribes has the ability to logically group members into domains, by using this domain attribute.
+      The <code>org.apache.catalina.tribes.Member.getDomain()</code> method returns the value specified here.
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>soTimeout</code></td><td valign="center" align="left">
+      <p>
+      The sending and receiving of heartbeats is done on a single thread, hence to avoid blocking this thread forever,
+      you can control the <code>SO_TIMEOUT</code> value on this socket.<br>
+      If a value smaller or equal to 0 is presented, the code will default this value to frequency
+      </p>
+    </td></tr></table>
+
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/config/cluster-receiver.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/config/cluster-receiver.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/config/cluster-receiver.html	(revision 66)
@@ -0,0 +1,104 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Cluster Receiver object</title><meta value="Filip Hanik" name="author"><meta value="fhanik@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul><p><strong>Cluster Elements</strong></p><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul><p><strong>Global Settings</strong></p><ul><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Cluster Receiver object</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/cluster-receiver.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+  <p>
+  The receiver component is responsible for receiving cluster messages.
+  As you might notice through the configuration, is that the receiving of messages
+  and sending of messages are two different components, this is different from many other 
+  frameworks, but there is a good reason for it, to decouple the logic for how messages are sent from
+  how messages are received.<br>
+  The receiver is very much like the Tomcat Connector, its the base of the thread pool
+  for incoming cluster messages. The receiver is straight forward, but all the socket settings
+  for incoming traffic are managed here.
+  </p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Blocking vs Non-Blocking Receiver"><strong>Blocking vs Non-Blocking Receiver</strong></a></font></td></tr><tr><td><blockquote>
+  <p>
+  The receiver supports both a non blocking, <code>org.apache.catalina.tribes.transport.nio.NioReceiver</code>, and a 
+  blocking, <code>org.apache.catalina.tribes.transport.bio.BioReceiver</code>. It is preferred to use the non blocking receiver
+  to be able to grow your cluster without running into thread starvation.<br>
+  Using the non blocking receiver allows you to with a very limited thread count to serve a large number of messages.
+  Usually the rule is to use 1 thread per node in the cluster for small clusters, and then depending on your message frequency
+  and your hardware, you'll find an optimal number of threads peak out at a certain number.
+  </p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+      The implementation of the receiver component. Two implementations available,
+      <code>org.apache.catalina.tribes.transport.nio.NioReceiver</code> and 
+      <code>org.apache.catalina.tribes.transport.bio.BioReceiver</code>.<br>
+      The <code>org.apache.catalina.tribes.transport.nio.NioReceiver</code> is the 
+      preferred implementation
+    </td></tr><tr><td valign="center" align="left"><code>address</code></td><td valign="center" align="left">
+      The address (network interface) to listen for incoming traffic.
+      Same as the bind address. The default value is <code>auto</code> and translates to
+      <code>java.net.InetAddress.getLocalHost().getHostAddress()</code>.
+    </td></tr><tr><td valign="center" align="left"><code>direct</code></td><td valign="center" align="left">
+      Possible values are <code>true</code> or <code>false</code>. 
+      Set to true if you want the receiver to use direct bytebuffers when reading data
+      from the sockets.
+    </td></tr><tr><td valign="center" align="left"><code>port</code></td><td valign="center" align="left">
+      The listen port for incoming data. The default value is <code>4000</code>.
+      To avoid port conflicts the receiver will automatically bind to a free port within the range of 
+      <code> port &lt;= bindPort &lt;= port+autoBind</code>
+      So for example, if port is 4000, and autoBind is set to 10, then the receiver will open up 
+      a server socket on the first available port in the range 4000-4100.
+    </td></tr><tr><td valign="center" align="left"><code>autoBind</code></td><td valign="center" align="left">
+      Default value is <code>100</code>.
+      Use this value if you wish to automatically avoid port conflicts the cluster receiver will try to open a 
+      server socket on the <code>port</code> attribute port, and then work up <code>autoBind</code> number of times.
+    </td></tr><tr><td valign="center" align="left"><code>securePort</code></td><td valign="center" align="left">
+      The secure listen port. This port is SSL enabled. If this attribute is omitted no SSL port is opened up.
+      There default value is unset, meaning there is no SSL socket available.
+    </td></tr><tr><td valign="center" align="left"><code>selectorTimeout</code></td><td valign="center" align="left">
+      The value in milliseconds for the polling timeout in the <code>NioReceiver</code>. On older versions of the JDK
+      there have been bugs, that should all now be cleared out where the selector never woke up.
+      The default value is a very high <code>5000</code> milliseconds.
+    </td></tr><tr><td valign="center" align="left"><code>maxThreads</code></td><td valign="center" align="left">
+      The maximum number of threads in the receiver thread pool. The default value is <code>6</code>
+      Adjust this value relative to the number of nodes in the cluster, the number of messages being exchanged and 
+      the hardware you are running on. A higher value doesn't mean more effiecency, tune this value according to your 
+      own test results.
+    </td></tr><tr><td valign="center" align="left"><code>minThreads</code></td><td valign="center" align="left">
+      Minimum number of threads to be created when the receiver is started up. Default value is <code>6</code>
+    </td></tr><tr><td valign="center" align="left"><code>ooBInline</code></td><td valign="center" align="left">
+      Boolean value for the socket OOBINLINE option. Possible values are <code>true</code> or <code>false</code>.
+    </td></tr><tr><td valign="center" align="left"><code>rxBufSize</code></td><td valign="center" align="left">
+      The receiver buffer size on the receiving sockets. Value is in bytes, the default value is <code>43800</code> bytes.
+    </td></tr><tr><td valign="center" align="left"><code>txBufSize</code></td><td valign="center" align="left">
+      The sending buffer size on the receiving sockets. Value is in bytes, the default value is <code>25188</code> bytes.
+    </td></tr><tr><td valign="center" align="left"><code>soKeepAlive</code></td><td valign="center" align="left">
+      Boolean value for the socket SO_KEEPALIVE option. Possible values are <code>true</code> or <code>false</code>.
+    </td></tr><tr><td valign="center" align="left"><code>soLingerOn</code></td><td valign="center" align="left">
+      Boolean value to determine whether to use the SO_LINGER socket option. 
+      Possible values are <code>true</code> or <code>false</code>. Default value is <code>true</code>.
+    </td></tr><tr><td valign="center" align="left"><code>soLingerTime</code></td><td valign="center" align="left">
+      Sets the SO_LINGER socket option time value. The value is in seconds. 
+      The default value is <code>3</code> seconds.
+    </td></tr><tr><td valign="center" align="left"><code>soReuseAddress</code></td><td valign="center" align="left">
+     Boolean value for the socket SO_REUSEADDR option. Possible values are <code>true</code> or <code>false</code>.
+    </td></tr><tr><td valign="center" align="left"><code>soTrafficClass</code></td><td valign="center" align="left">
+     Sets the traffic class level for the socket, the value is between 0 and 255.
+     Different values are defined in <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/net/Socket.html#setTrafficClass(int)">
+     java.net.Socket#setTrafficClass(int)</a>.
+    </td></tr><tr><td valign="center" align="left"><code>tcpNoDelay</code></td><td valign="center" align="left">
+     Boolean value for the socket TCP_NODELAY option. Possible values are <code>true</code> or <code>false</code>.
+     The default value is <code>true</code>
+    </td></tr><tr><td valign="center" align="left"><code>timeout</code></td><td valign="center" align="left">
+     Sets the SO_TIMEOUT option on the socket. The value is in milliseconds and the default value is <code>3000</code> 
+     milliseconds.
+    </td></tr><tr><td valign="center" align="left"><code>useBufferPool</code></td><td valign="center" align="left">
+     Boolean value whether to use a shared buffer pool of cached <code>org.apache.catalina.tribes.io.XByteBuffer</code>
+     objects. If set to true, the XByteBuffer that is used to pass a message up the channel, will be recycled at the end 
+     of the requests. This means that interceptors in the channel must not maintain a reference to the object
+     after the <code>org.apache.catalina.tribes.ChannelInterceptor#messageReceived</code> method has exited.
+    </td></tr></table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="NioReceiver"><strong>NioReceiver</strong></a></font></td></tr><tr><td><blockquote>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="BioReceiver"><strong>BioReceiver</strong></a></font></td></tr><tr><td><blockquote>
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/config/cluster-sender.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/config/cluster-sender.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/config/cluster-sender.html	(revision 66)
@@ -0,0 +1,106 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Cluster Sender object</title><meta value="Filip Hanik" name="author"><meta value="fhanik@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul><p><strong>Cluster Elements</strong></p><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul><p><strong>Global Settings</strong></p><ul><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Cluster Sender object</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/cluster-sender.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+  <p>
+  The channel sender component is responsible for delivering outgoing cluster messages over the network.
+  In the default implementation, <code>org.apache.catalina.tribes.transport.ReplicationTransmitter</code>,
+  the sender is a fairly empty shell with not much logic around a fairly complex <code>&lt;Transport&gt;</code>
+  component the implements the actual delivery mechanism.
+  </p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Concurrent Parallel Delivery"><strong>Concurrent Parallel Delivery</strong></a></font></td></tr><tr><td><blockquote>
+  <p>
+  In the default <code>transport</code> implementation, <code>org.apache.catalina.tribes.transport.nio.PooledParallelSender</code>,
+  Apache Tribes implements what we like to call "Concurrent Parallel Delivery". 
+  This means that we can send a message to more than one destination at the same time(parallel), and
+  deliver two messages to the same destination at the same time(concurrent). Combine these two and we have 
+  "Concurrent Parallel Delivery".
+  </p>
+  <p>
+  When is this useful? The simplest example we can think of is when part of your code is sending a 10MB message,
+  like a war file being deployed, and you need to push through a small 10KB message, say a session being replicated,
+  you don't have to wait for the 10MB message to finish, as a separate thread will push in the small message 
+  transmission at the same time. Currently there is no interrupt, pause or priority mechanism avaiable, but check back soon.
+  </p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nested Elements"><strong>Nested Elements</strong></a></font></td></tr><tr><td><blockquote>
+ <p>
+   The nested element <code>&lt;Transport&gt;</code> is is not required, by encouraged, as this is where
+   you would set all the socket options for the outgoing messages. Please see its attributes below.
+   There are two implementations, in a similar manner to the <a href="cluster-receiver.html">receiver</a>, one is non-blocking
+   based and the other is built using blocking IO. <br>
+   <code>org.apache.catalina.tribes.transport.bio.PooledMultiSender</code> is the blocking implemenation and 
+   <code>org.apache.catalina.tribes.transport.nio.PooledParallelSender</code>.
+   Parallel delivery is not available for the blocking implementation due to the fact that it is blocking a thread on sending data.
+ </p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Sender Attributes"><strong>Common Sender Attributes</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+        Required, only available implementation is <code>org.apache.catalina.tribes.transport.ReplicationTransmitter</code>
+      </td></tr></table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Transport Attributes"><strong>Common Transport Attributes</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+        Required, an implementation of the <code>org.apache.catalina.tribes.transport.MultiPointSender</code>.<br>
+        Non-blocking implementation is <code>org.apache.catalina.tribes.transport.nio.PooledParallelSender</code><br>
+        Blocking implementation is <code>org.apache.catalina.tribes.transport.bio.PooledMultiSender</code>
+      </td></tr><tr><td valign="center" align="left"><code>rxBufSize</code></td><td valign="center" align="left">
+        The receive buffer size on the socket.
+        Default value is <code>25188</code> bytes.
+      </td></tr><tr><td valign="center" align="left"><code>txBufSize</code></td><td valign="center" align="left">
+       The send buffer size on the socket.
+       Default value is <code>43800</code> bytes.
+      </td></tr><tr><td valign="center" align="left"><code>direct</code></td><td valign="center" align="left">
+       Possible values are <code>true</code> or <code>false</code>. 
+       Set to true if you want the receiver to use direct bytebuffers when reading data
+       from the sockets. Default value is <code>false</code>
+      </td></tr><tr><td valign="center" align="left"><code>keepAliveCount</code></td><td valign="center" align="left">
+       The number of requests that can go through the socket before the socket is closed, and reopened
+       for the next request. The default value is <code>-1</code>, which is unlimited.
+      </td></tr><tr><td valign="center" align="left"><code>keepAliveTime</code></td><td valign="center" align="left">
+       The number of milliseconds a connection is kept open after its been opened.
+       The default value is <code>-1</code>, which is unlimited.
+      </td></tr><tr><td valign="center" align="left"><code>timeout</code></td><td valign="center" align="left">
+        Sets the SO_TIMEOUT option on the socket. The value is in milliseconds and the default value is <code>3000</code> 
+        milliseconds.
+      </td></tr><tr><td valign="center" align="left"><code>maxRetryAttempts</code></td><td valign="center" align="left">
+        How many times do we retry a failed message, that received a IOException at the socket level.
+        The default value is <code>1</code>, meaning we will retry a message that has failed once. 
+        In other words, we will attempt a message send no more than twice. One is the original send, and one is the 
+        <code>maxRetryAttempts</code>.
+      </td></tr><tr><td valign="center" align="left"><code>ooBInline</code></td><td valign="center" align="left">
+        Boolean value for the socket OOBINLINE option. Possible values are <code>true</code> or <code>false</code>.
+      </td></tr><tr><td valign="center" align="left"><code>soKeepAlive</code></td><td valign="center" align="left">
+        Boolean value for the socket SO_KEEPALIVE option. Possible values are <code>true</code> or <code>false</code>.
+      </td></tr><tr><td valign="center" align="left"><code>soLingerOn</code></td><td valign="center" align="left">
+        Boolean value to determine whether to use the SO_LINGER socket option. 
+        Possible values are <code>true</code> or <code>false</code>. Default value is <code>true</code>.
+      </td></tr><tr><td valign="center" align="left"><code>soLingerTime</code></td><td valign="center" align="left">
+        Sets the SO_LINGER socket option time value. The value is in seconds. 
+        The default value is <code>3</code> seconds.
+      </td></tr><tr><td valign="center" align="left"><code>soReuseAddress</code></td><td valign="center" align="left">
+       Boolean value for the socket SO_REUSEADDR option. Possible values are <code>true</code> or <code>false</code>.
+      </td></tr><tr><td valign="center" align="left"><code>soTrafficClass</code></td><td valign="center" align="left">
+       Sets the traffic class level for the socket, the value is between 0 and 255.
+       Default value is <code>int soTrafficClass = 0x04 | 0x08 | 0x010;</code>
+       Different values are defined in <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/net/Socket.html#setTrafficClass(int)">
+       java.net.Socket#setTrafficClass(int)</a>.
+      </td></tr><tr><td valign="center" align="left"><code>tcpNoDelay</code></td><td valign="center" align="left">
+       Boolean value for the socket TCP_NODELAY option. Possible values are <code>true</code> or <code>false</code>.
+       The default value is <code>true</code>
+      </td></tr><tr><td valign="center" align="left"><code>throwOnFailedAck</code></td><td valign="center" align="left">
+       Boolean value, default value is <code>true</code>.
+       If set to true, the sender will throw a <code>org.apache.catalina.tribes.RemoteProcessException</code>
+       when we receive a negative ack from the remote member.
+       Set to false, and Tribes will treat a positive ack the same way as a negative ack, that the message was received.
+      </td></tr></table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="PooledParallelSender Attributes"><strong>PooledParallelSender Attributes</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>poolSize</code></td><td valign="center" align="left">
+        The maximum number of concurrent connections from A to B.
+        The value is based on a per-destination count.
+        The default value is <code>25</code>
+      </td></tr></table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/config/cluster-valve.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/config/cluster-valve.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/config/cluster-valve.html	(revision 66)
@@ -0,0 +1,57 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Cluster Valve object</title><meta value="Filip Hanik" name="author"><meta value="fhanik@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul><p><strong>Cluster Elements</strong></p><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul><p><strong>Global Settings</strong></p><ul><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Cluster Valve object</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/cluster-valve.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+  <p>
+  A cluster valve is no different from any other <a href="valve.html">Tomcat <code>Valve</code></a>.
+  The cluster valves are interceptors in the invokation chain for HTTP requests, and the clustering implementation
+  uses these valves to make intelligent decision around data and when data should be replicated.
+  </p>
+  <p>
+  A cluster valve must implement the <code>org.apache.catalina.ha.ClusterValve</code> interface.
+  This is a simple interface that extends the <code>org.apache.catalina.Valve</code> interface.
+  </p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="org.apache.catalina.ha.tcp.ReplicationValve"><strong>org.apache.catalina.ha.tcp.ReplicationValve</strong></a></font></td></tr><tr><td><blockquote>
+  The <code>ReplicationValve</code> will notify the cluster at the end of a HTTP request
+  so that the cluster can make a decision whether there is data to be replicated or not.
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+        Set value to <code>org.apache.catalina.ha.tcp.ReplicationValve</code>
+      </td></tr><tr><td valign="center" align="left"><code>filter</code></td><td valign="center" align="left">
+        For known file extensions or urls, you can use a filter to 
+        notify the cluster that the session has not been modified during this 
+        request and the cluster doesn't have to probe the session managers for changes.
+        If there is a filter match, the cluster assumes there has been no session change.
+        An example filter would look like <code>filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"</code>
+        The filter uses regular expressions and each filter is delimited by a semi colon.
+        <code>Pattern#compile(java.lang.String)</code>
+      </td></tr><tr><td valign="center" align="left"><code>primaryIndicator</code></td><td valign="center" align="left">
+        Boolean value, so to true, and the replication valve will insert a request attribute with the name
+        defined by the <code>primaryIndicatorName</code> attribute.
+        The value inserted into the request attribute is either <code>Boolean.TRUE</code> or 
+        <code>Boolean.FALSE</code>
+      </td></tr><tr><td valign="center" align="left"><code>primaryIndicatorName</code></td><td valign="center" align="left">
+        Default value is <code>org.apache.catalina.ha.tcp.isPrimarySession</code>
+        The value defined here is the name of the request attribute that contains the boolean value
+        if the session is primary on this server or not.
+      </td></tr><tr><td valign="center" align="left"><code>statistics</code></td><td valign="center" align="left">
+        Boolean value. Set to <code>true</code> if you want the valve to collect request statistics.
+        Default value is <code>false</code>
+      </td></tr></table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="org.apache.catalina.ha.session.JvmRouteBinderValve"><strong>org.apache.catalina.ha.session.JvmRouteBinderValve</strong></a></font></td></tr><tr><td><blockquote>
+  In case of a mod_jk failover, the <code>JvmRouteBinderValve</code> will replace the 
+  <code>jvmWorker</code> attribute in the session Id, to make future requests stick to this
+  node. If you want failback capability, don't enable this valve, but if you want your failover to stick,
+  and for mod_jk not to have to keep probing the node that went down, you use this valve.
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+        <code>org.apache.catalina.ha.session.JvmRouteBinderValve</code>
+      </td></tr><tr><td valign="center" align="left"><code>enabled</code></td><td valign="center" align="left">
+        Default value is <code>true</code>
+        Runtime attribute to turn on and off turn over of the session's jvmRoute value.
+      </td></tr></table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/config/cluster.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/config/cluster.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/config/cluster.html	(revision 66)
@@ -0,0 +1,107 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Cluster object</title><meta value="Filip Hanik" name="author"><meta value="fhanik@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul><p><strong>Cluster Elements</strong></p><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul><p><strong>Global Settings</strong></p><ul><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Cluster object</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/cluster.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+  <p>
+  The tomcat cluster implementation provides session replication, context attribute replication and
+  cluster wide WAR file deployment.
+  While the <code>Cluster</code> configuration is fairly complex, the default configuration will work
+  for most people out of the box. </p><p>
+  The Tomcat Cluster implementation is very extensible, and hence we have exposed a myriad of options,
+  making the configuration seem like a lot, but don't lose faith, instead you have a tremendous control
+  over what is going on.</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Engine vs Host placement"><strong>Engine vs Host placement</strong></a></font></td></tr><tr><td><blockquote>
+  <p>
+   You can place the <code>&lt;Cluster&gt;</code> element inside either the <code>&lt;Engine&gt;</code>
+   container or the <code>&lt;Host&gt;</code> container.<br>
+   Placing it in the engine, means that you will support clustering in all virtual hosts of Tomcat,
+   and share the messaging component. When you place the <code>&lt;Cluster&gt;</code> inside the <code>&lt;Engine&gt;</code>
+   element, the cluster will append the host name of each session manager to the managers name so that two contexts with 
+   the same name but sitting inside two different hosts will be distinguishable.
+  </p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Context Attribute Replication"><strong>Context Attribute Replication</strong></a></font></td></tr><tr><td><blockquote>
+  <p>To configure context attribute replication, simply do this by swapping out the context implementation
+  used for your application context.
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>&lt;Context className="org.apache.catalina.ha.context.ReplicatedContext"/&gt;</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+    This context extends the Tomcat <code><a href="context.html">StandardContext</a></code>
+    so all the options from the <a href="context.html">base implementation</a> are valid.
+  </p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nested Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>
+  <p><b><a href="cluster-manager.html">Manager</a>:</b> <br>
+    The session manager element identifies what kind of session manager is used in this cluster implementation.
+    This manager configuration is identical to the one you would use in a regular <code><a href="context.html#Nested%20xComponents">&lt;Context&gt;</a></code> configuration.
+    <br>The default value is the <code>org.apache.catalina.ha.session.DeltaManager</code> that is closely coupled with
+    the <code>SimpleTcpCluster</code> implementation. Other managers like the <code>org.apache.catalina.ha.session.BackupManager</code>
+    are/could be loosely coupled and don't rely on the <code>SimpleTcpCluster</code> for its data replication.
+  </p>
+  <p><b><a href="cluster-channel.html">Channel</a>:</b> <br>
+    The Channel and its sub components are all part of the IO layer 
+    for the cluster group, and is a module in it's own that we have nick named "Tribes"
+    <br>
+    Any configuring and tuning of the network layer, the messaging and the membership logic
+    will be done in the channel and its nested components.
+    You can always find out more about <a href="../tribes/introduction.html">Apache Tribes</a>
+  </p>
+  <p><b><a href="cluster-valve.html">Valve</a>:</b> <br>
+    The Tomcat Cluster implementation uses <code>Tomcat <a href="valve.html">Valves</a></code> to
+    track when requests enter and exit the servlet container. It uses these valves to be able to make
+    intelligent decisions on when to replicate data, which is always at the end of a request.
+  </p>
+  <p><b><a href="cluster-deployer.html">Deployer</a>:</b> <br>
+    The Deployer component is the Tomcat Farm Deployer. It allows you to deploy and undeploy applications
+    cluster wide.
+  </p>
+  <p><b><a href="cluster-listener.html">ClusterListener</a>:</b> <br>
+    ClusterListener's are used to track messages sent and received using the <code>SimpleTcpCluster</code>.
+    If you wish to track messages, you can add a listener here, or you can add a valve to the channel object.
+  </p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Deprecated configuration options"><strong>Deprecated configuration options</strong></a></font></td></tr><tr><td><blockquote>
+  <p>
+    <b>Deprecated settings:</b> In the previous version of Tomcat you were able to control session
+       manager settings using manager.&lt;property&gt;=value.
+       This has been discontinued, as the way it was written interfers with 
+       the ability to support multiple different manager classes under one cluster implementation,
+       as the same properties might have the different effect on different managers.
+  </p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="SimpleTcpCluster Attributes"><strong>SimpleTcpCluster Attributes</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+      <p>The main cluster class, currently only one is available,
+         <code>org.apache.catalina.ha.tcp.SimpleTcpCluster</code>
+      </p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>channelSendOptions</code></strong></td><td valign="center" align="left">
+      <p>The Tribes channel send options, default is <code>8</code>.<br>
+         This option is used to set the flag that all messages sent through the 
+         SimpleTcpCluster uses. The flag decides how the messages are sent, and is a simple logical OR.<br>
+         
+      <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+        int options= Channel.SEND_OPTIONS_ASYNCHRONOUS | 
+                     Channel.SEND_OPTIONS_SYNCHRONIZED_ACK | 
+                     Channel.SEND_OPTIONS_USE_ACK;
+      </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+      Some of the values are:<br>
+      <code>Channel.SEND_OPTIONS_SYNCHRONIZED_ACK = 0x0004</code><br>
+      <code>Channel.SEND_OPTIONS_ASYNCHRONOUS = 0x0008</code><br>
+      <code>Channel.SEND_OPTIONS_USE_ACK = 0x0002</code><br>
+      So to use ACK and ASYNC messaging, the flag would be <code>10 (8+2) or 0x000B</code><br>
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>heartbeatBackgroundEnabled</code></td><td valign="center" align="left">
+      <p>Enable this flag don't forget to disable the channel heartbeat thread.
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>doClusterLog</code></td><td valign="center" align="left">
+      <p><b>Deprecated since 6.0.0</b></p>
+      <p>Possible values are <code>true</code> or <code>false</code><br>
+         Value is inherited from Tomcat 5.5 and has no official meaning.
+         to configure logging, use the standard tomcat logging configuration.
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>clusterLogName</code></td><td valign="center" align="left">
+      <p><b>Deprecated since 6.0.0</b></p>
+      <p>
+        Value is inherited from Tomcat 5.5 and has no official meaning.
+         to configure logging, use the standard tomcat logging configuration.
+      </p>
+    </td></tr></table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/config/context.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/config/context.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/config/context.html	(revision 66)
@@ -0,0 +1,678 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Context Container</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul><p><strong>Cluster Elements</strong></p><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul><p><strong>Global Settings</strong></p><ul><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Context Container</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/context.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+    <blockquote><em>
+    <p>The description below uses the variable name $CATALINA_BASE to refer the
+    base directory against which most relative paths are resolved. If you have
+    not configured Tomcat 6 for multiple instances by setting a CATALINA_BASE
+    directory, then $CATALINA_BASE will be set to the value of $CATALINA_HOME,
+    the directory into which you have installed Tomcat 6.</p>
+    </em></blockquote>
+
+  <p>The <strong>Context</strong> element represents a <em>web
+  application</em>, which is run within a particular virtual host.
+  Each web application is based on a <em>Web Application Archive</em>
+  (WAR) file, or a corresponding directory containing the corresponding
+  unpacked contents, as described in the Servlet Specification (version
+  2.2 or later).  For more information about web application archives,
+  you can download the
+  <a href="http://java.sun.com/products/servlet/download.html">Servlet
+  Specification</a>, and review the Tomcat
+  <a href="../appdev/index.html">Application Developer's Guide</a>.</p>
+
+  <p>The web application used to process each HTTP request is selected
+  by Catalina based on matching the longest possible prefix of the
+  Request URI against the <em>context path</em> of each defined Context.
+  Once selected, that Context will select an appropriate servlet to
+  process the incoming request, according to the servlet mappings defined
+  in the <em>web application deployment descriptor</em> file (which MUST
+  be located at <code>/WEB-INF/web.xml</code> within the web app's
+  directory hierarchy).</p>
+
+  <p>You may define as many <strong>Context</strong> elements as you
+  wish.  Each such Context MUST have a unique context path. In
+  addition, a Context must be present with a context path equal to
+  a zero-length string.  This Context becomes the <em>default</em>
+  web application for this virtual host, and is used to process all
+  requests that do not match any other Context's context path.</p>
+
+  <p><b>For Tomcat 6, unlike Tomcat 4.x, it is NOT recommended to place
+  &lt;Context&gt; elements directly in the server.xml file.</b> This
+  is because it makes modifing the <strong>Context</strong> configuration
+  more invasive since the main <code>conf/server.xml</code> file cannot be
+  reloaded without restarting Tomcat.</p>
+
+  <p><strong>Context</strong> elements may be explicitly defined:
+  <ul>
+  <li>in the <code>$CATALINA_BASE/conf/context.xml</code> file: 
+  the Context element information will be loaded by all webapps</li>
+  <li>in the 
+  <code>$CATALINA_BASE/conf/[enginename]/[hostname]/context.xml.default</code>
+  file: the Context element information will be loaded by all webapps of that
+  host</li>
+  <li>in individual files (with a ".xml" extension) in the
+  <code>$CATALINA_BASE/conf/[enginename]/[hostname]/</code> directory.
+  The name of the file (less the .xml extension) will be used as the
+  context path. Multi-level context paths may be defined using #, e.g.
+  <code>context#path.xml</code>. The default web application may be defined
+  by using a file called <code>ROOT.xml</code>.</li>
+  <li>if the previous file was not found for this application, in an individual
+  file at <code>/META-INF/context.xml</code> inside the application files</li>
+  <li>inside a <a href="host.html">Host</a> element in the main
+  <code>conf/server.xml</code></li>
+  </ul>
+  </p>
+
+  <p>With the exception of server.xml, files that define <strong>Context
+  </strong> elements may only define a single <strong>Context</strong> element.
+  </p>
+
+  <p>In addition to explicitly specified Context elements, there are
+  several techniques by which Context elements can be created automatically
+  for you.  See <a href="host.html#Automatic Application Deployment">
+  Automatic Application Deployment</a> and
+  <a href="host.html#User Web Applications">User Web Applications</a>
+  for more information.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>All implementations of <strong>Context</strong>
+    support the following attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>backgroundProcessorDelay</code></td><td valign="center" align="left">
+        <p>This value represents the delay in seconds between the 
+        invocation of the backgroundProcess method on this context and 
+        its child containers, including all wrappers. 
+        Child containers will not be invoked if their delay value is not 
+        negative (which would mean they are using their own processing 
+        thread). Setting this to a positive value will cause 
+        a thread to be spawn. After waiting the specified amount of time, 
+        the thread will invoke the backgroundProcess method on this host 
+        and all its child containers. A context will use background 
+        processing to perform session expiration and class monitoring for
+        reloading. If not specified, the default value for this attribute is 
+        -1, which means the context will rely on the background processing 
+        thread of its parent host.</p>
+      </td></tr><tr><td valign="center" align="left"><code>className</code></td><td valign="center" align="left">
+        <p>Java class name of the implementation to use.  This class must
+        implement the <code>org.apache.catalina.Context</code> interface.
+        If not specified, the standard value (defined below) will be used.</p>
+      </td></tr><tr><td valign="center" align="left"><code>cookies</code></td><td valign="center" align="left">
+        <p>Set to <code>true</code> if you want cookies to be used for
+        session identifier communication if supported by the client (this
+        is the default).  Set to <code>false</code> if you want to disable
+        the use of cookies for session identifier communication, and rely
+        only on URL rewriting by the application.</p>
+      </td></tr><tr><td valign="center" align="left"><code>crossContext</code></td><td valign="center" align="left">
+        <p>Set to <code>true</code> if you want calls within this application
+        to <code>ServletContext.getContext()</code> to successfully return a
+        request dispatcher for other web applications running on this virtual
+        host.  Set to <code>false</code> (the default) in security
+        conscious environments, to make <code>getContext()</code> always
+        return <code>null</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>docBase</code></strong></td><td valign="center" align="left">
+        <p>The <em>Document Base</em> (also known as the <em>Context
+        Root</em>) directory for this web application, or the pathname
+        to the web application archive file (if this web application is
+        being executed directly from the WAR file). You may specify
+        an absolute pathname for this directory or WAR file, or a pathname
+        that is relative to the <code>appBase</code> directory of the
+        owning <a href="host.html">Host</a>.</p>
+        <p>The value of this field must not be set when the Context is
+        configured using a <code>META-INF/context.xml</code> file as it will be
+        inferred by the automatic deployment process.</p>
+      </td></tr><tr><td valign="center" align="left"><code>override</code></td><td valign="center" align="left">
+        <p>Set to <code>true</code> to have explicit settings in this
+        Context element override any corresponding settings in the
+        <a href="defaultcontext.html">DefaultContext</a> element associated
+        with our owning <a href="host.html">Host</a>.  By default, settings
+        in the DefaultContext element will be used.</p>
+        <p>If a symbolic link is used for docBase then changes to the
+        symbolic link will only be effective after a Tomcat restart or
+        by undeploying and redeploying the conext. A context reload is not
+        sufficient.</p>
+      </td></tr><tr><td valign="center" align="left"><code>privileged</code></td><td valign="center" align="left">
+        <p>Set to <code>true</code> to allow this context to use container
+        servlets, like the manager servlet. Use of the <code>privileged</code>
+        attribute will change the context's parent class loader to be the
+        <em>Server</em> class loader rather than the <em>Shared</em> class
+        loader. Note that in a default installation, the <em>Common</em> class
+        loader is used for both the <em>Server</em> and the <em>Shared</em>
+        class loaders.</p>
+      </td></tr><tr><td valign="center" align="left"><code>path</code></td><td valign="center" align="left">
+        <p>The <em>context path</em> of this web application, which is
+        matched against the beginning of each request URI to select the
+        appropriate web application for processing.  All of the context paths
+        within a particular <a href="host.html">Host</a> must be unique.
+        If you specify a context path of an empty string (""), you are
+        defining the <em>default</em> web application for this Host, which
+        will process all requests not assigned to other Contexts.</p>
+        <p>The value of this field must not be set except when statically
+        defining a Context in server.xml, as it will be inferred from the
+        filenames used for either the .xml context file or the docBase.</p>
+      </td></tr><tr><td valign="center" align="left"><code>reloadable</code></td><td valign="center" align="left">
+        <p>Set to <code>true</code> if you want Catalina to monitor classes in
+        <code>/WEB-INF/classes/</code> and <code>/WEB-INF/lib</code> for
+        changes, and automatically reload the web application if a change
+        is detected.  This feature is very useful during application
+        development, but it requires significant runtime overhead and is
+        not recommended for use on deployed production applications.  That's
+        why the default setting for this attribute is <i>false</i>.  You
+        can use the <a href="../manager-howto.html">Manager</a> web
+        application, however, to trigger reloads of deployed applications
+        on demand.</p>
+      </td></tr><tr><td valign="center" align="left"><code>wrapperClass</code></td><td valign="center" align="left">
+        <p>Java class name of the <code>org.apache.catalina.Wrapper</code>
+        implementation class that will be used for servlets managed by this
+        Context.  If not specified, a standard default value will be used.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Standard Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The standard implementation of <strong>Context</strong> is
+    <strong>org.apache.catalina.core.StandardContext</strong>.
+    It supports the following additional attributes (in addition to the
+    common attributes listed above):</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>allowLinking</code></td><td valign="center" align="left">
+        <p>If the value of this flag is <code>true</code>, symlinks will be
+        allowed inside the web application, pointing to resources outside the
+        web application base path. If not specified, the default value
+        of the flag is <code>false</code>.</p>
+        <p><b>NOTE: This flag MUST NOT be set to true on the Windows platform
+        (or any other OS which does not have a case sensitive filesystem),
+        as it will disable case sensitivity checks, allowing JSP source code
+        disclosure, among other security problems.</b></p>
+      </td></tr><tr><td valign="center" align="left"><code>antiJARLocking</code></td><td valign="center" align="left">
+        <p>If true, the Tomcat classloader will take extra measures to avoid
+        JAR file locking when resources are accessed inside JARs through URLs.
+        This will impact startup time of applications, but could prove to be useful
+        on platforms or configurations where file locking can occur.
+        If not specified, the default value is <code>false</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>antiResourceLocking</code></td><td valign="center" align="left">
+        <p>If true, Tomcat will prevent any file locking.
+        This will significantly impact startup time of applications, 
+        but allows full webapp hot deploy and undeploy on platforms 
+        or configurations where file locking can occur.
+        If not specified, the default value is <code>false</code>.</p>
+   
+        <p>Please note that setting this to <code>true</code> has some side effects,
+        including the disabling of JSP reloading in a running server: see
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37668">Bugzilla 37668</a>.
+        </p>
+
+        <p>
+        Please note that setting this flag to true in applications that are
+        outside the appBase for the Host (the <code>webapps</code> directory
+        by default) will cause the application to be
+        <strong>deleted</strong> on Tomcat shutdown.  You probably don't want to
+        do this, so think twice before setting antiResourceLocking=true on a webapp
+        that's outside the appBase for its Host.
+        </p>
+      </td></tr><tr><td valign="center" align="left"><code>cacheMaxSize</code></td><td valign="center" align="left">
+        <p>Maximum size of the static resource cache in kilobytes. 
+        If not specified, the default value is <code>10240</code>
+        (10 megabytes).</p>
+      </td></tr><tr><td valign="center" align="left"><code>cacheTTL</code></td><td valign="center" align="left">
+        <p>Amount of time in milliseconds between cache entries revalidation.
+        If not specified, the default value is <code>5000</code> 
+        (5 seconds).</p>
+      </td></tr><tr><td valign="center" align="left"><code>cachingAllowed</code></td><td valign="center" align="left">
+        <p>If the value of this flag is <code>true</code>, the cache for static
+        resources will be used. If not specified, the default value
+        of the flag is <code>true</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>caseSensitive</code></td><td valign="center" align="left">
+        <p>If the value of this flag is <code>true</code>, all case sensitivity
+        checks will be disabled. If not 
+        specified, the default value of the flag is <code>true</code>.</p>
+        <p><b>NOTE: This flag MUST NOT be set to false on the Windows platform
+        (or any other OS which does not have a case sensitive filesystem),
+        as it will disable case sensitivity checks, allowing JSP source code
+        disclosure, among other security problems.</b></p>
+      </td></tr><tr><td valign="center" align="left"><code>processTlds</code></td><td valign="center" align="left">
+        <p>Whether the context should process TLDs on startup.  The default
+        is true.  The false setting is intended for special cases
+        that know in advance TLDs are not part of the webapp.</p>
+      </td></tr><tr><td valign="center" align="left"><code>swallowOutput</code></td><td valign="center" align="left">
+        <p>If the value of this flag is <code>true</code>, the bytes output to
+        System.out and System.err by the web application will be redirected to
+        the web application logger. If not specified, the default value
+        of the flag is <code>false</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>tldNamespaceAware</code></td><td valign="center" align="left">
+        <p>If the value of this flag is <code>true</code>, the TLD files
+        XML validation will be namespace-aware.  If you turn this flag on,
+        you should probably also turn <code>tldValidation</code> on.  The
+        default value for this flag is <code>false</code>, and setting it
+        to true will incur a performance penalty.
+        </p>
+      </td></tr><tr><td valign="center" align="left"><code>tldValidation</code></td><td valign="center" align="left">
+        <p>If the value of this flag is <code>true</code>, the TLD files
+        will be XML validated on context startup.  The default value for
+        this flag is <code>false</code>, and setting it to true will incur
+        a performance penalty.</p>
+      </td></tr><tr><td valign="center" align="left"><code>unloadDelay</code></td><td valign="center" align="left">
+        <p>Amount of ms that the container will wait for servlets to unload.
+        If not specified, the default value of the flag is <code>2000</code> 
+        ms.</p>
+      </td></tr><tr><td valign="center" align="left"><code>unpackWAR</code></td><td valign="center" align="left">
+        <p>If true, Tomcat will unpack all compressed web applications before
+        running them.
+        If not specified, the default value is <code>true</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>useNaming</code></td><td valign="center" align="left">
+        <p>Set to <code>true</code> (the default) to have Catalina enable a
+        JNDI <code>InitialContext</code> for this web application that is
+        compatible with Java2 Enterprise Edition (J2EE) platform
+        conventions.</p>
+      </td></tr><tr><td valign="center" align="left"><code>workDir</code></td><td valign="center" align="left">
+        <p>Pathname to a scratch directory to be provided by this Context
+        for temporary read-write use by servlets within the associated web
+        application.  This directory will be made visible to servlets in the
+        web application by a servlet context attribute (of type
+        <code>java.io.File</code>) named
+        <code>javax.servlet.context.tempdir</code> as described in the
+        Servlet Specification.  If not specified, a suitable directory
+        underneath <code>$CATALINA_BASE/work</code> will be provided.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nested Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>You can nest at most one instance of the following utility components
+  by nesting a corresponding element inside your <strong>Context</strong>
+  element:</p>
+  <ul>
+  <li><a href="loader.html"><strong>Loader</strong></a> -
+      Configure the web application class loader that will be used to load
+      servlet and bean classes for this web application.  Normally, the
+      default configuration of the class loader will be sufficient.</li>
+  <li><a href="manager.html"><strong>Manager</strong></a> -
+      Configure the session manager that will be used to create, destroy,
+      and persist HTTP sessions for this web application.  Normally, the
+      default configuration of the session manager will be sufficient.</li>
+  <li><a href="realm.html"><strong>Realm</strong></a> -
+      Configure a realm that will allow its
+      database of users, and their associated roles, to be utilized solely
+      for this particular web application.  If not specified, this web
+      application will utilize the Realm associated with the owning
+      <a href="host.html">Host</a> or <a href="engine.html">Engine</a>.</li>
+  <li><a href="resources.html"><strong>Resources</strong></a> -
+      Configure the resource manager that will be used to access the static
+      resources associated with this web application.  Normally, the
+      default configuration of the resource manager will be sufficient.</li>
+  <li><strong>WatchedResource</strong> - The auto deployer will monitor the 
+      specified static resource of the web application for updates, and will
+      reload the web application if is is updated. The content of this element
+      must be a string.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Special Features"><strong>Special Features</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Logging"><strong>Logging</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>A context is associated with the 
+       <code>org.apache.catalina.core.ContainerBase.[enginename].[hostname].[path]</code>
+       log category.  Note that the brackets are actually part of the name, don't omit them.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Access Logs"><strong>Access Logs</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>When you run a web server, one of the output files normally generated
+    is an <em>access log</em>, which generates one line of information for
+    each request processed by the server, in a standard format.  Catalina
+    includes an optional <a href="valve.html">Valve</a> implementation that
+    can create access logs in the same standard format created by web servers,
+    or in any number of custom formats.</p>
+
+    <p>You can ask Catalina to create an access log for all requests
+    processed by an <a href="engine.html">Engine</a>,
+    <a href="host.html">Host</a>, or <a href="context.html">Context</a>
+    by nesting a <a href="valve.html">Valve</a> element like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context path="/examples" ...&gt;
+  ...
+  &lt;Valve className="org.apache.catalina.valves.AccessLogValve"
+         prefix="localhost_access_log." suffix=".txt"
+         pattern="common"/&gt;
+  ...
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+    <p>See <a href="valve.html#Access Log Valve">Access Log Valve</a>
+    for more information on the configuration attributes that are
+    supported.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Automatic Context Configuration"><strong>Automatic Context Configuration</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>If you use the standard <strong>Context</strong> implementation,
+    the following configuration steps occur automtically when Catalina
+    is started, or whenever this web application is reloaded.  No special
+    configuration is required to enable this feature.</p>
+    
+    <ul>
+    <li>If you have not declared your own <a href="loader.html">Loader</a>
+       element, a standard web application class loader will be configured.
+       </li>
+    <li>If you have not declared your own <a href="manager.html">Manager</a>
+        element, a standard session manager will be configured.</li>
+    <li>If you have not declared your own <a href="resources.html">Resources</a>
+        element, a standard resources manager will be configured.</li>
+    <li>The web application properties listed in <code>conf/web.xml</code>
+        will be processed as defaults for this web application.  This is used
+        to establish default mappings (such as mapping the <code>*.jsp</code>
+        extension to the corresponding JSP servlet), and other standard
+        features that apply to all web applications.</li>
+    <li>The web application properties listed in the
+        <code>/WEB-INF/web.xml</code> resource for this web application
+        will be processed (if this resource exists).</li>
+    <li>If your web application has specified security constraints that might
+        require user authentication, an appropriate Authenticator that
+        implements the login method you have selected will be configured.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Context Parameters"><strong>Context Parameters</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>You can configure named values that will be made visible to the
+    web application as servlet context initialization parameters by nesting
+    <code>&lt;Parameter&gt;</code> elements inside this element.  For
+    example, you can create an initialization parameter like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context ...&gt;
+  ...
+  &lt;Parameter name="companyName" value="My Company, Incorporated"
+         override="false"/&gt;
+  ...
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+    <p>This is equivalent to the inclusion of the following element in the
+    web application deployment descriptor (<code>/WEB-INF/web.xml</code>):
+    </p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;context-param&gt;
+  &lt;param-name&gt;companyName&lt;/param-name&gt;
+  &lt;param-value&gt;My Company, Incorporated&lt;/param-value&gt;
+&lt;/context-param&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+    <p>but does <em>not</em> require modification of the deployment descriptor
+    to customize this value.</p>
+
+    <p>The valid attributes for a <code>&lt;Parameter&gt;</code> element
+    are as follows:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>description</code></td><td valign="center" align="left">
+        <p>Optional, human-readable description of this context
+        initialization parameter.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>name</code></strong></td><td valign="center" align="left">
+        <p>The name of the context initialization parameter to be created.</p>
+      </td></tr><tr><td valign="center" align="left"><code>override</code></td><td valign="center" align="left">
+        <p>Set this to <code>false</code> if you do <strong>not</strong> want
+        a <code>&lt;context-param&gt;</code> for the same parameter name,
+        found in the web application deployment descriptor, to override the
+        value specified here.  By default, overrides are allowed.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>value</code></strong></td><td valign="center" align="left">
+        <p>The parameter value that will be presented to the application
+        when requested by calling
+        <code>ServletContext.getInitParameter()</code>.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Environment Entries"><strong>Environment Entries</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>You can configure named values that will be made visible to the
+    web application as environment entry resources, by nesting
+    <code>&lt;Environment&gt;</code> entries inside this element.  For
+    example, you can create an environment entry like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context ...&gt;
+  ...
+  &lt;Environment name="maxExemptions" value="10"
+         type="java.lang.Integer" override="false"/&gt;
+  ...
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+    <p>This is equivalent to the inclusion of the following element in the
+    web application deployment descriptor (<code>/WEB-INF/web.xml</code>):
+    </p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;env-entry&gt;
+  &lt;env-entry-name&gt;maxExemptions&lt;/param-name&gt;
+  &lt;env-entry-value&gt;10&lt;/env-entry-value&gt;
+  &lt;env-entry-type&gt;java.lang.Integer&lt;/env-entry-type&gt;
+&lt;/env-entry&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+    <p>but does <em>not</em> require modification of the deployment descriptor
+    to customize this value.</p>
+
+    <p>The valid attributes for an <code>&lt;Environment&gt;</code> element
+    are as follows:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>description</code></td><td valign="center" align="left">
+        <p>Optional, human-readable description of this environment entry.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>name</code></strong></td><td valign="center" align="left">
+        <p>The name of the environment entry to be created, relative to the
+        <code>java:comp/env</code> context.</p>
+      </td></tr><tr><td valign="center" align="left"><code>override</code></td><td valign="center" align="left">
+        <p>Set this to <code>false</code> if you do <strong>not</strong> want
+        an <code>&lt;env-entry&gt;</code> for the same environment entry name,
+        found in the web application deployment descriptor, to override the
+        value specified here.  By default, overrides are allowed.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>type</code></strong></td><td valign="center" align="left">
+        <p>The fully qualified Java class name expected by the web application
+        for this environment entry.  Must be one of the legal values for
+        <code>&lt;env-entry-type&gt;</code> in the web application deployment
+        descriptor:  <code>java.lang.Boolean</code>,
+        <code>java.lang.Byte</code>, <code>java.lang.Character</code>,
+        <code>java.lang.Double</code>, <code>java.lang.Float</code>,
+        <code>java.lang.Integer</code>, <code>java.lang.Long</code>,
+        <code>java.lang.Short</code>, or <code>java.lang.String</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>value</code></strong></td><td valign="center" align="left">
+        <p>The parameter value that will be presented to the application
+        when requested from the JNDI context.  This value must be convertable
+        to the Java type defined by the <code>type</code> attribute.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Lifecycle Listeners"><strong>Lifecycle Listeners</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>If you have implemented a Java object that needs to know when this
+    <strong>Context</strong> is started or stopped, you can declare it by
+    nesting a <strong>Listener</strong> element inside this element.  The
+    class name you specify must implement the
+    <code>org.apache.catalina.LifecycleListener</code> interface, and
+    the class must be packaged in a jar and placed in the 
+    <code>$CATALINA_HOME/lib</code> directory. 
+    It will be notified about the occurrence of the corresponding
+    lifecycle events.  Configuration of such a listener looks like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context path="/examples" ...&gt;
+  ...
+  &lt;Listener className="com.mycompany.mypackage.MyListener" ... &gt;
+  ...
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+    <p>Note that a Listener can have any number of additional properties
+    that may be configured from this element.  Attribute names are matched
+    to corresponding JavaBean property names using the standard property
+    method naming patterns.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Request Filters"><strong>Request Filters</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>You can ask Catalina to check the IP address, or host name, on every
+    incoming request directed to the surrounding
+    <a href="engine.html">Engine</a>, <a href="host.html">Host</a>, or
+    <a href="context.html">Context</a> element.  The remote address or name
+    will be checked against a configured list of "accept" and/or "deny"
+    filters, which are defined using the Regular Expression syntax supported
+    by the <a href="http://jakarta.apache.org/regexp/">Jakarta Regexp</a>
+    regular expression library.  Requests that come from locations that are
+    not accepted will be rejected with an HTTP "Forbidden" error.
+    Example filter declarations:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context path="/examples" ...&gt;
+  ...
+  &lt;Valve className="org.apache.catalina.valves.RemoteHostValve"
+         allow="*.mycompany.com,www.yourcompany.com"/&gt;
+  &lt;Valve className="org.apache.catalina.valves.RemoteAddrValve"
+         deny="192.168.1.*"/&gt;
+  ...
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+    <p>See <a href="valve.html#Remote Address Filter">Remote Address Filter</a>
+    and <a href="valve.html#Remote Host Filter">Remote Host Filter</a> for
+    more information about the configuration options that are supported.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Resource Definitions"><strong>Resource Definitions</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>You can declare the characteristics of the resource
+    to be returned for JNDI lookups of <code>&lt;resource-ref&gt;</code> and
+    <code>&lt;resource-env-ref&gt;</code> elements in the web application
+    deployment descriptor.  You <strong>MUST</strong> also define
+    the needed resource parameters as attributes of the <code>Resource</code> 
+    element, to configure the object factory to be used (if not known to Tomcat 
+    already), and the properties used to configure that object factory.</p>
+
+    <p>For example, you can create a resource definition like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context ...&gt;
+  ...
+  &lt;Resource name="jdbc/EmployeeDB" auth="Container"
+            type="javax.sql.DataSource"
+     description="Employees Database for HR Applications"/&gt;
+  ...
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+    <p>This is equivalent to the inclusion of the following element in the
+    web application deployment descriptor (<code>/WEB-INF/web.xml</code>):</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;resource-ref&gt;
+  &lt;description&gt;Employees Database for HR Applications&lt;/description&gt;
+  &lt;res-ref-name&gt;jdbc/EmployeeDB&lt;/res-ref-name&gt;
+  &lt;res-ref-type&gt;javax.sql.DataSource&lt;/res-ref-type&gt;
+  &lt;res-auth&gt;Container&lt;/res-auth&gt;
+&lt;/resource-ref&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+    <p>but does <em>not</em> require modification of the deployment
+    descriptor to customize this value.</p>
+
+    <p>The valid attributes for a <code>&lt;Resource&gt;</code> element
+    are as follows:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>auth</code></td><td valign="center" align="left">
+        <p>Specify whether the web Application code signs on to the
+        corresponding resource manager programatically, or whether the
+        Container will sign on to the resource manager on behalf of the
+        application.  The value of this attribute must be
+        <code>Application</code> or <code>Container</code>.  This
+        attribute is <strong>required</strong> if the web application
+        will use a <code>&lt;resource-ref&gt;</code> element in the web
+        application deployment descriptor, but is optional if the
+        application uses a <code>&lt;resource-env-ref&gt;</code> instead.</p>
+      </td></tr><tr><td valign="center" align="left"><code>description</code></td><td valign="center" align="left">
+        <p>Optional, human-readable description of this resource.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>name</code></strong></td><td valign="center" align="left">
+        <p>The name of the resource to be created, relative to the
+        <code>java:comp/env</code> context.</p>
+      </td></tr><tr><td valign="center" align="left"><code>scope</code></td><td valign="center" align="left">
+        <p>Specify whether connections obtained through this resource
+        manager can be shared.  The value of this attribute must be
+        <code>Shareable</code> or <code>Unshareable</code>.  By default,
+        connections are assumed to be shareable.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>type</code></strong></td><td valign="center" align="left">
+        <p>The fully qualified Java class name expected by the web
+        application when it performs a lookup for this resource.</p>
+      </td></tr></table>
+
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Resource Links"><strong>Resource Links</strong></a></font></td></tr><tr><td><blockquote>
+
+     <p>This element is used to create a link to a global JNDI resource. Doing
+     a JNDI lookup on the link name will then return the linked global 
+     resource.</p>
+
+    <p>For example, you can create a resource link like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context ...&gt;
+  ...
+  &lt;ResourceLink name="linkToGlobalResource"
+            global="simpleValue"
+            type="java.lang.Integer"
+  ...
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+    <p>The valid attributes for a <code>&lt;ResourceLink&gt;</code> element
+    are as follows:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>global</code></strong></td><td valign="center" align="left">
+        <p>The name of the linked global resource in the 
+        global JNDI context.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>name</code></strong></td><td valign="center" align="left">
+        <p>The name of the resource link to be created, relative to the
+        <code>java:comp/env</code> context.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>type</code></strong></td><td valign="center" align="left">
+        <p>The fully qualified Java class name expected by the web
+        application when it performs a lookup for this resource link.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Transaction"><strong>Transaction</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>You can declare the characteristics of the UserTransaction
+    to be returned for JNDI lookup for <code>java:comp/UserTransaction</code>. 
+    You <strong>MUST</strong> define an object factory class to instantiate
+    this object as well as the needed resource parameters as attributes of the 
+    <code>Transaction</code> 
+    element, and the properties used to configure that object factory.</p>
+
+    <p>The valid attributes for the <code>&lt;Transaction&gt;</code> element
+    are as follows:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>factory</code></strong></td><td valign="center" align="left">
+        <p>The class name for the JNDI object factory.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/config/engine.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/config/engine.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/config/engine.html	(revision 66)
@@ -0,0 +1,203 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Engine Container</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul><p><strong>Cluster Elements</strong></p><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul><p><strong>Global Settings</strong></p><ul><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Engine Container</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/engine.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The <strong>Engine</strong> element represents the entire request
+  processing machinery associated with a particular Catalina
+  <a href="service.html">Service</a>.  It receives and processes
+  <em>all</em> requests from one or more <strong>Connectors</strong>,
+  and returns the completed response to the Connector for ultimate
+  transmission back to the client.</p>
+
+  <p>Exactly one <strong>Engine</strong> element MUST be nested inside
+  a <a href="service.html">Service</a> element, following all of the
+  corresponding Connector elements associated with this Service.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>All implementations of <strong>Engine</strong>
+    support the following attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>backgroundProcessorDelay</code></td><td valign="center" align="left">
+        <p>This value represents the delay in seconds between the 
+        invocation of the backgroundProcess method on this engine and 
+        its child containers, including all hosts and contexts. 
+        Child containers will not be invoked if their delay value is not 
+        negative (which would mean they are using their own processing 
+        thread). Setting this to a positive value will cause 
+        a thread to be spawn. After waiting the specified amount of time, 
+        the thread will invoke the backgroundProcess method on this engine 
+        and all its child containers. If not specified, the default value for
+        this attribute is 10, which represent a 10 seconds delay.</p>
+      </td></tr><tr><td valign="center" align="left"><code>className</code></td><td valign="center" align="left">
+        <p>Java class name of the implementation to use.  This class must
+        implement the <code>org.apache.catalina.Engine</code> interface.
+        If not specified, the standard value (defined below) will be used.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>defaultHost</code></strong></td><td valign="center" align="left">
+        <p>The default host name, which identifies the
+        <a href="host.html">Host</a> that will process requests directed
+        to host names on this server, but which are not configured in
+        this configuration file.  This name MUST match the <code>name</code>
+        attributes of one of the <a href="host.html">Host</a> elements
+        nested immediately inside.</p>
+      </td></tr><tr><td valign="center" align="left"><code>jvmRoute</code></td><td valign="center" align="left">
+        <p>Identifier which must be used in load balancing scenarios to enable
+        session affinity. The identifier, which must be unique across all
+        Tomcat 6 servers which participate in the cluster, will be appended to
+        the generated session identifier, therefore allowing the front end
+        proxy to always forward a particular session to the same Tomcat 6
+        instance.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>name</code></strong></td><td valign="center" align="left">
+        <p>Logical name of this Engine, used in log and error messages. <em>When
+        using muliple <a href="service.html">Service</a> elements in the same
+        <a href="server.html">Server</a>, each Engine MUST be assigned a unique
+        name.</em></p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Standard Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The standard implementation of <strong>Engine</strong> is
+    <strong>org.apache.catalina.core.StandardEngine</strong>.
+    It supports the following additional attributes (in addition to the
+    common attributes listed above):</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nested Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>You can nest one or more <a href="host.html">Host</a> elements inside
+  this <strong>Engine</strong> element, each representing a different virtual
+  host associated with this server.  At least one <a href="host.html">Host</a>
+  is required, and one of the nested <a href="host.html">Hosts</a> MUST
+  have a name that matches the name specified for the
+  <code>defaultHost</code> attribute, listed above.</p>
+
+  <p>You can optional nest a <a href="defaultcontext.html">DefaultContext</a>
+  element inside this <strong>Engine</strong> element, to define the default
+  characteristics of web applications that are automatically deployed.</p>
+
+  <p>You can nest at most one instance of the following utility components
+  by nesting a corresponding element inside your <strong>Engine</strong>
+  element:</p>
+  <ul>
+  <li><a href="realm.html"><strong>Realm</strong></a> -
+      Configure a realm that will allow its
+      database of users, and their associated roles, to be shared across all
+      <a href="host.html">Hosts</a> and <a href="context.html">Contexts</a>
+      nested inside this Engine, unless overridden by a
+      <a href="realm.html">Realm</a> configuration at a lower level.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Special Features"><strong>Special Features</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Logging"><strong>Logging</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>An engine is associated with the 
+       <code>org.apache.catalina.core.ContainerBase.[enginename]</code>
+       log category.  Note that the brackets are actually part of the name,
+       don't omit them.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Access Logs"><strong>Access Logs</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>When you run a web server, one of the output files normally generated
+    is an <em>access log</em>, which generates one line of information for
+    each request processed by the server, in a standard format.  Catalina
+    includes an optional <a href="valve.html">Valve</a> implementation that
+    can create access logs in the same standard format created by web servers,
+    or in any number of custom formats.</p>
+
+    <p>You can ask Catalina to create an access log for all requests
+    processed by an <a href="engine.html">Engine</a>,
+    <a href="host.html">Host</a>, or <a href="context.html">Context</a>
+    by nesting a <a href="valve.html">Valve</a> element like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Engine name="Standalone" ...&gt;
+  ...
+  &lt;Valve className="org.apache.catalina.valves.AccessLogValve"
+         prefix="catalina_access_log." suffix=".txt"
+         pattern="common"/&gt;
+  ...
+&lt;/Engine&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+    <p>See <a href="valve.html#Access Log Valve">Access Log Valve</a>
+    for more information on the configuration attributes that are
+    supported.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Lifecycle Listeners"><strong>Lifecycle Listeners</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>If you have implemented a Java object that needs to know when this
+    <strong>Engine</strong> is started or stopped, you can declare it by
+    nesting a <strong>Listener</strong> element inside this element.  The
+    class name you specify must implement the
+    <code>org.apache.catalina.LifecycleListener</code> interface, and
+    it will be notified about the occurrence of the coresponding
+    lifecycle events.  Configuration of such a listener looks like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Engine name="Standalone" ...&gt;
+  ...
+  &lt;Listener className="com.mycompany.mypackage.MyListener" ... &gt;
+  ...
+&lt;/Engine&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+    <p>Note that a Listener can have any number of additional properties
+    that may be configured from this element.  Attribute names are matched
+    to corresponding JavaBean property names using the standard property
+    method naming patterns.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Request Filters"><strong>Request Filters</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>You can ask Catalina to check the IP address, or host name, on every
+    incoming request directed to the surrounding
+    <a href="engine.html">Engine</a>, <a href="host.html">Host</a>, or
+    <a href="context.html">Context</a> element.  The remote address or name
+    will be checked against a configured list of "accept" and/or "deny"
+    filters, which are defined using the Regular Expression syntax supported
+    by the <a href="http://jakarta.apache.org/regexp/">Jakarta Regexp</a>
+    regular expression library.  Requests that come from locations that are
+    not accepted will be rejected with an HTTP "Forbidden" error.
+    Example filter declarations:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Engine name="Standalone" ...&gt;
+  ...
+  &lt;Valve className="org.apache.catalina.valves.RemoteHostValve"
+         allow="*.mycompany.com,www.yourcompany.com"/&gt;
+  &lt;Valve className="org.apache.catalina.valves.RemoteAddrValve"
+         deny="192.168.1.*"/&gt;
+  ...
+&lt;/Engine&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+  <p>See <a href="valve.html#Remote Address Filter">Remote Address Filter</a>
+  and <a href="valve.html#Remote Host Filter">Remote Host Filter</a> for
+  more information about the configuration options that are supported.</p>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/config/executor.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/config/executor.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/config/executor.html	(revision 66)
@@ -0,0 +1,62 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Executor (thread pool)</title><meta value="Filip Hanik" name="author"><meta value="fhanik@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul><p><strong>Cluster Elements</strong></p><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul><p><strong>Global Settings</strong></p><ul><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Executor (thread pool)</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/executor.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The <strong>Executor</strong> represents a thread pool that can be shared 
+     between components in Tomcat. Historically there has been a thread pool per
+     connector created but this allows you to share a thread pool, between (primarly) connector
+     but also other components when those get configured to support executors</p>
+
+
+  <p>The executor has to implement the <code>org.apache.catalina.Executor</code> interface.</p>
+  
+  <p>The executor is a nested element to the <a href="service.html">Service</a> element.
+     And in order for it to be picked up by the connectors, the Executor element has to appear
+     prior to the Connector element in server.xml</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>All implementations of <strong>Executor</strong>
+  support the following attributes:</p>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>className</code></td><td valign="center" align="left">
+      <p>The class of the implementation. The implementation has to implement the 
+         <code>org.apache.catalina.Executor</code> interface.
+         This interface ensures that the object can be referenced through its <code>name</code> attribute
+         and that implements Lifecycle, so that it can be started and stopped with the container.
+         The default value for the className is <code>org.apache.catalina.core.StandardThreadExecutor</code></p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>name</code></strong></td><td valign="center" align="left">
+      <p>The name used to reference this pool in other places in server.xml.
+         The name is required and must be unique.</p>
+    </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Standard Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>
+  The default implementation supports the following attributes:</p>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>threadPriority</code></td><td valign="center" align="left">
+      <p>(int) The thread priority for threads in the executor, the default is <code>Thread.NORM_PRIORITY</code></p>
+    </td></tr><tr><td valign="center" align="left"><code>daemon</code></td><td valign="center" align="left">
+      <p>(boolean) Whether the threads should be daemon threads or not, the default is <code>true</code></p>
+    </td></tr><tr><td valign="center" align="left"><code>namePrefix</code></td><td valign="center" align="left">
+      <p>(String) The name prefix for each thread created by the executor.
+         The thread name for an individual thread will be <code>namePrefix+threadNumber</code></p>
+    </td></tr><tr><td valign="center" align="left"><code>maxThreads</code></td><td valign="center" align="left">
+      <p>(int) The max number of active threads in this pool, default is <code>200</code></p>
+    </td></tr><tr><td valign="center" align="left"><code>minSpareThreads</code></td><td valign="center" align="left">
+      <p>(int) The minimum number of threads always kept alive, default is <code>25</code></p>
+    </td></tr><tr><td valign="center" align="left"><code>maxIdleTime</code></td><td valign="center" align="left">
+      <p>(int) The number of milliseconds before an idle thread shutsdown, unless the number of active threads are less
+         or equal to minSpareThreads. Default value is <code>60000</code>(1 minute)</p>
+    </td></tr></table>
+
+
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/config/globalresources.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/config/globalresources.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/config/globalresources.html	(revision 66)
@@ -0,0 +1,199 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The GlobalNamingResources Component</title><meta value="Remy Maucherat" name="author"><meta value="remm@apache.org" name="email"><meta value="Yoav Shapira" name="author"><meta value="yoavs@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul><p><strong>Cluster Elements</strong></p><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul><p><strong>Global Settings</strong></p><ul><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The GlobalNamingResources Component</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/globalresources.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The <strong>GlobalNamingResources</strong> element defines the global
+  JNDI resources for the <a href="server.html">Server</a>.</p>
+
+  <p>These resources are listed in the server's global JNDI resource context.
+   This context is distinct from the per-web-application JNDI contexts 
+  described in
+  the <a href="../jndi-resources-howto.html">JNDI Resources HOW-TO</a>.
+  The resources defined in this element are <strong>not</strong> visible in
+  the per-web-application contexts unless you explicitly link them with
+  <a href="context.html#Resource Links">&lt;ResourceLink&gt;</a> elements.
+  </p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nested Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Special Features"><strong>Special Features</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Environment Entries"><strong>Environment Entries</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>You can configure named values that will be made visible to all
+    web applications as environment entry resources by nesting
+    <code>&lt;Environment&gt;</code> entries inside this element. For
+    example, you can create an environment entry like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;GlobalNamingResources ...&gt;
+  ...
+  &lt;Environment name="maxExemptions" value="10"
+         type="java.lang.Integer" override="false"/&gt;
+  ...
+&lt;/GlobalNamingResources&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+    <p>This is equivalent to the inclusion of the following element in the
+    web application deployment descriptor (<code>/WEB-INF/web.xml</code>):
+    </p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;env-entry&gt;
+  &lt;env-entry-name&gt;maxExemptions&lt;/env-entry-name&gt;
+  &lt;env-entry-value&gt;10&lt;/env-entry-value&gt;
+  &lt;env-entry-type&gt;java.lang.Integer&lt;/env-entry-type&gt;
+&lt;/env-entry&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+    <p>but does <em>not</em> require modification of the deployment descriptor
+    to customize this value.</p>
+
+    <p>The valid attributes for an <code>&lt;Environment&gt;</code> element
+    are as follows:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>description</code></td><td valign="center" align="left">
+        <p>Optional, human-readable description of this environment entry.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>name</code></strong></td><td valign="center" align="left">
+        <p>The name of the environment entry to be created, relative to the
+        <code>java:comp/env</code> context.</p>
+      </td></tr><tr><td valign="center" align="left"><code>override</code></td><td valign="center" align="left">
+        <p>Set this to <code>false</code> if you do <strong>not</strong> want
+        an <code>&lt;env-entry&gt;</code> for the same environment entry name,
+        found in the web application deployment descriptor, to override the
+        value specified here.  By default, overrides are allowed.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>type</code></strong></td><td valign="center" align="left">
+        <p>The fully qualified Java class name expected by the web application
+        for this environment entry.  Must be one of the legal values for
+        <code>&lt;env-entry-type&gt;</code> in the web application deployment
+        descriptor:  <code>java.lang.Boolean</code>,
+        <code>java.lang.Byte</code>, <code>java.lang.Character</code>,
+        <code>java.lang.Double</code>, <code>java.lang.Float</code>,
+        <code>java.lang.Integer</code>, <code>java.lang.Long</code>,
+        <code>java.lang.Short</code>, or <code>java.lang.String</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>value</code></strong></td><td valign="center" align="left">
+        <p>The parameter value that will be presented to the application
+        when requested from the JNDI context.  This value must be convertable
+        to the Java type defined by the <code>type</code> attribute.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Resource Definitions"><strong>Resource Definitions</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>You can declare the characteristics of resources
+    to be returned for JNDI lookups of <code>&lt;resource-ref&gt;</code> and
+    <code>&lt;resource-env-ref&gt;</code> elements in the web application
+    deployment descriptor by defining them in this element and then linking 
+    them with <a href="context.html#Resource Links">&lt;ResourceLink&gt;</a> 
+    elements
+    in the <code><strong>&lt;Context&gt;</strong></code> element.  
+
+    You <strong>MUST</strong> also define any other needed parameters using
+    attributes on the Resource element, to configure
+    the object factory to be used (if not known to Tomcat already), and
+    the properties used to configure that object factory.</p>
+
+    <p>For example, you can create a resource definition like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;GlobalNamingResources ...&gt;
+  ...
+  &lt;Resource name="jdbc/EmployeeDB" auth="Container"
+            type="javax.sql.DataSource"
+     description="Employees Database for HR Applications"/&gt;
+  ...
+&lt;/GlobalNamingResources&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+    <p>This is equivalent to the inclusion of the following element in the
+    web application deployment descriptor (<code>/WEB-INF/web.xml</code>):</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;resource-ref&gt;
+  &lt;description&gt;Employees Database for HR Applications&lt;/description&gt;
+  &lt;res-ref-name&gt;jdbc/EmployeeDB&lt;/res-ref-name&gt;
+  &lt;res-ref-type&gt;javax.sql.DataSource&lt;/res-ref-type&gt;
+  &lt;res-auth&gt;Container&lt;/res-auth&gt;
+&lt;/resource-ref&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+    <p>but does <em>not</em> require modification of the deployment
+    descriptor to customize this value.</p>
+
+    <p>The valid attriutes for a <code>&lt;Resource&gt;</code> element
+    are as follows:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>auth</code></td><td valign="center" align="left">
+        <p>Specify whether the web Application code signs on to the
+        corresponding resource manager programatically, or whether the
+        Container will sign on to the resource manager on behalf of the
+        application.  The value of this attribute must be
+        <code>Application</code> or <code>Container</code>.  This
+        attribute is <strong>required</strong> if the web application
+        will use a <code>&lt;resource-ref&gt;</code> element in the web
+        application deployment descriptor, but is optional if the
+        application uses a <code>&lt;resource-env-ref&gt;</code> instead.</p>
+      </td></tr><tr><td valign="center" align="left"><code>description</code></td><td valign="center" align="left">
+        <p>Optional, human-readable description of this resource.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>name</code></strong></td><td valign="center" align="left">
+        <p>The name of the resource to be created, relative to the
+        <code>java:comp/env</code> context.</p>
+      </td></tr><tr><td valign="center" align="left"><code>scope</code></td><td valign="center" align="left">
+        <p>Specify whether connections obtained through this resource
+        manager can be shared.  The value of this attribute must be
+        <code>Shareable</code> or <code>Unshareable</code>.  By default,
+        connections are assumed to be shareable.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>type</code></strong></td><td valign="center" align="left">
+        <p>The fully qualified Java class name expected by the web
+        application when it performs a lookup for this resource.</p>
+      </td></tr></table>
+
+
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Resource Links"><strong>Resource Links</strong></a></font></td></tr><tr><td><blockquote>
+    <p>Use <a href="context.html#Resource Links">&lt;ResourceLink&gt;</a> 
+    elements to link resources from the global context into 
+    per-web-application contexts. Here is an example of making a custom 
+    factory available to all applications in the server, based on the example 
+    definition in the 
+    <a href="../jndi-resources-howto.html#Generic JavaBean Resources">
+    JNDI Resource HOW-TO</a>:
+    </p>
+
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+      
+        &lt;DefaultContext&gt;
+          &lt;ResourceLink 
+            name="bean/MyBeanFactory"
+            global="bean/MyBeanFactory"
+            type="com.mycompany.MyBean"
+          /&gt;
+        &lt;/DefaultContext&gt;
+      
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+   </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Transaction"><strong>Transaction</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>You can declare the characteristics of the UserTransaction
+    to be returned for JNDI lookup for <code>java:comp/UserTransaction</code>. 
+    You <strong>MUST</strong> define an object factory class to instantiate
+    this object as well as the needed resource parameters as attributes of the 
+    <code>Transaction</code> 
+    element, and the properties used to configure that object factory.</p>
+
+    <p>The valid attributes for the <code>&lt;Transaction&gt;</code> element
+    are as follows:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>factory</code></strong></td><td valign="center" align="left">
+        <p>The class name for the JNDI object factory.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/config/host.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/config/host.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/config/host.html	(revision 66)
@@ -0,0 +1,481 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Host Container</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"><meta value="Remy Maucherat" name="author"><meta value="remm@apache.org" name="email"><meta value="Yoav Shapira" name="author"><meta value="yoavs@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul><p><strong>Cluster Elements</strong></p><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul><p><strong>Global Settings</strong></p><ul><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Host Container</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/host.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The <strong>Host</strong> element represents a <em>virtual host</em>,
+  which is an association of a network name for a server (such as
+  "www.mycompany.com" with the particular server on which Catalina is
+  running.  In order to be effective, this name must be registered in the
+  <em>Domain Name Service</em> (DNS) server that manages the Internet
+  domain you belong to - contact your Network Administrator for more
+  information.</p>
+
+  <p>In many cases, System Administrators wish to associate more than
+  one network name (such as <code>www.mycompany.com</code> and
+  <code>company.com</code>) with the same virtual host and applications.
+  This can be accomplished using the <a href="#Host Name Aliases">Host
+  Name Aliases</a> feature discussed below.</p>
+
+  <p>One or more <strong>Host</strong> elements are nested inside an
+  <a href="engine.html">Engine</a> element.  Inside the Host element, you
+  can nest <a href="context.html">Context</a> elements for the web
+  applications associated with this virtual host.  Exactly one of the Hosts
+  associated with each Engine MUST have a name matching the
+  <code>defaultHost</code> attribute of that Engine.</p>
+
+    <blockquote><em>
+    <p>The description below uses the variable name $CATALINA_BASE to refer the
+    base directory against which most relative paths are resolved. If you have
+    not configured Tomcat 6 for multiple instances by setting a CATALINA_BASE
+    directory, then $CATALINA_BASE will be set to the value of $CATALINA_HOME,
+    the directory into which you have installed Tomcat 6.</p>
+    </em></blockquote>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>All implementations of <strong>Host</strong>
+    support the following attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>appBase</code></strong></td><td valign="center" align="left">
+        <p>The <em>Application Base</em> directory for this virtual host.
+        This is the pathname of a directory that may contain web applications
+        to be deployed on this virtual host.  You may specify an
+        absolute pathname for this directory, or a pathname that is relative
+        to the <code>$CATALINA_BASE</code> directory.  See
+        <a href="#Automatic Application Deployment">Automatic Application
+        Deployment</a> for more information on automatic recognition and
+        deployment of web applications to be deployed automatically.</p>
+      </td></tr><tr><td valign="center" align="left"><code>autoDeploy</code></td><td valign="center" align="left">
+        <p>This flag value indicates if new web applications, dropped in to
+        the <code>appBase</code> directory while Tomcat is running, should
+        be automatically deployed.  The flag's value defaults to true.  See
+        <a href="#Automatic Application Deployment">Automatic Application
+        Deployment</a> for more information.</p>
+      </td></tr><tr><td valign="center" align="left"><code>backgroundProcessorDelay</code></td><td valign="center" align="left">
+        <p>This value represents the delay in seconds between the 
+        invocation of the backgroundProcess method on this host and 
+        its child containers, including all contexts. 
+        Child containers will not be invoked if their delay value is not 
+        negative (which would mean they are using their own processing 
+        thread). Setting this to a positive value will cause 
+        a thread to be spawn. After waiting the specified amount of time, 
+        the thread will invoke the backgroundProcess method on this host 
+        and all its child containers. A host will use background processing to
+        perform live web application deployment related tasks. If not 
+        specified, the default value for this attribute is -1, which means 
+        the host will rely on the background processing thread of its parent 
+        engine.</p>
+      </td></tr><tr><td valign="center" align="left"><code>className</code></td><td valign="center" align="left">
+        <p>Java class name of the implementation to use.  This class must
+        implement the <code>org.apache.catalina.Host</code> interface.
+        If not specified, the standard value (defined below) will be used.</p>
+      </td></tr><tr><td valign="center" align="left"><code>deployOnStartup</code></td><td valign="center" align="left">
+        <p>This flag value indicates if web applications from this host should
+        be automatically deployed by the host configurator.
+        The flag's value defaults to true.  See
+        <a href="#Automatic Application Deployment">Automatic Application
+        Deployment</a> for more information.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>name</code></strong></td><td valign="center" align="left">
+        <p>Network name of this virtual host, as registered in your
+        <em>Domain Name Service</em> server.  One of the Hosts nested within
+        an <a href="engine.html">Engine</a> MUST have a name that matches the
+        <code>defaultHost</code> setting for that Engine.  See
+        <a href="#Host Name Aliases">Host Name Aliases</a> for information
+        on how to assign more than one network name to the same
+        virtual host.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Standard Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The standard implementation of <strong>Host</strong> is
+    <strong>org.apache.catalina.core.StandardHost</strong>.
+    It supports the following additional attributes (in addition to the
+    common attributes listed above):</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>deployXML</code></td><td valign="center" align="left">
+        <p>Set to <code>false</code> if you want to disable parsing the context.xml
+        file embedded inside the application (located at <code>/META-INF/context.xml</code>). 
+        Security consious environments should set this to <code>false</code> to prevent
+        applications from interacting with the container's configuration. The 
+        administrator will then be responsible for providing an external context 
+        configuration file, and put it in 
+        <code>$CATALINA_BASE/conf/[enginename]/[hostname]/</code>.
+        The flag's value defaults to <code>true</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>errorReportValveClass</code></td><td valign="center" align="left">
+        <p>Java class name of the error reporting valve which will be used
+        by this Host. The responsability of this valve is to output error
+        reports. Setting this property allows to customize the look of the
+        error pages which will be generated by Tomcat. This class must
+        implement the
+        <code>org.apache.catalina.Valve</code> interface. If none is specified,
+        the value <code>org.apache.catalina.valves.ErrorReportValve</code>
+        will be used by default.</p>
+      </td></tr><tr><td valign="center" align="left"><code>unpackWARs</code></td><td valign="center" align="left">
+        <p>Set to <code>true</code> if you want web applications that are
+        placed in the <code>appBase</code> directory as web application
+        archive (WAR) files to be unpacked into a corresponding disk directory
+        structure, <code>false</code> to run such web applications directly
+        from a WAR file.  See
+        <a href="#Automatic Application Deployment">Automatic Application
+        Deployment</a> for more information.</p>
+      </td></tr><tr><td valign="center" align="left"><code>workDir</code></td><td valign="center" align="left">
+        <p>Pathname to a scratch directory to be used by applications for
+        this Host. Each application will have its own sub directory with
+        temporary read-write use.  Configuring a Context workDir will override
+        use of the Host workDir configuration.  This directory will be made
+        visible to servlets in the web application by a servlet context
+        attribute (of type <code>java.io.File</code>) named
+        <code>javax.servlet.context.tempdir</code> as described in the
+        Servlet Specification.  If not specified, a suitable directory
+        underneath <code>$CATALINA_BASE/work</code> will be provided.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nested Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>You can nest one or more <a href="context.html">Context</a> elements
+  inside this <strong>Host</strong> element, each representing a different web
+  application associated with this virtual host.</p>
+
+  <p>You can nest at most one instance of the following utility components
+  by nesting a corresponding element inside your <strong>Host</strong>
+  element:</p>
+  <ul>
+  <li><a href="realm.html"><strong>Realm</strong></a> -
+      Configure a realm that will allow its
+      database of users, and their associated roles, to be shared across all
+      <a href="context.html">Contexts</a> nested inside this Host (unless
+      overridden by a <a href="realm.html">Realm</a> configuration
+      at a lower level).</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Special Features"><strong>Special Features</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Logging"><strong>Logging</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>A host is associated with the 
+       <code>org.apache.catalina.core.ContainerBase.[enginename].[hostname]</code>
+       log category.  Note that the brackets are actuall part of the name,
+       don't omit them.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Access Logs"><strong>Access Logs</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>When you run a web server, one of the output files normally generated
+    is an <em>access log</em>, which generates one line of information for
+    each request processed by the server, in a standard format.  Catalina
+    includes an optional <a href="valve.html">Valve</a> implementation that
+    can create access logs in the same standard format created by web servers,
+    or in any number of custom formats.</p>
+
+    <p>You can ask Catalina to create an access log for all requests
+    processed by an <a href="engine.html">Engine</a>,
+    <a href="host.html">Host</a>, or <a href="context.html">Context</a>
+    by nesting a <a href="valve.html">Valve</a> element like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Host name="localhost" ...&gt;
+  ...
+  &lt;Valve className="org.apache.catalina.valves.AccessLogValve"
+         prefix="localhost_access_log." suffix=".txt"
+         pattern="common"/&gt;
+  ...
+&lt;/Host&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+    <p>See <a href="valve.html#Access Log Valve">Access Log Valve</a>
+    for more information on the configuration attributes that are
+    supported.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Automatic Application Deployment"><strong>Automatic Application Deployment</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>If you are using the standard <strong>Host</strong> implementation,
+    the following actions take place automatically when Catalina is first
+    started, if the <code>deployOnStartup</code> property is set to
+    <code>true</code> (which is the default value):</p>
+    <ul>
+    <li>Any XML file in the 
+        <code>$CATALINA_BASE/conf/[engine_name]/[host_name]</code> directory is
+        assumed to contain a
+        <a href="context.html">Context</a> element (and its associated
+        subelements) for a single web application.  The <code>docBase</code>
+        attribute of this <code>&lt;Context&gt;</code> element will typically
+        be the absolute pathname to a web application directory, or the
+        absolute pathname of a web application archive (WAR) file (which
+        will not be expanded). The path attribute will be automatically set
+        as defined in the <a href="context.html">Context</a> documentation.</li>
+    <li>Any web application archive file within the application base (appBase)
+        directory that does not have a corresponding
+        directory of the same name (without the ".war" extension) will be
+        automatically expanded, unless the <code>unpackWARs</code> property
+        is set to <code>false</code>.  If you redeploy an updated WAR file,
+        be sure to delete the expanded directory when restarting Tomcat, so
+        that the updated WAR file will be re-expanded (note that the auto
+        deployer, if enabled, will automatically expand the updated WAR file
+        once the previously expanded directory is removed).</li>
+    <li>Any subdirectory within the <em>application base directory</em>
+        will receive an automatically generated <a href="context.html">
+        Context</a> element, even if this directory is not mentioned in the
+        <code>conf/server.xml</code> file.
+        This generated Context entry will be configured according to the
+        properties set in any <a href="defaultcontext.html">DefaultContext</a>
+        element nested in this Host element.  The context path for this
+        deployed Context will be a slash character ("/") followed by the
+        directory name, unless the directory name is ROOT, in which case
+        the context path will be an empty string ("").</li>
+    </ul>
+
+    <p>In addition to the automatic deployment that occurs at startup time,
+    you can also request that new XML configuration files, WAR files, or
+    subdirectories that are dropped in to the <code>appBase</code> (or 
+    <code>$CATALINA_BASE/conf/[engine_name]/[host_name]</code> in the case of
+    an XML configuration file) directory while Tomcat is running will be
+    automatically deployed, according to the rules described above. The 
+    auto deployer will also track web applications for the following changes:
+    <ul>
+        <li>An update to the WEB-INF/web.xml file will trigger a reload of the
+        web application</li>
+        <li>An update to a WAR which has been expanded will trigger 
+        an undeploy (<strong>with a removal of the expanded webapp</strong>), 
+        followed by a deployment</li>
+        <li>An update to a XML configuration file will trigger an undeploy
+        (without the removal of any expanded directory), followed by 
+        a deployment of the associated web application</li>
+    </ul>
+    </p>
+
+    <p>When using automatic deployment, the <code>docBase</code> defined by
+    an XML <a href="context.html">Context</a> file should be outside of the
+    <code>appBase</code> directory. If this is not the case difficulties
+    may be experienced deploying the web application or the application may
+    be deployed twice.</p>
+
+    <p>Finally, note that if you are defining contexts explicitly, you should
+    probably turn off automatic application deployment.  Otherwise, your context
+    will be deployed twice each, and that may cause problems for your app.
+    </p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Host Name Aliases"><strong>Host Name Aliases</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>In many server environments, Network Administrators have configured
+    more than one network name (in the <em>Domain Name Service</em> (DNS)
+    server), that resolve to the IP address of the same server.  Normally,
+    each such network name would be configured as a separate
+    <strong>Host</strong> element in <code>conf/server.xml</code>, each
+    with its own set of web applications.</p>
+
+    <p>However, in some circumstances, it is desireable that two or more
+    network names should resolve to the <strong>same</strong> virtual host,
+    running the same set of applications.  A common use case for this
+    scenario is a corporate web site, where it is desireable that users
+    be able to utilize either <code>www.mycompany.com</code> or
+    <code>company.com</code> to access exactly the same content and
+    applications.</p>
+
+    <p>This is accomplished by utilizing one or more <strong>Alias</strong>
+    elements nested inside your <strong>Host</strong> element.  For
+    example:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Host name="www.mycompany.com" ...&gt;
+  ...
+  &lt;Alias&gt;mycompany.com&lt;/Alias&gt;
+  ...
+&lt;/Host&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+    <p>In order for this strategy to be effective, all of the network names
+    involved must be registered in your DNS server to resolve to the
+    same computer that is running this instance of Catalina.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Lifecycle Listeners"><strong>Lifecycle Listeners</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>If you have implemented a Java object that needs to know when this
+    <strong>Host</strong> is started or stopped, you can declare it by
+    nesting a <strong>Listener</strong> element inside this element.  The
+    class name you specify must implement the
+    <code>org.apache.catalina.LifecycleListener</code> interface, and
+    it will be notified about the occurrence of the coresponding
+    lifecycle events.  Configuration of such a listener looks like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Host name="localhost" ...&gt;
+  ...
+  &lt;Listener className="com.mycompany.mypackage.MyListener" ... &gt;
+  ...
+&lt;/Host&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+    <p>Note that a Listener can have any number of additional properties
+    that may be configured from this element.  Attribute names are matched
+    to corresponding JavaBean property names using the standard property
+    method naming patterns.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Request Filters"><strong>Request Filters</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>You can ask Catalina to check the IP address, or host name, on every
+    incoming request directed to the surrounding
+    <a href="engine.html">Engine</a>, <a href="host.html">Host</a>, or
+    <a href="context.html">Context</a> element.  The remote address or name
+    will be checked against a configured list of "accept" and/or "deny"
+    filters, which are defined using the Regular Expression syntax supported
+    by the <a href="http://jakarta.apache.org/regexp/">Jakarta Regexp</a>
+    regular expression library.  Requests that come from locations that are
+    not accepted will be rejected with an HTTP "Forbidden" error.
+    Example filter declarations:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Host name="localhost" ...&gt;
+  ...
+  &lt;Valve className="org.apache.catalina.valves.RemoteHostValve"
+         allow="*.mycompany.com,www.yourcompany.com"/&gt;
+  &lt;Valve className="org.apache.catalina.valves.RemoteAddrValve"
+         deny="192.168.1.*"/&gt;
+  ...
+&lt;/Host&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+  <p>See <a href="valve.html#Remote Address Filter">Remote Address Filter</a>
+  and <a href="valve.html#Remote Host Filter">Remote Host Filter</a> for
+  more information about the configuration options that are supported.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Single Sign On"><strong>Single Sign On</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>In many environments, but particularly in portal environments, it
+    is desireable to have a user challenged to authenticate themselves only
+    once over a set of web applications deployed on a particular virtual
+    host.  This can be accomplished by nesting an element like this inside
+    the Host element for this virtual host:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Host name="localhost" ...&gt;
+  ...
+  &lt;Valve className="org.apache.catalina.authenticator.SingleSignOn"
+         debug="0"/&gt;
+  ...
+&lt;/Host&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+    <p>The Single Sign On facility operates according to the following rules:
+    </p>
+    <ul>
+    <li>All web applications configured for this virtual host must share the
+        same <a href="realm.html">Realm</a>.  In practice, that means you can
+        nest the Realm element inside this Host element (or the surrounding
+        <a href="engine.html">Engine</a> element), but not inside a
+        <a href="context.html">Context</a> element for one of the involved
+        web applications.</li>
+    <li>As long as the user accesses only unprotected resources in any of the
+        web applications on this virtual host, they will not be challenged
+        to authenticate themselves.</li>
+    <li>As soon as the user accesses a protected resource in
+        <strong>any</strong> web application associated with this virtual
+        host, the user will be challenged to authenticate himself or herself,
+        using the login method defined for the web application currently
+        being accessed.</li>
+    <li>Once authenticated, the roles associated with this user will be
+        utilized for access control decisions across <strong>all</strong>
+        of the associated web applications, without challenging the user
+        to authenticate themselves to each application individually.</li>
+    <li>As soon as the user logs out of one web application (for example,
+        by invalidating the corresponding session if form
+        based login is used), the user's sessions in <strong>all</strong>
+        web applications will be invalidated.  Any subsequent attempt to
+        access a protected resource in any application will require the
+        user to authenticate himself or herself again.</li>
+    <li>The Single Sign On feature utilizes HTTP cookies to transmit a token
+        that associates each request with the saved user identity, so it can
+        only be utilized in client environments that support cookies.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="User Web Applications"><strong>User Web Applications</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>Many web servers can automatically map a request URI starting with
+    a tilde character ("~") and a username to a directory (commonly named
+    <code>public_html</code>) in that user's home directory on the server.
+    You can accomplish the same thing in Catalina by using a special
+    <strong>Listener</strong> element like this (on a Unix system that
+    uses the <code>/etc/passwd</code> file to identify valid users):</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Host name="localhost" ...&gt;
+  ...
+  &lt;Listener className="org.apache.catalina.startup.UserConfig"
+            directoryName="public_html"
+            userClass="org.apache.catalina.startup.PasswdUserDatabase"/&gt;
+  ...
+&lt;/Host&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+    <p>On a server where <code>/etc/passwd</code> is not in use, you can
+    request Catalina to consider all directories found in a specified base
+    directory (such as <code>c:\Homes</code> in this example) to be
+    considered "user home" directories for the purposes of this directive:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Host name="localhost" ...&gt;
+  ...
+  &lt;Listener className="org.apache.catalina.startup.UserConfig"
+            directoryName="public_html"
+            homeBase=c:\Homes"
+            userClass="org.apache.catalina.startup.HomesUserDatabase"/&gt;
+  ...
+&lt;/Host&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+    <p>If a user home directory has been set up for a user named
+    <code>craigmcc</code>, then its contents will be visible from a
+    client browser by making a request to a URL like:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://www.mycompany.com:8080/~craigmcc
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+    <p>Successful use of this feature requires recognition of the following
+    considerations:</p>
+    <ul>
+    <li>Each user web application will be deployed with characteristics
+        established by any <a href="defaultcontext.html">DefaultContext</a>
+        element you have configured for this Host.</li>
+    <li>It is legal to include more than one instance of this Listener
+        element.  This would only be useful, however, in circumstances
+        where you wanted to configure more than one "homeBase" directory.</li>
+    <li>The operating system username under which Catalina is executed
+        MUST have read access to each user's web application directory,
+        and all of its contents.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/config/http.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/config/http.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/config/http.html	(revision 66)
@@ -0,0 +1,565 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The HTTP Connector</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"><meta value="Yoav Shapira" name="author"><meta value="yoavs@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul><p><strong>Cluster Elements</strong></p><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul><p><strong>Global Settings</strong></p><ul><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The HTTP Connector</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/http.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The <strong>HTTP Connector</strong> element represents a
+  <strong>Connector</strong> component that supports the HTTP/1.1 protocol.
+  It enables Catalina to function as a stand-alone web server, in addition
+  to its ability to execute servlets and JSP pages.  A particular instance
+  of this component listens for connections on a specific TCP port number
+  on the server.  One or more such <strong>Connectors</strong> can be
+  configured as part of a single <a href="service.html">Service</a>, each
+  forwarding to the associated <a href="engine.html">Engine</a> to perform
+  request processing and create the response.</p>
+
+  <p>If you wish to configure the <strong>Connector</strong> that is used
+  for connections to web servers using the AJP protocol (such as the
+  <code>mod_jk 1.2.x</code> connector for Apache 1.3), see
+  <a href="ajp.html">here</a> instead.</p>
+
+  <p>Each incoming request requires
+  a thread for the duration of that request.  If more simultaneous requests
+  are received than can be handled by the currently available request
+  processing threads, additional threads will be created up to the
+  configured maximum (the value of the <code>maxThreads</code> attribute).
+  If still more simultaneous requests are received, they are stacked up
+  inside the server socket created by the <strong>Connector</strong>, up to
+  the configured maximum (the value of the <code>acceptCount</code>
+  attribute.  Any further simultaneous requests will receive "connection
+  refused" errors, until resources are available to process them.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>All implementations of <strong>Connector</strong>
+  support the following attributes:</p>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>allowTrace</code></td><td valign="center" align="left">
+      <p>A boolean value which can be used to enable or disable the TRACE
+      HTTP method. If not specified, this attribute is set to false.</p>
+    </td></tr><tr><td valign="center" align="left"><code>emptySessionPath</code></td><td valign="center" align="left">
+      <p>If set to <code>true</code>, all paths for session cookies will be set
+      to <code>/</code>. This can be useful for portlet specification implementations.
+      If not specified, this attribute is set to <code>false</code>.</p>
+    </td></tr><tr><td valign="center" align="left"><code>enableLookups</code></td><td valign="center" align="left">
+      <p>Set to <code>true</code> if you want calls to
+      <code>request.getRemoteHost()</code> to perform DNS lookups in
+      order to return the actual host name of the remote client.  Set
+      to <code>false</code> to skip the DNS lookup and return the IP
+      address in String form instead (thereby improving performance).
+      By default, DNS lookups are enabled.</p>
+    </td></tr><tr><td valign="center" align="left"><code>maxPostSize</code></td><td valign="center" align="left">
+      <p>The maximum size in bytes of the POST which will be handled by
+      the container FORM URL parameter parsing. The limit can be disabled by
+      setting this attribute to a value less than or equal to 0.
+      If not specified, this attribute is set to 2097152 (2 megabytes).</p>
+    </td></tr><tr><td valign="center" align="left"><code>maxSavePostSize</code></td><td valign="center" align="left">
+      <p>The maximum size in bytes of the POST which will be saved/buffered by
+      the container during FORM or CLIENT-CERT authentication. For both types
+      of authentication, the POST will be saved/buffered before the user is
+      authenticated. For CLIENT-CERT authentication, the POST is buffered for
+      the duration of
+ the SSL handshake and the buffer emptied when the request
+      is processed. For FORM authentication the POST is
+ saved whilst the user
+      is re-directed to the login form and is retained until the user
+      successfully authenticates or the session associated with the
+      authentication request expires. The limit can be disabled by setting this
+      attribute to -1. Setting the attribute to
+ zero will disable the saving of
+      POST data during authentication
+. If not
+ specified, this attribute is set
+      to
+ 4096 (4 kilobytes).</p>
+    </td></tr><tr><td valign="center" align="left"><code>protocol</code></td><td valign="center" align="left">
+      <p>
+        Sets the protocol to handle incoming traffic.
+        The default value is <code>HTTP/1.1</code> and configures the 
+        <code>org.apache.coyote.http11.Http11Protocol</code>. This is the blocking Java connector.<br>
+        If the <code>PATH(Windows)</code> or <code>LD_LIBRARY_PATH(on most unix system)</code>  
+        environment variables contain the Tomcat native library, the APR connector
+        will automatically be configured. Please be advised that the APR connector has different
+        settings for HTTPS than the default Java connector.<br>
+        Other values for this attribute are, but not limited to:<br>
+        <code>org.apache.coyote.http11.Http11Protocol</code> - same as HTTP/1.1<br>
+        <code>org.apache.coyote.http11.Http11NioProtocol</code> - non blocking Java connector<br>
+        <code>org.apache.coyote.http11.Http11AprProtocol</code> - the APR connector.<br>
+        Take a look at our <a href="#Connector Comparison">Connector Comparison</a> chart.
+        The configuration for both Java connectors are identical, both for http and https. <br>
+        For more information on the APR connector and APR specific SSL settings please 
+        visit the <a href="../apr.html">APR documentation</a>
+        
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>proxyName</code></td><td valign="center" align="left">
+      <p>If this <strong>Connector</strong> is being used in a proxy
+      configuration, configure this attribute to specify the server name
+      to be returned for calls to <code>request.getServerName()</code>.
+      See <a href="#Proxy Support">Proxy Support</a> for more
+      information.</p>
+    </td></tr><tr><td valign="center" align="left"><code>proxyPort</code></td><td valign="center" align="left">
+      <p>If this <strong>Connector</strong> is being used in a proxy
+      configuration, configure this attribute to specify the server port
+      to be returned for calls to <code>request.getServerPort()</code>.
+      See <a href="#Proxy Support">Proxy Support</a> for more
+      information.</p>
+    </td></tr><tr><td valign="center" align="left"><code>redirectPort</code></td><td valign="center" align="left">
+      <p>If this <strong>Connector</strong> is supporting non-SSL
+      requests, and a request is received for which a matching
+      <code>&lt;security-constraint&gt;</code> requires SSL transport,
+      Catalina will automatically redirect the request to the port
+      number specified here.</p>
+    </td></tr><tr><td valign="center" align="left"><code>SSLEnabled</code></td><td valign="center" align="left">
+      <p>
+      Use this attribute to enable SSL traffic on a connector.
+      To turn on SSL handshake/encryption/decryption on a connector
+      set this value to <code>true</code>.
+      The default value is <code>false</code>.
+      When turning this value <code>true</code> you will want to set the 
+      <code>scheme</code> and the <code>secure</code> attributes as well
+      to pass the correct <code>request.getScheme()</code> and 
+      <code>request.isSecure()</code> values to the servlets
+      See <a href="#SSL Support">SSL Support</a> for more information.
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>scheme</code></td><td valign="center" align="left">
+      <p>Set this attribute to the name of the protocol you wish to have
+      returned by calls to <code>request.getScheme()</code>.  For
+      example, you would set this attribute to "<code>https</code>"
+      for an SSL Connector.  The default value is "<code>http</code>".
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>secure</code></td><td valign="center" align="left">
+      <p>Set this attribute to <code>true</code> if you wish to have
+      calls to <code>request.isSecure()</code> to return <code>true</code>
+      for requests received by this Connector. You would want this on an
+      SSL Connector or a non SSL connector that is receiving data from a 
+      SSL accelerator, like a crypto card, a SSL appliance or even a webserver.
+      The default value is <code>false</code>.</p>
+    </td></tr><tr><td valign="center" align="left"><code>URIEncoding</code></td><td valign="center" align="left">
+      <p>This specifies the character encoding used to decode the URI bytes,
+      after %xx decoding the URL. If not specified, ISO-8859-1 will be used.
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>useBodyEncodingForURI</code></td><td valign="center" align="left">
+      <p>This specifies if the encoding specified in contentType should be used
+      for URI query parameters, instead of using the URIEncoding. This
+      setting is present for compatibility with Tomcat 4.1.x, where the
+      encoding specified in the contentType, or explicitely set using
+      Request.setCharacterEncoding method was also used for the parameters from
+      the URL. The default value is <code>false</code>.
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>useIPVHosts</code></td><td valign="center" align="left">
+      <p>Set this attribute to <code>true</code> to cause Tomcat to use
+      the IP address that the request was recieved on to determine the Host
+      to send the request to.  The default value is <code>false</code>.</p>
+    </td></tr><tr><td valign="center" align="left"><code>xpoweredBy</code></td><td valign="center" align="left">
+      <p>Set this attribute to <code>true</code> to cause Tomcat to advertise
+      support for the Servlet specification using the header recommended in the
+      specification.  The default value is <code>false</code>.</p>
+    </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Standard Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>
+  HTTP supports the following additional attributes (in addition to the
+  common attributes listed above):</p>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>acceptCount</code></td><td valign="center" align="left">
+      <p>The maximum queue length for incoming connection requests when
+      all possible request processing threads are in use.  Any requests
+      received when the queue is full will be refused.  The default
+      value is 10.</p>
+    </td></tr><tr><td valign="center" align="left"><code>address</code></td><td valign="center" align="left">
+      <p>For servers with more than one IP address, this attribute
+      specifies which address will be used for listening on the specified
+      port.  By default, this port will be used on all IP addresses
+      associated with the server.</p>
+    </td></tr><tr><td valign="center" align="left"><code>bufferSize</code></td><td valign="center" align="left">
+      <p>The size (in bytes) of the buffer to be provided for input
+      streams created by this connector.  By default, buffers of
+      2048 bytes will be provided.</p>
+    </td></tr><tr><td valign="center" align="left"><code>compressableMimeType</code></td><td valign="center" align="left">
+      <p>The value is a comma separated list of MIME types for which HTTP
+      compression may be used.
+      The default value is <code>text/html,text/xml,text/plain</code>.</p>
+    </td></tr><tr><td valign="center" align="left"><code>compression</code></td><td valign="center" align="left">
+      <p>The <strong>Connector</strong> may use HTTP/1.1 GZIP compression in
+      an attempt to save server bandwidth. The acceptable values for the
+      parameter is "off" (disable compression), "on" (allow compression, which
+      causes text data to be compressed), "force" (forces compression in all
+      cases), or a numerical integer value (which is equivalent to "on", but
+      specifies the minimum amount of data before the output is compressed). If
+      the content-length is not known and compression is set to "on" or more
+      aggressive, the output will also be compressed. If not specified, this
+      attribute is set to "off".</p>
+    </td></tr><tr><td valign="center" align="left"><code>connectionLinger</code></td><td valign="center" align="left">
+      <p>The number of milliseconds during which the sockets used by this
+      <strong>Connector</strong> will linger when they are closed.
+      The default value is -1 (socket linger is disabled).</p>
+    </td></tr><tr><td valign="center" align="left"><code>connectionTimeout</code></td><td valign="center" align="left">
+      <p>The number of milliseconds this <strong>Connector</strong> will wait,
+      after accepting a connection, for the request URI line to be
+      presented.  The default value is 60000 (i.e. 60 seconds).</p>
+    </td></tr><tr><td valign="center" align="left"><code>executor</code></td><td valign="center" align="left">
+      <p>A reference to the name in an <a href="executor.html">Executor</a> element.
+         If this attribute is enabled, and the named executor exists, the connector will
+         use the executor, and all the other thread attributes will be ignored.</p>
+    </td></tr><tr><td valign="center" align="left"><code>keepAliveTimeout</code></td><td valign="center" align="left">
+      <p>The number of milliseconds this <strong>Connector</strong> will wait for
+       another HTTP request before closing the connection.
+       The default value is to use the value that has been set for the
+       connectionTimeout attribute.</p>
+    </td></tr><tr><td valign="center" align="left"><code>disableUploadTimeout</code></td><td valign="center" align="left">
+      <p>This flag allows the servlet container to use a different, longer
+      connection timeout while a servlet is being executed, which in the end
+      allows either the servlet a longer amount of time to complete its
+      execution, or a longer timeout during data upload. If not specified,
+      this attribute is set to "true".</p>
+    </td></tr><tr><td valign="center" align="left"><code>maxHttpHeaderSize</code></td><td valign="center" align="left">
+      <p>The maximum size of the request and response HTTP header, specified
+      in bytes.
+      If not specified, this attribute is set to 4096 (4 KB).</p>
+    </td></tr><tr><td valign="center" align="left"><code>maxKeepAliveRequests</code></td><td valign="center" align="left">
+      <p>The maximum number of HTTP requests which can be pipelined until
+      the connection is closed by the server. Setting this attribute to 1 will
+      disable HTTP/1.0 keep-alive, as well as HTTP/1.1 keep-alive and
+      pipelining. Setting this to -1 will allow an unlimited amount of
+      pipelined or keep-alive HTTP requests.
+      If not specified, this attribute is set to 100.</p>
+    </td></tr><tr><td valign="center" align="left"><code>maxThreads</code></td><td valign="center" align="left">
+      <p>The maximum number of request processing threads to be created
+      by this <strong>Connector</strong>, which therefore determines the
+      maximum number of simultaneous requests that can be handled.  If
+      not specified, this attribute is set to 40. If an executor is associated
+      with this connector, this attribute is ignored as the connector will 
+      execute tasks using the executor rather than an internal thread pool.</p>
+    </td></tr><tr><td valign="center" align="left"><code>noCompressionUserAgents</code></td><td valign="center" align="left">
+      <p>The value is a comma separated list of regular expressions matching
+      user-agents of HTTP clients for which compression should not be used,
+      because these clients, although they do advertise support for the
+      feature, have a broken implementation.
+      The default value is an empty String (regexp matching disabled).</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>port</code></strong></td><td valign="center" align="left">
+      <p>The TCP port number on which this <strong>Connector</strong>
+      will create a server socket and await incoming connections.  Your
+      operating system will allow only one server application to listen
+      to a particular port number on a particular IP address.</p>
+    </td></tr><tr><td valign="center" align="left"><code>restrictedUserAgents</code></td><td valign="center" align="left">
+      <p>The value is a comma separated list of regular expressions matching
+      user-agents of HTTP clients for which HTTP/1.1 or HTTP/1.0 keep alive
+      should not be used, even if the clients advertise support for these
+      features.
+      The default value is an empty String (regexp matching disabled).</p>
+    </td></tr><tr><td valign="center" align="left"><code>server</code></td><td valign="center" align="left">
+      <p>The Server header for the http response.
+         Unless you are paranoid, you won't need this feature.
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>socketBuffer</code></td><td valign="center" align="left">
+      <p>The size (in bytes) of the buffer to be provided for socket
+      output buffering. -1 can be specified to disable the use of a buffer.
+      By default, a buffers of 9000 bytes will be used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>tcpNoDelay</code></td><td valign="center" align="left">
+      <p>If set to <code>true</code>, the TCP_NO_DELAY option will be
+      set on the server socket, which improves performance under most
+      circumstances.  This is set to <code>true</code> by default.</p>
+    </td></tr><tr><td valign="center" align="left"><code>threadPriority</code></td><td valign="center" align="left">
+      <p>The priority of the request processing threads within the JVM.
+      The default value is <code>java.lang.Thread#NORM_PRIORITY</code>.
+      See the JavaDoc for the java.lang.Thread class for more details on
+      what this priority means.
+      </p>
+    </td></tr></table>
+
+  </blockquote></td></tr></table>
+  
+    <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nio Implementation"><strong>Nio Implementation</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The NIO connector exposes all the low level socket properties that can be used to tune the connector.
+    Most of these attributes are directly linked to the socket implementation in the JDK so you can find out 
+    about the actual meaning in the JDK API documentation.<br>
+    <strong>Note</strong>On some JDK versions, setTrafficClass causes a problem, a work around for this is to add 
+    the <code>-Djava.net.preferIPv4Stack=true</code> value to your command line</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>useSendfile</code></td><td valign="center" align="left">
+        <p>(bool)Use this attribute to enable or disable sendfile capability.
+           The default value is <code>true</code>
+        </p>
+      </td></tr><tr><td valign="center" align="left"><code>useExecutor</code></td><td valign="center" align="left">
+        <p>(bool)Set to true to use the NIO thread pool executor. The default value is <code>true</code>.
+        If set to false, it uses a thread pool based on a stack for its execution.
+        Generally, using the executor yields a little bit slower performance, but yields a better
+        fairness for processing connections in a high load environment as the traffic gets queued through a 
+        FIFO queue. If set to true(default) then the max pool size is the <code>maxThreads</code> attribute
+        and the core pool size is the <code>minSpareThreads</code>.
+        This value is ignored if the <code>executor</code> attribute is present and points to a valid shared thread pool.
+        </p>
+      </td></tr><tr><td valign="center" align="left"><code>acceptorThreadCount</code></td><td valign="center" align="left">
+        <p>(int)The number of threads to be used to accept connections. Increase this value on a multi CPU machine,
+        although you would never really need more than <code>2</code>. Also, with a lot of non keep alive connections,
+        you might want to increase this value as well. Default value is <code>1</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>pollerThreadCount</code></td><td valign="center" align="left">
+        <p>(int)The number of threads to be used to run for the polling events. Default value is <code>1</code>.
+           Can't see a reason to go above that. But experiment and find your own results.</p>
+      </td></tr><tr><td valign="center" align="left"><code>pollerThreadPriority</code></td><td valign="center" align="left">
+        <p>(int)The priority of the poller threads.
+          The default value is <code>java.lang.Thread#NORM_PRIORITY</code>.
+          See the JavaDoc for the java.lang.Thread class for more details on
+          what this priority means.
+        </p>
+      </td></tr><tr><td valign="center" align="left"><code>acceptorThreadPriority</code></td><td valign="center" align="left">
+        <p>(int)The priority of the acceptor threads. The threads used to accept new connections.
+          The default value is <code>java.lang.Thread#NORM_PRIORITY</code>.
+          See the JavaDoc for the java.lang.Thread class for more details on
+          what this priority means.
+        </p>
+      </td></tr><tr><td valign="center" align="left"><code>selectorTimeout</code></td><td valign="center" align="left">
+        <p>(int)The time in milliseconds to timeout on a select() for the poller.
+           This value is important, since connection clean up is done on the same thread, so dont set this 
+           value to an extremely high one. The default value is <code>1000</code> milliseconds.</p>
+      </td></tr><tr><td valign="center" align="left"><code>useComet</code></td><td valign="center" align="left">
+        <p>(bool)Whether to allow comet servlets or not, Default value is <code>true</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>processCache</code></td><td valign="center" align="left">
+        <p>(int)The protocol handler caches Http11NioProcessor objects to speed up performance.
+           This setting dictates how many of these objects get cached.
+           <code>-1</code> means unlimited, default is <code>200</code>. Set this value somewhere close to your maxThreads value.
+        </p>
+      </td></tr><tr><td valign="center" align="left"><code>socket.directBuffer</code></td><td valign="center" align="left">
+        <p>(bool)Boolean value, whether to use direct ByteBuffers or java mapped ByteBuffers. Default is <code>false</code>
+           <br>When you are using direct buffers, make sure you allocate the appropriate amount of memory for the 
+                direct memory space. On Sun's JDK that would be something like <code>-XX:MaxDirectMemorySize=256m</code></p>
+      </td></tr><tr><td valign="center" align="left"><code>socket.rxBufSize</code></td><td valign="center" align="left">
+        <p>(int)The socket receive buffer (SO_RCVBUF) size in bytes. Default value is <code>25188</code></p>
+      </td></tr><tr><td valign="center" align="left"><code>socket.txBufSize</code></td><td valign="center" align="left">
+        <p>(int)The socket send buffer (SO_SNDBUF) size in bytes. Default value is <code>43800</code></p>
+      </td></tr><tr><td valign="center" align="left"><code>socket.appReadBufSize</code></td><td valign="center" align="left">
+        <p>(int)Each connection that is opened up in Tomcat get associated with a read and a write ByteBuffer
+           This attribute controls the size of these buffers. By default this read buffer is sized at <code>8192</code> bytes.
+           For lower concurrency, you can increase this to buffer more data.
+           For an extreme amount of keep alive connections, decrease this number or increase your heap size.</p>
+      </td></tr><tr><td valign="center" align="left"><code>socket.appWriteBufSize</code></td><td valign="center" align="left">
+        <p>(int)Each connection that is opened up in Tomcat get associated with a read and a write ByteBuffer
+           This attribute controls the size of these buffers. By default this write buffer is sized at <code>8192</code> bytes.
+           For low concurrency you can increase this to buffer more response data.
+           For an extreme amount of keep alive connections, decrease this number or increase your heap size.
+           <br>
+           The default value here is pretty low, you should up it if you are not dealing with tens of thousands
+           concurrent connections.</p>
+      </td></tr><tr><td valign="center" align="left"><code>socket.bufferPool</code></td><td valign="center" align="left">
+        <p>(int)The Nio connector uses a class called NioChannel that holds elements linked to a socket.
+           To reduce garbage collection, the Nio connector caches these channel objects.
+           This value specifies the size of this cache.
+           The default value is <code>500</code>, and represents that the cache will hold 500 NioChannel objects.
+           Other values are <code>-1</code>. unlimited cache, and <code>0</code>, no cache.</p>
+      </td></tr><tr><td valign="center" align="left"><code>socket.bufferPoolSize</code></td><td valign="center" align="left">
+        <p>(int)The NioChannel pool can also be size based, not used object based. The size is calculated as follows:<br>
+        NioChannel <code>buffer size = read buffer size + write buffer size</code><br>
+        SecureNioChannel <code>buffer size = application read buffer size + application write buffer size + network read buffer size + network write buffer size</code><br>
+        The value is in bytes, the default value is <code>1024*1024*100</code> (100MB)
+        </p>
+      </td></tr><tr><td valign="center" align="left"><code>socket.processorCache</code></td><td valign="center" align="left">
+        <p>(int)Tomcat will cache SocketProcessor objects to reduce garbage collection.
+           The integer value specifies how many objects to keep in the cache at most.
+           The default is <code>500</code>.
+           Other values are <code>-1</code>. unlimited cache, and <code>0</code>, no cache.</p>
+      </td></tr><tr><td valign="center" align="left"><code>socket.keyCache</code></td><td valign="center" align="left">
+        <p>(int)Tomcat will cache KeyAttachment objects to reduce garbage collection.
+           The integer value specifies how many objects to keep in the cache at most.
+           The default is <code>500</code>.
+           Other values are <code>-1</code>. unlimited cache, and <code>0</code>, no cache.</p>
+      </td></tr><tr><td valign="center" align="left"><code>socket.eventCache</code></td><td valign="center" align="left">
+        <p>(int)Tomcat will cache PollerEvent objects to reduce garbage collection.
+           The integer value specifies how many objects to keep in the cache at most.
+           The default is <code>500</code>.
+           Other values are <code>-1</code>. unlimited cache, and <code>0</code>, no cache.</p>
+      </td></tr><tr><td valign="center" align="left"><code>socket.tcpNoDelay</code></td><td valign="center" align="left">
+        <p>(bool)same as the standard setting <code>tcpNoDelay</code>. Default value is <code>false</code></p>
+      </td></tr><tr><td valign="center" align="left"><code>socket.soKeepAlive</code></td><td valign="center" align="left">
+        <p>(bool)Boolean value for the socket's keep alive setting (SO_KEEPALIVE). Default is <code>false</code>. </p>
+      </td></tr><tr><td valign="center" align="left"><code>socket.ooBInline</code></td><td valign="center" align="left">
+        <p>(bool)Boolean value for the socket OOBINLINE setting. Default value is <code>true</code></p>
+      </td></tr><tr><td valign="center" align="left"><code>socket.soReuseAddress</code></td><td valign="center" align="left">
+        <p>(bool)Boolean value for the sockets reuse address option (SO_REUSEADDR). Default value is <code>true</code></p>
+      </td></tr><tr><td valign="center" align="left"><code>socket.soLingerOn</code></td><td valign="center" align="left">
+        <p>(bool)Boolean value for the sockets so linger option (SO_LINGER). Default value is <code>true</code>.
+           This option is paired with the <code>soLingerTime</code> value.</p>
+      </td></tr><tr><td valign="center" align="left"><code>socket.soLingerTime</code></td><td valign="center" align="left">
+        <p>(bool)Value in seconds for the sockets so linger option (SO_LINGER). Default value is <code>25</code> seconds.
+           This option is paired with the soLinger value.</p>
+      </td></tr><tr><td valign="center" align="left"><code>socket.soTimeout</code></td><td valign="center" align="left">
+        <p>(int)Value in milliseconds for the sockets read timeout (SO_TIMEOUT). Default value is <code>5000</code> milliseconds.</p>
+      </td></tr><tr><td valign="center" align="left"><code>socket.soTrafficClass</code></td><td valign="center" align="left">
+        <p>(byte)Value between <code>0</code> and <code>255</code> for the traffic class on the socket, <code>0x04 | 0x08 | 0x010</code></p>
+      </td></tr><tr><td valign="center" align="left"><code>socket.performanceConnectionTime</code></td><td valign="center" align="left">
+        <p>(int)The first value for the performance settings. Default is <code>1</code>, see <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/net/Socket.html#setPerformancePreferences(int,%20int,%20int)">Socket Performance Options</a></p>
+      </td></tr><tr><td valign="center" align="left"><code>socket.performanceLatency</code></td><td valign="center" align="left">
+        <p>(int)The second value for the performance settings. Default is <code>0</code>, see <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/net/Socket.html#setPerformancePreferences(int,%20int,%20int)">Socket Performance Options</a></p>
+      </td></tr><tr><td valign="center" align="left"><code>socket.performanceBandwidth</code></td><td valign="center" align="left">
+        <p>(int)The third value for the performance settings. Default is <code>1</code>, see <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/net/Socket.html#setPerformancePreferences(int,%20int,%20int)">Socket Performance Options</a></p>
+      </td></tr><tr><td valign="center" align="left"><code>selectorPool.maxSelectors</code></td><td valign="center" align="left">
+        <p>(int)The max selectors to be used in the pool, to reduce selector contention.
+        Use this option when the command line <code>org.apache.tomcat.util.net.NioSelectorShared</code> value is set to false.
+        Default value is <code>200</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>selectorPool.maxSpareSelectors</code></td><td valign="center" align="left">
+        <p>(int)The max spare selectors to be used in the pool, to reduce selector contention.
+        When a selector is returned to the pool, the system can decide to keep it or let it be GC:ed.
+        Use this option when the command line <code>org.apache.tomcat.util.net.NioSelectorShared</code> value is set to false.
+        Default value is <code>-1</code> (unlimited)</p>
+      </td></tr><tr><td valign="center" align="left"><code>command-line-options</code></td><td valign="center" align="left">
+        <p>The following command line options are available for the NIO connector:<br>
+        <code>-Dorg.apache.tomcat.util.net.NioSelectorShared=true|false</code> - default is <code>true</code>.
+        Set this value to false if you wish to use a selector for each thread.
+        the property. If you do set it to false, you can control the size of the pool of selectors by using the 
+        selectorPool.maxSelectors attribute</p>
+      </td></tr><tr><td valign="center" align="left"><code>oomParachute</code></td><td valign="center" align="left">
+        <p>(int)The NIO connector implements an OutOfMemoryError strategy called parachute.
+           It holds a chunk of data as a byte array. In case of an OOM,
+           this chunk of data is released and the error is reported. This will give the VM enough room
+           to clean up. The <code>oomParachute</code> represent the size in bytes of the parachute(the byte array).
+           The default value is <code>1024*1024</code>(1MB).
+           Please note, this only works for OOM errors regarding the Java Heap space, and there is absolutely no 
+           guarantee that you will be able to recover at all.
+           If you have an OOM outside of the Java Heap, then this parachute trick will not help.
+        </p>
+      </td></tr></table>
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nested Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>None at this time.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Special Features"><strong>Special Features</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="HTTP/1.1 and HTTP/1.0 Support"><strong>HTTP/1.1 and HTTP/1.0 Support</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>This <strong>Connector</strong> supports all of the required features
+  of the HTTP/1.1 protocol, as described in RFC 2616, including persistent
+  connections, pipelining, expectations and chunked encoding.  If the client
+  (typically a browser) supports only HTTP/1.0, the
+  <strong>Connector</strong> will gracefully fall back to supporting this
+  protocol as well.  No special configuration is required to enable this
+  support. The <strong>Connector</strong> also supports HTTP/1.0
+  keep-alive.</p>
+
+  <p>RFC 2616 requires that HTTP servers always begin their responses with
+  the highest HTTP version that they claim to support.  Therefore, this
+  <strong>Connector</strong> will always return <code>HTTP/1.1</code> at
+  the beginning of its responses.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Proxy Support"><strong>Proxy Support</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The <code>proxyName</code> and <code>proxyPort</code> attributes can
+  be used when Tomcat is run behind a proxy server.  These attributes
+  modify the values returned to web applications that call the
+  <code>request.getServerName()</code> and <code>request.getServerPort()</code>
+  methods, which are often used to construct absolute URLs for redirects.
+  Without configuring these attributes, the values returned would reflect
+  the server name and port on which the connection from the proxy server
+  was received, rather than the server name and port to whom the client
+  directed the original request.</p>
+
+  <p>For more information, see the
+  <a href="../proxy-howto.html">Proxy Support HOW-TO</a>.</p>
+
+  </blockquote></td></tr></table>
+
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="SSL Support"><strong>SSL Support</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>You can enable SSL support for a particular instance of this
+  <strong>Connector</strong> by setting the <code>secure</code> attribute to
+  <code>true</code>.  In addition, you may need to configure the following
+  attributes:</p>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>algorithm</code></td><td valign="center" align="left">
+      <p>The certificate encoding algorithm to be used. This defaults to the Sun
+      implementation (<code>SunX509</code>). For IBM JVMs you should use the
+      value <code>IbmX509</code>. For other vendors, consult the JVM
+      documentation for the correct value.</p>
+    </td></tr><tr><td valign="center" align="left"><code>clientAuth</code></td><td valign="center" align="left">
+      <p>Set to <code>true</code> if you want the SSL stack to require a
+      valid certificate chain from the client before accepting a connection.
+      Set to <code>want</code> if you want the SSL stack to request a client
+      Certificate, but not fail if one isn't presented. A <code>false</code>
+      value (which is the default) will not require a certificate chain
+      unless the client requests a resource protected by a security
+      constraint that uses <code>CLIENT-CERT</code> authentication. See the
+      <a href="../ssl-howto.html">SSL HowTo</a> for an example.</p>
+    </td></tr><tr><td valign="center" align="left"><code>keystoreFile</code></td><td valign="center" align="left">
+      <p>The pathname of the keystore file where you have stored the
+      server certificate to be loaded.  By default, the pathname is
+      the file "<code>.keystore</code>" in the operating system home
+      directory of the user that is running Tomcat. If your
+      <code>keystoreType</code> doesn't need a file use <code>""</code>
+      (empty string) for this parameter.</p>
+    </td></tr><tr><td valign="center" align="left"><code>keystorePass</code></td><td valign="center" align="left">
+      <p>The password used to access the server certificate from the
+      specified keystore file.  The default value is "<code>changeit</code>".
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>keystoreType</code></td><td valign="center" align="left">
+      <p>The type of keystore file to be used for the server certificate.
+      If not specified, the default value is "<code>JKS</code>".</p>
+    </td></tr><tr><td valign="center" align="left"><code>keystoreProvider</code></td><td valign="center" align="left">
+      <p>The name of the keystore provider to be used for the server
+      certificate. If not specified, the list of registered providers is
+      traversed in preference order and the first provider that supports the
+      <code>keystoreType</code> is used.
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>sslProtocol</code></td><td valign="center" align="left">
+      <p>The version of the SSL protocol to use.  If not specified,
+      the default is "<code>TLS</code>".</p>
+    </td></tr><tr><td valign="center" align="left"><code>ciphers</code></td><td valign="center" align="left">
+      <p>A comma seperated list of the encryption ciphers that may be used.
+      If not specified, then any available cipher may be used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>keyAlias</code></td><td valign="center" align="left">
+      <p>The alias used to for the server certificate in the keystore. If not
+      specified the first key read in the keystore will be used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>truststoreFile</code></td><td valign="center" align="left">
+      <p>The TrustStore file to use to validate client certificates.</p>
+    </td></tr><tr><td valign="center" align="left"><code>truststorePass</code></td><td valign="center" align="left">
+      <p>The password to access the TrustStore. This defaults to the value
+      of <code>keystorePass</code>.</p>
+    </td></tr><tr><td valign="center" align="left"><code>truststoreType</code></td><td valign="center" align="left">
+      <p>Add this element if your are using a different format for the
+      TrustStore then you are using for the KeyStore.</p>
+     </td></tr><tr><td valign="center" align="left"><code>truststoreProvider</code></td><td valign="center" align="left">
+      <p>The name of the truststore provider to be used for the server
+      certificate. If not specified, the list of registered providers is
+      traversed in preference order and the first provider that supports the
+      <code>truststoreType</code> is used.
+      </p>
+    </td></tr></table>
+
+  <p>For more information, see the
+  <a href="../ssl-howto.html">SSL Configuration HOW-TO</a>.</p>
+
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Connector Comparison"><strong>Connector Comparison</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>Below is a small chart that shows how the connectors differentiate.</p>
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+                  Java Blocking Connector       Java Nio Blocking Connector       APR Connector
+    Classname         Http11Protocol                  Http11NioProtocol         Http11AprProtocol
+    Tomcat Version   3.x 4.x 5.x 6.x                       6.x                     5.5.x 6.x
+    Support Polling         NO                             YES                        YES
+    Polling Size           N/A                   Unlimited - Restricted by mem        Unlimited
+    Read HTTP Request     Blocking                     Blocking                       Blocking
+    Read HTTP Body        Blocking                     Blocking                       Blocking
+    Write HTTP Response   Blocking                     Blocking                       Blocking
+    SSL Support           Java SSL                     Java SSL                       OpenSSL
+    SSL Handshake         Blocking                     Non blocking                   Blocking
+    Max Connections       maxThreads                   See polling size               See polling size
+    
+    
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/config/index.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/config/index.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/config/index.html	(revision 66)
@@ -0,0 +1,56 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - Overview</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul><p><strong>Cluster Elements</strong></p><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul><p><strong>Global Settings</strong></p><ul><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>Overview</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/index.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Overview"><strong>Overview</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>This manual contains reference information about all of the configuration
+directives that can be included in a <code>conf/server.xml</code> file to
+configure the behavior of the Tomcat 6 Servlet/JSP container.  It does not
+attempt to describe which configuration directives should be used to perform
+specific tasks - for that, see the various <em>HOW-TO</em> documents on the
+main index page.</p>
+
+<p>The configuration element descriptions are organized into the following
+major categories:</p>
+<ul>
+<li><strong>Top Level Elements</strong> - <code>&lt;Server&gt;</code> is the
+    root element of the entire configuration file, while
+    <code>&lt;Service&gt;</code> represents a group of Connectors that is
+    associated with an Engine.</li>
+<li><strong>Connectors</strong> - Represent the interface between external
+    clients sending requests to (and receiving responses from) a particular
+    Service.</li>
+<li><strong>Containers</strong> - Represent components whose function is to
+    process incoming requests, and create the corresponding responses.
+    An Engine handles all requests for a Service, a Host handles all requests
+    for a particular virtual host, and a Context handles all requests for a
+    specific web application.</li>
+<li><strong>Nested Components</strong> - Represent elements that can be
+    nested inside the element for a Container.  Some elements can be nested
+    inside any Container, while others can only be nested inside a
+    Context.</li>
+</ul>
+
+<p>For each element, the corresponding documentation follows this general
+outline:</p>
+<ul>
+<li><strong>Introduction</strong> - Overall description of this particular
+    component.  There will be a corresponding Java <em>interface</em> (in
+    the <code>org.apache.catalina</code> pacakge) that is implemented by one
+    or more standard implementations.</li>
+<li><strong>Attributes</strong> - The set of attributes that are legal for
+    this element.  Generally, this will be subdivided into <em>Common</em>
+    attributes that are supported by all implementations of the corresponding
+    Java interface, and <em>Standard Implementation</em> attributes that are
+    specific to a particular Java class that implements this interface.
+    The names of required attributes are <strong>bolded</strong>.</li>
+<li><strong>Nested Components</strong> - Enumerates which of the <em>Nested
+    Components</em> can be legally nested within this element.</li>
+<li><strong>Special Features</strong> - Describes the configuration of a large
+    variety of special features (specific to each element type) that are
+    supported by the standard implementation of this interface.</li>
+</ul>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/config/loader.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/config/loader.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/config/loader.html	(revision 66)
@@ -0,0 +1,103 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Loader Component</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul><p><strong>Cluster Elements</strong></p><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul><p><strong>Global Settings</strong></p><ul><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Loader Component</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/loader.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The <strong>Loader</strong> element represents the <em>web
+  application class loader</em> that will be used to load Java
+  classes and resources for your web application.  Such
+  a class loader must follow the requirements of the Servlet
+  Specification, and load classes from the following locations:</p>
+  <ul>
+  <li>From the <code>/WEB-INF/classes</code> directory inside your
+      web application.</li>
+  <li>From JAR files in the <code>/WEB-INF/lib</code> directory
+      inside your web application.</li>
+  <li>From resources made available by Catalina to all web
+      applications globally.</li>
+  </ul>
+
+  <p>A Loader element MAY be nested inside a <a href="context.html">Context</a>
+  component.  If it is not included, a default Loader configuration will be
+  created automatically, which is sufficient for most requirements.</p>
+
+  <p>For a more in-depth description of the class loader hierarchy
+  that is implemented by Catalina, see <a href="../class-loader-howto.html">the ClassLoader HowTo</a>.</p>
+
+    <blockquote><em>
+    <p>The description below uses the variable name $CATALINA_BASE to refer the
+    base directory against which most relative paths are resolved. If you have
+    not configured Tomcat 6 for multiple instances by setting a CATALINA_BASE
+    directory, then $CATALINA_BASE will be set to the value of $CATALINA_HOME,
+    the directory into which you have installed Tomcat 6.</p>
+    </em></blockquote>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>All implementations of <strong>Loader</strong>
+    support the following attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>className</code></td><td valign="center" align="left">
+        <p>Java class name of the implementation to use.  This class must
+        implement the <code>org.apache.catalina.Loader</code> interface.
+        If not specified, the standard value (defined below) will be used.</p>
+      </td></tr><tr><td valign="center" align="left"><code>delegate</code></td><td valign="center" align="left">
+        <p>Set to <code>true</code> if you want the class loader to follow
+        the standard Java2 delegation model, and attempt to load classes from
+        parent class loaders <strong>before</strong> looking inside the web
+        application.  Set to <code>false</code> (the default) to have the
+        class loader look inside the web application first, before asking
+        parent class loaders to find requested classes or resources.</p>
+      </td></tr><tr><td valign="center" align="left"><code>reloadable</code></td><td valign="center" align="left">
+        <p>Set to <code>true</code> if you want Catalina to monitor classes in
+        <code>/WEB-INF/classes/</code> and <code>/WEB-INF/lib</code> for
+        changes, and automatically reload the web application if a change
+        is detected.  This feature is very useful during application
+        development, but it requires significant runtime overhead and is
+        not recommended for use on deployed production applications.  You
+        can use the <a href="../manager-howto.html">Manager</a> web
+        application, however, to trigger reloads of deployed applications
+        on demand.</p>
+
+        <p><strong>NOTE</strong> - The value for this property will be
+        inherited from the <code>reloadable</code> attribute you set on
+        the surrounding <a href="context.html">Context</a> component,
+        and any value you explicitly set here will be replaced.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Standard Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The standard implementation of <strong>Loader</strong> is
+    <strong>org.apache.catalina.loader.WebappLoader</strong>.
+    It supports the following additional attributes (in addition to the
+    common attributes listed above):</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>loaderClass</code></td><td valign="center" align="left">
+        <p>Java class name of the <code>java.lang.ClassLoader</code>
+        implementation class to use.  If not specified, the default value is
+        <code>org.apache.catalina.loader.WebappClassLoader</code>.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nested Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>No components may be nested inside a <strong>Loader</strong> element.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Special Features"><strong>Special Features</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Logging"><strong>Logging</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>A loader is associated with the log category based on its classname.</p>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/config/manager.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/config/manager.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/config/manager.html	(revision 66)
@@ -0,0 +1,350 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Manager Component</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"><meta value="Yoav Shapira" name="author"><meta value="yoavs@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul><p><strong>Cluster Elements</strong></p><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul><p><strong>Global Settings</strong></p><ul><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Manager Component</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/manager.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The <strong>Manager</strong> element represents the <em>session
+  manager</em> that will be used to create and maintain HTTP sessions
+  as requested by the associated web application.</p>
+
+  <p>A Manager element MAY be nested inside a
+  <a href="context.html">Context</a> component.  If it is not included,
+  a default Manager configuration will be created automatically, which
+  is sufficient for most requirements.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>All implementations of <strong>Manager</strong>
+    support the following attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>className</code></td><td valign="center" align="left">
+        <p>Java class name of the implementation to use.  This class must
+        implement the <code>org.apache.catalina.Manager</code> interface.
+        If not specified, the standard value (defined below) will be used.</p>
+      </td></tr><tr><td valign="center" align="left"><code>distributable</code></td><td valign="center" align="left">
+        <p>Set to <code>true</code> to ask the session manager to enforce
+        the restrictions described in the Servlet Specification on
+        distributable applications (primarily, this would mean that all
+        session attributes must implement <code>java.io.Serializable</code>).
+        Set to <code>false</code> (the default) to not enforce these
+        restrictions.</p>
+
+        <p><strong>NOTE</strong> - The value for this property is inherited
+        automatically based on the presence or absence of the
+        <code>&lt;distributable&gt;</code> element in the web application
+        deployment descriptor (<code>/WEB-INF/web.xml</code>).</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Standard Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>Tomcat provides two standard implementations of <strong>Manager</strong>
+    for use - the default one stores active sessions, while the optional one
+    stores active sessions that have been swapped out (in addition to saving
+    sessions across a restart of Tomcat) in a storage location that is selected
+    via the use of an appropriate <strong>Store</strong> nested element.</p>
+
+    <h3>Standard Manager Implementation</h3>
+
+    <p>The standard implementation of <strong>Manager</strong> is
+    <strong>org.apache.catalina.session.StandardManager</strong>.
+    It supports the following additional attributes (in addition to the
+    common attributes listed above):</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>algorithm</code></td><td valign="center" align="left">
+        <p>Name of the <em>Message Digest</em> algorithm used to calculate
+        session identifiers produced by this Manager.  This value must
+        be supported by the <code>java.security.MessageDigest</code> class.
+        If not specified, the default value is "MD5".</p>
+      </td></tr><tr><td valign="center" align="left"><code>entropy</code></td><td valign="center" align="left">
+        <p>A String value that is utilized when seeding the random number
+        generator used to create session identifiers for this Manager.
+        If not specified, a semi-useful value is calculated, but a long
+        String value should be specified in security-conscious
+        environments.</p>
+      </td></tr><tr><td valign="center" align="left"><code>maxActiveSessions</code></td><td valign="center" align="left">
+        <p>The maximum number of active sessions that will be created by
+        this Manager, or -1 (the default) for no limit.</p>
+      </td></tr><tr><td valign="center" align="left"><code>maxInactiveInterval</code></td><td valign="center" align="left">
+        <p>The initial maximum time interval, in seconds, 
+        between client requests before a session is invalidated. A negative value
+        will result in sessions never timing out. If the attribute is not provided,
+        a default of 60 seconds is used.</p>
+        
+        <p>This attribute provides the initial value whenever a 
+        new session is created, but the interval may be dynamically 
+        varied by a servlet via the 
+        <code>setMaxInactiveInterval</code> method of the <code>HttpSession</code> object.</p>
+      </td></tr><tr><td valign="center" align="left"><code>pathname</code></td><td valign="center" align="left">
+        <p>Absolute or relative (to the work directory for this Context)
+        pathname of the file in which session state will be preserved
+        across application restarts, if possible.  The default is
+        "SESSIONS.ser".  See <a href="#Restart Persistence">Restart
+        Persistence</a> for more information. Restart persistence may be 
+        disabled by setting this attribute to an empty string.</p>
+      </td></tr><tr><td valign="center" align="left"><code>processExpiresFrequency</code></td><td valign="center" align="left">
+        <p>Frequency of the session expiration, and related manager operations.
+        Manager operations will be done once for the specified amount of
+        backgrondProcess calls (ie, the lower the amount, the more often the
+        checks will occur). The minimum value is 1, and the default value is 6.
+        </p>
+      </td></tr><tr><td valign="center" align="left"><code>randomClass</code></td><td valign="center" align="left">
+        <p>Java class name of the <code>java.util.Random</code>
+        implementation class to use.  If not specified, the default value is
+        <code>java.security.SecureRandom</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>sessionIdLength</code></td><td valign="center" align="left">
+       <p>The length of session ids created by this Manager, excluding any
+        JVM route information used for load balancing. 
+        The default is 16.</p>
+      </td></tr></table>
+
+    <h3>Persistent Manager Implementation</h3>
+
+    <p><em><strong>WARNING - Use of this Manager implementation
+    has not been thoroughly tested, and should be considered experimental!
+    </strong></em></p>
+
+    <p>The persistent implementation of <strong>Manager</strong> is
+    <strong>org.apache.catalina.session.PersistentManager</strong>.  In
+    addition to the usual operations of creating and deleting sessions, a
+    <code>PersistentManager</code> has the capability to swap active (but
+    idle) sessions out to a persistent storage mechanism, as well as to save
+    all sessions across a normal restart of Tomcat.  The actual persistent
+    storage mechanism used is selected by your choice of a
+    <strong>Store</strong> element nested inside the <strong>Manager</strong>
+    element - this is required for use of <code>PersistentManager</code>.</p>
+
+    <p>This implementation of Manager supports the following attributes in
+    addition to the <a href="#Common Attributes">Common Attributes</a>
+    described earlier.</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>algorithm</code></td><td valign="center" align="left">
+        <p>Name of the <em>Message Digest</em> algorithm used to calculate
+        session identifiers produced by this Manager.  This value must
+        be supported by the <code>java.security.MessageDigest</code> class.
+        If not specified, the default value is "MD5".</p>
+      </td></tr><tr><td valign="center" align="left"><code>className</code></td><td valign="center" align="left">
+        <p>Java class name of the implementation to use.  This class must
+        implement the <code>org.apache.catalina.Manager</code> interface.
+        You <strong>must</strong> specify
+        <code>org.apache.catalina.session.PersistentManager</code> to use
+        this manager implementation.</p>
+      </td></tr><tr><td valign="center" align="left"><code>entropy</code></td><td valign="center" align="left">
+        <p>A String value that is utilized when seeding the random number
+        generator used to create session identifiers for this Manager.
+        If not specified, a semi-useful value is calculated, but a long
+        String value should be specified in security-conscious
+        environments.</p>
+      </td></tr><tr><td valign="center" align="left"><code>maxActiveSessions</code></td><td valign="center" align="left">
+        <p>The maximum number of active sessions that will be created by
+        this Manager, or -1 (the default) for no limit.</p>
+      </td></tr><tr><td valign="center" align="left"><code>maxIdleBackup</code></td><td valign="center" align="left">
+        <p>The time interval (in seconds) since the last access to a session
+        before it is eligible for being persisted to the session store, or
+        <code>-1</code> to disable this feature.  By default, this feature is
+        disabled.</p>
+      </td></tr><tr><td valign="center" align="left"><code>maxIdleSwap</code></td><td valign="center" align="left">
+        <p>The time interval (in seconds) since the last access to a session
+        before it should be persisted to the session store, and
+        passivated out of the server's memory, or <code>-1</code> to disable
+        this feature.  If this feature is enabled, the time interval specified
+        here should be equal to or longer than the value specified for
+        <code>maxIdleBackup</code>.  By default, this feature is disabled.</p>
+      </td></tr><tr><td valign="center" align="left"><code>minIdleSwap</code></td><td valign="center" align="left">
+        <p>The time interval (in seconds) since the last access to a session
+        before it will be eligible to be persisted to the session store, and
+        passivated out of the server's memory, or <code>-1</code> for this
+        swapping to be available at any time.  If specified, this value should
+        be less than that specified by <code>maxIdleSwap</code>.  By default,
+        this value is set to <code>-1</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>maxInactiveInterval</code></td><td valign="center" align="left">
+        <p>The initial maximum time interval, in seconds, 
+        between client requests before a session is invalidated. A negative value
+        will result in sessions never timing out. If the attribute is not provided,
+        a default of 60 seconds is used.</p>
+        
+        <p>This attribute provides the initial value whenever a 
+        new session is created, but the interval may be dynamically 
+        varied by a servlet via the 
+        <code>setMaxInactiveInterval</code>method of the <code>HttpSession</code> object.</p>
+      </td></tr><tr><td valign="center" align="left"><code>randomClass</code></td><td valign="center" align="left">
+        <p>Java class name of the <code>java.util.Random</code>
+        implementation class to use.  If not specified, the default value is
+        <code>java.security.SecureRandom</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>saveOnRestart</code></td><td valign="center" align="left">
+        <p>Should all sessions be persisted and reloaded when Tomcat is shut
+        down and restarted (or when this application is reloaded)?  By default,
+        this attribute is set to <code>true</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>sessionIdLength</code></td><td valign="center" align="left">
+        <p>The length of session ids created by this Manager, excluding any
+        JVM route information used for load balancing. 
+        The default is 16.</p>
+      </td></tr></table>
+
+    <p>In order to successfully use a PersistentManager, you must nest inside
+    it a <strong>&lt;Store&gt;</strong> element, as described below.</p>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nested Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>
+
+  <h3>Standard Manager Implementation</h3>
+
+  <p>If you are using the <em>Standard Manager Implementation</em>
+  as described above, no elements may be nested inside your
+  <strong>&lt;Manager&gt;</strong> element.</p>
+
+  <h3>Persistent Manager Implementation</h3>
+
+  <p>If you are using the <em>Persistent Manager Implementation</em>
+  as described above, you <strong>MUST</strong> nest a
+  <strong>&lt;Store&gt;</strong> element inside, which defines the
+  characteristics of the persistent data storage.  Two implementations
+  of the <code>&lt;Store&gt;</code> element are currently available,
+  with different characteristics, as described belowl</p>
+
+  <h5>File Based Store</h5>
+
+  <p>The <em>File Based Store</em> implementation saves swapped out
+  sessions in individual files (named based on the session identifier)
+  in a configurable directory.  Therefore, you are likely to encounter
+  scalability problems as the number of active sessions increases, and
+  this should primarily be considered a means to easily experiment.</p>
+
+  <p>To configure this, add a <code>&lt;Store&gt;</code> nested inside
+  your <code>&lt;Manager&gt;</code> element with the following attributes:
+  </p>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>checkInterval</code></td><td valign="center" align="left">
+      <p>The interval (in seconds) between checks for expired sessions
+      among those sessions that are currently swapped out.  By default,
+      this interval is set to 60 seconds (one minute).</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+      <p>Java class name of the implementation to use.  This class must
+      implement the <code>org.apache.catalina.Store</code> interface.  You
+      <strong>must</strong> specify
+      <code>org.apache.catalina.session.FileStore</code>
+      to use this implementation.</p>
+    </td></tr><tr><td valign="center" align="left"><code>directory</code></td><td valign="center" align="left">
+      <p>Absolute or relative (to the temporary work directory for this web
+      application) pathname of the directory into which individual session
+      files are written.  If not specified, the temporary work directory
+      assigned by the container is utilized.</p>
+    </td></tr></table>
+
+
+  <h5>JDBC Based Store</h5>
+
+  <p>The <em>JDBC Based Store</em> implementation saves swapped out
+  sessions in individual rows of a preconfigured table in a database
+  that is accessed via a JDBC driver.  With large numbers of swapped out
+  sessions, this implementation will exhibit improved performance over
+  the File Based Store described above.</p>
+
+  <p>To configure this, add a <code>&lt;Store&gt;</code> nested inside
+  your <code>&lt;Manager&gt;</code> element with the following attributes:
+  </p>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>checkInterval</code></td><td valign="center" align="left">
+      <p>The interval (in seconds) between checks for expired sessions
+      among those sessions that are currently swapped out.  By default,
+      this interval is set to 60 seconds (one minute).</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+      <p>Java class name of the implementation to use.  This class must
+      implement the <code>org.apache.catalina.Store</code> interface.  You
+      <strong>must</strong> specify
+      <code>org.apache.catalina.session.JDBCStore</code>
+      to use this implementation.</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>connectionURL</code></strong></td><td valign="center" align="left">
+      <p>The connection URL that will be handed to the configured JDBC
+      driver to establish a connection to the database containing our
+      session table.</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>driverName</code></strong></td><td valign="center" align="left">
+      <p>Java class name of the JDBC driver to be used.</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>sessionAppCol</code></strong></td><td valign="center" align="left">
+      <p>Name of the database column, contained in the specified session
+      table, that contains the Engine, Host, and Web Application Context
+      name in the format <code>/Engine/Host/Context</code>.</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>sessionDataCol</code></strong></td><td valign="center" align="left">
+      <p>Name of the database column, contained in the specified
+      session table, that contains the serialized form of all session
+      attributes for a swapped out session.  The column type must accept
+      a binary object (typically called a BLOB).</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>sessionIdCol</code></strong></td><td valign="center" align="left">
+      <p>Name of the database column, contained in the specified
+      session table, that contains the session identifier of the
+      swapped out session.  The column type must accept character
+      string data of at least as many characters as are contained
+      in session identifiers created by Tomcat (typically 32).</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>sessionLastAccessedCol</code></strong></td><td valign="center" align="left">
+      <p>Name of the database column, contained in the specified
+      session table, that contains the <code>lastAccessedTime</code>
+      property of this session.  The column type must accept a
+      Java <code>long</code> (64 bits).</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>sessionMaxInactiveCol</code></strong></td><td valign="center" align="left">
+      <p>Name of the database column, contained in the specified
+      session table, that contains the <code>maxInactiveInterval</code>
+      property of this session.  The column type must accept a
+      Java <code>integer</code> (32 bits).</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>sessionTable</code></strong></td><td valign="center" align="left">
+      <p>Name of the database table to be used for storing swapped out
+      sessions.  This table must contain (at least) the database columns
+      that are configured by the other attributes of this element.</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>sessionValidCol</code></strong></td><td valign="center" align="left">
+      <p>Name of the database column, contained in the specified
+      session table, that contains a flag indicating whether this
+      swapped out session is still valid or not.  The column type
+      must accept a single character.</p>
+    </td></tr></table>
+
+  <p>Before attempting to use the JDBC Based Store for the first time,
+  you must create the table that will be used to store swapped out sessions.
+  Detailed SQL commands vary depending on the database you are using, but
+  a script like this will generally be required:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+create table tomcat_sessions (
+  session_id     varchar(100) not null primary key,
+  valid_session  char(1) not null,
+  max_inactive   int not null,
+  last_access    bigint not null,
+  app_name       varchar(255),
+  session_data   mediumblob,
+  KEY kapp_name(app_name)
+);
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+  <p>In order for the JDBC Based Store to successfully connect to your
+  database, the JDBC driver you configure must be visible to Tomcat's
+  internal class loader.  Generally, that means you must place the JAR
+  file containing this driver into the <code>$CATALINA_HOME/lib</code>
+  directory.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Special Features"><strong>Special Features</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Restart Persistence"><strong>Restart Persistence</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>Whenver Catalina is shut down normally and restarted, or when an
+    application reload is triggered, the standard Manager implementation
+    will attempt to serialize all currently active sessions to a disk
+    file located via the <code>pathname</code> attribute.  All such saved
+    sessions will then be deserialized and activated (assuming they have
+    not expired in the mean time) when the application reload is completed.</p>
+
+    <p>In order to successfully restore the state of session attributes,
+    all such attributes MUST implement the <code>java.io.Serializable</code>
+    interface.  You MAY cause the Manager to enforce this restriction by
+    including the <code>&lt;distributable&gt;</code> element in your web
+    application deployment descriptor (<code>/WEB-INF/web.xml</code>).</p>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/config/printer/ajp.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/config/printer/ajp.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/config/printer/ajp.html	(revision 66)
@@ -0,0 +1,218 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The AJP Connector</title><meta value="Remy Maucherat" name="author"><meta value="remm@apache.org" name="email"><meta value="Yoav Shapira" name="author"><meta value="yoavs@apache.org" name="email"><meta value="Andrew R. Jaquith" name="author"><meta value="arjaquith@mindspring.com" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The AJP Connector</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The <strong>AJP Connector</strong> element represents a
+  <strong>Connector</strong> component that communicates with a web
+  connector via the <code>AJP</code> protocol.  This is used for cases
+  where you wish to invisibly integrate Tomcat 6 into an existing (or new)
+  Apache installation, and you want Apache to handle the static content
+  contained in the web application, and/or utilize Apache's SSL
+  processing.</p>
+
+  <p>This connector supports load balancing when used in conjunction with
+  the <code>jvmRoute</code> attribute of the 
+  <a href="engine.html">Engine</a>.</p>
+
+<p>The native connectors supported with this Tomcat release are:
+<ul>
+  <li>JK 1.2.x with any of the supported servers</li>
+  <li>mod_proxy on Apache httpd 2.x (included by default in Apache HTTP Server 2.2), 
+      with AJP enabled: see
+      <a href="http://httpd.apache.org/docs/2.2/mod/mod_proxy_ajp.html">the httpd docs</a>
+      for details.</li>
+</ul>
+</p>
+
+<p><b>Other native connectors supporting AJP may work, but are no longer supported.</b></p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>All implementations of <strong>Connector</strong>
+  support the following attributes:</p>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>allowTrace</code></td><td valign="center" align="left">
+      <p>A boolean value which can be used to enable or disable the TRACE
+      HTTP method. If not specified, this attribute is set to false.</p>
+    </td></tr><tr><td valign="center" align="left"><code>emptySessionPath</code></td><td valign="center" align="left">
+      <p>If set to <code>true</code>, all paths for session cookies will be set
+      to <code>/</code>. This can be useful for portlet specification implementations.
+      If not specified, this attribute is set to <code>false</code>.</p>
+    </td></tr><tr><td valign="center" align="left"><code>enableLookups</code></td><td valign="center" align="left">
+      <p>Set to <code>true</code> if you want calls to
+      <code>request.getRemoteHost()</code> to perform DNS lookups in
+      order to return the actual host name of the remote client.  Set
+      to <code>false</code> to skip the DNS lookup and return the IP
+      address in String form instead (thereby improving performance).
+      By default, DNS lookups are enabled.</p>
+    </td></tr><tr><td valign="center" align="left"><code>maxPostSize</code></td><td valign="center" align="left">
+      <p>The maximum size in bytes of the POST which will be handled by
+      the container FORM URL parameter parsing. The feature can be disabled by
+      setting this attribute to a value less than or equal to 0.
+      If not specified, this attribute is set to 2097152 (2 megabytes).</p>
+    </td></tr><tr><td valign="center" align="left"><code>maxSavePostSize</code></td><td valign="center" align="left">
+      <p>The maximum size in bytes of the POST which will be saved/buffered by
+      the container during FORM or CLIENT-CERT authentication. For both types
+      of authentication, the POST will be saved/buffered before the user is
+      authenticated. For CLIENT-CERT authentication, the POST is buffered for
+      the duration of the SSL handshake and the buffer emptied when the request
+      is processed. For FORM authentication the POST is saved whilst the user
+      is re-directed to the login form and is retained until the user
+      successfully authenticates or the session associated with the
+      authentication request expires. The limit can be disabled by setting this
+      attribute to -1. Setting the attribute to zero will disable the saving of
+      POST data during authentication. If not specified, this attribute is set
+      to 4096 (4 kilobytes).</p>
+    </td></tr><tr><td valign="center" align="left"><code>protocol</code></td><td valign="center" align="left">
+      <p>This attribute value must be <code>AJP/1.3</code> to use the AJP
+      handler.</p>
+    </td></tr><tr><td valign="center" align="left"><code>proxyName</code></td><td valign="center" align="left">
+      <p>If this <strong>Connector</strong> is being used in a proxy
+      configuration, configure this attribute to specify the server name
+      to be returned for calls to <code>request.getServerName()</code>.
+      See <a href="#Proxy Support">Proxy Support</a> for more
+      information.</p>
+    </td></tr><tr><td valign="center" align="left"><code>proxyPort</code></td><td valign="center" align="left">
+      <p>If this <strong>Connector</strong> is being used in a proxy
+      configuration, configure this attribute to specify the server port
+      to be returned for calls to <code>request.getServerPort()</code>.
+      See <a href="#Proxy Support">Proxy Support</a> for more
+      information.</p>
+    </td></tr><tr><td valign="center" align="left"><code>redirectPort</code></td><td valign="center" align="left">
+      <p>If this <strong>Connector</strong> is supporting non-SSL
+      requests, and a request is received for which a matching
+      <code>&lt;security-constraint&gt;</code> requires SSL transport,
+      Catalina will automatically redirect the request to the port
+      number specified here.</p>
+    </td></tr><tr><td valign="center" align="left"><code>request.registerRequests</code></td><td valign="center" align="left">
+      <p>This attribute controls request registration for JMX monitoring
+      of the Connector.  It is enabled by default, but may be turned
+      it off to save a bit of memory.</p>
+    </td></tr><tr><td valign="center" align="left"><code>scheme</code></td><td valign="center" align="left">
+      <p>Set this attribute to the name of the protocol you wish to have
+      returned by calls to <code>request.getScheme()</code>.  For
+      example, you would set this attribute to "<code>https</code>"
+      for an SSL Connector.  The default value is "<code>http</code>".
+      See <a href="#SSL Support">SSL Support</a> for more information.</p>
+    </td></tr><tr><td valign="center" align="left"><code>secure</code></td><td valign="center" align="left">
+      <p>Set this attribute to <code>true</code> if you wish to have
+      calls to <code>request.isSecure()</code> to return <code>true</code>
+      for requests received by this Connector (you would want this on an
+      SSL Connector).  The default value is <code>false</code>.</p>
+    </td></tr><tr><td valign="center" align="left"><code>URIEncoding</code></td><td valign="center" align="left">
+      <p>This specifies the character encoding used to decode the URI bytes,
+      after %xx decoding the URL. If not specified, ISO-8859-1 will be used.
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>useBodyEncodingForURI</code></td><td valign="center" align="left">
+      <p>This specifies if the encoding specified in contentType should be used
+      for URI query parameters, instead of using the URIEncoding. This
+      setting is present for compatibility with Tomcat 4.1.x, where the
+      encoding specified in the contentType, or explicitely set using
+      Request.setCharacterEncoding method was also used for the parameters from
+      the URL. The default value is <code>false</code>.
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>useIPVHosts</code></td><td valign="center" align="left">
+      <p>Set this attribute to <code>true</code> to cause Tomcat to use
+      the ServerName passed by the native web server to determine the Host
+      to send the request to.  The default value is <code>false</code>.</p>
+    </td></tr><tr><td valign="center" align="left"><code>xpoweredBy</code></td><td valign="center" align="left">
+      <p>Set this attribute to <code>true</code> to cause Tomcat to advertise
+      support for the Srevlet specification using the header recommended in the
+      specification.  The default value is <code>false</code>.</p>
+    </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Standard Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>To use AJP, you
+  must specify the protocol attribute (see above).</p>
+
+  <p><strong>This implementation supports the AJP 1.3 protocol.</strong></p>
+
+  <p>It supports the following additional attributes (in addition to the
+  common attributes listed above):</p>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>address</code></td><td valign="center" align="left">
+      <p>For servers with more than one IP address, this attribute
+      specifies which address will be used for listening on the specified
+      port.  By default, this port will be used on all IP addresses
+      associated with the server. A value of <code>127.0.0.1</code>
+      indicates that the Connector will only listen on the loopback
+      interface.</p>
+    </td></tr><tr><td valign="center" align="left"><code>backlog</code></td><td valign="center" align="left">
+      <p>The maximum queue length for incoming connection requests when
+      all possible request processing threads are in use.  Any requests
+      received when the queue is full will be refused.  The default
+      value is 10.</p>
+    </td></tr><tr><td valign="center" align="left"><code>bufferSize</code></td><td valign="center" align="left">
+      <p>The size of the output buffer to use.  If less than or equal to zero,
+         then output buffering is disabled.  The default value is -1
+         (i.e. buffering disabled)</p>
+    </td></tr><tr><td valign="center" align="left"><code>connectionTimeout</code></td><td valign="center" align="left">
+      <p>The number of milliseconds this <strong>Connector</strong> will wait,
+      after accepting a connection, for the request URI line to be
+      presented.  The default value is infinite (i.e. no timeout).</p>
+    </td></tr><tr><td valign="center" align="left"><code>executor</code></td><td valign="center" align="left">
+      <p>A reference to the name in an <a href="executor.html">Executor</a> element.
+         If this attribute is enabled, and the named executor exists, the connector will
+         use the executor, and all the other thread attributes will be ignored.</p>
+    </td></tr><tr><td valign="center" align="left"><code>keepAliveTimeout</code></td><td valign="center" align="left">
+      <p>The number of milliseconds this <strong>Connector</strong> will wait for
+       another AJP request before closing the connection.
+       The default value is to use the value that has been set for the
+       connectionTimeout attribute.</p>
+    </td></tr><tr><td valign="center" align="left"><code>maxThreads</code></td><td valign="center" align="left">
+      <p>The maximum number of request processing threads to be created
+      by this <strong>Connector</strong>, which therefore determines the
+      maximum number of simultaneous requests that can be handled.  If
+      not specified, this attribute is set to 200. If an executor is associated
+      with this connector, this attribute is ignored as the connector will 
+      execute tasks using the executor rather than an internal thread pool.</p>
+    </td></tr><tr><td valign="center" align="left"><code>packetSize</code></td><td valign="center" align="left">
+      <p>This attribute sets the maximum AJP packet size in Bytes. The maximum
+      value is 65536. It should be the same as the <code>max_packet_size</code>
+      directive configured for mod_jk. Normally it is not necessary to change
+      the maximum packet size. Problems with the default value have been
+      reported when sending certificates or certificate chains. The default
+      value is 8192.</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>port</code></strong></td><td valign="center" align="left">
+      <p>The TCP port number on which this <strong>Connector</strong>
+      will create a server socket and await incoming connections.  Your
+      operating system will allow only one server application to listen
+      to a particular port number on a particular IP address.</p>
+    </td></tr><tr><td valign="center" align="left"><code>request.secret</code></td><td valign="center" align="left">
+      <p>Only requests from workers with this secret keyword will be accepted.
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>request.shutdownEnabled</code></td><td valign="center" align="left">
+      <p>If true and a secret has been configured, a correctly fomatted AJP
+      request (that includes the secret) will shutdown the Tomcat instance
+      associated with this connector. This is set to <code>false</code> by
+      default.</p>
+    </td></tr><tr><td valign="center" align="left"><code>request.useSecret</code></td><td valign="center" align="left">
+      <p>If set to <code>true</code>, then a random value for
+      <code>request.secret</code> will be generated. It is for use with
+      <code>request.shutdownEnabled</code>. This is set to <code>false</code>
+      by default.</p>
+    </td></tr><tr><td valign="center" align="left"><code>tcpNoDelay</code></td><td valign="center" align="left">
+      <p>If set to <code>true</code>, the TCP_NO_DELAY option will be
+      set on the server socket, which improves performance under most
+      circumstances.  This is set to <code>true</code> by default.</p>
+    </td></tr><tr><td valign="center" align="left"><code>tomcatAuthentication</code></td><td valign="center" align="left">
+      <p>If set to <code>true</code>, the authetication will be done in Tomcat. 
+      Otherwise, the authenticated principal will be propagated from the native
+      webaserver and used for authorization in Tomcat.  
+      The default value is <code>true</code>.</p>
+    </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nested Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>None at this time.</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/config/printer/cluster-channel.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/config/printer/cluster-channel.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/config/printer/cluster-channel.html	(revision 66)
@@ -0,0 +1,60 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Cluster Channel object</title><meta value="Filip Hanik" name="author"><meta value="fhanik@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Cluster Channel object</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+  The cluster channel is the main component of a small framework we've nicknamed Apache Tribes.<br>
+  The channel manages a set of sub components and together they create a group communication framework.<br>
+  This framework is then used internally by the components that need to send messages between different Tomcat instances.
+  <br>
+  A few examples of these components would be the SimpleTcpCluster that does the messaging for the DeltaManager,
+  or the BackupManager that uses a different replication strategy. The ReplicatedContext object does also 
+  use the channel object to communicate context attribute changes.
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nested Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>
+  <p><b><a href="cluster-membership.html">Channel/Membership</a>:</b> <br>
+    The Membership component is responsible for auto discovering new nodes in the cluster
+    and also to provide for notifications for any nodes that have not responded with a heartbeat.
+    The default implementation uses multicast.<br>
+    In the membership component you configure how your nodes, aka. members, are to be discovered and/or 
+    divided up. 
+    You can always find out more about <a href="../../tribes/introduction.html">Apache Tribes</a>
+  </p>
+  <p><b><a href="cluster-sender.html">Channel/Sender</a>:</b> <br>
+    The Sender component manages all outbound connections and data messages that are sent 
+    over the network from one node to another.
+    This component allows messages to be sent in parallel.
+    The default implementation uses TCP client sockets, and socket tuning for outgoing messages are
+    configured here.<br>
+    You can always find out more about <a href="../../tribes/introduction.html">Apache Tribes</a>
+  </p>
+  <p><b><a href="cluster-sender.html#transport">Channel/Sender/Transport</a>:</b> <br>
+    The Transport component is the bottom IO layer for the sender component.
+    The default implementation uses non-blocking TCP client sockets.<br>
+    You can always find out more about <a href="../../tribes/introduction.html">Apache Tribes</a>
+  </p>
+  <p><b><a href="cluster-receiver.html">Channel/Receiver</a>:</b> <br>
+    The receiver component listens for messages from other nodes.
+    Here you will configure the cluster thread pool, as it will dispatch incoming
+    messages to a thread pool for faster processing.
+    The default implementation uses non-blocking TCP server sockets.<br>
+    You can always find out more about <a href="../../tribes/introduction.html">Apache Tribes</a>
+  </p>
+  <p><b><a href="cluster-interceptor.html">Channel/Interceptor</a>:</b> <br>
+    The channel will send messages through an interceptor stack. Because of this, you have the ability to 
+    customize the way messages are sent and received, and even how membership is handled.<br>
+    You can always find out more about <a href="../../tribes/introduction.html">Apache Tribes</a>
+  </p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+       The default value here is <code>org.apache.catalina.tribes.group.GroupChannel</code> and is
+       currently the only implementation available.
+    </td></tr></table>
+
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/config/printer/cluster-deployer.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/config/printer/cluster-deployer.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/config/printer/cluster-deployer.html	(revision 66)
@@ -0,0 +1,21 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Cluster Deployer object</title><meta value="Filip Hanik" name="author"><meta value="fhanik@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Cluster Deployer object</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+  <p>This goober is currently pretty broken, but we are working hard to fix it</p>
+  
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+
+    </td></tr></table>
+
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/config/printer/cluster-interceptor.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/config/printer/cluster-interceptor.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/config/printer/cluster-interceptor.html	(revision 66)
@@ -0,0 +1,121 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Channel Interceptor object</title><meta value="Filip Hanik" name="author"><meta value="fhanik@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Channel Interceptor object</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+  <p>
+  Apache Tribes supports an interceptor architecture to intercept both messages and membership notifications.
+  This architecture allows decoupling of logic and opens the way for some very kewl feature add ons.
+  </p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Available Interceptors"><strong>Available Interceptors</strong></a></font></td></tr><tr><td><blockquote>
+ <p>
+   <ul>
+    <li><code>org.apache.catalina.tribes.group.interceptors.TcpFailureDetector</code></li>
+    <li><code>org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor</code></li>
+    <li><code>org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor</code></li>
+    <li><code>org.apache.catalina.tribes.group.interceptors.MessageDispatchInterceptor</code></li>
+    <li><code>org.apache.catalina.tribes.group.interceptors.NonBlockingCoordinator</code></li>
+    <li><code>org.apache.catalina.tribes.group.interceptors.OrderInterceptor</code></li>
+    <li><code>org.apache.catalina.tribes.group.interceptors.StaticMembershipInterceptor</code></li>
+    <li><code>org.apache.catalina.tribes.group.interceptors.TwoPhaseCommitInterceptor</code></li>
+    <li><code>org.apache.catalina.tribes.group.interceptors.DomainFilterInterceptor</code></li>
+    <li><code>org.apache.catalina.tribes.group.interceptors.FragmentationInterceptor</code></li>
+    <li><code>org.apache.catalina.tribes.group.interceptors.GzipInterceptor</code></li>
+   </ul>
+ </p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Static Membership"><strong>Static Membership</strong></a></font></td></tr><tr><td><blockquote>
+  <p>
+   In addition to dynamic discovery, Apache Tribes also supports static membership, with membership verification.
+   To achieve this add the <code>org.apache.catalina.tribes.group.interceptors.StaticMembershipInterceptor</code>
+   underneath the <code>org.apache.catalina.tribes.group.interceptors.TcpFailureDetector</code> interceptor.
+   Inside the <code>StaticMembershipInterceptor</code> you can add the static members you wish to have.
+   The <code>TcpFailureDetector</code> will do a health check on the static members,and also monitor them for crashes
+   so they will have the same level of notification mechanism as the members that are automatically discovered.
+   <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+     &lt;Interceptor className="org.apache.catalina.tribes.group.interceptors.StaticMembershipInterceptor"&gt;
+       &lt;Member className="org.apache.catalina.tribes.membership.StaticMember"
+                  port="5678"
+                  securePort="-1"
+                  host="tomcat01.mydomain.com"
+                  domain="staging-cluster"
+                  uniqueId="{0,1,2,3,4,5,6,7,8,9}"/&gt;
+     &lt;/Interceptor&gt;
+   
+   </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+  </p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
+   <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+       Required, as there is no default 
+     </td></tr><tr><td valign="center" align="left"><code>optionFlag</code></td><td valign="center" align="left">
+       If you want the interceptor to trigger on certain message depending on the message's option flag,
+       you can setup the interceptors flag here.
+       The default value is <code>0</code>, meaning this interceptor will trigger on all messages.
+     </td></tr></table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor Attributes"><strong>org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor Attributes</strong></a></font></td></tr><tr><td><blockquote>
+   <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+       Required, This dispatcher uses JDK 1.5 java.util.concurrent package 
+     </td></tr><tr><td valign="center" align="left"><code>optionFlag</code></td><td valign="center" align="left">
+       The default and hard coded value is <code>8 (org.apache.catalina.tribes.Channel.SEND_OPTIONS_ASYNCHRONOUS)</code>.
+       The dispatcher will trigger on this value only, as it is predefined by Tribes.
+     </td></tr></table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="org.apache.catalina.tribes.group.interceptors.MessageDispatchInterceptor Attributes"><strong>org.apache.catalina.tribes.group.interceptors.MessageDispatchInterceptor Attributes</strong></a></font></td></tr><tr><td><blockquote>
+   <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+       Required, Same implementation as <code>MessageDispatch15Interceptor</code>, but with JDK 1.4 compliance.
+     </td></tr><tr><td valign="center" align="left"><code>optionFlag</code></td><td valign="center" align="left">
+       The default and hard coded value is <code>8 (org.apache.catalina.tribes.Channel.SEND_OPTIONS_ASYNCHRONOUS)</code>.
+       The dispatcher will trigger on this value only, as it is predefined by Tribes.
+     </td></tr><tr><td valign="center" align="left"><code>alwaysSend</code></td><td valign="center" align="left">
+       What behavior should be executed when the dispatch queue is full. If <code>true</code> (default), then the message is
+       is sent synchronously, if <code>false</code> an error is thrown.   
+     </td></tr><tr><td valign="center" align="left"><code>maxQueueSize</code></td><td valign="center" align="left">
+       Size in bytes of the dispatch queue, the default value is <code> 1024*1024*64 (64MB)</code> sets the maximum queue size for the dispatch queue
+       if the queue fills up, one can trigger the behavior, if <code>alwaysSend</code> is set to true, the mesage will be sent synchronously
+       if the flag is false, an error is thrown  
+     </td></tr></table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector Attributes"><strong>org.apache.catalina.tribes.group.interceptors.TcpFailureDetector Attributes</strong></a></font></td></tr><tr><td><blockquote>
+   <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr></table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor Attributes"><strong>org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor Attributes</strong></a></font></td></tr><tr><td><blockquote>
+   <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>interval</code></td><td valign="center" align="left">
+       Defines the interval in number of messages when we are to report the throughput statistics.
+       The report is logged to the <code>org.apache.juli.logging.LogFactory.getLog(ThroughputInterceptor.class)</code>
+       logger under the <code>INFO</code> level.
+       Default value is to report every <code>10000</code> messages.
+     </td></tr></table>
+  </blockquote></td></tr></table>
+  
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nested element StaticMember Attributes"><strong>Nested element StaticMember Attributes</strong></a></font></td></tr><tr><td><blockquote>
+   <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+       Only one implementation available:<code>org.apache.catalina.tribes.membership.StaticMember</code>
+     </td></tr><tr><td valign="center" align="left"><strong><code>port</code></strong></td><td valign="center" align="left">
+       The port that this static member listens to for cluster messages
+     </td></tr><tr><td valign="center" align="left"><code>securePort</code></td><td valign="center" align="left">
+       The secure port this static member listens to for encrypted cluster messages
+       default value is <code>-1</code>, this value means the member is not listening on a secure port
+     </td></tr><tr><td valign="center" align="left"><strong><code>host</code></strong></td><td valign="center" align="left">
+       The host (or network interface) that this static member listens for cluster messages.
+       Three different type of values are possible:<br>
+       1. IP address in the form of "216.123.1.23"<br>
+       2. Hostnames like "tomcat01.mydomain.com" or "tomcat01" as long as they resolve correctly<br>
+       3. byte array in string form, for example {216,123,12,3}<br>
+     </td></tr><tr><td valign="center" align="left"><strong><code>domain</code></strong></td><td valign="center" align="left">
+       The logical cluster domain for this this static member listens for cluster messages.
+       Two different type of values are possible:<br>
+       1. Regular string values like "staging-domain" or "tomcat-cluster" will be converted into bytes 
+       using ISO-8859-1 encoding.
+       2. byte array in string form, for example {216,123,12,3}<br>
+     </td></tr><tr><td valign="center" align="left"><strong><code>uniqueId</code></strong></td><td valign="center" align="left">
+       A universally uniqueId for this static member.
+       The values must be 16 bytes in the following form:<br>
+       1. byte array in string form, for example {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}<br>
+     </td></tr></table>
+  </blockquote></td></tr></table>
+  
+  
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/config/printer/cluster-listener.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/config/printer/cluster-listener.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/config/printer/cluster-listener.html	(revision 66)
@@ -0,0 +1,35 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The ClusterListener object</title><meta value="Filip Hanik" name="author"><meta value="fhanik@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The ClusterListener object</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+  <p>
+    The <code>org.apache.catalina.ha.ClusterListener</code> base class 
+    lets you listen in on messages that are received by the <code>Cluster</code> component.
+  </p>  
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="org.apache.catalina.ha.session.ClusterSessionListener"><strong>org.apache.catalina.ha.session.ClusterSessionListener</strong></a></font></td></tr><tr><td><blockquote>
+  <p>
+   When using the DeltaManager, the messages are received by the Cluster object and are propagated to the 
+   to the manager through this listener.
+   </p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"><strong>org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener</strong></a></font></td></tr><tr><td><blockquote>
+  <p>
+   Listens for session Id changes. This listener is only used if you are using mod_jk
+   along with the <code>jvmRoute</code> attribute where the session Id can change.
+   In the event of a change, the <code>JvmRouteBinderValve</code> will broadcast the
+   session change and it will get picked up by this listener.
+   </p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+
+    </td></tr></table>
+
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/config/printer/cluster-manager.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/config/printer/cluster-manager.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/config/printer/cluster-manager.html	(revision 66)
@@ -0,0 +1,70 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The ClusterManager object</title><meta value="Filip Hanik" name="author"><meta value="fhanik@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The ClusterManager object</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+  <p>
+  A cluster manager is an extension to Tomcat's session manager interface, 
+  <code>org.apache.catalina.Manager</code>
+  A cluster manager must implement the <code>org.apache.catalina.ha.ClusterManager</code> and is solely 
+  responsible for how the session is replicated.<br>
+  There are currently two different managers, the <code>org.apache.catalina.ha.session.DeltaManager</code> replicates deltas 
+  of session data to all members in the cluster. This implementation is proven and works very well, but has a limitation
+  as it requires the cluster members to be homogeneous, all nodes must deploy the same applications and be exact replicas.
+  The <code>org.apache.catalina.ha.session.BackupManager</code> also replicates deltas but only to one backup node.
+  The location of the backup node is known to all nodes in the cluster. It also supports heterogeneous deployments,
+  so the manager knows at what locations the webapp is deployed.<br>
+  We are planning to add more managers with even more sophisticated backup mechanism to support even larger clusters.
+  Check back soon! 
+  </p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="The <Manager>"><strong>The &lt;Manager&gt;</strong></a></font></td></tr><tr><td><blockquote>
+  <p>
+   The <code>&lt;Manager&gt;</code> element defined inside the <code>&lt;Cluster&gt;</code> element
+   is the template defined for all web applications that are marked <code>&lt;distributable/&gt;</code>
+   in their <code>web.xml</code> file. 
+   However, you can still override the manager implementation on a per web application basis,
+   by putting the <code>&lt;Manager&gt;</code> inside the <code>&lt;Context&gt;</code> element either in the 
+   <code><a href="context.html">context.xml</a></code> file or the <code><a href="index.html">server.xml</a></code> file.
+  </p> 
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+     </td></tr><tr><td valign="center" align="left"><code>name</code></td><td valign="center" align="left">
+      <b>The name of this cluster manager, the name is used to identify a session manager on a node.
+      The name might get modified by the <code>Cluster</code> element to make it unique in the container.</b>
+     </td></tr><tr><td valign="center" align="left"><code>defaultMode</code></td><td valign="center" align="left">
+      <b>Deprecated since 6.0.0</b>
+     </td></tr><tr><td valign="center" align="left"><code>notifyListenersOnReplication</code></td><td valign="center" align="left">
+       Set to <code>true</code> if you wish to have session listeners notified when
+       session attributes are being replicated or removed across Tomcat nodes in the cluster.
+     </td></tr><tr><td valign="center" align="left"><code>expireSessionsOnShutdown</code></td><td valign="center" align="left">
+       When a webapplication is being shutdown, Tomcat issues an expire call to each session to 
+       notify all the listeners. If you wish for all sessions to expire on all nodes when
+       a shutdown occurs on one node, set this value to <code>true</code>.
+       Default value is <code>false</code>.
+     </td></tr></table>
+  </blockquote></td></tr></table> 
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="org.apache.catalina.ha.session.DeltaManager Attributes"><strong>org.apache.catalina.ha.session.DeltaManager Attributes</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>domainReplication</code></td><td valign="center" align="left">
+      Set to true if you wish sessions to be replicated only to members that have the same logical
+      domain set. If set to false, session replication will ignore the domain setting the 
+      <code><a href="cluster-membership.html">&lt;Membership&gt;</a></code>
+      element.
+     </td></tr><tr><td valign="center" align="left"><code>expireSessionsOnShutdown</code></td><td valign="center" align="left">
+       When a webapplication is being shutdown, Tomcat issues an expire call to each session to 
+       notify all the listeners. If you wish for all sessions to expire on all nodes when
+       a shutdown occurs on one node, set this value to <code>true</code>.
+       Default value is <code>false</code>.
+     </td></tr><tr><td valign="center" align="left"><code>stateTransferTimeout</code></td><td valign="center" align="left">
+       The time in seconds to wait for a session state transfer to complete from another node
+       when a node is starting up.
+       Default value is <code>60</code> seconds.
+     </td></tr></table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="org.apache.catalina.ha.session.BackupManager Attributes"><strong>org.apache.catalina.ha.session.BackupManager Attributes</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>mapSendOptions</code></td><td valign="center" align="left">
+       The backup manager uses a replicated map, this map is sending and receiving messages.
+       You can setup the flag for how this map is sending messages, the default value is <code>6</code>(asynchronous).
+     </td></tr></table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/config/printer/cluster-membership.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/config/printer/cluster-membership.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/config/printer/cluster-membership.html	(revision 66)
@@ -0,0 +1,89 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Cluster Membership object</title><meta value="Filip Hanik" name="author"><meta value="fhanik@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Cluster Membership object</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+  <p>
+    The membership component in the Apache Tribes <a href="cluster-channel.html">Channel</a> is responsible
+    for dynamic discovery of other members(nodes) in the cluster.
+  </p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Default Implementation"><strong>Default Implementation</strong></a></font></td></tr><tr><td><blockquote>
+  <p>
+    The default implementation of the cluster group notification is built on top of multicast heartbeats
+    sent using UDP packets to a multicast IP address.
+    Cluster members are grouped together by using the same multicast address/port combination.
+    Each member sends out a heartbeat with a given interval (<code>frequency</code>), and this
+    heartbeat is used for dynamic discovery.
+    In a similar fashion, if a heartbeat has not been received in a timeframe specified by <code>dropTime</code>
+    ms. a member is considered suspect and the channel and any membership listener will be notified.
+  </p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Multicast Attributes"><strong>Multicast Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+      <p>
+      The default value is <code>org.apache.catalina.tribes.membership.McastService</code>
+      and is currently the only implementation.
+      This implementation uses multicast heartbeats for member discovery.
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>address</code></td><td valign="center" align="left">
+      <p>
+      The multicast address that the membership will broadcast its presence and listen
+      for other heartbeats on. The default value is <code>228.0.0.4</code>
+      Make sure your network is enabled for multicast traffic.<br>
+      The multicast address, in conjunction with the <code>port</code> is what 
+      creates a cluster group. To divide up your farm into several different group, or to 
+      split up QA from production, change the <code>port</code> or the <code>address</code>
+      <br>Previously known as mcastAddr.
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>port</code></td><td valign="center" align="left">
+      <p>
+      The multicast port, the default value is <code>45564</code><br>
+      The multicast port, in conjunction with the <code>address</code> is what 
+      creates a cluster group. To divide up your farm into several different group, or to 
+      split up QA from production, change the <code>port</code> or the <code>address</code>
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>frequency</code></td><td valign="center" align="left">
+      <p>
+      The frequency in milliseconds in which heartbeats are sent out. The default value is <code>500</code> ms.<br>
+      In most cases the default value is sufficient. Changing this value, simply changes the interval in between heartbeats.
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>dropTime</code></td><td valign="center" align="left">
+      <p>
+      The membership component will time out members and notify the Channel if a member fails to send a heartbeat within 
+      a give time. The default value is <code>3000</code> ms. This means, that if a heartbeat is not received from a 
+      member in that timeframe, the membership component will notify the cluster of this.<br>
+      On a high latency network you may wish to increase this value, to protect against false positives.<br>
+      Apache Tribes also provides a <a href="cluster-interceptor.html#tcpfailuredetector"><code>TcpFailureDetector</code></a> that will
+      verify a timeout using a TCP connection when a heartbeat timeout has occurred. This protects against false positives.
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>bind</code></td><td valign="center" align="left">
+      <p>
+      Use this attribute if you wish to bind your multicast traffic to a specific network interface.
+      By default, or when this attribute is unset, it tries to bind to <code>0.0.0.0</code> and sometimes on multihomed hosts
+      this becomes a problem.
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>ttl</code></td><td valign="center" align="left">
+      <p>
+      The time-to-live setting for the multicast heartbeats.
+      This setting should be a value between 0 and 255. The default value is VM implementation specific.
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>domain</code></td><td valign="center" align="left">
+      <p>
+      Apache Tribes has the ability to logically group members into domains, by using this domain attribute.
+      The <code>org.apache.catalina.tribes.Member.getDomain()</code> method returns the value specified here.
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>soTimeout</code></td><td valign="center" align="left">
+      <p>
+      The sending and receiving of heartbeats is done on a single thread, hence to avoid blocking this thread forever,
+      you can control the <code>SO_TIMEOUT</code> value on this socket.<br>
+      If a value smaller or equal to 0 is presented, the code will default this value to frequency
+      </p>
+    </td></tr></table>
+
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/config/printer/cluster-receiver.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/config/printer/cluster-receiver.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/config/printer/cluster-receiver.html	(revision 66)
@@ -0,0 +1,103 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Cluster Receiver object</title><meta value="Filip Hanik" name="author"><meta value="fhanik@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Cluster Receiver object</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+  <p>
+  The receiver component is responsible for receiving cluster messages.
+  As you might notice through the configuration, is that the receiving of messages
+  and sending of messages are two different components, this is different from many other 
+  frameworks, but there is a good reason for it, to decouple the logic for how messages are sent from
+  how messages are received.<br>
+  The receiver is very much like the Tomcat Connector, its the base of the thread pool
+  for incoming cluster messages. The receiver is straight forward, but all the socket settings
+  for incoming traffic are managed here.
+  </p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Blocking vs Non-Blocking Receiver"><strong>Blocking vs Non-Blocking Receiver</strong></a></font></td></tr><tr><td><blockquote>
+  <p>
+  The receiver supports both a non blocking, <code>org.apache.catalina.tribes.transport.nio.NioReceiver</code>, and a 
+  blocking, <code>org.apache.catalina.tribes.transport.bio.BioReceiver</code>. It is preferred to use the non blocking receiver
+  to be able to grow your cluster without running into thread starvation.<br>
+  Using the non blocking receiver allows you to with a very limited thread count to serve a large number of messages.
+  Usually the rule is to use 1 thread per node in the cluster for small clusters, and then depending on your message frequency
+  and your hardware, you'll find an optimal number of threads peak out at a certain number.
+  </p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+      The implementation of the receiver component. Two implementations available,
+      <code>org.apache.catalina.tribes.transport.nio.NioReceiver</code> and 
+      <code>org.apache.catalina.tribes.transport.bio.BioReceiver</code>.<br>
+      The <code>org.apache.catalina.tribes.transport.nio.NioReceiver</code> is the 
+      preferred implementation
+    </td></tr><tr><td valign="center" align="left"><code>address</code></td><td valign="center" align="left">
+      The address (network interface) to listen for incoming traffic.
+      Same as the bind address. The default value is <code>auto</code> and translates to
+      <code>java.net.InetAddress.getLocalHost().getHostAddress()</code>.
+    </td></tr><tr><td valign="center" align="left"><code>direct</code></td><td valign="center" align="left">
+      Possible values are <code>true</code> or <code>false</code>. 
+      Set to true if you want the receiver to use direct bytebuffers when reading data
+      from the sockets.
+    </td></tr><tr><td valign="center" align="left"><code>port</code></td><td valign="center" align="left">
+      The listen port for incoming data. The default value is <code>4000</code>.
+      To avoid port conflicts the receiver will automatically bind to a free port within the range of 
+      <code> port &lt;= bindPort &lt;= port+autoBind</code>
+      So for example, if port is 4000, and autoBind is set to 10, then the receiver will open up 
+      a server socket on the first available port in the range 4000-4100.
+    </td></tr><tr><td valign="center" align="left"><code>autoBind</code></td><td valign="center" align="left">
+      Default value is <code>100</code>.
+      Use this value if you wish to automatically avoid port conflicts the cluster receiver will try to open a 
+      server socket on the <code>port</code> attribute port, and then work up <code>autoBind</code> number of times.
+    </td></tr><tr><td valign="center" align="left"><code>securePort</code></td><td valign="center" align="left">
+      The secure listen port. This port is SSL enabled. If this attribute is omitted no SSL port is opened up.
+      There default value is unset, meaning there is no SSL socket available.
+    </td></tr><tr><td valign="center" align="left"><code>selectorTimeout</code></td><td valign="center" align="left">
+      The value in milliseconds for the polling timeout in the <code>NioReceiver</code>. On older versions of the JDK
+      there have been bugs, that should all now be cleared out where the selector never woke up.
+      The default value is a very high <code>5000</code> milliseconds.
+    </td></tr><tr><td valign="center" align="left"><code>maxThreads</code></td><td valign="center" align="left">
+      The maximum number of threads in the receiver thread pool. The default value is <code>6</code>
+      Adjust this value relative to the number of nodes in the cluster, the number of messages being exchanged and 
+      the hardware you are running on. A higher value doesn't mean more effiecency, tune this value according to your 
+      own test results.
+    </td></tr><tr><td valign="center" align="left"><code>minThreads</code></td><td valign="center" align="left">
+      Minimum number of threads to be created when the receiver is started up. Default value is <code>6</code>
+    </td></tr><tr><td valign="center" align="left"><code>ooBInline</code></td><td valign="center" align="left">
+      Boolean value for the socket OOBINLINE option. Possible values are <code>true</code> or <code>false</code>.
+    </td></tr><tr><td valign="center" align="left"><code>rxBufSize</code></td><td valign="center" align="left">
+      The receiver buffer size on the receiving sockets. Value is in bytes, the default value is <code>43800</code> bytes.
+    </td></tr><tr><td valign="center" align="left"><code>txBufSize</code></td><td valign="center" align="left">
+      The sending buffer size on the receiving sockets. Value is in bytes, the default value is <code>25188</code> bytes.
+    </td></tr><tr><td valign="center" align="left"><code>soKeepAlive</code></td><td valign="center" align="left">
+      Boolean value for the socket SO_KEEPALIVE option. Possible values are <code>true</code> or <code>false</code>.
+    </td></tr><tr><td valign="center" align="left"><code>soLingerOn</code></td><td valign="center" align="left">
+      Boolean value to determine whether to use the SO_LINGER socket option. 
+      Possible values are <code>true</code> or <code>false</code>. Default value is <code>true</code>.
+    </td></tr><tr><td valign="center" align="left"><code>soLingerTime</code></td><td valign="center" align="left">
+      Sets the SO_LINGER socket option time value. The value is in seconds. 
+      The default value is <code>3</code> seconds.
+    </td></tr><tr><td valign="center" align="left"><code>soReuseAddress</code></td><td valign="center" align="left">
+     Boolean value for the socket SO_REUSEADDR option. Possible values are <code>true</code> or <code>false</code>.
+    </td></tr><tr><td valign="center" align="left"><code>soTrafficClass</code></td><td valign="center" align="left">
+     Sets the traffic class level for the socket, the value is between 0 and 255.
+     Different values are defined in <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/net/Socket.html#setTrafficClass(int)">
+     java.net.Socket#setTrafficClass(int)</a>.
+    </td></tr><tr><td valign="center" align="left"><code>tcpNoDelay</code></td><td valign="center" align="left">
+     Boolean value for the socket TCP_NODELAY option. Possible values are <code>true</code> or <code>false</code>.
+     The default value is <code>true</code>
+    </td></tr><tr><td valign="center" align="left"><code>timeout</code></td><td valign="center" align="left">
+     Sets the SO_TIMEOUT option on the socket. The value is in milliseconds and the default value is <code>3000</code> 
+     milliseconds.
+    </td></tr><tr><td valign="center" align="left"><code>useBufferPool</code></td><td valign="center" align="left">
+     Boolean value whether to use a shared buffer pool of cached <code>org.apache.catalina.tribes.io.XByteBuffer</code>
+     objects. If set to true, the XByteBuffer that is used to pass a message up the channel, will be recycled at the end 
+     of the requests. This means that interceptors in the channel must not maintain a reference to the object
+     after the <code>org.apache.catalina.tribes.ChannelInterceptor#messageReceived</code> method has exited.
+    </td></tr></table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="NioReceiver"><strong>NioReceiver</strong></a></font></td></tr><tr><td><blockquote>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="BioReceiver"><strong>BioReceiver</strong></a></font></td></tr><tr><td><blockquote>
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/config/printer/cluster-sender.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/config/printer/cluster-sender.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/config/printer/cluster-sender.html	(revision 66)
@@ -0,0 +1,105 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Cluster Sender object</title><meta value="Filip Hanik" name="author"><meta value="fhanik@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Cluster Sender object</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+  <p>
+  The channel sender component is responsible for delivering outgoing cluster messages over the network.
+  In the default implementation, <code>org.apache.catalina.tribes.transport.ReplicationTransmitter</code>,
+  the sender is a fairly empty shell with not much logic around a fairly complex <code>&lt;Transport&gt;</code>
+  component the implements the actual delivery mechanism.
+  </p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Concurrent Parallel Delivery"><strong>Concurrent Parallel Delivery</strong></a></font></td></tr><tr><td><blockquote>
+  <p>
+  In the default <code>transport</code> implementation, <code>org.apache.catalina.tribes.transport.nio.PooledParallelSender</code>,
+  Apache Tribes implements what we like to call "Concurrent Parallel Delivery". 
+  This means that we can send a message to more than one destination at the same time(parallel), and
+  deliver two messages to the same destination at the same time(concurrent). Combine these two and we have 
+  "Concurrent Parallel Delivery".
+  </p>
+  <p>
+  When is this useful? The simplest example we can think of is when part of your code is sending a 10MB message,
+  like a war file being deployed, and you need to push through a small 10KB message, say a session being replicated,
+  you don't have to wait for the 10MB message to finish, as a separate thread will push in the small message 
+  transmission at the same time. Currently there is no interrupt, pause or priority mechanism avaiable, but check back soon.
+  </p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nested Elements"><strong>Nested Elements</strong></a></font></td></tr><tr><td><blockquote>
+ <p>
+   The nested element <code>&lt;Transport&gt;</code> is is not required, by encouraged, as this is where
+   you would set all the socket options for the outgoing messages. Please see its attributes below.
+   There are two implementations, in a similar manner to the <a href="cluster-receiver.html">receiver</a>, one is non-blocking
+   based and the other is built using blocking IO. <br>
+   <code>org.apache.catalina.tribes.transport.bio.PooledMultiSender</code> is the blocking implemenation and 
+   <code>org.apache.catalina.tribes.transport.nio.PooledParallelSender</code>.
+   Parallel delivery is not available for the blocking implementation due to the fact that it is blocking a thread on sending data.
+ </p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Sender Attributes"><strong>Common Sender Attributes</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+        Required, only available implementation is <code>org.apache.catalina.tribes.transport.ReplicationTransmitter</code>
+      </td></tr></table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Transport Attributes"><strong>Common Transport Attributes</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+        Required, an implementation of the <code>org.apache.catalina.tribes.transport.MultiPointSender</code>.<br>
+        Non-blocking implementation is <code>org.apache.catalina.tribes.transport.nio.PooledParallelSender</code><br>
+        Blocking implementation is <code>org.apache.catalina.tribes.transport.bio.PooledMultiSender</code>
+      </td></tr><tr><td valign="center" align="left"><code>rxBufSize</code></td><td valign="center" align="left">
+        The receive buffer size on the socket.
+        Default value is <code>25188</code> bytes.
+      </td></tr><tr><td valign="center" align="left"><code>txBufSize</code></td><td valign="center" align="left">
+       The send buffer size on the socket.
+       Default value is <code>43800</code> bytes.
+      </td></tr><tr><td valign="center" align="left"><code>direct</code></td><td valign="center" align="left">
+       Possible values are <code>true</code> or <code>false</code>. 
+       Set to true if you want the receiver to use direct bytebuffers when reading data
+       from the sockets. Default value is <code>false</code>
+      </td></tr><tr><td valign="center" align="left"><code>keepAliveCount</code></td><td valign="center" align="left">
+       The number of requests that can go through the socket before the socket is closed, and reopened
+       for the next request. The default value is <code>-1</code>, which is unlimited.
+      </td></tr><tr><td valign="center" align="left"><code>keepAliveTime</code></td><td valign="center" align="left">
+       The number of milliseconds a connection is kept open after its been opened.
+       The default value is <code>-1</code>, which is unlimited.
+      </td></tr><tr><td valign="center" align="left"><code>timeout</code></td><td valign="center" align="left">
+        Sets the SO_TIMEOUT option on the socket. The value is in milliseconds and the default value is <code>3000</code> 
+        milliseconds.
+      </td></tr><tr><td valign="center" align="left"><code>maxRetryAttempts</code></td><td valign="center" align="left">
+        How many times do we retry a failed message, that received a IOException at the socket level.
+        The default value is <code>1</code>, meaning we will retry a message that has failed once. 
+        In other words, we will attempt a message send no more than twice. One is the original send, and one is the 
+        <code>maxRetryAttempts</code>.
+      </td></tr><tr><td valign="center" align="left"><code>ooBInline</code></td><td valign="center" align="left">
+        Boolean value for the socket OOBINLINE option. Possible values are <code>true</code> or <code>false</code>.
+      </td></tr><tr><td valign="center" align="left"><code>soKeepAlive</code></td><td valign="center" align="left">
+        Boolean value for the socket SO_KEEPALIVE option. Possible values are <code>true</code> or <code>false</code>.
+      </td></tr><tr><td valign="center" align="left"><code>soLingerOn</code></td><td valign="center" align="left">
+        Boolean value to determine whether to use the SO_LINGER socket option. 
+        Possible values are <code>true</code> or <code>false</code>. Default value is <code>true</code>.
+      </td></tr><tr><td valign="center" align="left"><code>soLingerTime</code></td><td valign="center" align="left">
+        Sets the SO_LINGER socket option time value. The value is in seconds. 
+        The default value is <code>3</code> seconds.
+      </td></tr><tr><td valign="center" align="left"><code>soReuseAddress</code></td><td valign="center" align="left">
+       Boolean value for the socket SO_REUSEADDR option. Possible values are <code>true</code> or <code>false</code>.
+      </td></tr><tr><td valign="center" align="left"><code>soTrafficClass</code></td><td valign="center" align="left">
+       Sets the traffic class level for the socket, the value is between 0 and 255.
+       Default value is <code>int soTrafficClass = 0x04 | 0x08 | 0x010;</code>
+       Different values are defined in <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/net/Socket.html#setTrafficClass(int)">
+       java.net.Socket#setTrafficClass(int)</a>.
+      </td></tr><tr><td valign="center" align="left"><code>tcpNoDelay</code></td><td valign="center" align="left">
+       Boolean value for the socket TCP_NODELAY option. Possible values are <code>true</code> or <code>false</code>.
+       The default value is <code>true</code>
+      </td></tr><tr><td valign="center" align="left"><code>throwOnFailedAck</code></td><td valign="center" align="left">
+       Boolean value, default value is <code>true</code>.
+       If set to true, the sender will throw a <code>org.apache.catalina.tribes.RemoteProcessException</code>
+       when we receive a negative ack from the remote member.
+       Set to false, and Tribes will treat a positive ack the same way as a negative ack, that the message was received.
+      </td></tr></table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="PooledParallelSender Attributes"><strong>PooledParallelSender Attributes</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>poolSize</code></td><td valign="center" align="left">
+        The maximum number of concurrent connections from A to B.
+        The value is based on a per-destination count.
+        The default value is <code>25</code>
+      </td></tr></table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/config/printer/cluster-valve.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/config/printer/cluster-valve.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/config/printer/cluster-valve.html	(revision 66)
@@ -0,0 +1,56 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Cluster Valve object</title><meta value="Filip Hanik" name="author"><meta value="fhanik@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Cluster Valve object</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+  <p>
+  A cluster valve is no different from any other <a href="valve.html">Tomcat <code>Valve</code></a>.
+  The cluster valves are interceptors in the invokation chain for HTTP requests, and the clustering implementation
+  uses these valves to make intelligent decision around data and when data should be replicated.
+  </p>
+  <p>
+  A cluster valve must implement the <code>org.apache.catalina.ha.ClusterValve</code> interface.
+  This is a simple interface that extends the <code>org.apache.catalina.Valve</code> interface.
+  </p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="org.apache.catalina.ha.tcp.ReplicationValve"><strong>org.apache.catalina.ha.tcp.ReplicationValve</strong></a></font></td></tr><tr><td><blockquote>
+  The <code>ReplicationValve</code> will notify the cluster at the end of a HTTP request
+  so that the cluster can make a decision whether there is data to be replicated or not.
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+        Set value to <code>org.apache.catalina.ha.tcp.ReplicationValve</code>
+      </td></tr><tr><td valign="center" align="left"><code>filter</code></td><td valign="center" align="left">
+        For known file extensions or urls, you can use a filter to 
+        notify the cluster that the session has not been modified during this 
+        request and the cluster doesn't have to probe the session managers for changes.
+        If there is a filter match, the cluster assumes there has been no session change.
+        An example filter would look like <code>filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"</code>
+        The filter uses regular expressions and each filter is delimited by a semi colon.
+        <code>Pattern#compile(java.lang.String)</code>
+      </td></tr><tr><td valign="center" align="left"><code>primaryIndicator</code></td><td valign="center" align="left">
+        Boolean value, so to true, and the replication valve will insert a request attribute with the name
+        defined by the <code>primaryIndicatorName</code> attribute.
+        The value inserted into the request attribute is either <code>Boolean.TRUE</code> or 
+        <code>Boolean.FALSE</code>
+      </td></tr><tr><td valign="center" align="left"><code>primaryIndicatorName</code></td><td valign="center" align="left">
+        Default value is <code>org.apache.catalina.ha.tcp.isPrimarySession</code>
+        The value defined here is the name of the request attribute that contains the boolean value
+        if the session is primary on this server or not.
+      </td></tr><tr><td valign="center" align="left"><code>statistics</code></td><td valign="center" align="left">
+        Boolean value. Set to <code>true</code> if you want the valve to collect request statistics.
+        Default value is <code>false</code>
+      </td></tr></table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="org.apache.catalina.ha.session.JvmRouteBinderValve"><strong>org.apache.catalina.ha.session.JvmRouteBinderValve</strong></a></font></td></tr><tr><td><blockquote>
+  In case of a mod_jk failover, the <code>JvmRouteBinderValve</code> will replace the 
+  <code>jvmWorker</code> attribute in the session Id, to make future requests stick to this
+  node. If you want failback capability, don't enable this valve, but if you want your failover to stick,
+  and for mod_jk not to have to keep probing the node that went down, you use this valve.
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+        <code>org.apache.catalina.ha.session.JvmRouteBinderValve</code>
+      </td></tr><tr><td valign="center" align="left"><code>enabled</code></td><td valign="center" align="left">
+        Default value is <code>true</code>
+        Runtime attribute to turn on and off turn over of the session's jvmRoute value.
+      </td></tr></table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/config/printer/cluster.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/config/printer/cluster.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/config/printer/cluster.html	(revision 66)
@@ -0,0 +1,106 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Cluster object</title><meta value="Filip Hanik" name="author"><meta value="fhanik@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Cluster object</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+  <p>
+  The tomcat cluster implementation provides session replication, context attribute replication and
+  cluster wide WAR file deployment.
+  While the <code>Cluster</code> configuration is fairly complex, the default configuration will work
+  for most people out of the box. </p><p>
+  The Tomcat Cluster implementation is very extensible, and hence we have exposed a myriad of options,
+  making the configuration seem like a lot, but don't lose faith, instead you have a tremendous control
+  over what is going on.</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Engine vs Host placement"><strong>Engine vs Host placement</strong></a></font></td></tr><tr><td><blockquote>
+  <p>
+   You can place the <code>&lt;Cluster&gt;</code> element inside either the <code>&lt;Engine&gt;</code>
+   container or the <code>&lt;Host&gt;</code> container.<br>
+   Placing it in the engine, means that you will support clustering in all virtual hosts of Tomcat,
+   and share the messaging component. When you place the <code>&lt;Cluster&gt;</code> inside the <code>&lt;Engine&gt;</code>
+   element, the cluster will append the host name of each session manager to the managers name so that two contexts with 
+   the same name but sitting inside two different hosts will be distinguishable.
+  </p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Context Attribute Replication"><strong>Context Attribute Replication</strong></a></font></td></tr><tr><td><blockquote>
+  <p>To configure context attribute replication, simply do this by swapping out the context implementation
+  used for your application context.
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>&lt;Context className="org.apache.catalina.ha.context.ReplicatedContext"/&gt;</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+    This context extends the Tomcat <code><a href="context.html">StandardContext</a></code>
+    so all the options from the <a href="context.html">base implementation</a> are valid.
+  </p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nested Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>
+  <p><b><a href="cluster-manager.html">Manager</a>:</b> <br>
+    The session manager element identifies what kind of session manager is used in this cluster implementation.
+    This manager configuration is identical to the one you would use in a regular <code><a href="context.html#Nested%20xComponents">&lt;Context&gt;</a></code> configuration.
+    <br>The default value is the <code>org.apache.catalina.ha.session.DeltaManager</code> that is closely coupled with
+    the <code>SimpleTcpCluster</code> implementation. Other managers like the <code>org.apache.catalina.ha.session.BackupManager</code>
+    are/could be loosely coupled and don't rely on the <code>SimpleTcpCluster</code> for its data replication.
+  </p>
+  <p><b><a href="cluster-channel.html">Channel</a>:</b> <br>
+    The Channel and its sub components are all part of the IO layer 
+    for the cluster group, and is a module in it's own that we have nick named "Tribes"
+    <br>
+    Any configuring and tuning of the network layer, the messaging and the membership logic
+    will be done in the channel and its nested components.
+    You can always find out more about <a href="../../tribes/introduction.html">Apache Tribes</a>
+  </p>
+  <p><b><a href="cluster-valve.html">Valve</a>:</b> <br>
+    The Tomcat Cluster implementation uses <code>Tomcat <a href="valve.html">Valves</a></code> to
+    track when requests enter and exit the servlet container. It uses these valves to be able to make
+    intelligent decisions on when to replicate data, which is always at the end of a request.
+  </p>
+  <p><b><a href="cluster-deployer.html">Deployer</a>:</b> <br>
+    The Deployer component is the Tomcat Farm Deployer. It allows you to deploy and undeploy applications
+    cluster wide.
+  </p>
+  <p><b><a href="cluster-listener.html">ClusterListener</a>:</b> <br>
+    ClusterListener's are used to track messages sent and received using the <code>SimpleTcpCluster</code>.
+    If you wish to track messages, you can add a listener here, or you can add a valve to the channel object.
+  </p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Deprecated configuration options"><strong>Deprecated configuration options</strong></a></font></td></tr><tr><td><blockquote>
+  <p>
+    <b>Deprecated settings:</b> In the previous version of Tomcat you were able to control session
+       manager settings using manager.&lt;property&gt;=value.
+       This has been discontinued, as the way it was written interfers with 
+       the ability to support multiple different manager classes under one cluster implementation,
+       as the same properties might have the different effect on different managers.
+  </p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="SimpleTcpCluster Attributes"><strong>SimpleTcpCluster Attributes</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+      <p>The main cluster class, currently only one is available,
+         <code>org.apache.catalina.ha.tcp.SimpleTcpCluster</code>
+      </p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>channelSendOptions</code></strong></td><td valign="center" align="left">
+      <p>The Tribes channel send options, default is <code>8</code>.<br>
+         This option is used to set the flag that all messages sent through the 
+         SimpleTcpCluster uses. The flag decides how the messages are sent, and is a simple logical OR.<br>
+         
+      <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+        int options= Channel.SEND_OPTIONS_ASYNCHRONOUS | 
+                     Channel.SEND_OPTIONS_SYNCHRONIZED_ACK | 
+                     Channel.SEND_OPTIONS_USE_ACK;
+      </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+      Some of the values are:<br>
+      <code>Channel.SEND_OPTIONS_SYNCHRONIZED_ACK = 0x0004</code><br>
+      <code>Channel.SEND_OPTIONS_ASYNCHRONOUS = 0x0008</code><br>
+      <code>Channel.SEND_OPTIONS_USE_ACK = 0x0002</code><br>
+      So to use ACK and ASYNC messaging, the flag would be <code>10 (8+2) or 0x000B</code><br>
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>heartbeatBackgroundEnabled</code></td><td valign="center" align="left">
+      <p>Enable this flag don't forget to disable the channel heartbeat thread.
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>doClusterLog</code></td><td valign="center" align="left">
+      <p><b>Deprecated since 6.0.0</b></p>
+      <p>Possible values are <code>true</code> or <code>false</code><br>
+         Value is inherited from Tomcat 5.5 and has no official meaning.
+         to configure logging, use the standard tomcat logging configuration.
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>clusterLogName</code></td><td valign="center" align="left">
+      <p><b>Deprecated since 6.0.0</b></p>
+      <p>
+        Value is inherited from Tomcat 5.5 and has no official meaning.
+         to configure logging, use the standard tomcat logging configuration.
+      </p>
+    </td></tr></table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/config/printer/context.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/config/printer/context.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/config/printer/context.html	(revision 66)
@@ -0,0 +1,677 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Context Container</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Context Container</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+    <blockquote><em>
+    <p>The description below uses the variable name $CATALINA_BASE to refer the
+    base directory against which most relative paths are resolved. If you have
+    not configured Tomcat 6 for multiple instances by setting a CATALINA_BASE
+    directory, then $CATALINA_BASE will be set to the value of $CATALINA_HOME,
+    the directory into which you have installed Tomcat 6.</p>
+    </em></blockquote>
+
+  <p>The <strong>Context</strong> element represents a <em>web
+  application</em>, which is run within a particular virtual host.
+  Each web application is based on a <em>Web Application Archive</em>
+  (WAR) file, or a corresponding directory containing the corresponding
+  unpacked contents, as described in the Servlet Specification (version
+  2.2 or later).  For more information about web application archives,
+  you can download the
+  <a href="http://java.sun.com/products/servlet/download.html">Servlet
+  Specification</a>, and review the Tomcat
+  <a href="../../appdev/index.html">Application Developer's Guide</a>.</p>
+
+  <p>The web application used to process each HTTP request is selected
+  by Catalina based on matching the longest possible prefix of the
+  Request URI against the <em>context path</em> of each defined Context.
+  Once selected, that Context will select an appropriate servlet to
+  process the incoming request, according to the servlet mappings defined
+  in the <em>web application deployment descriptor</em> file (which MUST
+  be located at <code>/WEB-INF/web.xml</code> within the web app's
+  directory hierarchy).</p>
+
+  <p>You may define as many <strong>Context</strong> elements as you
+  wish.  Each such Context MUST have a unique context path. In
+  addition, a Context must be present with a context path equal to
+  a zero-length string.  This Context becomes the <em>default</em>
+  web application for this virtual host, and is used to process all
+  requests that do not match any other Context's context path.</p>
+
+  <p><b>For Tomcat 6, unlike Tomcat 4.x, it is NOT recommended to place
+  &lt;Context&gt; elements directly in the server.xml file.</b> This
+  is because it makes modifing the <strong>Context</strong> configuration
+  more invasive since the main <code>conf/server.xml</code> file cannot be
+  reloaded without restarting Tomcat.</p>
+
+  <p><strong>Context</strong> elements may be explicitly defined:
+  <ul>
+  <li>in the <code>$CATALINA_BASE/conf/context.xml</code> file: 
+  the Context element information will be loaded by all webapps</li>
+  <li>in the 
+  <code>$CATALINA_BASE/conf/[enginename]/[hostname]/context.xml.default</code>
+  file: the Context element information will be loaded by all webapps of that
+  host</li>
+  <li>in individual files (with a ".xml" extension) in the
+  <code>$CATALINA_BASE/conf/[enginename]/[hostname]/</code> directory.
+  The name of the file (less the .xml extension) will be used as the
+  context path. Multi-level context paths may be defined using #, e.g.
+  <code>context#path.xml</code>. The default web application may be defined
+  by using a file called <code>ROOT.xml</code>.</li>
+  <li>if the previous file was not found for this application, in an individual
+  file at <code>/META-INF/context.xml</code> inside the application files</li>
+  <li>inside a <a href="host.html">Host</a> element in the main
+  <code>conf/server.xml</code></li>
+  </ul>
+  </p>
+
+  <p>With the exception of server.xml, files that define <strong>Context
+  </strong> elements may only define a single <strong>Context</strong> element.
+  </p>
+
+  <p>In addition to explicitly specified Context elements, there are
+  several techniques by which Context elements can be created automatically
+  for you.  See <a href="host.html#Automatic Application Deployment">
+  Automatic Application Deployment</a> and
+  <a href="host.html#User Web Applications">User Web Applications</a>
+  for more information.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>All implementations of <strong>Context</strong>
+    support the following attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>backgroundProcessorDelay</code></td><td valign="center" align="left">
+        <p>This value represents the delay in seconds between the 
+        invocation of the backgroundProcess method on this context and 
+        its child containers, including all wrappers. 
+        Child containers will not be invoked if their delay value is not 
+        negative (which would mean they are using their own processing 
+        thread). Setting this to a positive value will cause 
+        a thread to be spawn. After waiting the specified amount of time, 
+        the thread will invoke the backgroundProcess method on this host 
+        and all its child containers. A context will use background 
+        processing to perform session expiration and class monitoring for
+        reloading. If not specified, the default value for this attribute is 
+        -1, which means the context will rely on the background processing 
+        thread of its parent host.</p>
+      </td></tr><tr><td valign="center" align="left"><code>className</code></td><td valign="center" align="left">
+        <p>Java class name of the implementation to use.  This class must
+        implement the <code>org.apache.catalina.Context</code> interface.
+        If not specified, the standard value (defined below) will be used.</p>
+      </td></tr><tr><td valign="center" align="left"><code>cookies</code></td><td valign="center" align="left">
+        <p>Set to <code>true</code> if you want cookies to be used for
+        session identifier communication if supported by the client (this
+        is the default).  Set to <code>false</code> if you want to disable
+        the use of cookies for session identifier communication, and rely
+        only on URL rewriting by the application.</p>
+      </td></tr><tr><td valign="center" align="left"><code>crossContext</code></td><td valign="center" align="left">
+        <p>Set to <code>true</code> if you want calls within this application
+        to <code>ServletContext.getContext()</code> to successfully return a
+        request dispatcher for other web applications running on this virtual
+        host.  Set to <code>false</code> (the default) in security
+        conscious environments, to make <code>getContext()</code> always
+        return <code>null</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>docBase</code></strong></td><td valign="center" align="left">
+        <p>The <em>Document Base</em> (also known as the <em>Context
+        Root</em>) directory for this web application, or the pathname
+        to the web application archive file (if this web application is
+        being executed directly from the WAR file). You may specify
+        an absolute pathname for this directory or WAR file, or a pathname
+        that is relative to the <code>appBase</code> directory of the
+        owning <a href="host.html">Host</a>.</p>
+        <p>The value of this field must not be set when the Context is
+        configured using a <code>META-INF/context.xml</code> file as it will be
+        inferred by the automatic deployment process.</p>
+      </td></tr><tr><td valign="center" align="left"><code>override</code></td><td valign="center" align="left">
+        <p>Set to <code>true</code> to have explicit settings in this
+        Context element override any corresponding settings in the
+        <a href="defaultcontext.html">DefaultContext</a> element associated
+        with our owning <a href="host.html">Host</a>.  By default, settings
+        in the DefaultContext element will be used.</p>
+        <p>If a symbolic link is used for docBase then changes to the
+        symbolic link will only be effective after a Tomcat restart or
+        by undeploying and redeploying the conext. A context reload is not
+        sufficient.</p>
+      </td></tr><tr><td valign="center" align="left"><code>privileged</code></td><td valign="center" align="left">
+        <p>Set to <code>true</code> to allow this context to use container
+        servlets, like the manager servlet. Use of the <code>privileged</code>
+        attribute will change the context's parent class loader to be the
+        <em>Server</em> class loader rather than the <em>Shared</em> class
+        loader. Note that in a default installation, the <em>Common</em> class
+        loader is used for both the <em>Server</em> and the <em>Shared</em>
+        class loaders.</p>
+      </td></tr><tr><td valign="center" align="left"><code>path</code></td><td valign="center" align="left">
+        <p>The <em>context path</em> of this web application, which is
+        matched against the beginning of each request URI to select the
+        appropriate web application for processing.  All of the context paths
+        within a particular <a href="host.html">Host</a> must be unique.
+        If you specify a context path of an empty string (""), you are
+        defining the <em>default</em> web application for this Host, which
+        will process all requests not assigned to other Contexts.</p>
+        <p>The value of this field must not be set except when statically
+        defining a Context in server.xml, as it will be inferred from the
+        filenames used for either the .xml context file or the docBase.</p>
+      </td></tr><tr><td valign="center" align="left"><code>reloadable</code></td><td valign="center" align="left">
+        <p>Set to <code>true</code> if you want Catalina to monitor classes in
+        <code>/WEB-INF/classes/</code> and <code>/WEB-INF/lib</code> for
+        changes, and automatically reload the web application if a change
+        is detected.  This feature is very useful during application
+        development, but it requires significant runtime overhead and is
+        not recommended for use on deployed production applications.  That's
+        why the default setting for this attribute is <i>false</i>.  You
+        can use the <a href="../../manager-howto.html">Manager</a> web
+        application, however, to trigger reloads of deployed applications
+        on demand.</p>
+      </td></tr><tr><td valign="center" align="left"><code>wrapperClass</code></td><td valign="center" align="left">
+        <p>Java class name of the <code>org.apache.catalina.Wrapper</code>
+        implementation class that will be used for servlets managed by this
+        Context.  If not specified, a standard default value will be used.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Standard Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The standard implementation of <strong>Context</strong> is
+    <strong>org.apache.catalina.core.StandardContext</strong>.
+    It supports the following additional attributes (in addition to the
+    common attributes listed above):</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>allowLinking</code></td><td valign="center" align="left">
+        <p>If the value of this flag is <code>true</code>, symlinks will be
+        allowed inside the web application, pointing to resources outside the
+        web application base path. If not specified, the default value
+        of the flag is <code>false</code>.</p>
+        <p><b>NOTE: This flag MUST NOT be set to true on the Windows platform
+        (or any other OS which does not have a case sensitive filesystem),
+        as it will disable case sensitivity checks, allowing JSP source code
+        disclosure, among other security problems.</b></p>
+      </td></tr><tr><td valign="center" align="left"><code>antiJARLocking</code></td><td valign="center" align="left">
+        <p>If true, the Tomcat classloader will take extra measures to avoid
+        JAR file locking when resources are accessed inside JARs through URLs.
+        This will impact startup time of applications, but could prove to be useful
+        on platforms or configurations where file locking can occur.
+        If not specified, the default value is <code>false</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>antiResourceLocking</code></td><td valign="center" align="left">
+        <p>If true, Tomcat will prevent any file locking.
+        This will significantly impact startup time of applications, 
+        but allows full webapp hot deploy and undeploy on platforms 
+        or configurations where file locking can occur.
+        If not specified, the default value is <code>false</code>.</p>
+   
+        <p>Please note that setting this to <code>true</code> has some side effects,
+        including the disabling of JSP reloading in a running server: see
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37668">Bugzilla 37668</a>.
+        </p>
+
+        <p>
+        Please note that setting this flag to true in applications that are
+        outside the appBase for the Host (the <code>webapps</code> directory
+        by default) will cause the application to be
+        <strong>deleted</strong> on Tomcat shutdown.  You probably don't want to
+        do this, so think twice before setting antiResourceLocking=true on a webapp
+        that's outside the appBase for its Host.
+        </p>
+      </td></tr><tr><td valign="center" align="left"><code>cacheMaxSize</code></td><td valign="center" align="left">
+        <p>Maximum size of the static resource cache in kilobytes. 
+        If not specified, the default value is <code>10240</code>
+        (10 megabytes).</p>
+      </td></tr><tr><td valign="center" align="left"><code>cacheTTL</code></td><td valign="center" align="left">
+        <p>Amount of time in milliseconds between cache entries revalidation.
+        If not specified, the default value is <code>5000</code> 
+        (5 seconds).</p>
+      </td></tr><tr><td valign="center" align="left"><code>cachingAllowed</code></td><td valign="center" align="left">
+        <p>If the value of this flag is <code>true</code>, the cache for static
+        resources will be used. If not specified, the default value
+        of the flag is <code>true</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>caseSensitive</code></td><td valign="center" align="left">
+        <p>If the value of this flag is <code>true</code>, all case sensitivity
+        checks will be disabled. If not 
+        specified, the default value of the flag is <code>true</code>.</p>
+        <p><b>NOTE: This flag MUST NOT be set to false on the Windows platform
+        (or any other OS which does not have a case sensitive filesystem),
+        as it will disable case sensitivity checks, allowing JSP source code
+        disclosure, among other security problems.</b></p>
+      </td></tr><tr><td valign="center" align="left"><code>processTlds</code></td><td valign="center" align="left">
+        <p>Whether the context should process TLDs on startup.  The default
+        is true.  The false setting is intended for special cases
+        that know in advance TLDs are not part of the webapp.</p>
+      </td></tr><tr><td valign="center" align="left"><code>swallowOutput</code></td><td valign="center" align="left">
+        <p>If the value of this flag is <code>true</code>, the bytes output to
+        System.out and System.err by the web application will be redirected to
+        the web application logger. If not specified, the default value
+        of the flag is <code>false</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>tldNamespaceAware</code></td><td valign="center" align="left">
+        <p>If the value of this flag is <code>true</code>, the TLD files
+        XML validation will be namespace-aware.  If you turn this flag on,
+        you should probably also turn <code>tldValidation</code> on.  The
+        default value for this flag is <code>false</code>, and setting it
+        to true will incur a performance penalty.
+        </p>
+      </td></tr><tr><td valign="center" align="left"><code>tldValidation</code></td><td valign="center" align="left">
+        <p>If the value of this flag is <code>true</code>, the TLD files
+        will be XML validated on context startup.  The default value for
+        this flag is <code>false</code>, and setting it to true will incur
+        a performance penalty.</p>
+      </td></tr><tr><td valign="center" align="left"><code>unloadDelay</code></td><td valign="center" align="left">
+        <p>Amount of ms that the container will wait for servlets to unload.
+        If not specified, the default value of the flag is <code>2000</code> 
+        ms.</p>
+      </td></tr><tr><td valign="center" align="left"><code>unpackWAR</code></td><td valign="center" align="left">
+        <p>If true, Tomcat will unpack all compressed web applications before
+        running them.
+        If not specified, the default value is <code>true</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>useNaming</code></td><td valign="center" align="left">
+        <p>Set to <code>true</code> (the default) to have Catalina enable a
+        JNDI <code>InitialContext</code> for this web application that is
+        compatible with Java2 Enterprise Edition (J2EE) platform
+        conventions.</p>
+      </td></tr><tr><td valign="center" align="left"><code>workDir</code></td><td valign="center" align="left">
+        <p>Pathname to a scratch directory to be provided by this Context
+        for temporary read-write use by servlets within the associated web
+        application.  This directory will be made visible to servlets in the
+        web application by a servlet context attribute (of type
+        <code>java.io.File</code>) named
+        <code>javax.servlet.context.tempdir</code> as described in the
+        Servlet Specification.  If not specified, a suitable directory
+        underneath <code>$CATALINA_BASE/work</code> will be provided.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nested Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>You can nest at most one instance of the following utility components
+  by nesting a corresponding element inside your <strong>Context</strong>
+  element:</p>
+  <ul>
+  <li><a href="loader.html"><strong>Loader</strong></a> -
+      Configure the web application class loader that will be used to load
+      servlet and bean classes for this web application.  Normally, the
+      default configuration of the class loader will be sufficient.</li>
+  <li><a href="manager.html"><strong>Manager</strong></a> -
+      Configure the session manager that will be used to create, destroy,
+      and persist HTTP sessions for this web application.  Normally, the
+      default configuration of the session manager will be sufficient.</li>
+  <li><a href="realm.html"><strong>Realm</strong></a> -
+      Configure a realm that will allow its
+      database of users, and their associated roles, to be utilized solely
+      for this particular web application.  If not specified, this web
+      application will utilize the Realm associated with the owning
+      <a href="host.html">Host</a> or <a href="engine.html">Engine</a>.</li>
+  <li><a href="resources.html"><strong>Resources</strong></a> -
+      Configure the resource manager that will be used to access the static
+      resources associated with this web application.  Normally, the
+      default configuration of the resource manager will be sufficient.</li>
+  <li><strong>WatchedResource</strong> - The auto deployer will monitor the 
+      specified static resource of the web application for updates, and will
+      reload the web application if is is updated. The content of this element
+      must be a string.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Special Features"><strong>Special Features</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Logging"><strong>Logging</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>A context is associated with the 
+       <code>org.apache.catalina.core.ContainerBase.[enginename].[hostname].[path]</code>
+       log category.  Note that the brackets are actually part of the name, don't omit them.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Access Logs"><strong>Access Logs</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>When you run a web server, one of the output files normally generated
+    is an <em>access log</em>, which generates one line of information for
+    each request processed by the server, in a standard format.  Catalina
+    includes an optional <a href="valve.html">Valve</a> implementation that
+    can create access logs in the same standard format created by web servers,
+    or in any number of custom formats.</p>
+
+    <p>You can ask Catalina to create an access log for all requests
+    processed by an <a href="engine.html">Engine</a>,
+    <a href="host.html">Host</a>, or <a href="context.html">Context</a>
+    by nesting a <a href="valve.html">Valve</a> element like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context path="/examples" ...&gt;
+  ...
+  &lt;Valve className="org.apache.catalina.valves.AccessLogValve"
+         prefix="localhost_access_log." suffix=".txt"
+         pattern="common"/&gt;
+  ...
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+    <p>See <a href="valve.html#Access Log Valve">Access Log Valve</a>
+    for more information on the configuration attributes that are
+    supported.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Automatic Context Configuration"><strong>Automatic Context Configuration</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>If you use the standard <strong>Context</strong> implementation,
+    the following configuration steps occur automtically when Catalina
+    is started, or whenever this web application is reloaded.  No special
+    configuration is required to enable this feature.</p>
+    
+    <ul>
+    <li>If you have not declared your own <a href="loader.html">Loader</a>
+       element, a standard web application class loader will be configured.
+       </li>
+    <li>If you have not declared your own <a href="manager.html">Manager</a>
+        element, a standard session manager will be configured.</li>
+    <li>If you have not declared your own <a href="resources.html">Resources</a>
+        element, a standard resources manager will be configured.</li>
+    <li>The web application properties listed in <code>conf/web.xml</code>
+        will be processed as defaults for this web application.  This is used
+        to establish default mappings (such as mapping the <code>*.jsp</code>
+        extension to the corresponding JSP servlet), and other standard
+        features that apply to all web applications.</li>
+    <li>The web application properties listed in the
+        <code>/WEB-INF/web.xml</code> resource for this web application
+        will be processed (if this resource exists).</li>
+    <li>If your web application has specified security constraints that might
+        require user authentication, an appropriate Authenticator that
+        implements the login method you have selected will be configured.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Context Parameters"><strong>Context Parameters</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>You can configure named values that will be made visible to the
+    web application as servlet context initialization parameters by nesting
+    <code>&lt;Parameter&gt;</code> elements inside this element.  For
+    example, you can create an initialization parameter like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context ...&gt;
+  ...
+  &lt;Parameter name="companyName" value="My Company, Incorporated"
+         override="false"/&gt;
+  ...
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+    <p>This is equivalent to the inclusion of the following element in the
+    web application deployment descriptor (<code>/WEB-INF/web.xml</code>):
+    </p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;context-param&gt;
+  &lt;param-name&gt;companyName&lt;/param-name&gt;
+  &lt;param-value&gt;My Company, Incorporated&lt;/param-value&gt;
+&lt;/context-param&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+    <p>but does <em>not</em> require modification of the deployment descriptor
+    to customize this value.</p>
+
+    <p>The valid attributes for a <code>&lt;Parameter&gt;</code> element
+    are as follows:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>description</code></td><td valign="center" align="left">
+        <p>Optional, human-readable description of this context
+        initialization parameter.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>name</code></strong></td><td valign="center" align="left">
+        <p>The name of the context initialization parameter to be created.</p>
+      </td></tr><tr><td valign="center" align="left"><code>override</code></td><td valign="center" align="left">
+        <p>Set this to <code>false</code> if you do <strong>not</strong> want
+        a <code>&lt;context-param&gt;</code> for the same parameter name,
+        found in the web application deployment descriptor, to override the
+        value specified here.  By default, overrides are allowed.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>value</code></strong></td><td valign="center" align="left">
+        <p>The parameter value that will be presented to the application
+        when requested by calling
+        <code>ServletContext.getInitParameter()</code>.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Environment Entries"><strong>Environment Entries</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>You can configure named values that will be made visible to the
+    web application as environment entry resources, by nesting
+    <code>&lt;Environment&gt;</code> entries inside this element.  For
+    example, you can create an environment entry like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context ...&gt;
+  ...
+  &lt;Environment name="maxExemptions" value="10"
+         type="java.lang.Integer" override="false"/&gt;
+  ...
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+    <p>This is equivalent to the inclusion of the following element in the
+    web application deployment descriptor (<code>/WEB-INF/web.xml</code>):
+    </p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;env-entry&gt;
+  &lt;env-entry-name&gt;maxExemptions&lt;/param-name&gt;
+  &lt;env-entry-value&gt;10&lt;/env-entry-value&gt;
+  &lt;env-entry-type&gt;java.lang.Integer&lt;/env-entry-type&gt;
+&lt;/env-entry&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+    <p>but does <em>not</em> require modification of the deployment descriptor
+    to customize this value.</p>
+
+    <p>The valid attributes for an <code>&lt;Environment&gt;</code> element
+    are as follows:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>description</code></td><td valign="center" align="left">
+        <p>Optional, human-readable description of this environment entry.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>name</code></strong></td><td valign="center" align="left">
+        <p>The name of the environment entry to be created, relative to the
+        <code>java:comp/env</code> context.</p>
+      </td></tr><tr><td valign="center" align="left"><code>override</code></td><td valign="center" align="left">
+        <p>Set this to <code>false</code> if you do <strong>not</strong> want
+        an <code>&lt;env-entry&gt;</code> for the same environment entry name,
+        found in the web application deployment descriptor, to override the
+        value specified here.  By default, overrides are allowed.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>type</code></strong></td><td valign="center" align="left">
+        <p>The fully qualified Java class name expected by the web application
+        for this environment entry.  Must be one of the legal values for
+        <code>&lt;env-entry-type&gt;</code> in the web application deployment
+        descriptor:  <code>java.lang.Boolean</code>,
+        <code>java.lang.Byte</code>, <code>java.lang.Character</code>,
+        <code>java.lang.Double</code>, <code>java.lang.Float</code>,
+        <code>java.lang.Integer</code>, <code>java.lang.Long</code>,
+        <code>java.lang.Short</code>, or <code>java.lang.String</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>value</code></strong></td><td valign="center" align="left">
+        <p>The parameter value that will be presented to the application
+        when requested from the JNDI context.  This value must be convertable
+        to the Java type defined by the <code>type</code> attribute.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Lifecycle Listeners"><strong>Lifecycle Listeners</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>If you have implemented a Java object that needs to know when this
+    <strong>Context</strong> is started or stopped, you can declare it by
+    nesting a <strong>Listener</strong> element inside this element.  The
+    class name you specify must implement the
+    <code>org.apache.catalina.LifecycleListener</code> interface, and
+    the class must be packaged in a jar and placed in the 
+    <code>$CATALINA_HOME/lib</code> directory. 
+    It will be notified about the occurrence of the corresponding
+    lifecycle events.  Configuration of such a listener looks like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context path="/examples" ...&gt;
+  ...
+  &lt;Listener className="com.mycompany.mypackage.MyListener" ... &gt;
+  ...
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+    <p>Note that a Listener can have any number of additional properties
+    that may be configured from this element.  Attribute names are matched
+    to corresponding JavaBean property names using the standard property
+    method naming patterns.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Request Filters"><strong>Request Filters</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>You can ask Catalina to check the IP address, or host name, on every
+    incoming request directed to the surrounding
+    <a href="engine.html">Engine</a>, <a href="host.html">Host</a>, or
+    <a href="context.html">Context</a> element.  The remote address or name
+    will be checked against a configured list of "accept" and/or "deny"
+    filters, which are defined using the Regular Expression syntax supported
+    by the <a href="http://jakarta.apache.org/regexp/">Jakarta Regexp</a>
+    regular expression library.  Requests that come from locations that are
+    not accepted will be rejected with an HTTP "Forbidden" error.
+    Example filter declarations:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context path="/examples" ...&gt;
+  ...
+  &lt;Valve className="org.apache.catalina.valves.RemoteHostValve"
+         allow="*.mycompany.com,www.yourcompany.com"/&gt;
+  &lt;Valve className="org.apache.catalina.valves.RemoteAddrValve"
+         deny="192.168.1.*"/&gt;
+  ...
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+    <p>See <a href="valve.html#Remote Address Filter">Remote Address Filter</a>
+    and <a href="valve.html#Remote Host Filter">Remote Host Filter</a> for
+    more information about the configuration options that are supported.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Resource Definitions"><strong>Resource Definitions</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>You can declare the characteristics of the resource
+    to be returned for JNDI lookups of <code>&lt;resource-ref&gt;</code> and
+    <code>&lt;resource-env-ref&gt;</code> elements in the web application
+    deployment descriptor.  You <strong>MUST</strong> also define
+    the needed resource parameters as attributes of the <code>Resource</code> 
+    element, to configure the object factory to be used (if not known to Tomcat 
+    already), and the properties used to configure that object factory.</p>
+
+    <p>For example, you can create a resource definition like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context ...&gt;
+  ...
+  &lt;Resource name="jdbc/EmployeeDB" auth="Container"
+            type="javax.sql.DataSource"
+     description="Employees Database for HR Applications"/&gt;
+  ...
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+    <p>This is equivalent to the inclusion of the following element in the
+    web application deployment descriptor (<code>/WEB-INF/web.xml</code>):</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;resource-ref&gt;
+  &lt;description&gt;Employees Database for HR Applications&lt;/description&gt;
+  &lt;res-ref-name&gt;jdbc/EmployeeDB&lt;/res-ref-name&gt;
+  &lt;res-ref-type&gt;javax.sql.DataSource&lt;/res-ref-type&gt;
+  &lt;res-auth&gt;Container&lt;/res-auth&gt;
+&lt;/resource-ref&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+    <p>but does <em>not</em> require modification of the deployment
+    descriptor to customize this value.</p>
+
+    <p>The valid attributes for a <code>&lt;Resource&gt;</code> element
+    are as follows:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>auth</code></td><td valign="center" align="left">
+        <p>Specify whether the web Application code signs on to the
+        corresponding resource manager programatically, or whether the
+        Container will sign on to the resource manager on behalf of the
+        application.  The value of this attribute must be
+        <code>Application</code> or <code>Container</code>.  This
+        attribute is <strong>required</strong> if the web application
+        will use a <code>&lt;resource-ref&gt;</code> element in the web
+        application deployment descriptor, but is optional if the
+        application uses a <code>&lt;resource-env-ref&gt;</code> instead.</p>
+      </td></tr><tr><td valign="center" align="left"><code>description</code></td><td valign="center" align="left">
+        <p>Optional, human-readable description of this resource.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>name</code></strong></td><td valign="center" align="left">
+        <p>The name of the resource to be created, relative to the
+        <code>java:comp/env</code> context.</p>
+      </td></tr><tr><td valign="center" align="left"><code>scope</code></td><td valign="center" align="left">
+        <p>Specify whether connections obtained through this resource
+        manager can be shared.  The value of this attribute must be
+        <code>Shareable</code> or <code>Unshareable</code>.  By default,
+        connections are assumed to be shareable.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>type</code></strong></td><td valign="center" align="left">
+        <p>The fully qualified Java class name expected by the web
+        application when it performs a lookup for this resource.</p>
+      </td></tr></table>
+
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Resource Links"><strong>Resource Links</strong></a></font></td></tr><tr><td><blockquote>
+
+     <p>This element is used to create a link to a global JNDI resource. Doing
+     a JNDI lookup on the link name will then return the linked global 
+     resource.</p>
+
+    <p>For example, you can create a resource link like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context ...&gt;
+  ...
+  &lt;ResourceLink name="linkToGlobalResource"
+            global="simpleValue"
+            type="java.lang.Integer"
+  ...
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+    <p>The valid attributes for a <code>&lt;ResourceLink&gt;</code> element
+    are as follows:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>global</code></strong></td><td valign="center" align="left">
+        <p>The name of the linked global resource in the 
+        global JNDI context.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>name</code></strong></td><td valign="center" align="left">
+        <p>The name of the resource link to be created, relative to the
+        <code>java:comp/env</code> context.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>type</code></strong></td><td valign="center" align="left">
+        <p>The fully qualified Java class name expected by the web
+        application when it performs a lookup for this resource link.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Transaction"><strong>Transaction</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>You can declare the characteristics of the UserTransaction
+    to be returned for JNDI lookup for <code>java:comp/UserTransaction</code>. 
+    You <strong>MUST</strong> define an object factory class to instantiate
+    this object as well as the needed resource parameters as attributes of the 
+    <code>Transaction</code> 
+    element, and the properties used to configure that object factory.</p>
+
+    <p>The valid attributes for the <code>&lt;Transaction&gt;</code> element
+    are as follows:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>factory</code></strong></td><td valign="center" align="left">
+        <p>The class name for the JNDI object factory.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/config/printer/engine.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/config/printer/engine.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/config/printer/engine.html	(revision 66)
@@ -0,0 +1,202 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Engine Container</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Engine Container</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The <strong>Engine</strong> element represents the entire request
+  processing machinery associated with a particular Catalina
+  <a href="service.html">Service</a>.  It receives and processes
+  <em>all</em> requests from one or more <strong>Connectors</strong>,
+  and returns the completed response to the Connector for ultimate
+  transmission back to the client.</p>
+
+  <p>Exactly one <strong>Engine</strong> element MUST be nested inside
+  a <a href="service.html">Service</a> element, following all of the
+  corresponding Connector elements associated with this Service.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>All implementations of <strong>Engine</strong>
+    support the following attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>backgroundProcessorDelay</code></td><td valign="center" align="left">
+        <p>This value represents the delay in seconds between the 
+        invocation of the backgroundProcess method on this engine and 
+        its child containers, including all hosts and contexts. 
+        Child containers will not be invoked if their delay value is not 
+        negative (which would mean they are using their own processing 
+        thread). Setting this to a positive value will cause 
+        a thread to be spawn. After waiting the specified amount of time, 
+        the thread will invoke the backgroundProcess method on this engine 
+        and all its child containers. If not specified, the default value for
+        this attribute is 10, which represent a 10 seconds delay.</p>
+      </td></tr><tr><td valign="center" align="left"><code>className</code></td><td valign="center" align="left">
+        <p>Java class name of the implementation to use.  This class must
+        implement the <code>org.apache.catalina.Engine</code> interface.
+        If not specified, the standard value (defined below) will be used.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>defaultHost</code></strong></td><td valign="center" align="left">
+        <p>The default host name, which identifies the
+        <a href="host.html">Host</a> that will process requests directed
+        to host names on this server, but which are not configured in
+        this configuration file.  This name MUST match the <code>name</code>
+        attributes of one of the <a href="host.html">Host</a> elements
+        nested immediately inside.</p>
+      </td></tr><tr><td valign="center" align="left"><code>jvmRoute</code></td><td valign="center" align="left">
+        <p>Identifier which must be used in load balancing scenarios to enable
+        session affinity. The identifier, which must be unique across all
+        Tomcat 6 servers which participate in the cluster, will be appended to
+        the generated session identifier, therefore allowing the front end
+        proxy to always forward a particular session to the same Tomcat 6
+        instance.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>name</code></strong></td><td valign="center" align="left">
+        <p>Logical name of this Engine, used in log and error messages. <em>When
+        using muliple <a href="service.html">Service</a> elements in the same
+        <a href="server.html">Server</a>, each Engine MUST be assigned a unique
+        name.</em></p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Standard Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The standard implementation of <strong>Engine</strong> is
+    <strong>org.apache.catalina.core.StandardEngine</strong>.
+    It supports the following additional attributes (in addition to the
+    common attributes listed above):</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nested Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>You can nest one or more <a href="host.html">Host</a> elements inside
+  this <strong>Engine</strong> element, each representing a different virtual
+  host associated with this server.  At least one <a href="host.html">Host</a>
+  is required, and one of the nested <a href="host.html">Hosts</a> MUST
+  have a name that matches the name specified for the
+  <code>defaultHost</code> attribute, listed above.</p>
+
+  <p>You can optional nest a <a href="defaultcontext.html">DefaultContext</a>
+  element inside this <strong>Engine</strong> element, to define the default
+  characteristics of web applications that are automatically deployed.</p>
+
+  <p>You can nest at most one instance of the following utility components
+  by nesting a corresponding element inside your <strong>Engine</strong>
+  element:</p>
+  <ul>
+  <li><a href="realm.html"><strong>Realm</strong></a> -
+      Configure a realm that will allow its
+      database of users, and their associated roles, to be shared across all
+      <a href="host.html">Hosts</a> and <a href="context.html">Contexts</a>
+      nested inside this Engine, unless overridden by a
+      <a href="realm.html">Realm</a> configuration at a lower level.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Special Features"><strong>Special Features</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Logging"><strong>Logging</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>An engine is associated with the 
+       <code>org.apache.catalina.core.ContainerBase.[enginename]</code>
+       log category.  Note that the brackets are actually part of the name,
+       don't omit them.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Access Logs"><strong>Access Logs</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>When you run a web server, one of the output files normally generated
+    is an <em>access log</em>, which generates one line of information for
+    each request processed by the server, in a standard format.  Catalina
+    includes an optional <a href="valve.html">Valve</a> implementation that
+    can create access logs in the same standard format created by web servers,
+    or in any number of custom formats.</p>
+
+    <p>You can ask Catalina to create an access log for all requests
+    processed by an <a href="engine.html">Engine</a>,
+    <a href="host.html">Host</a>, or <a href="context.html">Context</a>
+    by nesting a <a href="valve.html">Valve</a> element like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Engine name="Standalone" ...&gt;
+  ...
+  &lt;Valve className="org.apache.catalina.valves.AccessLogValve"
+         prefix="catalina_access_log." suffix=".txt"
+         pattern="common"/&gt;
+  ...
+&lt;/Engine&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+    <p>See <a href="valve.html#Access Log Valve">Access Log Valve</a>
+    for more information on the configuration attributes that are
+    supported.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Lifecycle Listeners"><strong>Lifecycle Listeners</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>If you have implemented a Java object that needs to know when this
+    <strong>Engine</strong> is started or stopped, you can declare it by
+    nesting a <strong>Listener</strong> element inside this element.  The
+    class name you specify must implement the
+    <code>org.apache.catalina.LifecycleListener</code> interface, and
+    it will be notified about the occurrence of the coresponding
+    lifecycle events.  Configuration of such a listener looks like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Engine name="Standalone" ...&gt;
+  ...
+  &lt;Listener className="com.mycompany.mypackage.MyListener" ... &gt;
+  ...
+&lt;/Engine&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+    <p>Note that a Listener can have any number of additional properties
+    that may be configured from this element.  Attribute names are matched
+    to corresponding JavaBean property names using the standard property
+    method naming patterns.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Request Filters"><strong>Request Filters</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>You can ask Catalina to check the IP address, or host name, on every
+    incoming request directed to the surrounding
+    <a href="engine.html">Engine</a>, <a href="host.html">Host</a>, or
+    <a href="context.html">Context</a> element.  The remote address or name
+    will be checked against a configured list of "accept" and/or "deny"
+    filters, which are defined using the Regular Expression syntax supported
+    by the <a href="http://jakarta.apache.org/regexp/">Jakarta Regexp</a>
+    regular expression library.  Requests that come from locations that are
+    not accepted will be rejected with an HTTP "Forbidden" error.
+    Example filter declarations:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Engine name="Standalone" ...&gt;
+  ...
+  &lt;Valve className="org.apache.catalina.valves.RemoteHostValve"
+         allow="*.mycompany.com,www.yourcompany.com"/&gt;
+  &lt;Valve className="org.apache.catalina.valves.RemoteAddrValve"
+         deny="192.168.1.*"/&gt;
+  ...
+&lt;/Engine&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+  <p>See <a href="valve.html#Remote Address Filter">Remote Address Filter</a>
+  and <a href="valve.html#Remote Host Filter">Remote Host Filter</a> for
+  more information about the configuration options that are supported.</p>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/config/printer/executor.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/config/printer/executor.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/config/printer/executor.html	(revision 66)
@@ -0,0 +1,61 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Executor (thread pool)</title><meta value="Filip Hanik" name="author"><meta value="fhanik@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Executor (thread pool)</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The <strong>Executor</strong> represents a thread pool that can be shared 
+     between components in Tomcat. Historically there has been a thread pool per
+     connector created but this allows you to share a thread pool, between (primarly) connector
+     but also other components when those get configured to support executors</p>
+
+
+  <p>The executor has to implement the <code>org.apache.catalina.Executor</code> interface.</p>
+  
+  <p>The executor is a nested element to the <a href="service.html">Service</a> element.
+     And in order for it to be picked up by the connectors, the Executor element has to appear
+     prior to the Connector element in server.xml</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>All implementations of <strong>Executor</strong>
+  support the following attributes:</p>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>className</code></td><td valign="center" align="left">
+      <p>The class of the implementation. The implementation has to implement the 
+         <code>org.apache.catalina.Executor</code> interface.
+         This interface ensures that the object can be referenced through its <code>name</code> attribute
+         and that implements Lifecycle, so that it can be started and stopped with the container.
+         The default value for the className is <code>org.apache.catalina.core.StandardThreadExecutor</code></p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>name</code></strong></td><td valign="center" align="left">
+      <p>The name used to reference this pool in other places in server.xml.
+         The name is required and must be unique.</p>
+    </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Standard Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>
+  The default implementation supports the following attributes:</p>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>threadPriority</code></td><td valign="center" align="left">
+      <p>(int) The thread priority for threads in the executor, the default is <code>Thread.NORM_PRIORITY</code></p>
+    </td></tr><tr><td valign="center" align="left"><code>daemon</code></td><td valign="center" align="left">
+      <p>(boolean) Whether the threads should be daemon threads or not, the default is <code>true</code></p>
+    </td></tr><tr><td valign="center" align="left"><code>namePrefix</code></td><td valign="center" align="left">
+      <p>(String) The name prefix for each thread created by the executor.
+         The thread name for an individual thread will be <code>namePrefix+threadNumber</code></p>
+    </td></tr><tr><td valign="center" align="left"><code>maxThreads</code></td><td valign="center" align="left">
+      <p>(int) The max number of active threads in this pool, default is <code>200</code></p>
+    </td></tr><tr><td valign="center" align="left"><code>minSpareThreads</code></td><td valign="center" align="left">
+      <p>(int) The minimum number of threads always kept alive, default is <code>25</code></p>
+    </td></tr><tr><td valign="center" align="left"><code>maxIdleTime</code></td><td valign="center" align="left">
+      <p>(int) The number of milliseconds before an idle thread shutsdown, unless the number of active threads are less
+         or equal to minSpareThreads. Default value is <code>60000</code>(1 minute)</p>
+    </td></tr></table>
+
+
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/config/printer/globalresources.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/config/printer/globalresources.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/config/printer/globalresources.html	(revision 66)
@@ -0,0 +1,198 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The GlobalNamingResources Component</title><meta value="Remy Maucherat" name="author"><meta value="remm@apache.org" name="email"><meta value="Yoav Shapira" name="author"><meta value="yoavs@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The GlobalNamingResources Component</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The <strong>GlobalNamingResources</strong> element defines the global
+  JNDI resources for the <a href="server.html">Server</a>.</p>
+
+  <p>These resources are listed in the server's global JNDI resource context.
+   This context is distinct from the per-web-application JNDI contexts 
+  described in
+  the <a href="../../jndi-resources-howto.html">JNDI Resources HOW-TO</a>.
+  The resources defined in this element are <strong>not</strong> visible in
+  the per-web-application contexts unless you explicitly link them with
+  <a href="context.html#Resource Links">&lt;ResourceLink&gt;</a> elements.
+  </p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nested Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Special Features"><strong>Special Features</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Environment Entries"><strong>Environment Entries</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>You can configure named values that will be made visible to all
+    web applications as environment entry resources by nesting
+    <code>&lt;Environment&gt;</code> entries inside this element. For
+    example, you can create an environment entry like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;GlobalNamingResources ...&gt;
+  ...
+  &lt;Environment name="maxExemptions" value="10"
+         type="java.lang.Integer" override="false"/&gt;
+  ...
+&lt;/GlobalNamingResources&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+    <p>This is equivalent to the inclusion of the following element in the
+    web application deployment descriptor (<code>/WEB-INF/web.xml</code>):
+    </p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;env-entry&gt;
+  &lt;env-entry-name&gt;maxExemptions&lt;/env-entry-name&gt;
+  &lt;env-entry-value&gt;10&lt;/env-entry-value&gt;
+  &lt;env-entry-type&gt;java.lang.Integer&lt;/env-entry-type&gt;
+&lt;/env-entry&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+    <p>but does <em>not</em> require modification of the deployment descriptor
+    to customize this value.</p>
+
+    <p>The valid attributes for an <code>&lt;Environment&gt;</code> element
+    are as follows:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>description</code></td><td valign="center" align="left">
+        <p>Optional, human-readable description of this environment entry.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>name</code></strong></td><td valign="center" align="left">
+        <p>The name of the environment entry to be created, relative to the
+        <code>java:comp/env</code> context.</p>
+      </td></tr><tr><td valign="center" align="left"><code>override</code></td><td valign="center" align="left">
+        <p>Set this to <code>false</code> if you do <strong>not</strong> want
+        an <code>&lt;env-entry&gt;</code> for the same environment entry name,
+        found in the web application deployment descriptor, to override the
+        value specified here.  By default, overrides are allowed.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>type</code></strong></td><td valign="center" align="left">
+        <p>The fully qualified Java class name expected by the web application
+        for this environment entry.  Must be one of the legal values for
+        <code>&lt;env-entry-type&gt;</code> in the web application deployment
+        descriptor:  <code>java.lang.Boolean</code>,
+        <code>java.lang.Byte</code>, <code>java.lang.Character</code>,
+        <code>java.lang.Double</code>, <code>java.lang.Float</code>,
+        <code>java.lang.Integer</code>, <code>java.lang.Long</code>,
+        <code>java.lang.Short</code>, or <code>java.lang.String</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>value</code></strong></td><td valign="center" align="left">
+        <p>The parameter value that will be presented to the application
+        when requested from the JNDI context.  This value must be convertable
+        to the Java type defined by the <code>type</code> attribute.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Resource Definitions"><strong>Resource Definitions</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>You can declare the characteristics of resources
+    to be returned for JNDI lookups of <code>&lt;resource-ref&gt;</code> and
+    <code>&lt;resource-env-ref&gt;</code> elements in the web application
+    deployment descriptor by defining them in this element and then linking 
+    them with <a href="context.html#Resource Links">&lt;ResourceLink&gt;</a> 
+    elements
+    in the <code><strong>&lt;Context&gt;</strong></code> element.  
+
+    You <strong>MUST</strong> also define any other needed parameters using
+    attributes on the Resource element, to configure
+    the object factory to be used (if not known to Tomcat already), and
+    the properties used to configure that object factory.</p>
+
+    <p>For example, you can create a resource definition like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;GlobalNamingResources ...&gt;
+  ...
+  &lt;Resource name="jdbc/EmployeeDB" auth="Container"
+            type="javax.sql.DataSource"
+     description="Employees Database for HR Applications"/&gt;
+  ...
+&lt;/GlobalNamingResources&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+    <p>This is equivalent to the inclusion of the following element in the
+    web application deployment descriptor (<code>/WEB-INF/web.xml</code>):</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;resource-ref&gt;
+  &lt;description&gt;Employees Database for HR Applications&lt;/description&gt;
+  &lt;res-ref-name&gt;jdbc/EmployeeDB&lt;/res-ref-name&gt;
+  &lt;res-ref-type&gt;javax.sql.DataSource&lt;/res-ref-type&gt;
+  &lt;res-auth&gt;Container&lt;/res-auth&gt;
+&lt;/resource-ref&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+    <p>but does <em>not</em> require modification of the deployment
+    descriptor to customize this value.</p>
+
+    <p>The valid attriutes for a <code>&lt;Resource&gt;</code> element
+    are as follows:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>auth</code></td><td valign="center" align="left">
+        <p>Specify whether the web Application code signs on to the
+        corresponding resource manager programatically, or whether the
+        Container will sign on to the resource manager on behalf of the
+        application.  The value of this attribute must be
+        <code>Application</code> or <code>Container</code>.  This
+        attribute is <strong>required</strong> if the web application
+        will use a <code>&lt;resource-ref&gt;</code> element in the web
+        application deployment descriptor, but is optional if the
+        application uses a <code>&lt;resource-env-ref&gt;</code> instead.</p>
+      </td></tr><tr><td valign="center" align="left"><code>description</code></td><td valign="center" align="left">
+        <p>Optional, human-readable description of this resource.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>name</code></strong></td><td valign="center" align="left">
+        <p>The name of the resource to be created, relative to the
+        <code>java:comp/env</code> context.</p>
+      </td></tr><tr><td valign="center" align="left"><code>scope</code></td><td valign="center" align="left">
+        <p>Specify whether connections obtained through this resource
+        manager can be shared.  The value of this attribute must be
+        <code>Shareable</code> or <code>Unshareable</code>.  By default,
+        connections are assumed to be shareable.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>type</code></strong></td><td valign="center" align="left">
+        <p>The fully qualified Java class name expected by the web
+        application when it performs a lookup for this resource.</p>
+      </td></tr></table>
+
+
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Resource Links"><strong>Resource Links</strong></a></font></td></tr><tr><td><blockquote>
+    <p>Use <a href="context.html#Resource Links">&lt;ResourceLink&gt;</a> 
+    elements to link resources from the global context into 
+    per-web-application contexts. Here is an example of making a custom 
+    factory available to all applications in the server, based on the example 
+    definition in the 
+    <a href="../../jndi-resources-howto.html#Generic JavaBean Resources">
+    JNDI Resource HOW-TO</a>:
+    </p>
+
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+      
+        &lt;DefaultContext&gt;
+          &lt;ResourceLink 
+            name="bean/MyBeanFactory"
+            global="bean/MyBeanFactory"
+            type="com.mycompany.MyBean"
+          /&gt;
+        &lt;/DefaultContext&gt;
+      
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+   </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Transaction"><strong>Transaction</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>You can declare the characteristics of the UserTransaction
+    to be returned for JNDI lookup for <code>java:comp/UserTransaction</code>. 
+    You <strong>MUST</strong> define an object factory class to instantiate
+    this object as well as the needed resource parameters as attributes of the 
+    <code>Transaction</code> 
+    element, and the properties used to configure that object factory.</p>
+
+    <p>The valid attributes for the <code>&lt;Transaction&gt;</code> element
+    are as follows:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>factory</code></strong></td><td valign="center" align="left">
+        <p>The class name for the JNDI object factory.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/config/printer/host.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/config/printer/host.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/config/printer/host.html	(revision 66)
@@ -0,0 +1,480 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Host Container</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"><meta value="Remy Maucherat" name="author"><meta value="remm@apache.org" name="email"><meta value="Yoav Shapira" name="author"><meta value="yoavs@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Host Container</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The <strong>Host</strong> element represents a <em>virtual host</em>,
+  which is an association of a network name for a server (such as
+  "www.mycompany.com" with the particular server on which Catalina is
+  running.  In order to be effective, this name must be registered in the
+  <em>Domain Name Service</em> (DNS) server that manages the Internet
+  domain you belong to - contact your Network Administrator for more
+  information.</p>
+
+  <p>In many cases, System Administrators wish to associate more than
+  one network name (such as <code>www.mycompany.com</code> and
+  <code>company.com</code>) with the same virtual host and applications.
+  This can be accomplished using the <a href="#Host Name Aliases">Host
+  Name Aliases</a> feature discussed below.</p>
+
+  <p>One or more <strong>Host</strong> elements are nested inside an
+  <a href="engine.html">Engine</a> element.  Inside the Host element, you
+  can nest <a href="context.html">Context</a> elements for the web
+  applications associated with this virtual host.  Exactly one of the Hosts
+  associated with each Engine MUST have a name matching the
+  <code>defaultHost</code> attribute of that Engine.</p>
+
+    <blockquote><em>
+    <p>The description below uses the variable name $CATALINA_BASE to refer the
+    base directory against which most relative paths are resolved. If you have
+    not configured Tomcat 6 for multiple instances by setting a CATALINA_BASE
+    directory, then $CATALINA_BASE will be set to the value of $CATALINA_HOME,
+    the directory into which you have installed Tomcat 6.</p>
+    </em></blockquote>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>All implementations of <strong>Host</strong>
+    support the following attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>appBase</code></strong></td><td valign="center" align="left">
+        <p>The <em>Application Base</em> directory for this virtual host.
+        This is the pathname of a directory that may contain web applications
+        to be deployed on this virtual host.  You may specify an
+        absolute pathname for this directory, or a pathname that is relative
+        to the <code>$CATALINA_BASE</code> directory.  See
+        <a href="#Automatic Application Deployment">Automatic Application
+        Deployment</a> for more information on automatic recognition and
+        deployment of web applications to be deployed automatically.</p>
+      </td></tr><tr><td valign="center" align="left"><code>autoDeploy</code></td><td valign="center" align="left">
+        <p>This flag value indicates if new web applications, dropped in to
+        the <code>appBase</code> directory while Tomcat is running, should
+        be automatically deployed.  The flag's value defaults to true.  See
+        <a href="#Automatic Application Deployment">Automatic Application
+        Deployment</a> for more information.</p>
+      </td></tr><tr><td valign="center" align="left"><code>backgroundProcessorDelay</code></td><td valign="center" align="left">
+        <p>This value represents the delay in seconds between the 
+        invocation of the backgroundProcess method on this host and 
+        its child containers, including all contexts. 
+        Child containers will not be invoked if their delay value is not 
+        negative (which would mean they are using their own processing 
+        thread). Setting this to a positive value will cause 
+        a thread to be spawn. After waiting the specified amount of time, 
+        the thread will invoke the backgroundProcess method on this host 
+        and all its child containers. A host will use background processing to
+        perform live web application deployment related tasks. If not 
+        specified, the default value for this attribute is -1, which means 
+        the host will rely on the background processing thread of its parent 
+        engine.</p>
+      </td></tr><tr><td valign="center" align="left"><code>className</code></td><td valign="center" align="left">
+        <p>Java class name of the implementation to use.  This class must
+        implement the <code>org.apache.catalina.Host</code> interface.
+        If not specified, the standard value (defined below) will be used.</p>
+      </td></tr><tr><td valign="center" align="left"><code>deployOnStartup</code></td><td valign="center" align="left">
+        <p>This flag value indicates if web applications from this host should
+        be automatically deployed by the host configurator.
+        The flag's value defaults to true.  See
+        <a href="#Automatic Application Deployment">Automatic Application
+        Deployment</a> for more information.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>name</code></strong></td><td valign="center" align="left">
+        <p>Network name of this virtual host, as registered in your
+        <em>Domain Name Service</em> server.  One of the Hosts nested within
+        an <a href="engine.html">Engine</a> MUST have a name that matches the
+        <code>defaultHost</code> setting for that Engine.  See
+        <a href="#Host Name Aliases">Host Name Aliases</a> for information
+        on how to assign more than one network name to the same
+        virtual host.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Standard Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The standard implementation of <strong>Host</strong> is
+    <strong>org.apache.catalina.core.StandardHost</strong>.
+    It supports the following additional attributes (in addition to the
+    common attributes listed above):</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>deployXML</code></td><td valign="center" align="left">
+        <p>Set to <code>false</code> if you want to disable parsing the context.xml
+        file embedded inside the application (located at <code>/META-INF/context.xml</code>). 
+        Security consious environments should set this to <code>false</code> to prevent
+        applications from interacting with the container's configuration. The 
+        administrator will then be responsible for providing an external context 
+        configuration file, and put it in 
+        <code>$CATALINA_BASE/conf/[enginename]/[hostname]/</code>.
+        The flag's value defaults to <code>true</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>errorReportValveClass</code></td><td valign="center" align="left">
+        <p>Java class name of the error reporting valve which will be used
+        by this Host. The responsability of this valve is to output error
+        reports. Setting this property allows to customize the look of the
+        error pages which will be generated by Tomcat. This class must
+        implement the
+        <code>org.apache.catalina.Valve</code> interface. If none is specified,
+        the value <code>org.apache.catalina.valves.ErrorReportValve</code>
+        will be used by default.</p>
+      </td></tr><tr><td valign="center" align="left"><code>unpackWARs</code></td><td valign="center" align="left">
+        <p>Set to <code>true</code> if you want web applications that are
+        placed in the <code>appBase</code> directory as web application
+        archive (WAR) files to be unpacked into a corresponding disk directory
+        structure, <code>false</code> to run such web applications directly
+        from a WAR file.  See
+        <a href="#Automatic Application Deployment">Automatic Application
+        Deployment</a> for more information.</p>
+      </td></tr><tr><td valign="center" align="left"><code>workDir</code></td><td valign="center" align="left">
+        <p>Pathname to a scratch directory to be used by applications for
+        this Host. Each application will have its own sub directory with
+        temporary read-write use.  Configuring a Context workDir will override
+        use of the Host workDir configuration.  This directory will be made
+        visible to servlets in the web application by a servlet context
+        attribute (of type <code>java.io.File</code>) named
+        <code>javax.servlet.context.tempdir</code> as described in the
+        Servlet Specification.  If not specified, a suitable directory
+        underneath <code>$CATALINA_BASE/work</code> will be provided.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nested Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>You can nest one or more <a href="context.html">Context</a> elements
+  inside this <strong>Host</strong> element, each representing a different web
+  application associated with this virtual host.</p>
+
+  <p>You can nest at most one instance of the following utility components
+  by nesting a corresponding element inside your <strong>Host</strong>
+  element:</p>
+  <ul>
+  <li><a href="realm.html"><strong>Realm</strong></a> -
+      Configure a realm that will allow its
+      database of users, and their associated roles, to be shared across all
+      <a href="context.html">Contexts</a> nested inside this Host (unless
+      overridden by a <a href="realm.html">Realm</a> configuration
+      at a lower level).</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Special Features"><strong>Special Features</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Logging"><strong>Logging</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>A host is associated with the 
+       <code>org.apache.catalina.core.ContainerBase.[enginename].[hostname]</code>
+       log category.  Note that the brackets are actuall part of the name,
+       don't omit them.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Access Logs"><strong>Access Logs</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>When you run a web server, one of the output files normally generated
+    is an <em>access log</em>, which generates one line of information for
+    each request processed by the server, in a standard format.  Catalina
+    includes an optional <a href="valve.html">Valve</a> implementation that
+    can create access logs in the same standard format created by web servers,
+    or in any number of custom formats.</p>
+
+    <p>You can ask Catalina to create an access log for all requests
+    processed by an <a href="engine.html">Engine</a>,
+    <a href="host.html">Host</a>, or <a href="context.html">Context</a>
+    by nesting a <a href="valve.html">Valve</a> element like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Host name="localhost" ...&gt;
+  ...
+  &lt;Valve className="org.apache.catalina.valves.AccessLogValve"
+         prefix="localhost_access_log." suffix=".txt"
+         pattern="common"/&gt;
+  ...
+&lt;/Host&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+    <p>See <a href="valve.html#Access Log Valve">Access Log Valve</a>
+    for more information on the configuration attributes that are
+    supported.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Automatic Application Deployment"><strong>Automatic Application Deployment</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>If you are using the standard <strong>Host</strong> implementation,
+    the following actions take place automatically when Catalina is first
+    started, if the <code>deployOnStartup</code> property is set to
+    <code>true</code> (which is the default value):</p>
+    <ul>
+    <li>Any XML file in the 
+        <code>$CATALINA_BASE/conf/[engine_name]/[host_name]</code> directory is
+        assumed to contain a
+        <a href="context.html">Context</a> element (and its associated
+        subelements) for a single web application.  The <code>docBase</code>
+        attribute of this <code>&lt;Context&gt;</code> element will typically
+        be the absolute pathname to a web application directory, or the
+        absolute pathname of a web application archive (WAR) file (which
+        will not be expanded). The path attribute will be automatically set
+        as defined in the <a href="context.html">Context</a> documentation.</li>
+    <li>Any web application archive file within the application base (appBase)
+        directory that does not have a corresponding
+        directory of the same name (without the ".war" extension) will be
+        automatically expanded, unless the <code>unpackWARs</code> property
+        is set to <code>false</code>.  If you redeploy an updated WAR file,
+        be sure to delete the expanded directory when restarting Tomcat, so
+        that the updated WAR file will be re-expanded (note that the auto
+        deployer, if enabled, will automatically expand the updated WAR file
+        once the previously expanded directory is removed).</li>
+    <li>Any subdirectory within the <em>application base directory</em>
+        will receive an automatically generated <a href="context.html">
+        Context</a> element, even if this directory is not mentioned in the
+        <code>conf/server.xml</code> file.
+        This generated Context entry will be configured according to the
+        properties set in any <a href="defaultcontext.html">DefaultContext</a>
+        element nested in this Host element.  The context path for this
+        deployed Context will be a slash character ("/") followed by the
+        directory name, unless the directory name is ROOT, in which case
+        the context path will be an empty string ("").</li>
+    </ul>
+
+    <p>In addition to the automatic deployment that occurs at startup time,
+    you can also request that new XML configuration files, WAR files, or
+    subdirectories that are dropped in to the <code>appBase</code> (or 
+    <code>$CATALINA_BASE/conf/[engine_name]/[host_name]</code> in the case of
+    an XML configuration file) directory while Tomcat is running will be
+    automatically deployed, according to the rules described above. The 
+    auto deployer will also track web applications for the following changes:
+    <ul>
+        <li>An update to the WEB-INF/web.xml file will trigger a reload of the
+        web application</li>
+        <li>An update to a WAR which has been expanded will trigger 
+        an undeploy (<strong>with a removal of the expanded webapp</strong>), 
+        followed by a deployment</li>
+        <li>An update to a XML configuration file will trigger an undeploy
+        (without the removal of any expanded directory), followed by 
+        a deployment of the associated web application</li>
+    </ul>
+    </p>
+
+    <p>When using automatic deployment, the <code>docBase</code> defined by
+    an XML <a href="context.html">Context</a> file should be outside of the
+    <code>appBase</code> directory. If this is not the case difficulties
+    may be experienced deploying the web application or the application may
+    be deployed twice.</p>
+
+    <p>Finally, note that if you are defining contexts explicitly, you should
+    probably turn off automatic application deployment.  Otherwise, your context
+    will be deployed twice each, and that may cause problems for your app.
+    </p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Host Name Aliases"><strong>Host Name Aliases</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>In many server environments, Network Administrators have configured
+    more than one network name (in the <em>Domain Name Service</em> (DNS)
+    server), that resolve to the IP address of the same server.  Normally,
+    each such network name would be configured as a separate
+    <strong>Host</strong> element in <code>conf/server.xml</code>, each
+    with its own set of web applications.</p>
+
+    <p>However, in some circumstances, it is desireable that two or more
+    network names should resolve to the <strong>same</strong> virtual host,
+    running the same set of applications.  A common use case for this
+    scenario is a corporate web site, where it is desireable that users
+    be able to utilize either <code>www.mycompany.com</code> or
+    <code>company.com</code> to access exactly the same content and
+    applications.</p>
+
+    <p>This is accomplished by utilizing one or more <strong>Alias</strong>
+    elements nested inside your <strong>Host</strong> element.  For
+    example:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Host name="www.mycompany.com" ...&gt;
+  ...
+  &lt;Alias&gt;mycompany.com&lt;/Alias&gt;
+  ...
+&lt;/Host&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+    <p>In order for this strategy to be effective, all of the network names
+    involved must be registered in your DNS server to resolve to the
+    same computer that is running this instance of Catalina.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Lifecycle Listeners"><strong>Lifecycle Listeners</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>If you have implemented a Java object that needs to know when this
+    <strong>Host</strong> is started or stopped, you can declare it by
+    nesting a <strong>Listener</strong> element inside this element.  The
+    class name you specify must implement the
+    <code>org.apache.catalina.LifecycleListener</code> interface, and
+    it will be notified about the occurrence of the coresponding
+    lifecycle events.  Configuration of such a listener looks like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Host name="localhost" ...&gt;
+  ...
+  &lt;Listener className="com.mycompany.mypackage.MyListener" ... &gt;
+  ...
+&lt;/Host&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+    <p>Note that a Listener can have any number of additional properties
+    that may be configured from this element.  Attribute names are matched
+    to corresponding JavaBean property names using the standard property
+    method naming patterns.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Request Filters"><strong>Request Filters</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>You can ask Catalina to check the IP address, or host name, on every
+    incoming request directed to the surrounding
+    <a href="engine.html">Engine</a>, <a href="host.html">Host</a>, or
+    <a href="context.html">Context</a> element.  The remote address or name
+    will be checked against a configured list of "accept" and/or "deny"
+    filters, which are defined using the Regular Expression syntax supported
+    by the <a href="http://jakarta.apache.org/regexp/">Jakarta Regexp</a>
+    regular expression library.  Requests that come from locations that are
+    not accepted will be rejected with an HTTP "Forbidden" error.
+    Example filter declarations:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Host name="localhost" ...&gt;
+  ...
+  &lt;Valve className="org.apache.catalina.valves.RemoteHostValve"
+         allow="*.mycompany.com,www.yourcompany.com"/&gt;
+  &lt;Valve className="org.apache.catalina.valves.RemoteAddrValve"
+         deny="192.168.1.*"/&gt;
+  ...
+&lt;/Host&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+  <p>See <a href="valve.html#Remote Address Filter">Remote Address Filter</a>
+  and <a href="valve.html#Remote Host Filter">Remote Host Filter</a> for
+  more information about the configuration options that are supported.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Single Sign On"><strong>Single Sign On</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>In many environments, but particularly in portal environments, it
+    is desireable to have a user challenged to authenticate themselves only
+    once over a set of web applications deployed on a particular virtual
+    host.  This can be accomplished by nesting an element like this inside
+    the Host element for this virtual host:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Host name="localhost" ...&gt;
+  ...
+  &lt;Valve className="org.apache.catalina.authenticator.SingleSignOn"
+         debug="0"/&gt;
+  ...
+&lt;/Host&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+    <p>The Single Sign On facility operates according to the following rules:
+    </p>
+    <ul>
+    <li>All web applications configured for this virtual host must share the
+        same <a href="realm.html">Realm</a>.  In practice, that means you can
+        nest the Realm element inside this Host element (or the surrounding
+        <a href="engine.html">Engine</a> element), but not inside a
+        <a href="context.html">Context</a> element for one of the involved
+        web applications.</li>
+    <li>As long as the user accesses only unprotected resources in any of the
+        web applications on this virtual host, they will not be challenged
+        to authenticate themselves.</li>
+    <li>As soon as the user accesses a protected resource in
+        <strong>any</strong> web application associated with this virtual
+        host, the user will be challenged to authenticate himself or herself,
+        using the login method defined for the web application currently
+        being accessed.</li>
+    <li>Once authenticated, the roles associated with this user will be
+        utilized for access control decisions across <strong>all</strong>
+        of the associated web applications, without challenging the user
+        to authenticate themselves to each application individually.</li>
+    <li>As soon as the user logs out of one web application (for example,
+        by invalidating the corresponding session if form
+        based login is used), the user's sessions in <strong>all</strong>
+        web applications will be invalidated.  Any subsequent attempt to
+        access a protected resource in any application will require the
+        user to authenticate himself or herself again.</li>
+    <li>The Single Sign On feature utilizes HTTP cookies to transmit a token
+        that associates each request with the saved user identity, so it can
+        only be utilized in client environments that support cookies.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="User Web Applications"><strong>User Web Applications</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>Many web servers can automatically map a request URI starting with
+    a tilde character ("~") and a username to a directory (commonly named
+    <code>public_html</code>) in that user's home directory on the server.
+    You can accomplish the same thing in Catalina by using a special
+    <strong>Listener</strong> element like this (on a Unix system that
+    uses the <code>/etc/passwd</code> file to identify valid users):</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Host name="localhost" ...&gt;
+  ...
+  &lt;Listener className="org.apache.catalina.startup.UserConfig"
+            directoryName="public_html"
+            userClass="org.apache.catalina.startup.PasswdUserDatabase"/&gt;
+  ...
+&lt;/Host&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+    <p>On a server where <code>/etc/passwd</code> is not in use, you can
+    request Catalina to consider all directories found in a specified base
+    directory (such as <code>c:\Homes</code> in this example) to be
+    considered "user home" directories for the purposes of this directive:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Host name="localhost" ...&gt;
+  ...
+  &lt;Listener className="org.apache.catalina.startup.UserConfig"
+            directoryName="public_html"
+            homeBase=c:\Homes"
+            userClass="org.apache.catalina.startup.HomesUserDatabase"/&gt;
+  ...
+&lt;/Host&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+    <p>If a user home directory has been set up for a user named
+    <code>craigmcc</code>, then its contents will be visible from a
+    client browser by making a request to a URL like:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://www.mycompany.com:8080/~craigmcc
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+    <p>Successful use of this feature requires recognition of the following
+    considerations:</p>
+    <ul>
+    <li>Each user web application will be deployed with characteristics
+        established by any <a href="defaultcontext.html">DefaultContext</a>
+        element you have configured for this Host.</li>
+    <li>It is legal to include more than one instance of this Listener
+        element.  This would only be useful, however, in circumstances
+        where you wanted to configure more than one "homeBase" directory.</li>
+    <li>The operating system username under which Catalina is executed
+        MUST have read access to each user's web application directory,
+        and all of its contents.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/config/printer/http.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/config/printer/http.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/config/printer/http.html	(revision 66)
@@ -0,0 +1,564 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The HTTP Connector</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"><meta value="Yoav Shapira" name="author"><meta value="yoavs@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The HTTP Connector</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The <strong>HTTP Connector</strong> element represents a
+  <strong>Connector</strong> component that supports the HTTP/1.1 protocol.
+  It enables Catalina to function as a stand-alone web server, in addition
+  to its ability to execute servlets and JSP pages.  A particular instance
+  of this component listens for connections on a specific TCP port number
+  on the server.  One or more such <strong>Connectors</strong> can be
+  configured as part of a single <a href="service.html">Service</a>, each
+  forwarding to the associated <a href="engine.html">Engine</a> to perform
+  request processing and create the response.</p>
+
+  <p>If you wish to configure the <strong>Connector</strong> that is used
+  for connections to web servers using the AJP protocol (such as the
+  <code>mod_jk 1.2.x</code> connector for Apache 1.3), see
+  <a href="ajp.html">here</a> instead.</p>
+
+  <p>Each incoming request requires
+  a thread for the duration of that request.  If more simultaneous requests
+  are received than can be handled by the currently available request
+  processing threads, additional threads will be created up to the
+  configured maximum (the value of the <code>maxThreads</code> attribute).
+  If still more simultaneous requests are received, they are stacked up
+  inside the server socket created by the <strong>Connector</strong>, up to
+  the configured maximum (the value of the <code>acceptCount</code>
+  attribute.  Any further simultaneous requests will receive "connection
+  refused" errors, until resources are available to process them.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>All implementations of <strong>Connector</strong>
+  support the following attributes:</p>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>allowTrace</code></td><td valign="center" align="left">
+      <p>A boolean value which can be used to enable or disable the TRACE
+      HTTP method. If not specified, this attribute is set to false.</p>
+    </td></tr><tr><td valign="center" align="left"><code>emptySessionPath</code></td><td valign="center" align="left">
+      <p>If set to <code>true</code>, all paths for session cookies will be set
+      to <code>/</code>. This can be useful for portlet specification implementations.
+      If not specified, this attribute is set to <code>false</code>.</p>
+    </td></tr><tr><td valign="center" align="left"><code>enableLookups</code></td><td valign="center" align="left">
+      <p>Set to <code>true</code> if you want calls to
+      <code>request.getRemoteHost()</code> to perform DNS lookups in
+      order to return the actual host name of the remote client.  Set
+      to <code>false</code> to skip the DNS lookup and return the IP
+      address in String form instead (thereby improving performance).
+      By default, DNS lookups are enabled.</p>
+    </td></tr><tr><td valign="center" align="left"><code>maxPostSize</code></td><td valign="center" align="left">
+      <p>The maximum size in bytes of the POST which will be handled by
+      the container FORM URL parameter parsing. The limit can be disabled by
+      setting this attribute to a value less than or equal to 0.
+      If not specified, this attribute is set to 2097152 (2 megabytes).</p>
+    </td></tr><tr><td valign="center" align="left"><code>maxSavePostSize</code></td><td valign="center" align="left">
+      <p>The maximum size in bytes of the POST which will be saved/buffered by
+      the container during FORM or CLIENT-CERT authentication. For both types
+      of authentication, the POST will be saved/buffered before the user is
+      authenticated. For CLIENT-CERT authentication, the POST is buffered for
+      the duration of
+ the SSL handshake and the buffer emptied when the request
+      is processed. For FORM authentication the POST is
+ saved whilst the user
+      is re-directed to the login form and is retained until the user
+      successfully authenticates or the session associated with the
+      authentication request expires. The limit can be disabled by setting this
+      attribute to -1. Setting the attribute to
+ zero will disable the saving of
+      POST data during authentication
+. If not
+ specified, this attribute is set
+      to
+ 4096 (4 kilobytes).</p>
+    </td></tr><tr><td valign="center" align="left"><code>protocol</code></td><td valign="center" align="left">
+      <p>
+        Sets the protocol to handle incoming traffic.
+        The default value is <code>HTTP/1.1</code> and configures the 
+        <code>org.apache.coyote.http11.Http11Protocol</code>. This is the blocking Java connector.<br>
+        If the <code>PATH(Windows)</code> or <code>LD_LIBRARY_PATH(on most unix system)</code>  
+        environment variables contain the Tomcat native library, the APR connector
+        will automatically be configured. Please be advised that the APR connector has different
+        settings for HTTPS than the default Java connector.<br>
+        Other values for this attribute are, but not limited to:<br>
+        <code>org.apache.coyote.http11.Http11Protocol</code> - same as HTTP/1.1<br>
+        <code>org.apache.coyote.http11.Http11NioProtocol</code> - non blocking Java connector<br>
+        <code>org.apache.coyote.http11.Http11AprProtocol</code> - the APR connector.<br>
+        Take a look at our <a href="#Connector Comparison">Connector Comparison</a> chart.
+        The configuration for both Java connectors are identical, both for http and https. <br>
+        For more information on the APR connector and APR specific SSL settings please 
+        visit the <a href="../../apr.html">APR documentation</a>
+        
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>proxyName</code></td><td valign="center" align="left">
+      <p>If this <strong>Connector</strong> is being used in a proxy
+      configuration, configure this attribute to specify the server name
+      to be returned for calls to <code>request.getServerName()</code>.
+      See <a href="#Proxy Support">Proxy Support</a> for more
+      information.</p>
+    </td></tr><tr><td valign="center" align="left"><code>proxyPort</code></td><td valign="center" align="left">
+      <p>If this <strong>Connector</strong> is being used in a proxy
+      configuration, configure this attribute to specify the server port
+      to be returned for calls to <code>request.getServerPort()</code>.
+      See <a href="#Proxy Support">Proxy Support</a> for more
+      information.</p>
+    </td></tr><tr><td valign="center" align="left"><code>redirectPort</code></td><td valign="center" align="left">
+      <p>If this <strong>Connector</strong> is supporting non-SSL
+      requests, and a request is received for which a matching
+      <code>&lt;security-constraint&gt;</code> requires SSL transport,
+      Catalina will automatically redirect the request to the port
+      number specified here.</p>
+    </td></tr><tr><td valign="center" align="left"><code>SSLEnabled</code></td><td valign="center" align="left">
+      <p>
+      Use this attribute to enable SSL traffic on a connector.
+      To turn on SSL handshake/encryption/decryption on a connector
+      set this value to <code>true</code>.
+      The default value is <code>false</code>.
+      When turning this value <code>true</code> you will want to set the 
+      <code>scheme</code> and the <code>secure</code> attributes as well
+      to pass the correct <code>request.getScheme()</code> and 
+      <code>request.isSecure()</code> values to the servlets
+      See <a href="#SSL Support">SSL Support</a> for more information.
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>scheme</code></td><td valign="center" align="left">
+      <p>Set this attribute to the name of the protocol you wish to have
+      returned by calls to <code>request.getScheme()</code>.  For
+      example, you would set this attribute to "<code>https</code>"
+      for an SSL Connector.  The default value is "<code>http</code>".
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>secure</code></td><td valign="center" align="left">
+      <p>Set this attribute to <code>true</code> if you wish to have
+      calls to <code>request.isSecure()</code> to return <code>true</code>
+      for requests received by this Connector. You would want this on an
+      SSL Connector or a non SSL connector that is receiving data from a 
+      SSL accelerator, like a crypto card, a SSL appliance or even a webserver.
+      The default value is <code>false</code>.</p>
+    </td></tr><tr><td valign="center" align="left"><code>URIEncoding</code></td><td valign="center" align="left">
+      <p>This specifies the character encoding used to decode the URI bytes,
+      after %xx decoding the URL. If not specified, ISO-8859-1 will be used.
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>useBodyEncodingForURI</code></td><td valign="center" align="left">
+      <p>This specifies if the encoding specified in contentType should be used
+      for URI query parameters, instead of using the URIEncoding. This
+      setting is present for compatibility with Tomcat 4.1.x, where the
+      encoding specified in the contentType, or explicitely set using
+      Request.setCharacterEncoding method was also used for the parameters from
+      the URL. The default value is <code>false</code>.
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>useIPVHosts</code></td><td valign="center" align="left">
+      <p>Set this attribute to <code>true</code> to cause Tomcat to use
+      the IP address that the request was recieved on to determine the Host
+      to send the request to.  The default value is <code>false</code>.</p>
+    </td></tr><tr><td valign="center" align="left"><code>xpoweredBy</code></td><td valign="center" align="left">
+      <p>Set this attribute to <code>true</code> to cause Tomcat to advertise
+      support for the Servlet specification using the header recommended in the
+      specification.  The default value is <code>false</code>.</p>
+    </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Standard Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>
+  HTTP supports the following additional attributes (in addition to the
+  common attributes listed above):</p>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>acceptCount</code></td><td valign="center" align="left">
+      <p>The maximum queue length for incoming connection requests when
+      all possible request processing threads are in use.  Any requests
+      received when the queue is full will be refused.  The default
+      value is 10.</p>
+    </td></tr><tr><td valign="center" align="left"><code>address</code></td><td valign="center" align="left">
+      <p>For servers with more than one IP address, this attribute
+      specifies which address will be used for listening on the specified
+      port.  By default, this port will be used on all IP addresses
+      associated with the server.</p>
+    </td></tr><tr><td valign="center" align="left"><code>bufferSize</code></td><td valign="center" align="left">
+      <p>The size (in bytes) of the buffer to be provided for input
+      streams created by this connector.  By default, buffers of
+      2048 bytes will be provided.</p>
+    </td></tr><tr><td valign="center" align="left"><code>compressableMimeType</code></td><td valign="center" align="left">
+      <p>The value is a comma separated list of MIME types for which HTTP
+      compression may be used.
+      The default value is <code>text/html,text/xml,text/plain</code>.</p>
+    </td></tr><tr><td valign="center" align="left"><code>compression</code></td><td valign="center" align="left">
+      <p>The <strong>Connector</strong> may use HTTP/1.1 GZIP compression in
+      an attempt to save server bandwidth. The acceptable values for the
+      parameter is "off" (disable compression), "on" (allow compression, which
+      causes text data to be compressed), "force" (forces compression in all
+      cases), or a numerical integer value (which is equivalent to "on", but
+      specifies the minimum amount of data before the output is compressed). If
+      the content-length is not known and compression is set to "on" or more
+      aggressive, the output will also be compressed. If not specified, this
+      attribute is set to "off".</p>
+    </td></tr><tr><td valign="center" align="left"><code>connectionLinger</code></td><td valign="center" align="left">
+      <p>The number of milliseconds during which the sockets used by this
+      <strong>Connector</strong> will linger when they are closed.
+      The default value is -1 (socket linger is disabled).</p>
+    </td></tr><tr><td valign="center" align="left"><code>connectionTimeout</code></td><td valign="center" align="left">
+      <p>The number of milliseconds this <strong>Connector</strong> will wait,
+      after accepting a connection, for the request URI line to be
+      presented.  The default value is 60000 (i.e. 60 seconds).</p>
+    </td></tr><tr><td valign="center" align="left"><code>executor</code></td><td valign="center" align="left">
+      <p>A reference to the name in an <a href="executor.html">Executor</a> element.
+         If this attribute is enabled, and the named executor exists, the connector will
+         use the executor, and all the other thread attributes will be ignored.</p>
+    </td></tr><tr><td valign="center" align="left"><code>keepAliveTimeout</code></td><td valign="center" align="left">
+      <p>The number of milliseconds this <strong>Connector</strong> will wait for
+       another HTTP request before closing the connection.
+       The default value is to use the value that has been set for the
+       connectionTimeout attribute.</p>
+    </td></tr><tr><td valign="center" align="left"><code>disableUploadTimeout</code></td><td valign="center" align="left">
+      <p>This flag allows the servlet container to use a different, longer
+      connection timeout while a servlet is being executed, which in the end
+      allows either the servlet a longer amount of time to complete its
+      execution, or a longer timeout during data upload. If not specified,
+      this attribute is set to "true".</p>
+    </td></tr><tr><td valign="center" align="left"><code>maxHttpHeaderSize</code></td><td valign="center" align="left">
+      <p>The maximum size of the request and response HTTP header, specified
+      in bytes.
+      If not specified, this attribute is set to 4096 (4 KB).</p>
+    </td></tr><tr><td valign="center" align="left"><code>maxKeepAliveRequests</code></td><td valign="center" align="left">
+      <p>The maximum number of HTTP requests which can be pipelined until
+      the connection is closed by the server. Setting this attribute to 1 will
+      disable HTTP/1.0 keep-alive, as well as HTTP/1.1 keep-alive and
+      pipelining. Setting this to -1 will allow an unlimited amount of
+      pipelined or keep-alive HTTP requests.
+      If not specified, this attribute is set to 100.</p>
+    </td></tr><tr><td valign="center" align="left"><code>maxThreads</code></td><td valign="center" align="left">
+      <p>The maximum number of request processing threads to be created
+      by this <strong>Connector</strong>, which therefore determines the
+      maximum number of simultaneous requests that can be handled.  If
+      not specified, this attribute is set to 40. If an executor is associated
+      with this connector, this attribute is ignored as the connector will 
+      execute tasks using the executor rather than an internal thread pool.</p>
+    </td></tr><tr><td valign="center" align="left"><code>noCompressionUserAgents</code></td><td valign="center" align="left">
+      <p>The value is a comma separated list of regular expressions matching
+      user-agents of HTTP clients for which compression should not be used,
+      because these clients, although they do advertise support for the
+      feature, have a broken implementation.
+      The default value is an empty String (regexp matching disabled).</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>port</code></strong></td><td valign="center" align="left">
+      <p>The TCP port number on which this <strong>Connector</strong>
+      will create a server socket and await incoming connections.  Your
+      operating system will allow only one server application to listen
+      to a particular port number on a particular IP address.</p>
+    </td></tr><tr><td valign="center" align="left"><code>restrictedUserAgents</code></td><td valign="center" align="left">
+      <p>The value is a comma separated list of regular expressions matching
+      user-agents of HTTP clients for which HTTP/1.1 or HTTP/1.0 keep alive
+      should not be used, even if the clients advertise support for these
+      features.
+      The default value is an empty String (regexp matching disabled).</p>
+    </td></tr><tr><td valign="center" align="left"><code>server</code></td><td valign="center" align="left">
+      <p>The Server header for the http response.
+         Unless you are paranoid, you won't need this feature.
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>socketBuffer</code></td><td valign="center" align="left">
+      <p>The size (in bytes) of the buffer to be provided for socket
+      output buffering. -1 can be specified to disable the use of a buffer.
+      By default, a buffers of 9000 bytes will be used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>tcpNoDelay</code></td><td valign="center" align="left">
+      <p>If set to <code>true</code>, the TCP_NO_DELAY option will be
+      set on the server socket, which improves performance under most
+      circumstances.  This is set to <code>true</code> by default.</p>
+    </td></tr><tr><td valign="center" align="left"><code>threadPriority</code></td><td valign="center" align="left">
+      <p>The priority of the request processing threads within the JVM.
+      The default value is <code>java.lang.Thread#NORM_PRIORITY</code>.
+      See the JavaDoc for the java.lang.Thread class for more details on
+      what this priority means.
+      </p>
+    </td></tr></table>
+
+  </blockquote></td></tr></table>
+  
+    <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nio Implementation"><strong>Nio Implementation</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The NIO connector exposes all the low level socket properties that can be used to tune the connector.
+    Most of these attributes are directly linked to the socket implementation in the JDK so you can find out 
+    about the actual meaning in the JDK API documentation.<br>
+    <strong>Note</strong>On some JDK versions, setTrafficClass causes a problem, a work around for this is to add 
+    the <code>-Djava.net.preferIPv4Stack=true</code> value to your command line</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>useSendfile</code></td><td valign="center" align="left">
+        <p>(bool)Use this attribute to enable or disable sendfile capability.
+           The default value is <code>true</code>
+        </p>
+      </td></tr><tr><td valign="center" align="left"><code>useExecutor</code></td><td valign="center" align="left">
+        <p>(bool)Set to true to use the NIO thread pool executor. The default value is <code>true</code>.
+        If set to false, it uses a thread pool based on a stack for its execution.
+        Generally, using the executor yields a little bit slower performance, but yields a better
+        fairness for processing connections in a high load environment as the traffic gets queued through a 
+        FIFO queue. If set to true(default) then the max pool size is the <code>maxThreads</code> attribute
+        and the core pool size is the <code>minSpareThreads</code>.
+        This value is ignored if the <code>executor</code> attribute is present and points to a valid shared thread pool.
+        </p>
+      </td></tr><tr><td valign="center" align="left"><code>acceptorThreadCount</code></td><td valign="center" align="left">
+        <p>(int)The number of threads to be used to accept connections. Increase this value on a multi CPU machine,
+        although you would never really need more than <code>2</code>. Also, with a lot of non keep alive connections,
+        you might want to increase this value as well. Default value is <code>1</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>pollerThreadCount</code></td><td valign="center" align="left">
+        <p>(int)The number of threads to be used to run for the polling events. Default value is <code>1</code>.
+           Can't see a reason to go above that. But experiment and find your own results.</p>
+      </td></tr><tr><td valign="center" align="left"><code>pollerThreadPriority</code></td><td valign="center" align="left">
+        <p>(int)The priority of the poller threads.
+          The default value is <code>java.lang.Thread#NORM_PRIORITY</code>.
+          See the JavaDoc for the java.lang.Thread class for more details on
+          what this priority means.
+        </p>
+      </td></tr><tr><td valign="center" align="left"><code>acceptorThreadPriority</code></td><td valign="center" align="left">
+        <p>(int)The priority of the acceptor threads. The threads used to accept new connections.
+          The default value is <code>java.lang.Thread#NORM_PRIORITY</code>.
+          See the JavaDoc for the java.lang.Thread class for more details on
+          what this priority means.
+        </p>
+      </td></tr><tr><td valign="center" align="left"><code>selectorTimeout</code></td><td valign="center" align="left">
+        <p>(int)The time in milliseconds to timeout on a select() for the poller.
+           This value is important, since connection clean up is done on the same thread, so dont set this 
+           value to an extremely high one. The default value is <code>1000</code> milliseconds.</p>
+      </td></tr><tr><td valign="center" align="left"><code>useComet</code></td><td valign="center" align="left">
+        <p>(bool)Whether to allow comet servlets or not, Default value is <code>true</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>processCache</code></td><td valign="center" align="left">
+        <p>(int)The protocol handler caches Http11NioProcessor objects to speed up performance.
+           This setting dictates how many of these objects get cached.
+           <code>-1</code> means unlimited, default is <code>200</code>. Set this value somewhere close to your maxThreads value.
+        </p>
+      </td></tr><tr><td valign="center" align="left"><code>socket.directBuffer</code></td><td valign="center" align="left">
+        <p>(bool)Boolean value, whether to use direct ByteBuffers or java mapped ByteBuffers. Default is <code>false</code>
+           <br>When you are using direct buffers, make sure you allocate the appropriate amount of memory for the 
+                direct memory space. On Sun's JDK that would be something like <code>-XX:MaxDirectMemorySize=256m</code></p>
+      </td></tr><tr><td valign="center" align="left"><code>socket.rxBufSize</code></td><td valign="center" align="left">
+        <p>(int)The socket receive buffer (SO_RCVBUF) size in bytes. Default value is <code>25188</code></p>
+      </td></tr><tr><td valign="center" align="left"><code>socket.txBufSize</code></td><td valign="center" align="left">
+        <p>(int)The socket send buffer (SO_SNDBUF) size in bytes. Default value is <code>43800</code></p>
+      </td></tr><tr><td valign="center" align="left"><code>socket.appReadBufSize</code></td><td valign="center" align="left">
+        <p>(int)Each connection that is opened up in Tomcat get associated with a read and a write ByteBuffer
+           This attribute controls the size of these buffers. By default this read buffer is sized at <code>8192</code> bytes.
+           For lower concurrency, you can increase this to buffer more data.
+           For an extreme amount of keep alive connections, decrease this number or increase your heap size.</p>
+      </td></tr><tr><td valign="center" align="left"><code>socket.appWriteBufSize</code></td><td valign="center" align="left">
+        <p>(int)Each connection that is opened up in Tomcat get associated with a read and a write ByteBuffer
+           This attribute controls the size of these buffers. By default this write buffer is sized at <code>8192</code> bytes.
+           For low concurrency you can increase this to buffer more response data.
+           For an extreme amount of keep alive connections, decrease this number or increase your heap size.
+           <br>
+           The default value here is pretty low, you should up it if you are not dealing with tens of thousands
+           concurrent connections.</p>
+      </td></tr><tr><td valign="center" align="left"><code>socket.bufferPool</code></td><td valign="center" align="left">
+        <p>(int)The Nio connector uses a class called NioChannel that holds elements linked to a socket.
+           To reduce garbage collection, the Nio connector caches these channel objects.
+           This value specifies the size of this cache.
+           The default value is <code>500</code>, and represents that the cache will hold 500 NioChannel objects.
+           Other values are <code>-1</code>. unlimited cache, and <code>0</code>, no cache.</p>
+      </td></tr><tr><td valign="center" align="left"><code>socket.bufferPoolSize</code></td><td valign="center" align="left">
+        <p>(int)The NioChannel pool can also be size based, not used object based. The size is calculated as follows:<br>
+        NioChannel <code>buffer size = read buffer size + write buffer size</code><br>
+        SecureNioChannel <code>buffer size = application read buffer size + application write buffer size + network read buffer size + network write buffer size</code><br>
+        The value is in bytes, the default value is <code>1024*1024*100</code> (100MB)
+        </p>
+      </td></tr><tr><td valign="center" align="left"><code>socket.processorCache</code></td><td valign="center" align="left">
+        <p>(int)Tomcat will cache SocketProcessor objects to reduce garbage collection.
+           The integer value specifies how many objects to keep in the cache at most.
+           The default is <code>500</code>.
+           Other values are <code>-1</code>. unlimited cache, and <code>0</code>, no cache.</p>
+      </td></tr><tr><td valign="center" align="left"><code>socket.keyCache</code></td><td valign="center" align="left">
+        <p>(int)Tomcat will cache KeyAttachment objects to reduce garbage collection.
+           The integer value specifies how many objects to keep in the cache at most.
+           The default is <code>500</code>.
+           Other values are <code>-1</code>. unlimited cache, and <code>0</code>, no cache.</p>
+      </td></tr><tr><td valign="center" align="left"><code>socket.eventCache</code></td><td valign="center" align="left">
+        <p>(int)Tomcat will cache PollerEvent objects to reduce garbage collection.
+           The integer value specifies how many objects to keep in the cache at most.
+           The default is <code>500</code>.
+           Other values are <code>-1</code>. unlimited cache, and <code>0</code>, no cache.</p>
+      </td></tr><tr><td valign="center" align="left"><code>socket.tcpNoDelay</code></td><td valign="center" align="left">
+        <p>(bool)same as the standard setting <code>tcpNoDelay</code>. Default value is <code>false</code></p>
+      </td></tr><tr><td valign="center" align="left"><code>socket.soKeepAlive</code></td><td valign="center" align="left">
+        <p>(bool)Boolean value for the socket's keep alive setting (SO_KEEPALIVE). Default is <code>false</code>. </p>
+      </td></tr><tr><td valign="center" align="left"><code>socket.ooBInline</code></td><td valign="center" align="left">
+        <p>(bool)Boolean value for the socket OOBINLINE setting. Default value is <code>true</code></p>
+      </td></tr><tr><td valign="center" align="left"><code>socket.soReuseAddress</code></td><td valign="center" align="left">
+        <p>(bool)Boolean value for the sockets reuse address option (SO_REUSEADDR). Default value is <code>true</code></p>
+      </td></tr><tr><td valign="center" align="left"><code>socket.soLingerOn</code></td><td valign="center" align="left">
+        <p>(bool)Boolean value for the sockets so linger option (SO_LINGER). Default value is <code>true</code>.
+           This option is paired with the <code>soLingerTime</code> value.</p>
+      </td></tr><tr><td valign="center" align="left"><code>socket.soLingerTime</code></td><td valign="center" align="left">
+        <p>(bool)Value in seconds for the sockets so linger option (SO_LINGER). Default value is <code>25</code> seconds.
+           This option is paired with the soLinger value.</p>
+      </td></tr><tr><td valign="center" align="left"><code>socket.soTimeout</code></td><td valign="center" align="left">
+        <p>(int)Value in milliseconds for the sockets read timeout (SO_TIMEOUT). Default value is <code>5000</code> milliseconds.</p>
+      </td></tr><tr><td valign="center" align="left"><code>socket.soTrafficClass</code></td><td valign="center" align="left">
+        <p>(byte)Value between <code>0</code> and <code>255</code> for the traffic class on the socket, <code>0x04 | 0x08 | 0x010</code></p>
+      </td></tr><tr><td valign="center" align="left"><code>socket.performanceConnectionTime</code></td><td valign="center" align="left">
+        <p>(int)The first value for the performance settings. Default is <code>1</code>, see <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/net/Socket.html#setPerformancePreferences(int,%20int,%20int)">Socket Performance Options</a></p>
+      </td></tr><tr><td valign="center" align="left"><code>socket.performanceLatency</code></td><td valign="center" align="left">
+        <p>(int)The second value for the performance settings. Default is <code>0</code>, see <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/net/Socket.html#setPerformancePreferences(int,%20int,%20int)">Socket Performance Options</a></p>
+      </td></tr><tr><td valign="center" align="left"><code>socket.performanceBandwidth</code></td><td valign="center" align="left">
+        <p>(int)The third value for the performance settings. Default is <code>1</code>, see <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/net/Socket.html#setPerformancePreferences(int,%20int,%20int)">Socket Performance Options</a></p>
+      </td></tr><tr><td valign="center" align="left"><code>selectorPool.maxSelectors</code></td><td valign="center" align="left">
+        <p>(int)The max selectors to be used in the pool, to reduce selector contention.
+        Use this option when the command line <code>org.apache.tomcat.util.net.NioSelectorShared</code> value is set to false.
+        Default value is <code>200</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>selectorPool.maxSpareSelectors</code></td><td valign="center" align="left">
+        <p>(int)The max spare selectors to be used in the pool, to reduce selector contention.
+        When a selector is returned to the pool, the system can decide to keep it or let it be GC:ed.
+        Use this option when the command line <code>org.apache.tomcat.util.net.NioSelectorShared</code> value is set to false.
+        Default value is <code>-1</code> (unlimited)</p>
+      </td></tr><tr><td valign="center" align="left"><code>command-line-options</code></td><td valign="center" align="left">
+        <p>The following command line options are available for the NIO connector:<br>
+        <code>-Dorg.apache.tomcat.util.net.NioSelectorShared=true|false</code> - default is <code>true</code>.
+        Set this value to false if you wish to use a selector for each thread.
+        the property. If you do set it to false, you can control the size of the pool of selectors by using the 
+        selectorPool.maxSelectors attribute</p>
+      </td></tr><tr><td valign="center" align="left"><code>oomParachute</code></td><td valign="center" align="left">
+        <p>(int)The NIO connector implements an OutOfMemoryError strategy called parachute.
+           It holds a chunk of data as a byte array. In case of an OOM,
+           this chunk of data is released and the error is reported. This will give the VM enough room
+           to clean up. The <code>oomParachute</code> represent the size in bytes of the parachute(the byte array).
+           The default value is <code>1024*1024</code>(1MB).
+           Please note, this only works for OOM errors regarding the Java Heap space, and there is absolutely no 
+           guarantee that you will be able to recover at all.
+           If you have an OOM outside of the Java Heap, then this parachute trick will not help.
+        </p>
+      </td></tr></table>
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nested Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>None at this time.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Special Features"><strong>Special Features</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="HTTP/1.1 and HTTP/1.0 Support"><strong>HTTP/1.1 and HTTP/1.0 Support</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>This <strong>Connector</strong> supports all of the required features
+  of the HTTP/1.1 protocol, as described in RFC 2616, including persistent
+  connections, pipelining, expectations and chunked encoding.  If the client
+  (typically a browser) supports only HTTP/1.0, the
+  <strong>Connector</strong> will gracefully fall back to supporting this
+  protocol as well.  No special configuration is required to enable this
+  support. The <strong>Connector</strong> also supports HTTP/1.0
+  keep-alive.</p>
+
+  <p>RFC 2616 requires that HTTP servers always begin their responses with
+  the highest HTTP version that they claim to support.  Therefore, this
+  <strong>Connector</strong> will always return <code>HTTP/1.1</code> at
+  the beginning of its responses.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Proxy Support"><strong>Proxy Support</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The <code>proxyName</code> and <code>proxyPort</code> attributes can
+  be used when Tomcat is run behind a proxy server.  These attributes
+  modify the values returned to web applications that call the
+  <code>request.getServerName()</code> and <code>request.getServerPort()</code>
+  methods, which are often used to construct absolute URLs for redirects.
+  Without configuring these attributes, the values returned would reflect
+  the server name and port on which the connection from the proxy server
+  was received, rather than the server name and port to whom the client
+  directed the original request.</p>
+
+  <p>For more information, see the
+  <a href="../../proxy-howto.html">Proxy Support HOW-TO</a>.</p>
+
+  </blockquote></td></tr></table>
+
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="SSL Support"><strong>SSL Support</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>You can enable SSL support for a particular instance of this
+  <strong>Connector</strong> by setting the <code>secure</code> attribute to
+  <code>true</code>.  In addition, you may need to configure the following
+  attributes:</p>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>algorithm</code></td><td valign="center" align="left">
+      <p>The certificate encoding algorithm to be used. This defaults to the Sun
+      implementation (<code>SunX509</code>). For IBM JVMs you should use the
+      value <code>IbmX509</code>. For other vendors, consult the JVM
+      documentation for the correct value.</p>
+    </td></tr><tr><td valign="center" align="left"><code>clientAuth</code></td><td valign="center" align="left">
+      <p>Set to <code>true</code> if you want the SSL stack to require a
+      valid certificate chain from the client before accepting a connection.
+      Set to <code>want</code> if you want the SSL stack to request a client
+      Certificate, but not fail if one isn't presented. A <code>false</code>
+      value (which is the default) will not require a certificate chain
+      unless the client requests a resource protected by a security
+      constraint that uses <code>CLIENT-CERT</code> authentication. See the
+      <a href="../../ssl-howto.html">SSL HowTo</a> for an example.</p>
+    </td></tr><tr><td valign="center" align="left"><code>keystoreFile</code></td><td valign="center" align="left">
+      <p>The pathname of the keystore file where you have stored the
+      server certificate to be loaded.  By default, the pathname is
+      the file "<code>.keystore</code>" in the operating system home
+      directory of the user that is running Tomcat. If your
+      <code>keystoreType</code> doesn't need a file use <code>""</code>
+      (empty string) for this parameter.</p>
+    </td></tr><tr><td valign="center" align="left"><code>keystorePass</code></td><td valign="center" align="left">
+      <p>The password used to access the server certificate from the
+      specified keystore file.  The default value is "<code>changeit</code>".
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>keystoreType</code></td><td valign="center" align="left">
+      <p>The type of keystore file to be used for the server certificate.
+      If not specified, the default value is "<code>JKS</code>".</p>
+    </td></tr><tr><td valign="center" align="left"><code>keystoreProvider</code></td><td valign="center" align="left">
+      <p>The name of the keystore provider to be used for the server
+      certificate. If not specified, the list of registered providers is
+      traversed in preference order and the first provider that supports the
+      <code>keystoreType</code> is used.
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>sslProtocol</code></td><td valign="center" align="left">
+      <p>The version of the SSL protocol to use.  If not specified,
+      the default is "<code>TLS</code>".</p>
+    </td></tr><tr><td valign="center" align="left"><code>ciphers</code></td><td valign="center" align="left">
+      <p>A comma seperated list of the encryption ciphers that may be used.
+      If not specified, then any available cipher may be used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>keyAlias</code></td><td valign="center" align="left">
+      <p>The alias used to for the server certificate in the keystore. If not
+      specified the first key read in the keystore will be used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>truststoreFile</code></td><td valign="center" align="left">
+      <p>The TrustStore file to use to validate client certificates.</p>
+    </td></tr><tr><td valign="center" align="left"><code>truststorePass</code></td><td valign="center" align="left">
+      <p>The password to access the TrustStore. This defaults to the value
+      of <code>keystorePass</code>.</p>
+    </td></tr><tr><td valign="center" align="left"><code>truststoreType</code></td><td valign="center" align="left">
+      <p>Add this element if your are using a different format for the
+      TrustStore then you are using for the KeyStore.</p>
+     </td></tr><tr><td valign="center" align="left"><code>truststoreProvider</code></td><td valign="center" align="left">
+      <p>The name of the truststore provider to be used for the server
+      certificate. If not specified, the list of registered providers is
+      traversed in preference order and the first provider that supports the
+      <code>truststoreType</code> is used.
+      </p>
+    </td></tr></table>
+
+  <p>For more information, see the
+  <a href="../../ssl-howto.html">SSL Configuration HOW-TO</a>.</p>
+
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Connector Comparison"><strong>Connector Comparison</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>Below is a small chart that shows how the connectors differentiate.</p>
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+                  Java Blocking Connector       Java Nio Blocking Connector       APR Connector
+    Classname         Http11Protocol                  Http11NioProtocol         Http11AprProtocol
+    Tomcat Version   3.x 4.x 5.x 6.x                       6.x                     5.5.x 6.x
+    Support Polling         NO                             YES                        YES
+    Polling Size           N/A                   Unlimited - Restricted by mem        Unlimited
+    Read HTTP Request     Blocking                     Blocking                       Blocking
+    Read HTTP Body        Blocking                     Blocking                       Blocking
+    Write HTTP Response   Blocking                     Blocking                       Blocking
+    SSL Support           Java SSL                     Java SSL                       OpenSSL
+    SSL Handshake         Blocking                     Non blocking                   Blocking
+    Max Connections       maxThreads                   See polling size               See polling size
+    
+    
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/config/printer/index.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/config/printer/index.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/config/printer/index.html	(revision 66)
@@ -0,0 +1,55 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - Overview</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>Overview</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Overview"><strong>Overview</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>This manual contains reference information about all of the configuration
+directives that can be included in a <code>conf/server.xml</code> file to
+configure the behavior of the Tomcat 6 Servlet/JSP container.  It does not
+attempt to describe which configuration directives should be used to perform
+specific tasks - for that, see the various <em>HOW-TO</em> documents on the
+main index page.</p>
+
+<p>The configuration element descriptions are organized into the following
+major categories:</p>
+<ul>
+<li><strong>Top Level Elements</strong> - <code>&lt;Server&gt;</code> is the
+    root element of the entire configuration file, while
+    <code>&lt;Service&gt;</code> represents a group of Connectors that is
+    associated with an Engine.</li>
+<li><strong>Connectors</strong> - Represent the interface between external
+    clients sending requests to (and receiving responses from) a particular
+    Service.</li>
+<li><strong>Containers</strong> - Represent components whose function is to
+    process incoming requests, and create the corresponding responses.
+    An Engine handles all requests for a Service, a Host handles all requests
+    for a particular virtual host, and a Context handles all requests for a
+    specific web application.</li>
+<li><strong>Nested Components</strong> - Represent elements that can be
+    nested inside the element for a Container.  Some elements can be nested
+    inside any Container, while others can only be nested inside a
+    Context.</li>
+</ul>
+
+<p>For each element, the corresponding documentation follows this general
+outline:</p>
+<ul>
+<li><strong>Introduction</strong> - Overall description of this particular
+    component.  There will be a corresponding Java <em>interface</em> (in
+    the <code>org.apache.catalina</code> pacakge) that is implemented by one
+    or more standard implementations.</li>
+<li><strong>Attributes</strong> - The set of attributes that are legal for
+    this element.  Generally, this will be subdivided into <em>Common</em>
+    attributes that are supported by all implementations of the corresponding
+    Java interface, and <em>Standard Implementation</em> attributes that are
+    specific to a particular Java class that implements this interface.
+    The names of required attributes are <strong>bolded</strong>.</li>
+<li><strong>Nested Components</strong> - Enumerates which of the <em>Nested
+    Components</em> can be legally nested within this element.</li>
+<li><strong>Special Features</strong> - Describes the configuration of a large
+    variety of special features (specific to each element type) that are
+    supported by the standard implementation of this interface.</li>
+</ul>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/config/printer/loader.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/config/printer/loader.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/config/printer/loader.html	(revision 66)
@@ -0,0 +1,102 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Loader Component</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Loader Component</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The <strong>Loader</strong> element represents the <em>web
+  application class loader</em> that will be used to load Java
+  classes and resources for your web application.  Such
+  a class loader must follow the requirements of the Servlet
+  Specification, and load classes from the following locations:</p>
+  <ul>
+  <li>From the <code>/WEB-INF/classes</code> directory inside your
+      web application.</li>
+  <li>From JAR files in the <code>/WEB-INF/lib</code> directory
+      inside your web application.</li>
+  <li>From resources made available by Catalina to all web
+      applications globally.</li>
+  </ul>
+
+  <p>A Loader element MAY be nested inside a <a href="context.html">Context</a>
+  component.  If it is not included, a default Loader configuration will be
+  created automatically, which is sufficient for most requirements.</p>
+
+  <p>For a more in-depth description of the class loader hierarchy
+  that is implemented by Catalina, see <a href="../../class-loader-howto.html">the ClassLoader HowTo</a>.</p>
+
+    <blockquote><em>
+    <p>The description below uses the variable name $CATALINA_BASE to refer the
+    base directory against which most relative paths are resolved. If you have
+    not configured Tomcat 6 for multiple instances by setting a CATALINA_BASE
+    directory, then $CATALINA_BASE will be set to the value of $CATALINA_HOME,
+    the directory into which you have installed Tomcat 6.</p>
+    </em></blockquote>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>All implementations of <strong>Loader</strong>
+    support the following attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>className</code></td><td valign="center" align="left">
+        <p>Java class name of the implementation to use.  This class must
+        implement the <code>org.apache.catalina.Loader</code> interface.
+        If not specified, the standard value (defined below) will be used.</p>
+      </td></tr><tr><td valign="center" align="left"><code>delegate</code></td><td valign="center" align="left">
+        <p>Set to <code>true</code> if you want the class loader to follow
+        the standard Java2 delegation model, and attempt to load classes from
+        parent class loaders <strong>before</strong> looking inside the web
+        application.  Set to <code>false</code> (the default) to have the
+        class loader look inside the web application first, before asking
+        parent class loaders to find requested classes or resources.</p>
+      </td></tr><tr><td valign="center" align="left"><code>reloadable</code></td><td valign="center" align="left">
+        <p>Set to <code>true</code> if you want Catalina to monitor classes in
+        <code>/WEB-INF/classes/</code> and <code>/WEB-INF/lib</code> for
+        changes, and automatically reload the web application if a change
+        is detected.  This feature is very useful during application
+        development, but it requires significant runtime overhead and is
+        not recommended for use on deployed production applications.  You
+        can use the <a href="../../manager-howto.html">Manager</a> web
+        application, however, to trigger reloads of deployed applications
+        on demand.</p>
+
+        <p><strong>NOTE</strong> - The value for this property will be
+        inherited from the <code>reloadable</code> attribute you set on
+        the surrounding <a href="context.html">Context</a> component,
+        and any value you explicitly set here will be replaced.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Standard Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The standard implementation of <strong>Loader</strong> is
+    <strong>org.apache.catalina.loader.WebappLoader</strong>.
+    It supports the following additional attributes (in addition to the
+    common attributes listed above):</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>loaderClass</code></td><td valign="center" align="left">
+        <p>Java class name of the <code>java.lang.ClassLoader</code>
+        implementation class to use.  If not specified, the default value is
+        <code>org.apache.catalina.loader.WebappClassLoader</code>.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nested Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>No components may be nested inside a <strong>Loader</strong> element.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Special Features"><strong>Special Features</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Logging"><strong>Logging</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>A loader is associated with the log category based on its classname.</p>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/config/printer/manager.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/config/printer/manager.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/config/printer/manager.html	(revision 66)
@@ -0,0 +1,349 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Manager Component</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"><meta value="Yoav Shapira" name="author"><meta value="yoavs@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Manager Component</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The <strong>Manager</strong> element represents the <em>session
+  manager</em> that will be used to create and maintain HTTP sessions
+  as requested by the associated web application.</p>
+
+  <p>A Manager element MAY be nested inside a
+  <a href="context.html">Context</a> component.  If it is not included,
+  a default Manager configuration will be created automatically, which
+  is sufficient for most requirements.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>All implementations of <strong>Manager</strong>
+    support the following attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>className</code></td><td valign="center" align="left">
+        <p>Java class name of the implementation to use.  This class must
+        implement the <code>org.apache.catalina.Manager</code> interface.
+        If not specified, the standard value (defined below) will be used.</p>
+      </td></tr><tr><td valign="center" align="left"><code>distributable</code></td><td valign="center" align="left">
+        <p>Set to <code>true</code> to ask the session manager to enforce
+        the restrictions described in the Servlet Specification on
+        distributable applications (primarily, this would mean that all
+        session attributes must implement <code>java.io.Serializable</code>).
+        Set to <code>false</code> (the default) to not enforce these
+        restrictions.</p>
+
+        <p><strong>NOTE</strong> - The value for this property is inherited
+        automatically based on the presence or absence of the
+        <code>&lt;distributable&gt;</code> element in the web application
+        deployment descriptor (<code>/WEB-INF/web.xml</code>).</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Standard Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>Tomcat provides two standard implementations of <strong>Manager</strong>
+    for use - the default one stores active sessions, while the optional one
+    stores active sessions that have been swapped out (in addition to saving
+    sessions across a restart of Tomcat) in a storage location that is selected
+    via the use of an appropriate <strong>Store</strong> nested element.</p>
+
+    <h3>Standard Manager Implementation</h3>
+
+    <p>The standard implementation of <strong>Manager</strong> is
+    <strong>org.apache.catalina.session.StandardManager</strong>.
+    It supports the following additional attributes (in addition to the
+    common attributes listed above):</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>algorithm</code></td><td valign="center" align="left">
+        <p>Name of the <em>Message Digest</em> algorithm used to calculate
+        session identifiers produced by this Manager.  This value must
+        be supported by the <code>java.security.MessageDigest</code> class.
+        If not specified, the default value is "MD5".</p>
+      </td></tr><tr><td valign="center" align="left"><code>entropy</code></td><td valign="center" align="left">
+        <p>A String value that is utilized when seeding the random number
+        generator used to create session identifiers for this Manager.
+        If not specified, a semi-useful value is calculated, but a long
+        String value should be specified in security-conscious
+        environments.</p>
+      </td></tr><tr><td valign="center" align="left"><code>maxActiveSessions</code></td><td valign="center" align="left">
+        <p>The maximum number of active sessions that will be created by
+        this Manager, or -1 (the default) for no limit.</p>
+      </td></tr><tr><td valign="center" align="left"><code>maxInactiveInterval</code></td><td valign="center" align="left">
+        <p>The initial maximum time interval, in seconds, 
+        between client requests before a session is invalidated. A negative value
+        will result in sessions never timing out. If the attribute is not provided,
+        a default of 60 seconds is used.</p>
+        
+        <p>This attribute provides the initial value whenever a 
+        new session is created, but the interval may be dynamically 
+        varied by a servlet via the 
+        <code>setMaxInactiveInterval</code> method of the <code>HttpSession</code> object.</p>
+      </td></tr><tr><td valign="center" align="left"><code>pathname</code></td><td valign="center" align="left">
+        <p>Absolute or relative (to the work directory for this Context)
+        pathname of the file in which session state will be preserved
+        across application restarts, if possible.  The default is
+        "SESSIONS.ser".  See <a href="#Restart Persistence">Restart
+        Persistence</a> for more information. Restart persistence may be 
+        disabled by setting this attribute to an empty string.</p>
+      </td></tr><tr><td valign="center" align="left"><code>processExpiresFrequency</code></td><td valign="center" align="left">
+        <p>Frequency of the session expiration, and related manager operations.
+        Manager operations will be done once for the specified amount of
+        backgrondProcess calls (ie, the lower the amount, the more often the
+        checks will occur). The minimum value is 1, and the default value is 6.
+        </p>
+      </td></tr><tr><td valign="center" align="left"><code>randomClass</code></td><td valign="center" align="left">
+        <p>Java class name of the <code>java.util.Random</code>
+        implementation class to use.  If not specified, the default value is
+        <code>java.security.SecureRandom</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>sessionIdLength</code></td><td valign="center" align="left">
+       <p>The length of session ids created by this Manager, excluding any
+        JVM route information used for load balancing. 
+        The default is 16.</p>
+      </td></tr></table>
+
+    <h3>Persistent Manager Implementation</h3>
+
+    <p><em><strong>WARNING - Use of this Manager implementation
+    has not been thoroughly tested, and should be considered experimental!
+    </strong></em></p>
+
+    <p>The persistent implementation of <strong>Manager</strong> is
+    <strong>org.apache.catalina.session.PersistentManager</strong>.  In
+    addition to the usual operations of creating and deleting sessions, a
+    <code>PersistentManager</code> has the capability to swap active (but
+    idle) sessions out to a persistent storage mechanism, as well as to save
+    all sessions across a normal restart of Tomcat.  The actual persistent
+    storage mechanism used is selected by your choice of a
+    <strong>Store</strong> element nested inside the <strong>Manager</strong>
+    element - this is required for use of <code>PersistentManager</code>.</p>
+
+    <p>This implementation of Manager supports the following attributes in
+    addition to the <a href="#Common Attributes">Common Attributes</a>
+    described earlier.</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>algorithm</code></td><td valign="center" align="left">
+        <p>Name of the <em>Message Digest</em> algorithm used to calculate
+        session identifiers produced by this Manager.  This value must
+        be supported by the <code>java.security.MessageDigest</code> class.
+        If not specified, the default value is "MD5".</p>
+      </td></tr><tr><td valign="center" align="left"><code>className</code></td><td valign="center" align="left">
+        <p>Java class name of the implementation to use.  This class must
+        implement the <code>org.apache.catalina.Manager</code> interface.
+        You <strong>must</strong> specify
+        <code>org.apache.catalina.session.PersistentManager</code> to use
+        this manager implementation.</p>
+      </td></tr><tr><td valign="center" align="left"><code>entropy</code></td><td valign="center" align="left">
+        <p>A String value that is utilized when seeding the random number
+        generator used to create session identifiers for this Manager.
+        If not specified, a semi-useful value is calculated, but a long
+        String value should be specified in security-conscious
+        environments.</p>
+      </td></tr><tr><td valign="center" align="left"><code>maxActiveSessions</code></td><td valign="center" align="left">
+        <p>The maximum number of active sessions that will be created by
+        this Manager, or -1 (the default) for no limit.</p>
+      </td></tr><tr><td valign="center" align="left"><code>maxIdleBackup</code></td><td valign="center" align="left">
+        <p>The time interval (in seconds) since the last access to a session
+        before it is eligible for being persisted to the session store, or
+        <code>-1</code> to disable this feature.  By default, this feature is
+        disabled.</p>
+      </td></tr><tr><td valign="center" align="left"><code>maxIdleSwap</code></td><td valign="center" align="left">
+        <p>The time interval (in seconds) since the last access to a session
+        before it should be persisted to the session store, and
+        passivated out of the server's memory, or <code>-1</code> to disable
+        this feature.  If this feature is enabled, the time interval specified
+        here should be equal to or longer than the value specified for
+        <code>maxIdleBackup</code>.  By default, this feature is disabled.</p>
+      </td></tr><tr><td valign="center" align="left"><code>minIdleSwap</code></td><td valign="center" align="left">
+        <p>The time interval (in seconds) since the last access to a session
+        before it will be eligible to be persisted to the session store, and
+        passivated out of the server's memory, or <code>-1</code> for this
+        swapping to be available at any time.  If specified, this value should
+        be less than that specified by <code>maxIdleSwap</code>.  By default,
+        this value is set to <code>-1</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>maxInactiveInterval</code></td><td valign="center" align="left">
+        <p>The initial maximum time interval, in seconds, 
+        between client requests before a session is invalidated. A negative value
+        will result in sessions never timing out. If the attribute is not provided,
+        a default of 60 seconds is used.</p>
+        
+        <p>This attribute provides the initial value whenever a 
+        new session is created, but the interval may be dynamically 
+        varied by a servlet via the 
+        <code>setMaxInactiveInterval</code>method of the <code>HttpSession</code> object.</p>
+      </td></tr><tr><td valign="center" align="left"><code>randomClass</code></td><td valign="center" align="left">
+        <p>Java class name of the <code>java.util.Random</code>
+        implementation class to use.  If not specified, the default value is
+        <code>java.security.SecureRandom</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>saveOnRestart</code></td><td valign="center" align="left">
+        <p>Should all sessions be persisted and reloaded when Tomcat is shut
+        down and restarted (or when this application is reloaded)?  By default,
+        this attribute is set to <code>true</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>sessionIdLength</code></td><td valign="center" align="left">
+        <p>The length of session ids created by this Manager, excluding any
+        JVM route information used for load balancing. 
+        The default is 16.</p>
+      </td></tr></table>
+
+    <p>In order to successfully use a PersistentManager, you must nest inside
+    it a <strong>&lt;Store&gt;</strong> element, as described below.</p>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nested Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>
+
+  <h3>Standard Manager Implementation</h3>
+
+  <p>If you are using the <em>Standard Manager Implementation</em>
+  as described above, no elements may be nested inside your
+  <strong>&lt;Manager&gt;</strong> element.</p>
+
+  <h3>Persistent Manager Implementation</h3>
+
+  <p>If you are using the <em>Persistent Manager Implementation</em>
+  as described above, you <strong>MUST</strong> nest a
+  <strong>&lt;Store&gt;</strong> element inside, which defines the
+  characteristics of the persistent data storage.  Two implementations
+  of the <code>&lt;Store&gt;</code> element are currently available,
+  with different characteristics, as described belowl</p>
+
+  <h5>File Based Store</h5>
+
+  <p>The <em>File Based Store</em> implementation saves swapped out
+  sessions in individual files (named based on the session identifier)
+  in a configurable directory.  Therefore, you are likely to encounter
+  scalability problems as the number of active sessions increases, and
+  this should primarily be considered a means to easily experiment.</p>
+
+  <p>To configure this, add a <code>&lt;Store&gt;</code> nested inside
+  your <code>&lt;Manager&gt;</code> element with the following attributes:
+  </p>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>checkInterval</code></td><td valign="center" align="left">
+      <p>The interval (in seconds) between checks for expired sessions
+      among those sessions that are currently swapped out.  By default,
+      this interval is set to 60 seconds (one minute).</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+      <p>Java class name of the implementation to use.  This class must
+      implement the <code>org.apache.catalina.Store</code> interface.  You
+      <strong>must</strong> specify
+      <code>org.apache.catalina.session.FileStore</code>
+      to use this implementation.</p>
+    </td></tr><tr><td valign="center" align="left"><code>directory</code></td><td valign="center" align="left">
+      <p>Absolute or relative (to the temporary work directory for this web
+      application) pathname of the directory into which individual session
+      files are written.  If not specified, the temporary work directory
+      assigned by the container is utilized.</p>
+    </td></tr></table>
+
+
+  <h5>JDBC Based Store</h5>
+
+  <p>The <em>JDBC Based Store</em> implementation saves swapped out
+  sessions in individual rows of a preconfigured table in a database
+  that is accessed via a JDBC driver.  With large numbers of swapped out
+  sessions, this implementation will exhibit improved performance over
+  the File Based Store described above.</p>
+
+  <p>To configure this, add a <code>&lt;Store&gt;</code> nested inside
+  your <code>&lt;Manager&gt;</code> element with the following attributes:
+  </p>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>checkInterval</code></td><td valign="center" align="left">
+      <p>The interval (in seconds) between checks for expired sessions
+      among those sessions that are currently swapped out.  By default,
+      this interval is set to 60 seconds (one minute).</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+      <p>Java class name of the implementation to use.  This class must
+      implement the <code>org.apache.catalina.Store</code> interface.  You
+      <strong>must</strong> specify
+      <code>org.apache.catalina.session.JDBCStore</code>
+      to use this implementation.</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>connectionURL</code></strong></td><td valign="center" align="left">
+      <p>The connection URL that will be handed to the configured JDBC
+      driver to establish a connection to the database containing our
+      session table.</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>driverName</code></strong></td><td valign="center" align="left">
+      <p>Java class name of the JDBC driver to be used.</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>sessionAppCol</code></strong></td><td valign="center" align="left">
+      <p>Name of the database column, contained in the specified session
+      table, that contains the Engine, Host, and Web Application Context
+      name in the format <code>/Engine/Host/Context</code>.</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>sessionDataCol</code></strong></td><td valign="center" align="left">
+      <p>Name of the database column, contained in the specified
+      session table, that contains the serialized form of all session
+      attributes for a swapped out session.  The column type must accept
+      a binary object (typically called a BLOB).</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>sessionIdCol</code></strong></td><td valign="center" align="left">
+      <p>Name of the database column, contained in the specified
+      session table, that contains the session identifier of the
+      swapped out session.  The column type must accept character
+      string data of at least as many characters as are contained
+      in session identifiers created by Tomcat (typically 32).</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>sessionLastAccessedCol</code></strong></td><td valign="center" align="left">
+      <p>Name of the database column, contained in the specified
+      session table, that contains the <code>lastAccessedTime</code>
+      property of this session.  The column type must accept a
+      Java <code>long</code> (64 bits).</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>sessionMaxInactiveCol</code></strong></td><td valign="center" align="left">
+      <p>Name of the database column, contained in the specified
+      session table, that contains the <code>maxInactiveInterval</code>
+      property of this session.  The column type must accept a
+      Java <code>integer</code> (32 bits).</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>sessionTable</code></strong></td><td valign="center" align="left">
+      <p>Name of the database table to be used for storing swapped out
+      sessions.  This table must contain (at least) the database columns
+      that are configured by the other attributes of this element.</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>sessionValidCol</code></strong></td><td valign="center" align="left">
+      <p>Name of the database column, contained in the specified
+      session table, that contains a flag indicating whether this
+      swapped out session is still valid or not.  The column type
+      must accept a single character.</p>
+    </td></tr></table>
+
+  <p>Before attempting to use the JDBC Based Store for the first time,
+  you must create the table that will be used to store swapped out sessions.
+  Detailed SQL commands vary depending on the database you are using, but
+  a script like this will generally be required:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+create table tomcat_sessions (
+  session_id     varchar(100) not null primary key,
+  valid_session  char(1) not null,
+  max_inactive   int not null,
+  last_access    bigint not null,
+  app_name       varchar(255),
+  session_data   mediumblob,
+  KEY kapp_name(app_name)
+);
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+  <p>In order for the JDBC Based Store to successfully connect to your
+  database, the JDBC driver you configure must be visible to Tomcat's
+  internal class loader.  Generally, that means you must place the JAR
+  file containing this driver into the <code>$CATALINA_HOME/lib</code>
+  directory.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Special Features"><strong>Special Features</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Restart Persistence"><strong>Restart Persistence</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>Whenver Catalina is shut down normally and restarted, or when an
+    application reload is triggered, the standard Manager implementation
+    will attempt to serialize all currently active sessions to a disk
+    file located via the <code>pathname</code> attribute.  All such saved
+    sessions will then be deserialized and activated (assuming they have
+    not expired in the mean time) when the application reload is completed.</p>
+
+    <p>In order to successfully restore the state of session attributes,
+    all such attributes MUST implement the <code>java.io.Serializable</code>
+    interface.  You MAY cause the Manager to enforce this restriction by
+    including the <code>&lt;distributable&gt;</code> element in your web
+    application deployment descriptor (<code>/WEB-INF/web.xml</code>).</p>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/config/printer/realm.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/config/printer/realm.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/config/printer/realm.html	(revision 66)
@@ -0,0 +1,447 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Realm Component</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Realm Component</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>A <strong>Realm</strong> element represents a "database" of usernames,
+  passwords, and <em>roles</em> (similar to Unix <em>groups</em>) assigned
+  to those users.  Different implementations of Realm allow Catalina to be
+  integrated into environments where such authentication information is already
+  being created and maintained, and then utilize that information to implement
+  <em>Container Managed Security</em> as described in the Servlet
+  Specification.</p>
+
+  <p>You may nest a Realm inside any Catalina container
+  <a href="engine.html">Engine</a>, <a href="host.html">Host</a>, or
+  <a href="context.html">Context</a>).  In addition, Realms associated with
+  an Engine or a Host are automatically inherited by lower-level
+  containers, unless explicitly overridden.</p>
+
+  <p>For more in-depth information about container managed security in web
+  applications, as well as more information on configuring and using the 
+  standard realm component implementations, please see the 
+  <a href="../../realm-howto.html">Container-Managed Security Guide</a>.
+  </p>
+
+    <blockquote><em>
+    <p>The description below uses the variable name $CATALINA_BASE to refer the
+    base directory against which most relative paths are resolved. If you have
+    not configured Tomcat 6 for multiple instances by setting a CATALINA_BASE
+    directory, then $CATALINA_BASE will be set to the value of $CATALINA_HOME,
+    the directory into which you have installed Tomcat 6.</p>
+    </em></blockquote>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>All implementations of <strong>Realm</strong>
+    support the following attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+        <p>Java class name of the implementation to use.  This class must
+        implement the <code>org.apache.catalina.Realm</code> interface.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Standard Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>Unlike most Catalina components, there are several standard
+    <strong>Realm</strong> implementations available.  As a result,
+    the <code>className</code> attribute MUST be used to select the
+    implementation you wish to use.</p>
+
+    <h3>JDBC Database Realm (org.apache.catalina.realm.JDBCRealm)</h3>
+
+    <p>The <strong>JDBC Database Realm</strong> connects Catalina to
+    a relational database, accessed through an appropriate JDBC driver,
+    to perform lookups of usernames, passwords, and their associated
+    roles.  Because the lookup is done each time that it is required,
+    changes to the database will be immediately reflected in the
+    information used to authenticate new logins.</p>
+
+    <p>A rich set of additional attributes lets you configure the required
+    connection to the underlying database, as well as the table and
+    column names used to retrieve the required information:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>connectionName</code></strong></td><td valign="center" align="left">
+        <p>The database username to use when establishing the JDBC
+        connection.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>connectionPassword</code></strong></td><td valign="center" align="left">
+        <p>The database password to use when establishing the JDBC
+        connection.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>connectionURL</code></strong></td><td valign="center" align="left">
+        <p>The connection URL to be passed to the JDBC driver when
+        establishing a database connection.</p>
+      </td></tr><tr><td valign="center" align="left"><code>digest</code></td><td valign="center" align="left">
+        <p>The name of the <code>MessageDigest</code> algorithm used
+        to encode user passwords stored in the database.  If not specified,
+        user passwords are assumed to be stored in clear-text.</p>
+      </td></tr><tr><td valign="center" align="left"><code>digestEncoding</code></td><td valign="center" align="left">
+        <p>The charset for encoding digests.  If not specified, the platform
+        default will be used.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>driverName</code></strong></td><td valign="center" align="left">
+        <p>Fully qualified Java class name of the JDBC driver to be
+        used to connect to the authentication database.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>roleNameCol</code></strong></td><td valign="center" align="left">
+        <p>Name of the column, in the "user roles" table, which contains
+        a role name assigned to the corresponding user.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>userCredCol</code></strong></td><td valign="center" align="left">
+        <p>Name of the column, in the "users" table, which contains
+        the user's credentials (i.e. password(.  If a value for the
+        <code>digest</code> attribute is specified, this component
+        will assume that the passwords have been encoded with the
+        specified algorithm.  Otherwise, they will be assumed to be
+        in clear text.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>userNameCol</code></strong></td><td valign="center" align="left">
+        <p>Name of the column, in the "users" and "user roles" table,
+        that contains the user's username.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>userRoleTable</code></strong></td><td valign="center" align="left">
+        <p>Name of the "user roles" table, which must contain columns
+        named by the <code>userNameCol</code> and <code>roleNameCol</code>
+        attributes.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>userTable</code></strong></td><td valign="center" align="left">
+        <p>Name of the "users" table, which must contain columns named
+        by the <code>userNameCol</code> and <code>userCredCol</code>
+        attributes.</p>
+      </td></tr></table>
+
+    <p>See the <a href="../../realm-howto.html">Container-Managed Security Guide</a> for more
+    information on setting up container managed security using the
+    JDBC Database Realm component.</p>
+
+
+    <h3>
+      DataSource Database Realm (org.apache.catalina.realm.DataSourceRealm)
+    </h3>
+
+    <p>The <strong>DataSource Database Realm</strong> connects Catalina to
+    a relational database, accessed through a JNDI named JDBC DataSource
+    to perform lookups of usernames, passwords, and their associated
+    roles.  Because the lookup is done each time that it is required,
+    changes to the database will be immediately reflected in the
+    information used to authenticate new logins.</p>
+
+    <p>The JDBC Realm uses a single db connection. This requires that
+    realm based authentication be synchronized, i.e. only one authentication
+    can be done at a time. This could be a bottleneck for applications
+    with high volumes of realm based authentications.</p>
+
+    <p>The DataSource Database Realm supports simultaneous realm based
+    authentications and allows the underlying JDBC DataSource to
+    handle optimizations like database connection pooling.</p>
+
+    <p>A rich set of additional attributes lets you configure the name
+    of the JNDI JDBC DataSource, as well as the table and
+    column names used to retrieve the required information:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>dataSourceName</code></strong></td><td valign="center" align="left">
+        <p>The name of the JNDI JDBC DataSource for this Realm.</p>
+      </td></tr><tr><td valign="center" align="left"><code>digest</code></td><td valign="center" align="left">
+        <p>The name of the <code>MessageDigest</code> algorithm used
+        to encode user passwords stored in the database.  If not specified,
+        user passwords are assumed to be stored in clear-text.</p>
+      </td></tr><tr><td valign="center" align="left"><code>localDataSource</code></td><td valign="center" align="left">
+        <p>When the realm is nested inside a Context element, this allows the 
+        realm to use a DataSource defined for the Context rather than a global
+        DataSource.  If not specified, the default is <code>false</code>: use a 
+        global DataSource.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>roleNameCol</code></strong></td><td valign="center" align="left">
+        <p>Name of the column, in the "user roles" table, which contains
+        a role name assigned to the corresponding user.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>userCredCol</code></strong></td><td valign="center" align="left">
+        <p>Name of the column, in the "users" table, which contains
+        the user's credentials (i.e. password(.  If a value for the
+        <code>digest</code> attribute is specified, this component
+        will assume that the passwords have been encoded with the
+        specified algorithm.  Otherwise, they will be assumed to be
+        in clear text.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>userNameCol</code></strong></td><td valign="center" align="left">
+        <p>Name of the column, in the "users" and "user roles" table,
+        that contains the user's username.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>userRoleTable</code></strong></td><td valign="center" align="left">
+        <p>Name of the "user roles" table, which must contain columns
+        named by the <code>userNameCol</code> and <code>roleNameCol</code>
+        attributes.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>userTable</code></strong></td><td valign="center" align="left">
+        <p>Name of the "users" table, which must contain columns named
+        by the <code>userNameCol</code> and <code>userCredCol</code>
+        attributes.</p>
+      </td></tr></table>
+
+    <p>See the <a href="../../realm-howto.html#DataSourceRealm">
+    DataSource Realm HOW-TO</a> for more information on setting up container
+    managed security using the DataSource Database Realm component.</p>
+
+
+    <h3>JNDI Directory Realm (org.apache.catalina.realm.JNDIRealm)</h3>
+
+
+    <p>The <strong>JNDI Directory Realm</strong> connects Catalina to
+    an LDAP Directory, accessed through an appropriate JNDI driver,
+    that stores usernames, passwords, and their associated
+    roles. Changes to the directory are immediately reflected in the
+    information used to authenticate new logins.</p>
+
+
+    <p>The directory realm supports a variety of approaches to using
+    LDAP for authentication:</p>
+
+    <ul>
+    <li>The realm can either use a pattern to determine the
+    distinguished name (DN) of the user's directory entry, or search
+    the directory to locate that entry.
+    </li>
+
+    <li>The realm can authenticate the user either by binding to the
+    directory with the DN of the user's entry and the password
+    presented by the user, or by retrieving the password from the
+    user's entry and performing a comparison locally.
+    </li>
+
+    <li>Roles may be represented in the directory as explicit entries
+    found by a directory search (e.g. group entries of which the user
+    is a member), as the values of an attribute in the user's entry,
+    or both.
+    </li>
+    </ul>
+
+    <p> A rich set of additional attributes lets you configure the
+    required behaviour as well as the connection to the underlying
+    directory and the element and attribute names used to retrieve
+    information from the directory:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>alternateURL</code></td><td valign="center" align="left">
+         <p>If a socket connection can not be made to the provider at
+         the <code>connectionURL</code> an attempt will be made to use the
+         <code>alternateURL</code>.</p>
+       </td></tr><tr><td valign="center" align="left"><code>authentication</code></td><td valign="center" align="left">
+         <p>A string specifying the type of authentication to use.
+         "none", "simple", "strong" or a provider specific definition
+         can be used. If no value is given the providers default is used.</p>
+       </td></tr><tr><td valign="center" align="left"><code>connectionName</code></td><td valign="center" align="left">
+        <p>The directory username to use when establishing a
+        connection to the directory for LDAP search operations. If not
+        specified an anonymous connection is made, which is often
+        sufficient unless you specify the <code>userPassword</code>
+        property.</p>
+      </td></tr><tr><td valign="center" align="left"><code>connectionPassword</code></td><td valign="center" align="left">
+        <p>The directory password to use when establishing a
+        connection to the directory for LDAP search operations. If not
+        specified an anonymous connection is made, which is often
+        sufficient unless you specify the <code>userPassword</code>
+        property.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>connectionURL</code></strong></td><td valign="center" align="left">
+        <p>The connection URL to be passed to the JNDI driver when
+        establishing a connection to the directory.</p>
+      </td></tr><tr><td valign="center" align="left"><code>contextFactory</code></td><td valign="center" align="left">
+        <p>Fully qualified Java class name of the factory class used
+        to acquire our JNDI <code>InitialContext</code>.  By default,
+        assumes that the standard JNDI LDAP provider will be utilized.</p>
+      </td></tr><tr><td valign="center" align="left"><code>derefAliases</code></td><td valign="center" align="left">
+        <p>A string specifying how aliases are to be dereferenced during
+        search operations. The allowed values are "always", "never",
+        "finding" and "searching". If not specified, "always" is used.</p>
+      </td></tr><tr><td valign="center" align="left"><code>digest</code></td><td valign="center" align="left">
+        <p>The digest algorithm to apply to the plaintext password offered
+        by the user before comparing it with the value retrieved from the
+        directory.  Valid values are those accepted for the algorithm name
+        by the <code>java.security.MessageDigest</code> class. If not
+        specified the plaintext password is assumed to be retrieved. Not
+        required unless <code>userPassword</code> is specified</p>
+      </td></tr><tr><td valign="center" align="left"><code>protocol</code></td><td valign="center" align="left">
+         <p>A string specifying the security protocol to use. If not given
+         the providers default is used.</p>
+      </td></tr><tr><td valign="center" align="left"><code>roleBase</code></td><td valign="center" align="left">
+        <p>The base directory entry for performing role searches. If
+        not specified the top-level element in the directory context
+        will be used.</p>
+      </td></tr><tr><td valign="center" align="left"><code>roleName</code></td><td valign="center" align="left">
+        <p>The name of the attribute that contains role names in the
+        directory entries found by a role search. In addition you can
+        use the <code>userRoleName</code> property to specify the name
+        of an attribute, in the user's entry, containing additional
+        role names.  If <code>roleName</code> is not specified a role
+        search does not take place, and roles are taken only from the
+        user's entry.</p>
+      </td></tr><tr><td valign="center" align="left"><code>roleSearch</code></td><td valign="center" align="left">
+        <p>The LDAP filter expression used for performing role
+        searches.  Use <code>{0}</code> to substitute the
+        distinguished name (DN) of the user, and/or <code>{1}</code> to
+        substitute the username. If not specified a role search does
+        not take place and roles are taken only from the attribute in
+        the user's entry specified by the <code>userRoleName</code>
+        property.</p>
+      </td></tr><tr><td valign="center" align="left"><code>roleSubtree</code></td><td valign="center" align="left">
+        <p>Set to <code>true</code> if you want to search the entire
+        subtree of the element specified by the <code>roleBase</code>
+        property for role entries associated with the user. The
+        default value of <code>false</code> causes only the top level
+        to be searched.</p>
+      </td></tr><tr><td valign="center" align="left"><code>userBase</code></td><td valign="center" align="left">
+        <p>The base element for user searches performed using the
+        <code>userSearch</code> expression.  Not used if you are using
+        the <code>userPattern</code> expression.</p>
+      </td></tr><tr><td valign="center" align="left"><code>userPassword</code></td><td valign="center" align="left">
+        <p>Name of the attribute in the user's entry containing the
+        user's password.  If you specify this value, JNDIRealm will
+        bind to the directory using the values specified by
+        <code>connectionName</code> and
+        <code>connectionPassword</code> properties, and retrieve the
+        corresponding attribute for comparison to the value specified
+        by the user being authenticated.  If you do
+        <strong>not</strong> specify this value, JNDIRealm will
+        attempt a simple bind to the directory using the DN of the
+        user's entry and the password presented by the user, with a
+        successful bind being interpreted as an authenticated
+        user.</p>
+      </td></tr><tr><td valign="center" align="left"><code>userPattern</code></td><td valign="center" align="left">
+        <p>Pattern for the distinguished name (DN) of the user's
+        directory entry, with <code>{0}</code> marking where the
+        actual username should be inserted. You can use this property
+        instead of <code>userSearch</code>, <code>userSubtree</code>
+        and <code>userBase</code> when the distinguished name contains
+        the username and is otherwise the same for all users.</p>
+      </td></tr><tr><td valign="center" align="left"><code>userRoleName</code></td><td valign="center" align="left">
+        <p>The name of an attribute in the user's directory entry
+        containing zero or more values for the names of roles assigned
+        to this user.  In addition you can use the
+        <code>roleName</code> property to specify the name of an
+        attribute to be retrieved from individual role entries found
+        by searching the directory. If <code>userRoleName</code> is
+        not specified all the roles for a user derive from the role
+        search.</p>
+      </td></tr><tr><td valign="center" align="left"><code>userSearch</code></td><td valign="center" align="left">
+        <p>The LDAP filter expression to use when searching for a
+        user's directory entry, with <code>{0}</code> marking where
+        the actual username should be inserted.  Use this property
+        (along with the <code>userBase</code> and
+        <code>userSubtree</code> properties) instead of
+        <code>userPattern</code> to search the directory for the
+        user's entry.</p>
+      </td></tr><tr><td valign="center" align="left"><code>userSubtree</code></td><td valign="center" align="left">
+        <p>Set to <code>true</code> if you want to search the entire
+        subtree of the element specified by the <code>userBase</code>
+        property for the user's entry. The default value of
+        <code>false</code> causes only the top level to be searched.
+        Not used if you are using the <code>userPattern</code>
+        expression.</p>
+      </td></tr></table>
+
+    <p>See the <a href="../../realm-howto.html">Container-Managed Security Guide</a> for more
+    information on setting up container managed security using the
+    JNDI Directory Realm component.</p>
+
+
+    <h3>Memory Based Realm (org.apache.catalina.realm.MemoryRealm)</h3>
+
+    <p>The <strong>Memory Based Realm</strong> is a simple Realm implementation
+    that reads user information from an XML format, and represents it as a
+    collection of Java objects in memory.  This implementation is intended
+    solely to get up and running with container managed security - it is NOT
+    intended for production use.  As such, there are no mechanisms for
+    updating the in-memory collection of users when the content of the
+    underlying data file is changed.</p>
+
+    <p>The Memory Based Realm implementation supports the following
+    additional attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>digest</code></td><td valign="center" align="left">
+        <p>The digest algorithm used to store passwords in non-plaintext
+        formats. Valid values are those accepted for the algorithm name by the
+        <code>java.security.MessageDigest</code> class. If not specified,
+        passwords are stored in clear text.</p>
+      </td></tr><tr><td valign="center" align="left"><code>pathname</code></td><td valign="center" align="left">
+        <p>Absolute or relative (to $CATALINA_BASE) pathname to the XML file
+        containing our user information.  See below for details on the
+        XML element format required.  If no pathname is specified, the
+        default value is <code>conf/tomcat-users.xml</code>.</p>
+      </td></tr></table>
+
+    <p>The XML document referenced by the <code>pathname</code> attribute must
+    conform to the following requirements:</p>
+    <ul>
+    <li>The root (outer) element must be <code>&lt;tomcat-users&gt;</code>.
+        </li>
+    <li>Each authorized user must be represented by a single XML element
+        <code>&lt;user&gt;</code>, nested inside the root element.</li>
+    <li>Each <code>&lt;user&gt;</code> element must have the following
+        attributes:
+        <ul>
+        <li><strong>name</strong> - Username of this user (must be unique
+            within this file).</li>
+        <li><strong>password</strong> - Password of this user (in
+            clear text).</li>
+        <li><strong>roles</strong> - Comma-delimited list of the role names
+            assigned to this user.</li>
+        </ul></li>
+    </ul>
+
+    <p>See the <a href="../../realm-howto.html">Container-Managed Security Guide</a> for more
+    information on setting up container managed security using the
+    Memory Based Realm component.</p>
+
+    <h3>JAAS Realm (org.apache.catalina.realm.JAASRealm)</h3>
+
+    <p><strong>JAASRealm</strong> is an implementation of the Tomcat 6
+    <code>Realm</code> interface that authenticates users through the Java
+    Authentication &amp; Authorization Service (JAAS) framework which is now
+    provided as part of the standard J2SE API.</p>
+
+    <p>Using JAASRealm gives the developer the ability to combine practically
+    any conceivable security realm with Tomcat's CMA.</p>
+
+    <p>JAASRealm is prototype for Tomcat of the JAAS-based J2EE authentication
+    framework for J2EE v1.4, based on the <a href="http://www.jcp.org/en/jsr/detail?id=196">JCP Specification Request
+    196</a> to enhance container-managed security and promote 'pluggable'
+    authentication mechanisms whose implementations would be
+    container-independent.</p>
+
+    <p>Based on the JAAS login module and principal
+    (see <code>javax.security.auth.spi.LoginModule</code> and
+    <code>javax.security.Principal</code>), you can develop your own security
+    mechanism or wrap another third-party mechanism for integration with the CMA
+    as implemented by Tomcat.</p>
+
+    <p>The JAAS Realm implementation supports the following additional
+    attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>appName</code></strong></td><td valign="center" align="left">
+       <p>The name of the application as configured in your login configuration
+       file 
+       (<a href="http://java.sun.com/j2se/1.4.1/docs/guide/security/jaas/tutorials/LoginConfigFile.html">JAAS LoginConfig</a>).</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>userClassNames</code></strong></td><td valign="center" align="left">
+        <p>A comma-seperated list of the names of the classes that you have made 
+        for your user <code>Principals</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>roleClassNames</code></td><td valign="center" align="left">
+        <p>A comma-seperated list of the names of the classes that you have made 
+        for your role <code>Principals</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>useContextClassLoader</code></td><td valign="center" align="left">
+        <p>Instructs JAASRealm to use the context class loader for loading the
+        user-specified <code>LoginModule</code> class and associated
+        <code>Principal</code> classes. The default value is <code>true</code>,
+        which is backwards-compatible with the way Tomcat 5 works. To load
+        classes using the container's classloader, specify
+        <code>false</code>.</p>
+      </td></tr></table>
+
+    <p>See the <a href="../../realm-howto.html">Container-Managed Security
+    Guide</a> for more information on setting up container managed security
+    using the JAAS Realm component.</p>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nested Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>No components may be nested inside a <strong>Realm</strong> element.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Special Features"><strong>Special Features</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>See <a href="host.html">Single Sign On</a> for information about
+  configuring Single Sign On support for a virtual host.</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/config/printer/resources.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/config/printer/resources.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/config/printer/resources.html	(revision 66)
@@ -0,0 +1,69 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Resources Component</title><meta value="Remy Maucherat" name="author"><meta value="remm@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Resources Component</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The <strong>Resources</strong> element represents the <em>web
+  application static resources</em>, from which classes will be loaded, 
+  HTML, JSP and the other static files will be served. This allows the webapp
+  to reside on various mediums other than the filesystem, like compressed
+  in a WAR file, in a JDBC database, or in a more advanced versioning
+  repository.</p>
+
+  <p>A unified caching engine is provided for all accesses to the webapp
+  resources made by the servlet container and web applications which use the
+  container provided mechanisms to access such resources, such as class laoder
+  access, access through the <code>ServletContext</code> interface, or native
+  access through the <code>DirectoryContext</code> interface.</p>
+
+  <p><strong>Note: Running a webapp with non-filesystem based 
+  Resources implementations is only possible when the webapp does not 
+  rely on direct filesystem access to its own resources, and uses the methods
+  in the ServletContext interface to access them.</strong></p>
+
+  <p>A Resources element MAY be nested inside a 
+  <a href="context.html">Context</a> component.  If it is not included, 
+  a default filesystem based Resources will be created automatically, 
+  which is sufficient for most requirements.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>All implementations of <strong>Resources</strong>
+    support the following attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>className</code></td><td valign="center" align="left">
+        <p>Java class name of the implementation to use.  This class must
+        implement the <code>javax.naming.directory.DirContext</code> interface.
+        It is recommended for optimal functionality and performance, 
+        but not mandatory, that the class extend 
+        <code>org.apache.naming.resources.BaseDirContext</code>, as well as
+        use the special object types provided in the 
+        <code>org.apache.naming.resources</code> for returned objects.
+        If not specified, the standard value (defined below) will be used.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Standard Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The standard implementation of <strong>Resources</strong> is
+    <strong>org.apache.naming.resources.FileDirContext</strong>, and 
+    is configured by its parent Context element.</p>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nested Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>No components may be nested inside a <strong>Resources</strong> element.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Special Features"><strong>Special Features</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>No special features are associated with a <strong>Resources</strong>
+  element.</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/config/printer/server.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/config/printer/server.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/config/printer/server.html	(revision 66)
@@ -0,0 +1,62 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Server Component</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Server Component</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>A <strong>Server</strong> element represents the entire Catalina
+  servlet container.  Therefore, it must be the single outermost element
+  in the <code>conf/server.xml</code> configuration file.  Its attributes
+  represent the characteristics of the servlet container as a whole.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>All implementations of <strong>Server</strong>
+  support the following attributes:</p>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>className</code></td><td valign="center" align="left">
+      <p>Java class name of the implementation to use.  This class must
+      implement the <code>org.apache.catalina.Server</code> interface.
+      If no class name is specified, the standard implementation will
+      be used.</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>port</code></strong></td><td valign="center" align="left">
+      <p>The TCP/IP port number on which this server waits for a shutdown
+      command.  This connection must be initiated from the same server
+      computer that is running this instance of Tomcat.</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>shutdown</code></strong></td><td valign="center" align="left">
+      <p>The command string that must be received via a TCP/IP connection
+      to the specified port number, in order to shut down Tomcat.</p>
+    </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Standard Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The standard implementation of <strong>Server</strong> is
+  <strong>org.apache.catalina.core.StandardServer</strong>.
+  It supports the following additional attributes (in addition to the
+  common attributes listed above):</p>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr></table>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nested Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The following components may be nested inside a <strong>Server</strong>
+  element:</p>
+  <ul>
+  <li><a href="service.html"><strong>Service</strong></a> - 
+      One or more service element.</li>
+  <li><a href="globalresources.html"><strong>GlobalNamingResources</strong></a> - 
+      Configure the JNDI global resources for the server.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Special Features"><strong>Special Features</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>There are no special features associated with a <strong>Server</strong>.
+  </p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/config/printer/service.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/config/printer/service.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/config/printer/service.html	(revision 66)
@@ -0,0 +1,57 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Service Component</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Service Component</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>A <strong>Service</strong> element represents the combination of one or
+  more <strong>Connector</strong> components that share a single
+  <a href="engine.html">Engine</a> component for processing incoming
+  requests.  One or more <strong>Service</strong> elements may be nested
+  inside a <a href="server.html">Server</a> element.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>All implementations of <strong>Service</strong>
+  support the following attributes:</p>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>className</code></td><td valign="center" align="left">
+      <p>Java class name of the implementation to use.  This class must
+      implement the <code>org.apache.catalina.Service</code> interface.
+      If no class name is specified, the standard implementation will
+      be used.</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>name</code></strong></td><td valign="center" align="left">
+      <p>The display name of this <strong>Service</strong>, which will
+      be included in log messages if you utilize standard Catalina
+      components.  The name of each <strong>Service</strong> that is
+      associated with a particular <a href="server.html">Server</a>
+      must be unique.</p>
+    </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Standard Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The standard implementation of <strong>Service</strong> is
+  <strong>org.apache.catalina.core.StandardService</strong>.
+  It supports the following additional attributes (in addition to the
+  common attributes listed above):</p>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr></table>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nested Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The only components that may be nested inside a <strong>Service</strong>
+  element are one or more <strong>Connector</strong> elements,
+  followed by exactly one <a href="engine.html">Engine</a> element.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Special Features"><strong>Special Features</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>There are no special features associated with a <strong>Service</strong>.
+  </p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/config/printer/systemprops.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/config/printer/systemprops.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/config/printer/systemprops.html	(revision 66)
@@ -0,0 +1,199 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - System Properties</title></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>System Properties</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+  <p>The follow sections list the system properties that may be set to modify
+  the default Tomcat behaviour.</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Clustering"><strong>Clustering</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Property</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>org.apache.catalina. tribes.dns_lookups</code></td><td valign="center" align="left">
+      <p>If <code>true</code>, the clustering module will attempt to use DNS to
+      resolve any host names provided in the cluster configuration. If not
+      specified, the default value of <code>false</code> will be used.</p>
+    </td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Expression Language"><strong>Expression Language</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Property</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>org.apache.el.parser.COERCE_TO_ZERO</code></td><td valign="center" align="left">
+      <p>If <code>true</code>, when coercing expressions to numbers
+      <code>""</code> and <code>null</code> will be coerced to zero as required
+      by the specification. If not specified, the default value of
+      <code>true</code> will be used.</p>
+    </td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Property</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>org.apache.jasper.compiler. Generator.VAR_EXPRESSIONFACTORY</code></td><td valign="center" align="left">
+      <p>The name of the variable to use for the expression language expression
+      factory. If not specified, the default value of
+      <code>_el_expressionfactory</code> will be used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>org.apache.jasper.compiler. Generator.VAR_INSTANCEMANAGER</code></td><td valign="center" align="left">
+      <p>The name of the variable to use for the instance manager factory. If
+      not specified, the default value of <code>_jsp_instancemanager</code> will
+      be used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>org.apache.jasper.compiler. Parser.STRICT_QUOTE_ESCAPING</code></td><td valign="center" align="left">
+      <p>If <code>false</code> the requirements for escpaing quotes in JSP
+      attributes will be relaxed so that a missing required quote will not
+      cause an error. If not specified, the specification compliant default of
+      <code>true</code> will be used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>org.apache.jasper.runtime. BodyContentImpl.LIMIT_BUFFER</code></td><td valign="center" align="left">
+      <p>If <code>true</code>, any tag buffer that expands beyond
+      <code>org.apache.jasper.Constants.DEFAULT_TAG_BUFFER_SIZE</code> will be
+      destroyed and a new buffer created of the default size. If not specified,
+      the default value of <code>false</code> will be used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>org.apache.jasper.runtime. JspFactoryImpl.USE_POOL</code></td><td valign="center" align="left">
+      <p>If <code>true</code>, a ThreadLocal <code>PageContext</code> pool will
+      be used. If not specified, the default value of <code>true</code> will be
+      used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>org.apache.jasper.runtime. JspFactoryImpl.POOL_SIZE</code></td><td valign="center" align="left">
+      <p>The size of the ThreadLocal <code>PageContext</code>. If not specified,
+      the default value of <code>8</code> will be used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>org.apache.jasper.Constants. JSP_SERVLET_BASE</code></td><td valign="center" align="left">
+      <p>The base class of the Servlets generated from the JSPs. If not
+      specified, the default value of
+      <code>org.apache.jasper.runtime.HttpJspBase</code> will be used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>org.apache.jasper.Constants. SERVICE_METHOD_NAME</code></td><td valign="center" align="left">
+      <p>The name of the service method called by the base class. If not
+      specified, the default value of <code>_jspService</code> will be used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>org.apache.jasper.Constants. SERVLET_CLASSPATH</code></td><td valign="center" align="left">
+      <p>The name of the ServletContext attribute that provides the classpath
+      for the JSP. If not specified, the default value of
+      <code>org.apache.catalina.jsp_classpath</code> will be used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>org.apache.jasper.Constants. JSP_FILE</code></td><td valign="center" align="left">
+      <p>The name of the request attribute for <code>&lt;jsp-file&gt;</code>
+      element of a servlet definition. If present on a request, this overrides
+      the value returned by <code>request.getServletPath()</code> to select the
+      JSP page to be executed. If not specified, the default value of
+      <code>org.apache.catalina.jsp_file</code> will be used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>org.apache.jasper.Constants. PRECOMPILE</code></td><td valign="center" align="left">
+      <p>The name of the query parameter that causes the JSP engine to just
+      pregenerate the servlet but not invoke it. If not specified, the default
+      value of <code>org.apache.catalina.jsp_precompile</code> will be used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>org.apache.jasper.Constants. JSP_PACKAGE_NAME</code></td><td valign="center" align="left">
+      <p>The default package name for compiled jsp pages. If not specified, the
+      default value of <code>org.apache.jsp</code> will be used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>org.apache.jasper.Constants. TAG_FILE_PACKAGE_NAME</code></td><td valign="center" align="left">
+      <p>The default package name for tag handlers generated from tag files. If
+      not specified, the default value of <code>org.apache.jsp.tag</code> will
+      be used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>org.apache.jasper.Constants. ALT_DD_ATTR</code></td><td valign="center" align="left">
+      <p>The servlet context attribute under which the alternate deployment
+      descriptor for this web application is stored. If not specified, the
+      default value of <code>org.apache.catalina.deploy.alt_dd</code> will
+      be used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>org.apache.jasper.Constants. TEMP_VARIABLE_NAME_PREFIX</code></td><td valign="center" align="left">
+      <p>Prefix to use for generated temporary variable names. If not specified,
+      the default value of <code>_jspx_temp</code> will be used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>org.apache.jasper.Constants. USE_INSTANCE_MANAGER_FOR_TAGS</code></td><td valign="center" align="left">
+      <p>If <code>true</code>, the instance manager is used to obtain tag
+      handler instances. If not specified, <code>false</code> will be used.</p>
+    </td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Security"><strong>Security</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Property</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>org.apache.catalina.connector. RECYCLE_FACADES</code></td><td valign="center" align="left">
+      <p>If this is <code>true</code> or if a security manager is in use a new
+      facade object will be created for each request. If not specified, the
+      default value of <code>false</code> will be used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>org.apache.catalina.connector. CoyoteAdapter.ALLOW_BACKSLASH</code></td><td valign="center" align="left">
+      <p>If this is <code>true</code> the '\' character will be permitted as a
+      path delimiter. If not specified, the default value of <code>false</code>
+      will be used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>org.apache.tomcat.util.buf. UDecoder.ALLOW_ENCODED_SLASH</code></td><td valign="center" align="left">
+      <p>If this is <code>true</code> '%2F' and '%5C' will be permitted as path
+      delimiters. If not specified, the default value of <code>false</code> will
+      be used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>org.apache.coyote. USE_CUSTOM_STATUS_MSG_IN_HEADER</code></td><td valign="center" align="left"><p>If this is
+      <code>true</code> custom HTTP status messages will be used within HTTP
+      headers. Users must ensure that any such message is ISO-8859-1 encoded,
+      particularly if user provided input is included in the message, to prevent
+      a possible XSS vulnerability. If not specified the default value of
+      <code>false</code> will be used.</p>
+    </td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Specification"><strong>Specification</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Property</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>org.apache.catalina. STRICT_SERVLET_COMPLIANCE</code></td><td valign="center" align="left">
+      <p>If this is <code>true</code> the following actions will occur:
+      <ul>
+      <li>any wrapped request or response object passed to an application
+      dispatcher will be checked to ensure that it has wrapped the original
+      request or response. (SRV.8.2 / SRV.14.2.5.1)
+      </li>
+      <li>a call to <code>Response.getWriter()</code> if no character encoding
+      has been specified will result in subsequent calls to
+      <code>Response.getCharacterEncoding()</code> returning
+      <code>ISO-8859-1</code> and the <code>Content-Type</code> response header
+      will include a <code>charset=ISO-8859-1</code> component. (SRV.15.2.22.1)
+      </li>
+      <li>every request that is associated with a session will cause the
+      session's last accessed time to be updated regardless of whether or not
+      the request explicity accesses the session. (SRV.7.6)  
+      </li>
+      <li>
+        cookies will be parsed strictly, by default v0 cookies will not work with any invalid characters.
+        <br>If set to false, any v0 cookie with invalid character will be switched to a v1 cookie and 
+        the value will be quoted.
+      </li>
+      <li>
+        <code>ServletContext.getResource/getResourceAsStream</code> must start with "/"<br>
+        if set to false, code like <code>getResource("myfolder/myresource.txt")</code> will work
+      </li>
+      </ul>
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>org.apache.catalina.session. StandardSession.ACTIVITY_CHECK</code></td><td valign="center" align="left">
+      <p>If this is <code>true</code> or if
+      <code>org.apache.catalina.STRICT_SERVLET_COMPLIANCE</code> is
+      <code>true</code> Tomcat will track the number of active requests for each
+      session. When determining if a session is valid, any session with at least
+      one active request will always be considered valid. If not specified, the
+      default value of <code>false</code> will be used.</p>
+    </td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Other"><strong>Other</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Property</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>catalina.useNaming</code></td><td valign="center" align="left">
+      <p>If this is <code>false</code> it will override the
+      <code>useNaming</code> attribute for all <a href="context.html">
+      Context</a> elements.</p>
+    </td></tr><tr><td valign="center" align="left"><code>jvmRoute</code></td><td valign="center" align="left">
+      <p>Provides a default value for the <code>jvmRoute</code> attribute of the
+      <a href="engine.html">Engine</a> element. It does not override the a value
+      configured on the <a href="engine.html">Engine</a> element.</p>
+    </td></tr><tr><td valign="center" align="left"><code>org.apache.catalina.loader. WebappClassLoader.ENABLE_CLEAR_REFERENCES</code></td><td valign="center" align="left">
+      <p>If <code>true</code>, Tomcat attempts to null out any static or final
+      fields from loaded classes when a web application is stopped as a work
+      around for apparent garbage collection bugs and application coding errors.
+      </p>
+      <p>There have been some issues reported with log4j when this option is
+      <code>true</code>.</p>
+      <p>Applications without memory leaks using recent JVMs should operate
+      correctly with this option set to <code>false</code>.</p>
+      <p>If not specified, the default value of <code>true</code> will be used.
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>catalina.config</code></td><td valign="center" align="left">
+      <p>The URL for the catalina.properties configuration file.</p>
+    </td></tr><tr><td valign="center" align="left"><code>tomcat.util.buf.StringCache.byte.enabled</code></td><td valign="center" align="left">
+      <p>If <code>true</code>, the String cache is enabled for
+      <code>ByteChunk</code>. If not specified, the default value of
+      <code>false</code> will be used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>tomcat.util.buf.StringCache.char.enabled</code></td><td valign="center" align="left">
+      <p>If <code>true</code>, the String cache is enabled for
+      <code>CharChunk</code>. If not specified, the default value of
+      <code>false</code> will be used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>tomcat.util.buf.StringCache.trainThreshold</code></td><td valign="center" align="left">
+      <p>The number of times <code>toString()</code> must be called before the
+      cache is activated. If not specified, the default value of
+      <code>20000</code> will be used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>tomcat.util.buf.StringCache.cacheSize</code></td><td valign="center" align="left">
+      <p>The size of the String cache. If not specified, the default value of
+      <code>200</code> will be used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>tomcat.util.buf.StringCache.maxStringSize</code></td><td valign="center" align="left">
+      <p>The maximum length of String that will be cached. If not specified, the
+      default value of <code>128</code> will be used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>org.apache.tomcat.util. http.FastHttpDateFormat.CACHE_SIZE</code></td><td valign="center" align="left">
+      <p>The size of the cache to use parsed and formatted date value. If not
+      specified, the default value of <code>1000</code> will be used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>org.apache.tomcat.util. net.NioSelectorShared</code></td><td valign="center" align="left">
+      <p>If <code>true</code>, use a shared selector for servlet write/read. If
+      not specified, the default value of <code>true</code> will be used.</p>
+    </td></tr></table>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/config/printer/valve.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/config/printer/valve.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/config/printer/valve.html	(revision 66)
@@ -0,0 +1,346 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Valve Component</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Valve Component</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>A <strong>Valve</strong> element represents a component that will be
+  inserted into the request processing pipeline for the associated
+  Catalina container (<a href="engine.html">Engine</a>,
+  <a href="host.html">Host</a>, or <a href="context.html">Context</a>).
+  Individual Valves have distinct processing capabilities, and are
+  described individually below.</p>
+
+    <blockquote><em>
+    <p>The description below uses the variable name $CATALINA_BASE to refer the
+    base directory against which most relative paths are resolved. If you have
+    not configured Tomcat 6 for multiple instances by setting a CATALINA_BASE
+    directory, then $CATALINA_BASE will be set to the value of $CATALINA_HOME,
+    the directory into which you have installed Tomcat 6.</p>
+    </em></blockquote>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Access Log Valve"><strong>Access Log Valve</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The <strong>Access Log Valve</strong> creates log files in the same
+    format as those created by standard web servers.  These logs can later
+    be analyzed by standard log analysis tools to track page hit counts,
+    user session activity, and so on.  The files produces by this <code>Valve</code>
+    are rolled over nightly at midnight.  This <code>Valve</code>
+    may be associated with any Catalina container (<code>Context</code>,
+    <code>Host</code>, or <code>Engine</code>), and
+    will record ALL requests processed by that container.</p>
+
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The <strong>Access Log Valve</strong> supports the following
+    configuration attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+        <p>Java class name of the implementation to use.  This MUST be set to
+        <strong>org.apache.catalina.valves.AccessLogValve</strong> to use the
+        default access log valve.</p>
+      </td></tr><tr><td valign="center" align="left"><code>directory</code></td><td valign="center" align="left">
+        <p>Absolute or relative pathname of a directory in which log files
+        created by this valve will be placed.  If a relative path is
+        specified, it is interpreted as relative to $CATALINA_BASE.  If
+        no directory attribute is specified, the default value is "logs"
+        (relative to $CATALINA_BASE).</p>
+      </td></tr><tr><td valign="center" align="left"><code>pattern</code></td><td valign="center" align="left">
+        <p>A formatting layout identifying the various information fields
+        from the request and response to be logged, or the word
+        <code>common</code> or <code>combined</code> to select a
+        standard format.  See below for more information on configuring
+        this attribute. Note that the optimized access does only support
+        <code>common</code> and <code>combined</code> as the value for this
+        attribute.</p>
+      </td></tr><tr><td valign="center" align="left"><code>prefix</code></td><td valign="center" align="left">
+        <p>The prefix added to the start of each log file's name.  If not
+        specified, the default value is "access_log.".  To specify no prefix,
+        use a zero-length string.</p>
+      </td></tr><tr><td valign="center" align="left"><code>resolveHosts</code></td><td valign="center" align="left">
+        <p>Set to <code>true</code> to convert the IP address of the remote
+        host into the corresponding host name via a DNS lookup.  Set to
+        <code>false</code> to skip this lookup, and report the remote IP
+        address instead.</p>
+      </td></tr><tr><td valign="center" align="left"><code>suffix</code></td><td valign="center" align="left">
+        <p>The suffix added to the end of each log file's name.  If not
+        specified, the default value is "".  To specify no suffix,
+        use a zero-length string.</p>
+      </td></tr><tr><td valign="center" align="left"><code>rotatable</code></td><td valign="center" align="left">
+        <p>Deafult true. Flag to determine if log rotation should occur.
+           If set to false, then this file is never rotated and
+           <tt>fileDateFormat</tt> is ignored. Use with caution!
+        </p>
+      </td></tr><tr><td valign="center" align="left"><code>condition</code></td><td valign="center" align="left">
+        <p>Turns on conditional logging. If set, requests will be
+           logged only if <tt>ServletRequest.getAttribute()</tt> is
+           null. For example, if this value is set to
+           <tt>junk</tt>, then a particular request will only be logged
+           if <tt>ServletRequest.getAttribute("junk") == null</tt>.
+           The use of Filters is an easy way to set/unset the attribute
+           in the ServletRequest on many different requests.
+        </p>
+      </td></tr><tr><td valign="center" align="left"><code>fileDateFormat</code></td><td valign="center" align="left">
+        <p>Allows a customized date format in the access log file name.
+           The date format also decides how often the file is rotated.
+           If you wish to rotate every hour, then set this value
+           to: <tt>yyyy-MM-dd.HH</tt>
+        </p>
+      </td></tr><tr><td valign="center" align="left"><code>buffered</code></td><td valign="center" align="left">
+        <p>Deafult true. Flag to determine if logging will be buffered.
+           If set to false, then access logging will be written after each 
+           request.
+        </p>
+      </td></tr></table>
+
+    <p>Values for the <code>pattern</code> attribute are made up of literal
+    text strings, combined with pattern identifiers prefixed by the "%"
+    character to cause replacement by the corresponding variable value from
+    the current request and response.  The following pattern codes are
+    supported:</p>
+    <ul>
+    <li><b>%a</b> - Remote IP address</li>
+    <li><b>%A</b> - Local IP address</li>
+    <li><b>%b</b> - Bytes sent, excluding HTTP headers, or '-' if zero</li>
+    <li><b>%B</b> - Bytes sent, excluding HTTP headers</li>
+    <li><b>%h</b> - Remote host name (or IP address if
+        <code>resolveHosts</code> is false)</li>
+    <li><b>%H</b> - Request protocol</li>
+    <li><b>%l</b> - Remote logical username from identd (always returns
+        '-')</li>
+    <li><b>%m</b> - Request method (GET, POST, etc.)</li>
+    <li><b>%p</b> - Local port on which this request was received</li>
+    <li><b>%q</b> - Query string (prepended with a '?' if it exists)</li>
+    <li><b>%r</b> - First line of the request (method and request URI)</li>
+    <li><b>%s</b> - HTTP status code of the response</li>
+    <li><b>%S</b> - User session ID</li>
+    <li><b>%t</b> - Date and time, in Common Log Format</li>
+    <li><b>%u</b> - Remote user that was authenticated (if any), else '-'</li>
+    <li><b>%U</b> - Requested URL path</li>
+    <li><b>%v</b> - Local server name</li>
+    <li><b>%D</b> - Time taken to process the request, in millis</li>
+    <li><b>%T</b> - Time taken to process the request, in seconds</li>
+    <li><b>%I</b> - current request thread name (can compare later with stacktraces)</li>
+    </ul>
+
+    <p>
+    There is also support to write information from the cookie, incoming
+    header, the Session or something else in the ServletRequest.
+    It is modeled after the apache syntax:
+    <ul>
+    <li><b><code>%{xxx}i</code></b> for incoming headers</li>
+    <li><b><code>%{xxx}o</code></b> for outgoing response headers</li>
+    <li><b><code>%{xxx}c</code></b> for a specific cookie</li>
+    <li><b><code>%{xxx}r</code></b> xxx is an attribute in the ServletRequest</li>
+    <li><b><code>%{xxx}s</code></b> xxx is an attribute in the HttpSession</li>
+    </ul>
+    </p>
+
+
+    <p>The shorthand pattern name <code>common</code> (which is also the
+    default) corresponds to <strong>'%h %l %u %t "%r" %s %b'</strong>.</p>
+
+    <p>The shorthand pattern name <code>combined</code> appends the
+    values of the <code>Referer</code> and <code>User-Agent</code> headers,
+    each in double quotes, to the <code>common</code> pattern
+    described in the previous paragraph.</p>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Remote Address Filter"><strong>Remote Address Filter</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The <strong>Remote Address Filter</strong> allows you to compare the
+    IP address of the client that submitted this request against one or more
+    <em>regular expressions</em>, and either allow the request to continue
+    or refuse to process the request from this client.  A Remote Address
+    Filter can be associated with any Catalina container
+    (<a href="engine.html">Engine</a>, <a href="host.html">Host</a>, or
+    <a href="context.html">Context</a>), and must accept any request
+    presented to this container for processing before it will be passed on.</p>
+
+    <p>The syntax for <em>regular expressions</em> is different than that for
+    'standard' wildcard matching. Tomcat uses the <code>java.util.regex</code>
+    package. Please consult the Java documentation for details of the
+    expressions supported.</p>
+
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The <strong>Remote Address Filter</strong> supports the following
+    configuration attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+        <p>Java class name of the implementation to use.  This MUST be set to
+        <strong>org.apache.catalina.valves.RemoteAddrValve</strong>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>allow</code></td><td valign="center" align="left">
+        <p>A comma-separated list of <em>regular expression</em> patterns
+        that the remote client's IP address is compared to.  If this attribute
+        is specified, the remote address MUST match for this request to be
+        accepted.  If this attribute is not specified, all requests will be
+        accepted UNLESS the remote address matches a <code>deny</code>
+        pattern.</p>
+      </td></tr><tr><td valign="center" align="left"><code>deny</code></td><td valign="center" align="left">
+        <p>A comma-separated list of <em>regular expression</em> patterns
+        that the remote client's IP address is compared to.  If this attribute
+        is specified, the remote address MUST NOT match for this request to be
+        accepted.  If this attribute is not specified, request acceptance is
+        governed solely by the <code>accept</code> attribute.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Remote Host Filter"><strong>Remote Host Filter</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The <strong>Remote Host Filter</strong> allows you to compare the
+    hostname of the client that submitted this request against one or more
+    <em>regular expressions</em>, and either allow the request to continue
+    or refuse to process the request from this client.  A Remote Host
+    Filter can be associated with any Catalina container
+    (<a href="engine.html">Engine</a>, <a href="host.html">Host</a>, or
+    <a href="context.html">Context</a>), and must accept any request
+    presented to this container for processing before it will be passed on.</p>
+
+    <p>The syntax for <em>regular expressions</em> is different than that for
+    'standard' wildcard matching. Tomcat uses the <code>java.util.regex</code>
+    package. Please consult the Java documentation for details of the
+    expressions supported.</p>
+
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The <strong>Remote Host Filter</strong> supports the following
+    configuration attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+        <p>Java class name of the implementation to use.  This MUST be set to
+        <strong>org.apache.catalina.valves.RemoteHostValve</strong>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>allow</code></td><td valign="center" align="left">
+        <p>A comma-separated list of <em>regular expression</em> patterns
+        that the remote client's hostname is compared to.  If this attribute
+        is specified, the remote hostname MUST match for this request to be
+        accepted.  If this attribute is not specified, all requests will be
+        accepted UNLESS the remote hostname matches a <code>deny</code>
+        pattern.</p>
+      </td></tr><tr><td valign="center" align="left"><code>deny</code></td><td valign="center" align="left">
+        <p>A comma-separated list of <em>regular expression</em> patterns
+        that the remote client's hostname is compared to.  If this attribute
+        is specified, the remote hostname MUST NOT match for this request to be
+        accepted.  If this attribute is not specified, request acceptance is
+        governed solely by the <code>accept</code> attribute.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Request Dumper Valve"><strong>Request Dumper Valve</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The <em>Request Dumper Valve</em> is a useful tool in debugging
+    interactions with a client application (or browser) that is sending
+    HTTP requests to your Tomcat-based server.  When configured, it causes
+    details about each request processed by its associated <code>Engine</code>, 
+    <code>Host</code>, or <code>Context</code> to be logged according to 
+    the logging configuration for that container.</p>
+
+    <p><strong>WARNING: Using this valve has side-effects.</strong>  The
+    output from this valve includes any parameters included with the request.
+    The parameters will be decoded using the default platform encoding. Any
+    subsequent calls to <code>request.setCharacterEncoding()</code> within
+    the web application will have no effect.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The <strong>Request Dumper Valve</strong> supports the following
+    configuration attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+        <p>Java class name of the implementation to use.  This MUST be set to
+        <strong>org.apache.catalina.valves.RequestDumperValve</strong>.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Single Sign On Valve"><strong>Single Sign On Valve</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The <em>Single Sign On Vale</em> is utilized when you wish to give users
+    the ability to sign on to any one of the web applications associated with
+    your virtual host, and then have their identity recognized by all other
+    web applications on the same virtual host.</p>
+
+    <p>See the <a href="host.html#Single Sign On">Single Sign On</a> special
+    feature on the <strong>Host</strong> element for more information.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The <strong>Single Sign On</strong> Valve supports the following
+    configuration attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+        <p>Java class name of the implementation to use.  This MUST be set to
+        <strong>org.apache.catalina.authenticator.SingleSignOn</strong>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>requireReauthentication</code></td><td valign="center" align="left">
+        <p>Default false. Flag to determine whether each request needs to be 
+        reauthenticated to the security <strong>Realm</strong>. If "true", this
+        Valve uses cached security credentials (username and password) to
+        reauthenticate to the <strong>Realm</strong> each request associated 
+        with an SSO session.  If "false", the Valve can itself authenticate 
+        requests based on the presence of a valid SSO cookie, without 
+        rechecking with the <strong>Realm</strong>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>cookieDomain</code></td><td valign="center" align="left">
+        <p>Sets the host domain to be used for sso cookies.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Form Authenticator Valve"><strong>Form Authenticator Valve</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The <strong>Form Authenticator Valve</strong> is automatically added to
+    any <a href="context.html">Context</a> that is configured to use FORM
+    authentication.</p>
+
+    <p>If any non-default settings are required, the valve may be configured
+    within <a href="context.html">Context</a> element with the required
+    values.</p>
+
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The <strong>Form Authenticator Valve</strong> supports the following
+    configuration attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+        <p>Java class name of the implementation to use.  This MUST be set to
+        <strong>org.apache.catalina.authenticator.FormAuthenticator</strong>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>characterEncoding</code></td><td valign="center" align="left">
+        <p>Character encoding to use to read the username and password parameters
+        from the request. If not set, the encoding of the request body will be
+        used.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/config/realm.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/config/realm.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/config/realm.html	(revision 66)
@@ -0,0 +1,448 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Realm Component</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul><p><strong>Cluster Elements</strong></p><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul><p><strong>Global Settings</strong></p><ul><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Realm Component</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/realm.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>A <strong>Realm</strong> element represents a "database" of usernames,
+  passwords, and <em>roles</em> (similar to Unix <em>groups</em>) assigned
+  to those users.  Different implementations of Realm allow Catalina to be
+  integrated into environments where such authentication information is already
+  being created and maintained, and then utilize that information to implement
+  <em>Container Managed Security</em> as described in the Servlet
+  Specification.</p>
+
+  <p>You may nest a Realm inside any Catalina container
+  <a href="engine.html">Engine</a>, <a href="host.html">Host</a>, or
+  <a href="context.html">Context</a>).  In addition, Realms associated with
+  an Engine or a Host are automatically inherited by lower-level
+  containers, unless explicitly overridden.</p>
+
+  <p>For more in-depth information about container managed security in web
+  applications, as well as more information on configuring and using the 
+  standard realm component implementations, please see the 
+  <a href="../realm-howto.html">Container-Managed Security Guide</a>.
+  </p>
+
+    <blockquote><em>
+    <p>The description below uses the variable name $CATALINA_BASE to refer the
+    base directory against which most relative paths are resolved. If you have
+    not configured Tomcat 6 for multiple instances by setting a CATALINA_BASE
+    directory, then $CATALINA_BASE will be set to the value of $CATALINA_HOME,
+    the directory into which you have installed Tomcat 6.</p>
+    </em></blockquote>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>All implementations of <strong>Realm</strong>
+    support the following attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+        <p>Java class name of the implementation to use.  This class must
+        implement the <code>org.apache.catalina.Realm</code> interface.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Standard Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>Unlike most Catalina components, there are several standard
+    <strong>Realm</strong> implementations available.  As a result,
+    the <code>className</code> attribute MUST be used to select the
+    implementation you wish to use.</p>
+
+    <h3>JDBC Database Realm (org.apache.catalina.realm.JDBCRealm)</h3>
+
+    <p>The <strong>JDBC Database Realm</strong> connects Catalina to
+    a relational database, accessed through an appropriate JDBC driver,
+    to perform lookups of usernames, passwords, and their associated
+    roles.  Because the lookup is done each time that it is required,
+    changes to the database will be immediately reflected in the
+    information used to authenticate new logins.</p>
+
+    <p>A rich set of additional attributes lets you configure the required
+    connection to the underlying database, as well as the table and
+    column names used to retrieve the required information:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>connectionName</code></strong></td><td valign="center" align="left">
+        <p>The database username to use when establishing the JDBC
+        connection.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>connectionPassword</code></strong></td><td valign="center" align="left">
+        <p>The database password to use when establishing the JDBC
+        connection.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>connectionURL</code></strong></td><td valign="center" align="left">
+        <p>The connection URL to be passed to the JDBC driver when
+        establishing a database connection.</p>
+      </td></tr><tr><td valign="center" align="left"><code>digest</code></td><td valign="center" align="left">
+        <p>The name of the <code>MessageDigest</code> algorithm used
+        to encode user passwords stored in the database.  If not specified,
+        user passwords are assumed to be stored in clear-text.</p>
+      </td></tr><tr><td valign="center" align="left"><code>digestEncoding</code></td><td valign="center" align="left">
+        <p>The charset for encoding digests.  If not specified, the platform
+        default will be used.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>driverName</code></strong></td><td valign="center" align="left">
+        <p>Fully qualified Java class name of the JDBC driver to be
+        used to connect to the authentication database.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>roleNameCol</code></strong></td><td valign="center" align="left">
+        <p>Name of the column, in the "user roles" table, which contains
+        a role name assigned to the corresponding user.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>userCredCol</code></strong></td><td valign="center" align="left">
+        <p>Name of the column, in the "users" table, which contains
+        the user's credentials (i.e. password(.  If a value for the
+        <code>digest</code> attribute is specified, this component
+        will assume that the passwords have been encoded with the
+        specified algorithm.  Otherwise, they will be assumed to be
+        in clear text.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>userNameCol</code></strong></td><td valign="center" align="left">
+        <p>Name of the column, in the "users" and "user roles" table,
+        that contains the user's username.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>userRoleTable</code></strong></td><td valign="center" align="left">
+        <p>Name of the "user roles" table, which must contain columns
+        named by the <code>userNameCol</code> and <code>roleNameCol</code>
+        attributes.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>userTable</code></strong></td><td valign="center" align="left">
+        <p>Name of the "users" table, which must contain columns named
+        by the <code>userNameCol</code> and <code>userCredCol</code>
+        attributes.</p>
+      </td></tr></table>
+
+    <p>See the <a href="../realm-howto.html">Container-Managed Security Guide</a> for more
+    information on setting up container managed security using the
+    JDBC Database Realm component.</p>
+
+
+    <h3>
+      DataSource Database Realm (org.apache.catalina.realm.DataSourceRealm)
+    </h3>
+
+    <p>The <strong>DataSource Database Realm</strong> connects Catalina to
+    a relational database, accessed through a JNDI named JDBC DataSource
+    to perform lookups of usernames, passwords, and their associated
+    roles.  Because the lookup is done each time that it is required,
+    changes to the database will be immediately reflected in the
+    information used to authenticate new logins.</p>
+
+    <p>The JDBC Realm uses a single db connection. This requires that
+    realm based authentication be synchronized, i.e. only one authentication
+    can be done at a time. This could be a bottleneck for applications
+    with high volumes of realm based authentications.</p>
+
+    <p>The DataSource Database Realm supports simultaneous realm based
+    authentications and allows the underlying JDBC DataSource to
+    handle optimizations like database connection pooling.</p>
+
+    <p>A rich set of additional attributes lets you configure the name
+    of the JNDI JDBC DataSource, as well as the table and
+    column names used to retrieve the required information:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>dataSourceName</code></strong></td><td valign="center" align="left">
+        <p>The name of the JNDI JDBC DataSource for this Realm.</p>
+      </td></tr><tr><td valign="center" align="left"><code>digest</code></td><td valign="center" align="left">
+        <p>The name of the <code>MessageDigest</code> algorithm used
+        to encode user passwords stored in the database.  If not specified,
+        user passwords are assumed to be stored in clear-text.</p>
+      </td></tr><tr><td valign="center" align="left"><code>localDataSource</code></td><td valign="center" align="left">
+        <p>When the realm is nested inside a Context element, this allows the 
+        realm to use a DataSource defined for the Context rather than a global
+        DataSource.  If not specified, the default is <code>false</code>: use a 
+        global DataSource.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>roleNameCol</code></strong></td><td valign="center" align="left">
+        <p>Name of the column, in the "user roles" table, which contains
+        a role name assigned to the corresponding user.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>userCredCol</code></strong></td><td valign="center" align="left">
+        <p>Name of the column, in the "users" table, which contains
+        the user's credentials (i.e. password(.  If a value for the
+        <code>digest</code> attribute is specified, this component
+        will assume that the passwords have been encoded with the
+        specified algorithm.  Otherwise, they will be assumed to be
+        in clear text.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>userNameCol</code></strong></td><td valign="center" align="left">
+        <p>Name of the column, in the "users" and "user roles" table,
+        that contains the user's username.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>userRoleTable</code></strong></td><td valign="center" align="left">
+        <p>Name of the "user roles" table, which must contain columns
+        named by the <code>userNameCol</code> and <code>roleNameCol</code>
+        attributes.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>userTable</code></strong></td><td valign="center" align="left">
+        <p>Name of the "users" table, which must contain columns named
+        by the <code>userNameCol</code> and <code>userCredCol</code>
+        attributes.</p>
+      </td></tr></table>
+
+    <p>See the <a href="../realm-howto.html#DataSourceRealm">
+    DataSource Realm HOW-TO</a> for more information on setting up container
+    managed security using the DataSource Database Realm component.</p>
+
+
+    <h3>JNDI Directory Realm (org.apache.catalina.realm.JNDIRealm)</h3>
+
+
+    <p>The <strong>JNDI Directory Realm</strong> connects Catalina to
+    an LDAP Directory, accessed through an appropriate JNDI driver,
+    that stores usernames, passwords, and their associated
+    roles. Changes to the directory are immediately reflected in the
+    information used to authenticate new logins.</p>
+
+
+    <p>The directory realm supports a variety of approaches to using
+    LDAP for authentication:</p>
+
+    <ul>
+    <li>The realm can either use a pattern to determine the
+    distinguished name (DN) of the user's directory entry, or search
+    the directory to locate that entry.
+    </li>
+
+    <li>The realm can authenticate the user either by binding to the
+    directory with the DN of the user's entry and the password
+    presented by the user, or by retrieving the password from the
+    user's entry and performing a comparison locally.
+    </li>
+
+    <li>Roles may be represented in the directory as explicit entries
+    found by a directory search (e.g. group entries of which the user
+    is a member), as the values of an attribute in the user's entry,
+    or both.
+    </li>
+    </ul>
+
+    <p> A rich set of additional attributes lets you configure the
+    required behaviour as well as the connection to the underlying
+    directory and the element and attribute names used to retrieve
+    information from the directory:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>alternateURL</code></td><td valign="center" align="left">
+         <p>If a socket connection can not be made to the provider at
+         the <code>connectionURL</code> an attempt will be made to use the
+         <code>alternateURL</code>.</p>
+       </td></tr><tr><td valign="center" align="left"><code>authentication</code></td><td valign="center" align="left">
+         <p>A string specifying the type of authentication to use.
+         "none", "simple", "strong" or a provider specific definition
+         can be used. If no value is given the providers default is used.</p>
+       </td></tr><tr><td valign="center" align="left"><code>connectionName</code></td><td valign="center" align="left">
+        <p>The directory username to use when establishing a
+        connection to the directory for LDAP search operations. If not
+        specified an anonymous connection is made, which is often
+        sufficient unless you specify the <code>userPassword</code>
+        property.</p>
+      </td></tr><tr><td valign="center" align="left"><code>connectionPassword</code></td><td valign="center" align="left">
+        <p>The directory password to use when establishing a
+        connection to the directory for LDAP search operations. If not
+        specified an anonymous connection is made, which is often
+        sufficient unless you specify the <code>userPassword</code>
+        property.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>connectionURL</code></strong></td><td valign="center" align="left">
+        <p>The connection URL to be passed to the JNDI driver when
+        establishing a connection to the directory.</p>
+      </td></tr><tr><td valign="center" align="left"><code>contextFactory</code></td><td valign="center" align="left">
+        <p>Fully qualified Java class name of the factory class used
+        to acquire our JNDI <code>InitialContext</code>.  By default,
+        assumes that the standard JNDI LDAP provider will be utilized.</p>
+      </td></tr><tr><td valign="center" align="left"><code>derefAliases</code></td><td valign="center" align="left">
+        <p>A string specifying how aliases are to be dereferenced during
+        search operations. The allowed values are "always", "never",
+        "finding" and "searching". If not specified, "always" is used.</p>
+      </td></tr><tr><td valign="center" align="left"><code>digest</code></td><td valign="center" align="left">
+        <p>The digest algorithm to apply to the plaintext password offered
+        by the user before comparing it with the value retrieved from the
+        directory.  Valid values are those accepted for the algorithm name
+        by the <code>java.security.MessageDigest</code> class. If not
+        specified the plaintext password is assumed to be retrieved. Not
+        required unless <code>userPassword</code> is specified</p>
+      </td></tr><tr><td valign="center" align="left"><code>protocol</code></td><td valign="center" align="left">
+         <p>A string specifying the security protocol to use. If not given
+         the providers default is used.</p>
+      </td></tr><tr><td valign="center" align="left"><code>roleBase</code></td><td valign="center" align="left">
+        <p>The base directory entry for performing role searches. If
+        not specified the top-level element in the directory context
+        will be used.</p>
+      </td></tr><tr><td valign="center" align="left"><code>roleName</code></td><td valign="center" align="left">
+        <p>The name of the attribute that contains role names in the
+        directory entries found by a role search. In addition you can
+        use the <code>userRoleName</code> property to specify the name
+        of an attribute, in the user's entry, containing additional
+        role names.  If <code>roleName</code> is not specified a role
+        search does not take place, and roles are taken only from the
+        user's entry.</p>
+      </td></tr><tr><td valign="center" align="left"><code>roleSearch</code></td><td valign="center" align="left">
+        <p>The LDAP filter expression used for performing role
+        searches.  Use <code>{0}</code> to substitute the
+        distinguished name (DN) of the user, and/or <code>{1}</code> to
+        substitute the username. If not specified a role search does
+        not take place and roles are taken only from the attribute in
+        the user's entry specified by the <code>userRoleName</code>
+        property.</p>
+      </td></tr><tr><td valign="center" align="left"><code>roleSubtree</code></td><td valign="center" align="left">
+        <p>Set to <code>true</code> if you want to search the entire
+        subtree of the element specified by the <code>roleBase</code>
+        property for role entries associated with the user. The
+        default value of <code>false</code> causes only the top level
+        to be searched.</p>
+      </td></tr><tr><td valign="center" align="left"><code>userBase</code></td><td valign="center" align="left">
+        <p>The base element for user searches performed using the
+        <code>userSearch</code> expression.  Not used if you are using
+        the <code>userPattern</code> expression.</p>
+      </td></tr><tr><td valign="center" align="left"><code>userPassword</code></td><td valign="center" align="left">
+        <p>Name of the attribute in the user's entry containing the
+        user's password.  If you specify this value, JNDIRealm will
+        bind to the directory using the values specified by
+        <code>connectionName</code> and
+        <code>connectionPassword</code> properties, and retrieve the
+        corresponding attribute for comparison to the value specified
+        by the user being authenticated.  If you do
+        <strong>not</strong> specify this value, JNDIRealm will
+        attempt a simple bind to the directory using the DN of the
+        user's entry and the password presented by the user, with a
+        successful bind being interpreted as an authenticated
+        user.</p>
+      </td></tr><tr><td valign="center" align="left"><code>userPattern</code></td><td valign="center" align="left">
+        <p>Pattern for the distinguished name (DN) of the user's
+        directory entry, with <code>{0}</code> marking where the
+        actual username should be inserted. You can use this property
+        instead of <code>userSearch</code>, <code>userSubtree</code>
+        and <code>userBase</code> when the distinguished name contains
+        the username and is otherwise the same for all users.</p>
+      </td></tr><tr><td valign="center" align="left"><code>userRoleName</code></td><td valign="center" align="left">
+        <p>The name of an attribute in the user's directory entry
+        containing zero or more values for the names of roles assigned
+        to this user.  In addition you can use the
+        <code>roleName</code> property to specify the name of an
+        attribute to be retrieved from individual role entries found
+        by searching the directory. If <code>userRoleName</code> is
+        not specified all the roles for a user derive from the role
+        search.</p>
+      </td></tr><tr><td valign="center" align="left"><code>userSearch</code></td><td valign="center" align="left">
+        <p>The LDAP filter expression to use when searching for a
+        user's directory entry, with <code>{0}</code> marking where
+        the actual username should be inserted.  Use this property
+        (along with the <code>userBase</code> and
+        <code>userSubtree</code> properties) instead of
+        <code>userPattern</code> to search the directory for the
+        user's entry.</p>
+      </td></tr><tr><td valign="center" align="left"><code>userSubtree</code></td><td valign="center" align="left">
+        <p>Set to <code>true</code> if you want to search the entire
+        subtree of the element specified by the <code>userBase</code>
+        property for the user's entry. The default value of
+        <code>false</code> causes only the top level to be searched.
+        Not used if you are using the <code>userPattern</code>
+        expression.</p>
+      </td></tr></table>
+
+    <p>See the <a href="../realm-howto.html">Container-Managed Security Guide</a> for more
+    information on setting up container managed security using the
+    JNDI Directory Realm component.</p>
+
+
+    <h3>Memory Based Realm (org.apache.catalina.realm.MemoryRealm)</h3>
+
+    <p>The <strong>Memory Based Realm</strong> is a simple Realm implementation
+    that reads user information from an XML format, and represents it as a
+    collection of Java objects in memory.  This implementation is intended
+    solely to get up and running with container managed security - it is NOT
+    intended for production use.  As such, there are no mechanisms for
+    updating the in-memory collection of users when the content of the
+    underlying data file is changed.</p>
+
+    <p>The Memory Based Realm implementation supports the following
+    additional attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>digest</code></td><td valign="center" align="left">
+        <p>The digest algorithm used to store passwords in non-plaintext
+        formats. Valid values are those accepted for the algorithm name by the
+        <code>java.security.MessageDigest</code> class. If not specified,
+        passwords are stored in clear text.</p>
+      </td></tr><tr><td valign="center" align="left"><code>pathname</code></td><td valign="center" align="left">
+        <p>Absolute or relative (to $CATALINA_BASE) pathname to the XML file
+        containing our user information.  See below for details on the
+        XML element format required.  If no pathname is specified, the
+        default value is <code>conf/tomcat-users.xml</code>.</p>
+      </td></tr></table>
+
+    <p>The XML document referenced by the <code>pathname</code> attribute must
+    conform to the following requirements:</p>
+    <ul>
+    <li>The root (outer) element must be <code>&lt;tomcat-users&gt;</code>.
+        </li>
+    <li>Each authorized user must be represented by a single XML element
+        <code>&lt;user&gt;</code>, nested inside the root element.</li>
+    <li>Each <code>&lt;user&gt;</code> element must have the following
+        attributes:
+        <ul>
+        <li><strong>name</strong> - Username of this user (must be unique
+            within this file).</li>
+        <li><strong>password</strong> - Password of this user (in
+            clear text).</li>
+        <li><strong>roles</strong> - Comma-delimited list of the role names
+            assigned to this user.</li>
+        </ul></li>
+    </ul>
+
+    <p>See the <a href="../realm-howto.html">Container-Managed Security Guide</a> for more
+    information on setting up container managed security using the
+    Memory Based Realm component.</p>
+
+    <h3>JAAS Realm (org.apache.catalina.realm.JAASRealm)</h3>
+
+    <p><strong>JAASRealm</strong> is an implementation of the Tomcat 6
+    <code>Realm</code> interface that authenticates users through the Java
+    Authentication &amp; Authorization Service (JAAS) framework which is now
+    provided as part of the standard J2SE API.</p>
+
+    <p>Using JAASRealm gives the developer the ability to combine practically
+    any conceivable security realm with Tomcat's CMA.</p>
+
+    <p>JAASRealm is prototype for Tomcat of the JAAS-based J2EE authentication
+    framework for J2EE v1.4, based on the <a href="http://www.jcp.org/en/jsr/detail?id=196">JCP Specification Request
+    196</a> to enhance container-managed security and promote 'pluggable'
+    authentication mechanisms whose implementations would be
+    container-independent.</p>
+
+    <p>Based on the JAAS login module and principal
+    (see <code>javax.security.auth.spi.LoginModule</code> and
+    <code>javax.security.Principal</code>), you can develop your own security
+    mechanism or wrap another third-party mechanism for integration with the CMA
+    as implemented by Tomcat.</p>
+
+    <p>The JAAS Realm implementation supports the following additional
+    attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>appName</code></strong></td><td valign="center" align="left">
+       <p>The name of the application as configured in your login configuration
+       file 
+       (<a href="http://java.sun.com/j2se/1.4.1/docs/guide/security/jaas/tutorials/LoginConfigFile.html">JAAS LoginConfig</a>).</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>userClassNames</code></strong></td><td valign="center" align="left">
+        <p>A comma-seperated list of the names of the classes that you have made 
+        for your user <code>Principals</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>roleClassNames</code></td><td valign="center" align="left">
+        <p>A comma-seperated list of the names of the classes that you have made 
+        for your role <code>Principals</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>useContextClassLoader</code></td><td valign="center" align="left">
+        <p>Instructs JAASRealm to use the context class loader for loading the
+        user-specified <code>LoginModule</code> class and associated
+        <code>Principal</code> classes. The default value is <code>true</code>,
+        which is backwards-compatible with the way Tomcat 5 works. To load
+        classes using the container's classloader, specify
+        <code>false</code>.</p>
+      </td></tr></table>
+
+    <p>See the <a href="../realm-howto.html">Container-Managed Security
+    Guide</a> for more information on setting up container managed security
+    using the JAAS Realm component.</p>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nested Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>No components may be nested inside a <strong>Realm</strong> element.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Special Features"><strong>Special Features</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>See <a href="host.html">Single Sign On</a> for information about
+  configuring Single Sign On support for a virtual host.</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/config/resources.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/config/resources.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/config/resources.html	(revision 66)
@@ -0,0 +1,70 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Resources Component</title><meta value="Remy Maucherat" name="author"><meta value="remm@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul><p><strong>Cluster Elements</strong></p><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul><p><strong>Global Settings</strong></p><ul><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Resources Component</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/resources.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The <strong>Resources</strong> element represents the <em>web
+  application static resources</em>, from which classes will be loaded, 
+  HTML, JSP and the other static files will be served. This allows the webapp
+  to reside on various mediums other than the filesystem, like compressed
+  in a WAR file, in a JDBC database, or in a more advanced versioning
+  repository.</p>
+
+  <p>A unified caching engine is provided for all accesses to the webapp
+  resources made by the servlet container and web applications which use the
+  container provided mechanisms to access such resources, such as class laoder
+  access, access through the <code>ServletContext</code> interface, or native
+  access through the <code>DirectoryContext</code> interface.</p>
+
+  <p><strong>Note: Running a webapp with non-filesystem based 
+  Resources implementations is only possible when the webapp does not 
+  rely on direct filesystem access to its own resources, and uses the methods
+  in the ServletContext interface to access them.</strong></p>
+
+  <p>A Resources element MAY be nested inside a 
+  <a href="context.html">Context</a> component.  If it is not included, 
+  a default filesystem based Resources will be created automatically, 
+  which is sufficient for most requirements.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>All implementations of <strong>Resources</strong>
+    support the following attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>className</code></td><td valign="center" align="left">
+        <p>Java class name of the implementation to use.  This class must
+        implement the <code>javax.naming.directory.DirContext</code> interface.
+        It is recommended for optimal functionality and performance, 
+        but not mandatory, that the class extend 
+        <code>org.apache.naming.resources.BaseDirContext</code>, as well as
+        use the special object types provided in the 
+        <code>org.apache.naming.resources</code> for returned objects.
+        If not specified, the standard value (defined below) will be used.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Standard Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The standard implementation of <strong>Resources</strong> is
+    <strong>org.apache.naming.resources.FileDirContext</strong>, and 
+    is configured by its parent Context element.</p>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nested Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>No components may be nested inside a <strong>Resources</strong> element.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Special Features"><strong>Special Features</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>No special features are associated with a <strong>Resources</strong>
+  element.</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/config/server.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/config/server.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/config/server.html	(revision 66)
@@ -0,0 +1,63 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Server Component</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul><p><strong>Cluster Elements</strong></p><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul><p><strong>Global Settings</strong></p><ul><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Server Component</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/server.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>A <strong>Server</strong> element represents the entire Catalina
+  servlet container.  Therefore, it must be the single outermost element
+  in the <code>conf/server.xml</code> configuration file.  Its attributes
+  represent the characteristics of the servlet container as a whole.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>All implementations of <strong>Server</strong>
+  support the following attributes:</p>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>className</code></td><td valign="center" align="left">
+      <p>Java class name of the implementation to use.  This class must
+      implement the <code>org.apache.catalina.Server</code> interface.
+      If no class name is specified, the standard implementation will
+      be used.</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>port</code></strong></td><td valign="center" align="left">
+      <p>The TCP/IP port number on which this server waits for a shutdown
+      command.  This connection must be initiated from the same server
+      computer that is running this instance of Tomcat.</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>shutdown</code></strong></td><td valign="center" align="left">
+      <p>The command string that must be received via a TCP/IP connection
+      to the specified port number, in order to shut down Tomcat.</p>
+    </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Standard Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The standard implementation of <strong>Server</strong> is
+  <strong>org.apache.catalina.core.StandardServer</strong>.
+  It supports the following additional attributes (in addition to the
+  common attributes listed above):</p>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr></table>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nested Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The following components may be nested inside a <strong>Server</strong>
+  element:</p>
+  <ul>
+  <li><a href="service.html"><strong>Service</strong></a> - 
+      One or more service element.</li>
+  <li><a href="globalresources.html"><strong>GlobalNamingResources</strong></a> - 
+      Configure the JNDI global resources for the server.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Special Features"><strong>Special Features</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>There are no special features associated with a <strong>Server</strong>.
+  </p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/config/service.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/config/service.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/config/service.html	(revision 66)
@@ -0,0 +1,58 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Service Component</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul><p><strong>Cluster Elements</strong></p><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul><p><strong>Global Settings</strong></p><ul><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Service Component</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/service.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>A <strong>Service</strong> element represents the combination of one or
+  more <strong>Connector</strong> components that share a single
+  <a href="engine.html">Engine</a> component for processing incoming
+  requests.  One or more <strong>Service</strong> elements may be nested
+  inside a <a href="server.html">Server</a> element.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>All implementations of <strong>Service</strong>
+  support the following attributes:</p>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>className</code></td><td valign="center" align="left">
+      <p>Java class name of the implementation to use.  This class must
+      implement the <code>org.apache.catalina.Service</code> interface.
+      If no class name is specified, the standard implementation will
+      be used.</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>name</code></strong></td><td valign="center" align="left">
+      <p>The display name of this <strong>Service</strong>, which will
+      be included in log messages if you utilize standard Catalina
+      components.  The name of each <strong>Service</strong> that is
+      associated with a particular <a href="server.html">Server</a>
+      must be unique.</p>
+    </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Standard Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The standard implementation of <strong>Service</strong> is
+  <strong>org.apache.catalina.core.StandardService</strong>.
+  It supports the following additional attributes (in addition to the
+  common attributes listed above):</p>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr></table>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nested Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The only components that may be nested inside a <strong>Service</strong>
+  element are one or more <strong>Connector</strong> elements,
+  followed by exactly one <a href="engine.html">Engine</a> element.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Special Features"><strong>Special Features</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>There are no special features associated with a <strong>Service</strong>.
+  </p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/config/systemprops.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/config/systemprops.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/config/systemprops.html	(revision 66)
@@ -0,0 +1,200 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - System Properties</title></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul><p><strong>Cluster Elements</strong></p><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul><p><strong>Global Settings</strong></p><ul><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>System Properties</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/systemprops.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+  <p>The follow sections list the system properties that may be set to modify
+  the default Tomcat behaviour.</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Clustering"><strong>Clustering</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Property</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>org.apache.catalina. tribes.dns_lookups</code></td><td valign="center" align="left">
+      <p>If <code>true</code>, the clustering module will attempt to use DNS to
+      resolve any host names provided in the cluster configuration. If not
+      specified, the default value of <code>false</code> will be used.</p>
+    </td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Expression Language"><strong>Expression Language</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Property</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>org.apache.el.parser.COERCE_TO_ZERO</code></td><td valign="center" align="left">
+      <p>If <code>true</code>, when coercing expressions to numbers
+      <code>""</code> and <code>null</code> will be coerced to zero as required
+      by the specification. If not specified, the default value of
+      <code>true</code> will be used.</p>
+    </td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Property</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>org.apache.jasper.compiler. Generator.VAR_EXPRESSIONFACTORY</code></td><td valign="center" align="left">
+      <p>The name of the variable to use for the expression language expression
+      factory. If not specified, the default value of
+      <code>_el_expressionfactory</code> will be used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>org.apache.jasper.compiler. Generator.VAR_INSTANCEMANAGER</code></td><td valign="center" align="left">
+      <p>The name of the variable to use for the instance manager factory. If
+      not specified, the default value of <code>_jsp_instancemanager</code> will
+      be used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>org.apache.jasper.compiler. Parser.STRICT_QUOTE_ESCAPING</code></td><td valign="center" align="left">
+      <p>If <code>false</code> the requirements for escpaing quotes in JSP
+      attributes will be relaxed so that a missing required quote will not
+      cause an error. If not specified, the specification compliant default of
+      <code>true</code> will be used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>org.apache.jasper.runtime. BodyContentImpl.LIMIT_BUFFER</code></td><td valign="center" align="left">
+      <p>If <code>true</code>, any tag buffer that expands beyond
+      <code>org.apache.jasper.Constants.DEFAULT_TAG_BUFFER_SIZE</code> will be
+      destroyed and a new buffer created of the default size. If not specified,
+      the default value of <code>false</code> will be used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>org.apache.jasper.runtime. JspFactoryImpl.USE_POOL</code></td><td valign="center" align="left">
+      <p>If <code>true</code>, a ThreadLocal <code>PageContext</code> pool will
+      be used. If not specified, the default value of <code>true</code> will be
+      used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>org.apache.jasper.runtime. JspFactoryImpl.POOL_SIZE</code></td><td valign="center" align="left">
+      <p>The size of the ThreadLocal <code>PageContext</code>. If not specified,
+      the default value of <code>8</code> will be used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>org.apache.jasper.Constants. JSP_SERVLET_BASE</code></td><td valign="center" align="left">
+      <p>The base class of the Servlets generated from the JSPs. If not
+      specified, the default value of
+      <code>org.apache.jasper.runtime.HttpJspBase</code> will be used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>org.apache.jasper.Constants. SERVICE_METHOD_NAME</code></td><td valign="center" align="left">
+      <p>The name of the service method called by the base class. If not
+      specified, the default value of <code>_jspService</code> will be used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>org.apache.jasper.Constants. SERVLET_CLASSPATH</code></td><td valign="center" align="left">
+      <p>The name of the ServletContext attribute that provides the classpath
+      for the JSP. If not specified, the default value of
+      <code>org.apache.catalina.jsp_classpath</code> will be used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>org.apache.jasper.Constants. JSP_FILE</code></td><td valign="center" align="left">
+      <p>The name of the request attribute for <code>&lt;jsp-file&gt;</code>
+      element of a servlet definition. If present on a request, this overrides
+      the value returned by <code>request.getServletPath()</code> to select the
+      JSP page to be executed. If not specified, the default value of
+      <code>org.apache.catalina.jsp_file</code> will be used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>org.apache.jasper.Constants. PRECOMPILE</code></td><td valign="center" align="left">
+      <p>The name of the query parameter that causes the JSP engine to just
+      pregenerate the servlet but not invoke it. If not specified, the default
+      value of <code>org.apache.catalina.jsp_precompile</code> will be used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>org.apache.jasper.Constants. JSP_PACKAGE_NAME</code></td><td valign="center" align="left">
+      <p>The default package name for compiled jsp pages. If not specified, the
+      default value of <code>org.apache.jsp</code> will be used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>org.apache.jasper.Constants. TAG_FILE_PACKAGE_NAME</code></td><td valign="center" align="left">
+      <p>The default package name for tag handlers generated from tag files. If
+      not specified, the default value of <code>org.apache.jsp.tag</code> will
+      be used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>org.apache.jasper.Constants. ALT_DD_ATTR</code></td><td valign="center" align="left">
+      <p>The servlet context attribute under which the alternate deployment
+      descriptor for this web application is stored. If not specified, the
+      default value of <code>org.apache.catalina.deploy.alt_dd</code> will
+      be used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>org.apache.jasper.Constants. TEMP_VARIABLE_NAME_PREFIX</code></td><td valign="center" align="left">
+      <p>Prefix to use for generated temporary variable names. If not specified,
+      the default value of <code>_jspx_temp</code> will be used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>org.apache.jasper.Constants. USE_INSTANCE_MANAGER_FOR_TAGS</code></td><td valign="center" align="left">
+      <p>If <code>true</code>, the instance manager is used to obtain tag
+      handler instances. If not specified, <code>false</code> will be used.</p>
+    </td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Security"><strong>Security</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Property</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>org.apache.catalina.connector. RECYCLE_FACADES</code></td><td valign="center" align="left">
+      <p>If this is <code>true</code> or if a security manager is in use a new
+      facade object will be created for each request. If not specified, the
+      default value of <code>false</code> will be used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>org.apache.catalina.connector. CoyoteAdapter.ALLOW_BACKSLASH</code></td><td valign="center" align="left">
+      <p>If this is <code>true</code> the '\' character will be permitted as a
+      path delimiter. If not specified, the default value of <code>false</code>
+      will be used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>org.apache.tomcat.util.buf. UDecoder.ALLOW_ENCODED_SLASH</code></td><td valign="center" align="left">
+      <p>If this is <code>true</code> '%2F' and '%5C' will be permitted as path
+      delimiters. If not specified, the default value of <code>false</code> will
+      be used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>org.apache.coyote. USE_CUSTOM_STATUS_MSG_IN_HEADER</code></td><td valign="center" align="left"><p>If this is
+      <code>true</code> custom HTTP status messages will be used within HTTP
+      headers. Users must ensure that any such message is ISO-8859-1 encoded,
+      particularly if user provided input is included in the message, to prevent
+      a possible XSS vulnerability. If not specified the default value of
+      <code>false</code> will be used.</p>
+    </td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Specification"><strong>Specification</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Property</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>org.apache.catalina. STRICT_SERVLET_COMPLIANCE</code></td><td valign="center" align="left">
+      <p>If this is <code>true</code> the following actions will occur:
+      <ul>
+      <li>any wrapped request or response object passed to an application
+      dispatcher will be checked to ensure that it has wrapped the original
+      request or response. (SRV.8.2 / SRV.14.2.5.1)
+      </li>
+      <li>a call to <code>Response.getWriter()</code> if no character encoding
+      has been specified will result in subsequent calls to
+      <code>Response.getCharacterEncoding()</code> returning
+      <code>ISO-8859-1</code> and the <code>Content-Type</code> response header
+      will include a <code>charset=ISO-8859-1</code> component. (SRV.15.2.22.1)
+      </li>
+      <li>every request that is associated with a session will cause the
+      session's last accessed time to be updated regardless of whether or not
+      the request explicity accesses the session. (SRV.7.6)  
+      </li>
+      <li>
+        cookies will be parsed strictly, by default v0 cookies will not work with any invalid characters.
+        <br>If set to false, any v0 cookie with invalid character will be switched to a v1 cookie and 
+        the value will be quoted.
+      </li>
+      <li>
+        <code>ServletContext.getResource/getResourceAsStream</code> must start with "/"<br>
+        if set to false, code like <code>getResource("myfolder/myresource.txt")</code> will work
+      </li>
+      </ul>
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>org.apache.catalina.session. StandardSession.ACTIVITY_CHECK</code></td><td valign="center" align="left">
+      <p>If this is <code>true</code> or if
+      <code>org.apache.catalina.STRICT_SERVLET_COMPLIANCE</code> is
+      <code>true</code> Tomcat will track the number of active requests for each
+      session. When determining if a session is valid, any session with at least
+      one active request will always be considered valid. If not specified, the
+      default value of <code>false</code> will be used.</p>
+    </td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Other"><strong>Other</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Property</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>catalina.useNaming</code></td><td valign="center" align="left">
+      <p>If this is <code>false</code> it will override the
+      <code>useNaming</code> attribute for all <a href="context.html">
+      Context</a> elements.</p>
+    </td></tr><tr><td valign="center" align="left"><code>jvmRoute</code></td><td valign="center" align="left">
+      <p>Provides a default value for the <code>jvmRoute</code> attribute of the
+      <a href="engine.html">Engine</a> element. It does not override the a value
+      configured on the <a href="engine.html">Engine</a> element.</p>
+    </td></tr><tr><td valign="center" align="left"><code>org.apache.catalina.loader. WebappClassLoader.ENABLE_CLEAR_REFERENCES</code></td><td valign="center" align="left">
+      <p>If <code>true</code>, Tomcat attempts to null out any static or final
+      fields from loaded classes when a web application is stopped as a work
+      around for apparent garbage collection bugs and application coding errors.
+      </p>
+      <p>There have been some issues reported with log4j when this option is
+      <code>true</code>.</p>
+      <p>Applications without memory leaks using recent JVMs should operate
+      correctly with this option set to <code>false</code>.</p>
+      <p>If not specified, the default value of <code>true</code> will be used.
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>catalina.config</code></td><td valign="center" align="left">
+      <p>The URL for the catalina.properties configuration file.</p>
+    </td></tr><tr><td valign="center" align="left"><code>tomcat.util.buf.StringCache.byte.enabled</code></td><td valign="center" align="left">
+      <p>If <code>true</code>, the String cache is enabled for
+      <code>ByteChunk</code>. If not specified, the default value of
+      <code>false</code> will be used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>tomcat.util.buf.StringCache.char.enabled</code></td><td valign="center" align="left">
+      <p>If <code>true</code>, the String cache is enabled for
+      <code>CharChunk</code>. If not specified, the default value of
+      <code>false</code> will be used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>tomcat.util.buf.StringCache.trainThreshold</code></td><td valign="center" align="left">
+      <p>The number of times <code>toString()</code> must be called before the
+      cache is activated. If not specified, the default value of
+      <code>20000</code> will be used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>tomcat.util.buf.StringCache.cacheSize</code></td><td valign="center" align="left">
+      <p>The size of the String cache. If not specified, the default value of
+      <code>200</code> will be used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>tomcat.util.buf.StringCache.maxStringSize</code></td><td valign="center" align="left">
+      <p>The maximum length of String that will be cached. If not specified, the
+      default value of <code>128</code> will be used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>org.apache.tomcat.util. http.FastHttpDateFormat.CACHE_SIZE</code></td><td valign="center" align="left">
+      <p>The size of the cache to use parsed and formatted date value. If not
+      specified, the default value of <code>1000</code> will be used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>org.apache.tomcat.util. net.NioSelectorShared</code></td><td valign="center" align="left">
+      <p>If <code>true</code>, use a shared selector for servlet write/read. If
+      not specified, the default value of <code>true</code> will be used.</p>
+    </td></tr></table>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/config/valve.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/config/valve.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/config/valve.html	(revision 66)
@@ -0,0 +1,347 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Valve Component</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul><p><strong>Cluster Elements</strong></p><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul><p><strong>Global Settings</strong></p><ul><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Valve Component</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/valve.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>A <strong>Valve</strong> element represents a component that will be
+  inserted into the request processing pipeline for the associated
+  Catalina container (<a href="engine.html">Engine</a>,
+  <a href="host.html">Host</a>, or <a href="context.html">Context</a>).
+  Individual Valves have distinct processing capabilities, and are
+  described individually below.</p>
+
+    <blockquote><em>
+    <p>The description below uses the variable name $CATALINA_BASE to refer the
+    base directory against which most relative paths are resolved. If you have
+    not configured Tomcat 6 for multiple instances by setting a CATALINA_BASE
+    directory, then $CATALINA_BASE will be set to the value of $CATALINA_HOME,
+    the directory into which you have installed Tomcat 6.</p>
+    </em></blockquote>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Access Log Valve"><strong>Access Log Valve</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The <strong>Access Log Valve</strong> creates log files in the same
+    format as those created by standard web servers.  These logs can later
+    be analyzed by standard log analysis tools to track page hit counts,
+    user session activity, and so on.  The files produces by this <code>Valve</code>
+    are rolled over nightly at midnight.  This <code>Valve</code>
+    may be associated with any Catalina container (<code>Context</code>,
+    <code>Host</code>, or <code>Engine</code>), and
+    will record ALL requests processed by that container.</p>
+
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The <strong>Access Log Valve</strong> supports the following
+    configuration attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+        <p>Java class name of the implementation to use.  This MUST be set to
+        <strong>org.apache.catalina.valves.AccessLogValve</strong> to use the
+        default access log valve.</p>
+      </td></tr><tr><td valign="center" align="left"><code>directory</code></td><td valign="center" align="left">
+        <p>Absolute or relative pathname of a directory in which log files
+        created by this valve will be placed.  If a relative path is
+        specified, it is interpreted as relative to $CATALINA_BASE.  If
+        no directory attribute is specified, the default value is "logs"
+        (relative to $CATALINA_BASE).</p>
+      </td></tr><tr><td valign="center" align="left"><code>pattern</code></td><td valign="center" align="left">
+        <p>A formatting layout identifying the various information fields
+        from the request and response to be logged, or the word
+        <code>common</code> or <code>combined</code> to select a
+        standard format.  See below for more information on configuring
+        this attribute. Note that the optimized access does only support
+        <code>common</code> and <code>combined</code> as the value for this
+        attribute.</p>
+      </td></tr><tr><td valign="center" align="left"><code>prefix</code></td><td valign="center" align="left">
+        <p>The prefix added to the start of each log file's name.  If not
+        specified, the default value is "access_log.".  To specify no prefix,
+        use a zero-length string.</p>
+      </td></tr><tr><td valign="center" align="left"><code>resolveHosts</code></td><td valign="center" align="left">
+        <p>Set to <code>true</code> to convert the IP address of the remote
+        host into the corresponding host name via a DNS lookup.  Set to
+        <code>false</code> to skip this lookup, and report the remote IP
+        address instead.</p>
+      </td></tr><tr><td valign="center" align="left"><code>suffix</code></td><td valign="center" align="left">
+        <p>The suffix added to the end of each log file's name.  If not
+        specified, the default value is "".  To specify no suffix,
+        use a zero-length string.</p>
+      </td></tr><tr><td valign="center" align="left"><code>rotatable</code></td><td valign="center" align="left">
+        <p>Deafult true. Flag to determine if log rotation should occur.
+           If set to false, then this file is never rotated and
+           <tt>fileDateFormat</tt> is ignored. Use with caution!
+        </p>
+      </td></tr><tr><td valign="center" align="left"><code>condition</code></td><td valign="center" align="left">
+        <p>Turns on conditional logging. If set, requests will be
+           logged only if <tt>ServletRequest.getAttribute()</tt> is
+           null. For example, if this value is set to
+           <tt>junk</tt>, then a particular request will only be logged
+           if <tt>ServletRequest.getAttribute("junk") == null</tt>.
+           The use of Filters is an easy way to set/unset the attribute
+           in the ServletRequest on many different requests.
+        </p>
+      </td></tr><tr><td valign="center" align="left"><code>fileDateFormat</code></td><td valign="center" align="left">
+        <p>Allows a customized date format in the access log file name.
+           The date format also decides how often the file is rotated.
+           If you wish to rotate every hour, then set this value
+           to: <tt>yyyy-MM-dd.HH</tt>
+        </p>
+      </td></tr><tr><td valign="center" align="left"><code>buffered</code></td><td valign="center" align="left">
+        <p>Deafult true. Flag to determine if logging will be buffered.
+           If set to false, then access logging will be written after each 
+           request.
+        </p>
+      </td></tr></table>
+
+    <p>Values for the <code>pattern</code> attribute are made up of literal
+    text strings, combined with pattern identifiers prefixed by the "%"
+    character to cause replacement by the corresponding variable value from
+    the current request and response.  The following pattern codes are
+    supported:</p>
+    <ul>
+    <li><b>%a</b> - Remote IP address</li>
+    <li><b>%A</b> - Local IP address</li>
+    <li><b>%b</b> - Bytes sent, excluding HTTP headers, or '-' if zero</li>
+    <li><b>%B</b> - Bytes sent, excluding HTTP headers</li>
+    <li><b>%h</b> - Remote host name (or IP address if
+        <code>resolveHosts</code> is false)</li>
+    <li><b>%H</b> - Request protocol</li>
+    <li><b>%l</b> - Remote logical username from identd (always returns
+        '-')</li>
+    <li><b>%m</b> - Request method (GET, POST, etc.)</li>
+    <li><b>%p</b> - Local port on which this request was received</li>
+    <li><b>%q</b> - Query string (prepended with a '?' if it exists)</li>
+    <li><b>%r</b> - First line of the request (method and request URI)</li>
+    <li><b>%s</b> - HTTP status code of the response</li>
+    <li><b>%S</b> - User session ID</li>
+    <li><b>%t</b> - Date and time, in Common Log Format</li>
+    <li><b>%u</b> - Remote user that was authenticated (if any), else '-'</li>
+    <li><b>%U</b> - Requested URL path</li>
+    <li><b>%v</b> - Local server name</li>
+    <li><b>%D</b> - Time taken to process the request, in millis</li>
+    <li><b>%T</b> - Time taken to process the request, in seconds</li>
+    <li><b>%I</b> - current request thread name (can compare later with stacktraces)</li>
+    </ul>
+
+    <p>
+    There is also support to write information from the cookie, incoming
+    header, the Session or something else in the ServletRequest.
+    It is modeled after the apache syntax:
+    <ul>
+    <li><b><code>%{xxx}i</code></b> for incoming headers</li>
+    <li><b><code>%{xxx}o</code></b> for outgoing response headers</li>
+    <li><b><code>%{xxx}c</code></b> for a specific cookie</li>
+    <li><b><code>%{xxx}r</code></b> xxx is an attribute in the ServletRequest</li>
+    <li><b><code>%{xxx}s</code></b> xxx is an attribute in the HttpSession</li>
+    </ul>
+    </p>
+
+
+    <p>The shorthand pattern name <code>common</code> (which is also the
+    default) corresponds to <strong>'%h %l %u %t "%r" %s %b'</strong>.</p>
+
+    <p>The shorthand pattern name <code>combined</code> appends the
+    values of the <code>Referer</code> and <code>User-Agent</code> headers,
+    each in double quotes, to the <code>common</code> pattern
+    described in the previous paragraph.</p>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Remote Address Filter"><strong>Remote Address Filter</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The <strong>Remote Address Filter</strong> allows you to compare the
+    IP address of the client that submitted this request against one or more
+    <em>regular expressions</em>, and either allow the request to continue
+    or refuse to process the request from this client.  A Remote Address
+    Filter can be associated with any Catalina container
+    (<a href="engine.html">Engine</a>, <a href="host.html">Host</a>, or
+    <a href="context.html">Context</a>), and must accept any request
+    presented to this container for processing before it will be passed on.</p>
+
+    <p>The syntax for <em>regular expressions</em> is different than that for
+    'standard' wildcard matching. Tomcat uses the <code>java.util.regex</code>
+    package. Please consult the Java documentation for details of the
+    expressions supported.</p>
+
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The <strong>Remote Address Filter</strong> supports the following
+    configuration attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+        <p>Java class name of the implementation to use.  This MUST be set to
+        <strong>org.apache.catalina.valves.RemoteAddrValve</strong>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>allow</code></td><td valign="center" align="left">
+        <p>A comma-separated list of <em>regular expression</em> patterns
+        that the remote client's IP address is compared to.  If this attribute
+        is specified, the remote address MUST match for this request to be
+        accepted.  If this attribute is not specified, all requests will be
+        accepted UNLESS the remote address matches a <code>deny</code>
+        pattern.</p>
+      </td></tr><tr><td valign="center" align="left"><code>deny</code></td><td valign="center" align="left">
+        <p>A comma-separated list of <em>regular expression</em> patterns
+        that the remote client's IP address is compared to.  If this attribute
+        is specified, the remote address MUST NOT match for this request to be
+        accepted.  If this attribute is not specified, request acceptance is
+        governed solely by the <code>accept</code> attribute.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Remote Host Filter"><strong>Remote Host Filter</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The <strong>Remote Host Filter</strong> allows you to compare the
+    hostname of the client that submitted this request against one or more
+    <em>regular expressions</em>, and either allow the request to continue
+    or refuse to process the request from this client.  A Remote Host
+    Filter can be associated with any Catalina container
+    (<a href="engine.html">Engine</a>, <a href="host.html">Host</a>, or
+    <a href="context.html">Context</a>), and must accept any request
+    presented to this container for processing before it will be passed on.</p>
+
+    <p>The syntax for <em>regular expressions</em> is different than that for
+    'standard' wildcard matching. Tomcat uses the <code>java.util.regex</code>
+    package. Please consult the Java documentation for details of the
+    expressions supported.</p>
+
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The <strong>Remote Host Filter</strong> supports the following
+    configuration attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+        <p>Java class name of the implementation to use.  This MUST be set to
+        <strong>org.apache.catalina.valves.RemoteHostValve</strong>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>allow</code></td><td valign="center" align="left">
+        <p>A comma-separated list of <em>regular expression</em> patterns
+        that the remote client's hostname is compared to.  If this attribute
+        is specified, the remote hostname MUST match for this request to be
+        accepted.  If this attribute is not specified, all requests will be
+        accepted UNLESS the remote hostname matches a <code>deny</code>
+        pattern.</p>
+      </td></tr><tr><td valign="center" align="left"><code>deny</code></td><td valign="center" align="left">
+        <p>A comma-separated list of <em>regular expression</em> patterns
+        that the remote client's hostname is compared to.  If this attribute
+        is specified, the remote hostname MUST NOT match for this request to be
+        accepted.  If this attribute is not specified, request acceptance is
+        governed solely by the <code>accept</code> attribute.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Request Dumper Valve"><strong>Request Dumper Valve</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The <em>Request Dumper Valve</em> is a useful tool in debugging
+    interactions with a client application (or browser) that is sending
+    HTTP requests to your Tomcat-based server.  When configured, it causes
+    details about each request processed by its associated <code>Engine</code>, 
+    <code>Host</code>, or <code>Context</code> to be logged according to 
+    the logging configuration for that container.</p>
+
+    <p><strong>WARNING: Using this valve has side-effects.</strong>  The
+    output from this valve includes any parameters included with the request.
+    The parameters will be decoded using the default platform encoding. Any
+    subsequent calls to <code>request.setCharacterEncoding()</code> within
+    the web application will have no effect.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The <strong>Request Dumper Valve</strong> supports the following
+    configuration attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+        <p>Java class name of the implementation to use.  This MUST be set to
+        <strong>org.apache.catalina.valves.RequestDumperValve</strong>.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Single Sign On Valve"><strong>Single Sign On Valve</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The <em>Single Sign On Vale</em> is utilized when you wish to give users
+    the ability to sign on to any one of the web applications associated with
+    your virtual host, and then have their identity recognized by all other
+    web applications on the same virtual host.</p>
+
+    <p>See the <a href="host.html#Single Sign On">Single Sign On</a> special
+    feature on the <strong>Host</strong> element for more information.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The <strong>Single Sign On</strong> Valve supports the following
+    configuration attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+        <p>Java class name of the implementation to use.  This MUST be set to
+        <strong>org.apache.catalina.authenticator.SingleSignOn</strong>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>requireReauthentication</code></td><td valign="center" align="left">
+        <p>Default false. Flag to determine whether each request needs to be 
+        reauthenticated to the security <strong>Realm</strong>. If "true", this
+        Valve uses cached security credentials (username and password) to
+        reauthenticate to the <strong>Realm</strong> each request associated 
+        with an SSO session.  If "false", the Valve can itself authenticate 
+        requests based on the presence of a valid SSO cookie, without 
+        rechecking with the <strong>Realm</strong>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>cookieDomain</code></td><td valign="center" align="left">
+        <p>Sets the host domain to be used for sso cookies.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Form Authenticator Valve"><strong>Form Authenticator Valve</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The <strong>Form Authenticator Valve</strong> is automatically added to
+    any <a href="context.html">Context</a> that is configured to use FORM
+    authentication.</p>
+
+    <p>If any non-default settings are required, the valve may be configured
+    within <a href="context.html">Context</a> element with the required
+    values.</p>
+
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The <strong>Form Authenticator Valve</strong> supports the following
+    configuration attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+        <p>Java class name of the implementation to use.  This MUST be set to
+        <strong>org.apache.catalina.authenticator.FormAuthenticator</strong>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>characterEncoding</code></td><td valign="center" align="left">
+        <p>Character encoding to use to read the username and password parameters
+        from the request. If not set, the encoding of the request body will be
+        used.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/connectors.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/connectors.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/connectors.html	(revision 66)
@@ -0,0 +1,43 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - Connectors How To</title><meta value="Remy Maucherat" name="author"><meta value="remm@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://wiki.apache.org/tomcat/FAQ">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR/Native</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li><li><a href="aio.html">25) Advanced IO</a></li><li><a href="extras.html">26) Additional Components</a></li><li><a href="maven-jars.html">27) Mavenized</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Configuration</a></li><li><a href="api/index.html">Javadocs</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="http://wiki.apache.org/tomcat/TomcatVersions">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="architecture/index.html">Architecture</a></li><li><a href="funcspecs/index.html">Functional Specs.</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>Connectors How To</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/connectors.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Choosing a connector to use with Tomcat can be difficult. This page will
+list the connectors which are supported with this Tomcat release, and will
+hopefully help you make the right choice according to your needs.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="HTTP"><strong>HTTP</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The HTTP connector is setup by default with Tomcat, and is ready to use. This
+connector features the lowest latency and best overall performance.</p>
+
+<p>For clustering, a HTTP load balancer <b>with support for web sessions stickiness</b>
+must be installed to direct the traffic to the Tomcat servers. Tomcat supports mod_proxy
+(on Apache HTTP Server 2.x, and included by default in Apache HTTP Server 2.2) as the load balancer. 
+It should be noted that the performance of HTTP proxying is usually lower than the 
+performance of AJP, so AJP clustering is often preferable.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="AJP"><strong>AJP</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>When using a single server, the performance when using a native webserver in 
+front of the Tomcat instance is most of the time significantly worse than a
+standalone Tomcat with its default HTTP connector, even if a large part of the web
+application is made of static files. If integration with the native webserver is 
+needed for any reason, an AJP connector will provide faster performance than 
+proxied HTTP. AJP clustering is the most efficient from the Tomcat perspective. 
+It is otherwise functionally equivalent to HTTP clustering.</p>
+
+<p>The native connectors supported with this Tomcat release are:
+<ul>
+<li>JK 1.2.x with any of the supported servers</li>
+<li>mod_proxy on Apache HTTP Server 2.x (included by default in Apache HTTP Server 2.2), 
+with AJP enabled</li>
+</ul>
+</p>
+
+<p><b>Other native connectors supporting AJP may work, but are no longer supported.</b></p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/default-servlet.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/default-servlet.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/default-servlet.html	(revision 66)
@@ -0,0 +1,274 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - Default Servlet Reference</title><meta value="Tim Funk" name="author"><meta value="funkman@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://wiki.apache.org/tomcat/FAQ">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR/Native</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li><li><a href="aio.html">25) Advanced IO</a></li><li><a href="extras.html">26) Additional Components</a></li><li><a href="maven-jars.html">27) Mavenized</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Configuration</a></li><li><a href="api/index.html">Javadocs</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="http://wiki.apache.org/tomcat/TomcatVersions">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="architecture/index.html">Architecture</a></li><li><a href="funcspecs/index.html">Functional Specs.</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>Default Servlet Reference</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/default-servlet.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+This discusses different ways to manipulate the default servlet. Topics are
+<ul>
+  <li><a href="#what">What is the DefaultServlet?</a></li>
+  <li><a href="#where">Where is it declared?</a></li>
+  <li><a href="#change">What can I change?</a></li>
+  <li><a href="#dir">How do I customize directory listings?</a></li>
+  <li><a href="#secure">How do I secure directory listings?</a></li>
+
+</ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="What is the DefaultServlet"><strong>What is the DefaultServlet</strong></a></font></td></tr><tr><td><blockquote>
+<a name="what"></a>
+The default servlet is the servlet which serves static resources as well
+as serves the directory listings (if directory listings are enabled).
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Where is it declared?"><strong>Where is it declared?</strong></a></font></td></tr><tr><td><blockquote>
+<a name="where"></a>
+It is declared globally in <i>$CATALINA_BASE/conf/web.xml</i>.
+By default here is it's declaration:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;servlet&gt;
+        &lt;servlet-name&gt;default&lt;/servlet-name&gt;
+        &lt;servlet-class&gt;
+          org.apache.catalina.servlets.DefaultServlet
+        &lt;/servlet-class&gt;
+        &lt;init-param&gt;
+            &lt;param-name&gt;debug&lt;/param-name&gt;
+            &lt;param-value&gt;0&lt;/param-value&gt;
+        &lt;/init-param&gt;
+        &lt;init-param&gt;
+            &lt;param-name&gt;listings&lt;/param-name&gt;
+            &lt;param-value&gt;true&lt;/param-value&gt;
+        &lt;/init-param&gt;
+        &lt;load-on-startup&gt;1&lt;/load-on-startup&gt;
+    &lt;/servlet&gt;
+
+...
+
+    &lt;servlet-mapping&gt;
+        &lt;servlet-name&gt;default&lt;/servlet-name&gt;
+        &lt;url-pattern&gt;/&lt;/url-pattern&gt;
+    &lt;/servlet-mapping&gt;
+
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+So by default, the default servlet is loaded at webapp startup and
+directory listings are enabled and debugging is turned off.
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="What can I change?"><strong>What can I change?</strong></a></font></td></tr><tr><td><blockquote>
+<a name="change"></a>
+The DefaultServlet allows the following initParamters:
+
+<table border="1">
+  <tr>
+    <th valign="top">debug</th>
+    <td valign="top">
+        Debugging level. It is not very useful unless you are a tomcat
+        developer. As
+        of this writing, useful values are 0, 1, 11, 1000.
+    </td>
+  </tr>
+  <tr>
+    <th valign="top">listings</th>
+    <td valign="top">
+        If no welcome file is present, can a directory listing be
+        shown?
+        value may be <b>true</b> or <b>false</b>
+        <br>
+        Welcome files are part of the servlet api.
+        <br>
+        <b>WARNING:</b> Listings of directories containing many entries are
+        expensive. Multiple requests for large directory listings can consume
+        significant proportions of server resources.
+    </td>
+  </tr>
+  <tr>
+    <th valign="top">readmeFile</th>
+    <td valign="top">
+        If a directory listing is presented, a readme file may also
+        be presented with the listing. This file is inserted as is
+        so it may contain HTML. default value is null
+    </td>
+  </tr>
+  <tr>
+    <th valign="top">globalXsltFile</th>
+    <td valign="top">
+        If you wish to customize your directory listing, you
+        can use an XSL transformation. This value is an absolute
+        file name which be used for all direcotory listings.
+        This can be disabled by per webapp by also declaring the
+        default servlet in your local webapp's web.xml. The format
+        of the xml is shown below.
+    </td>
+  </tr>
+  <tr>
+    <th valign="top">localXsltFile</th>
+    <td valign="top">
+        You may also customize your directory listing by directory by
+        configuring <code>localXsltFile</code>. This should be a relative
+        file name in the directory where the listing will take place.
+        This overrides <code>globalXsltFile</code>. If this value
+        is present but a file does not exist, then
+        <code>globalXsltFile</code> will be used. If
+        <code>globalXsltFile</code> does not exist, then the default
+        directory listing will be shown.
+    </td>
+  </tr>
+  <tr>
+    <th valign="top">input</th>
+    <td valign="top">
+        Input buffer size (in bytes) when reading
+        resources to be served.  [2048]
+    </td>
+  </tr>
+  <tr>
+    <th valign="top">output</th>
+    <td valign="top">
+        Output buffer size (in bytes) when writing
+        resources to be served.  [2048]
+    </td>
+  </tr>
+  <tr>
+    <th valign="top">readonly</th>
+    <td valign="top">
+        Is this context "read only", so HTTP commands like PUT and
+        DELETE are rejected?  [true]
+    </td>
+  </tr>
+  <tr>
+    <th valign="top">fileEncoding</th>
+    <td valign="top">
+        File encoding to be used when reading static resources.
+        [platform default]
+    </td>
+  </tr>
+  <tr>
+    <th valign="top">sendfileSize</th>
+    <td valign="top">
+        If the connector used supports sendfile, this represents the minimal 
+        file size in KB for which sendfile will be used. Use a negative value 
+        to always disable sendfile. [48]
+    </td>
+  </tr>
+
+</table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="How do I customize directory listings?"><strong>How do I customize directory listings?</strong></a></font></td></tr><tr><td><blockquote>
+<a name="dir"></a>
+<p>You can override DefaultServlet with you own implementation and use that
+in your web.xml declaration. If you
+can undertand what was just said, we will assume yo can read the code
+to DefaultServlet servlet and make the appropriate adjustments. (If not,
+then that method isn't for you)
+</p>
+<p>
+You can use either  <code>localXsltFile</code> or
+<code>globalXsltFile</code> and DefaultServlet will create
+an xml document and run it through an xsl transformation based
+on the values provided in <code>localXsltFile</code> and
+<code>globalXsltFile</code>. <code>localXsltFile</code> is first
+checked, followed by <code>globalXsltFile</code>, then default
+behaviors takes place.
+</p>
+
+<p>
+Format:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;listing&gt;
+     &lt;entries&gt;
+      &lt;entry type='file|dir' urlPath='aPath' size='###' date='gmt date'&gt;
+        fileName1
+      &lt;/entry&gt;
+      &lt;entry type='file|dir' urlPath='aPath' size='###' date='gmt date'&gt;
+        fileName2
+      &lt;/entry&gt;
+      ...
+     &lt;/entries&gt;
+     &lt;readme&gt;&lt;/readme&gt;
+    &lt;/listing&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+<ul>
+  <li>size will be missing if <code>type='dir'</code></li>
+  <li>Readme is a CDATA entry</li>
+</ul>
+</p>
+The following is a sample xsl file which mimics the default tomcat behavior:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;?xml version="1.0"?&gt;
+
+&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  version="1.0"&gt;
+
+  &lt;xsl:output method="xhtml" encoding="iso-8859-1" indent="no"/&gt;
+
+  &lt;xsl:template match="listing"&gt;
+   &lt;html&gt;
+    &lt;head&gt;
+      &lt;title&gt;
+        Sample Directory Listing For
+        &lt;xsl:value-of select="@directory"/&gt;
+      &lt;/title&gt;
+      &lt;style&gt;
+        h1{color : white;background-color : #0086b2;}
+        h3{color : white;background-color : #0086b2;}
+        body{font-family : sans-serif,Arial,Tahoma;
+             color : black;background-color : white;}
+        b{color : white;background-color : #0086b2;}
+        a{color : black;} HR{color : #0086b2;}
+      &lt;/style&gt;
+    &lt;/head&gt;
+    &lt;body&gt;
+      &lt;h1&gt;Sample Directory Listing For
+            &lt;xsl:value-of select="@directory"/&gt;
+      &lt;/h1&gt;
+      &lt;hr size="1" /&gt;
+      &lt;table cellspacing="0"
+                  width="100%"
+            cellpadding="5"
+                  align="center"&gt;
+        &lt;tr&gt;
+          &lt;th align="left"&gt;Filename&lt;/th&gt;
+          &lt;th align="center"&gt;Size&lt;/th&gt;
+          &lt;th align="right"&gt;Last Modified&lt;/th&gt;
+        &lt;/tr&gt;
+        &lt;xsl:apply-templates select="entries"/&gt;
+        &lt;/table&gt;
+      &lt;xsl:apply-templates select="readme"/&gt;
+      &lt;hr size="1" /&gt;
+      &lt;h3&gt;Apache Tomcat/6.0&lt;/h3&gt;
+    &lt;/body&gt;
+   &lt;/html&gt;
+  &lt;/xsl:template&gt;
+
+
+  &lt;xsl:template match="entries"&gt;
+    &lt;xsl:apply-templates select="entry"/&gt;
+  &lt;/xsl:template&gt;
+
+  &lt;xsl:template match="readme"&gt;
+    &lt;hr size="1" /&gt;
+    &lt;pre&gt;&lt;xsl:apply-templates/&gt;&lt;/pre&gt;
+  &lt;/xsl:template&gt;
+
+  &lt;xsl:template match="entry"&gt;
+    &lt;tr&gt;
+      &lt;td align="left"&gt;
+        &lt;xsl:variable name="urlPath" select="@urlPath"/&gt;
+        &lt;a href="{$urlPath}"&gt;
+          &lt;tt&gt;&lt;xsl:apply-templates/&gt;&lt;/tt&gt;
+        &lt;/a&gt;
+      &lt;/td&gt;
+      &lt;td align="right"&gt;
+        &lt;tt&gt;&lt;xsl:value-of select="@size"/&gt;&lt;/tt&gt;
+      &lt;/td&gt;
+      &lt;td align="right"&gt;
+        &lt;tt&gt;&lt;xsl:value-of select="@date"/&gt;&lt;/tt&gt;
+      &lt;/td&gt;
+    &lt;/tr&gt;
+  &lt;/xsl:template&gt;
+
+&lt;/xsl:stylesheet&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="How do I secure directory listings?"><strong>How do I secure directory listings?</strong></a></font></td></tr><tr><td><blockquote>
+<a name="secure"></a>
+Use web.xml in each individual webapp. See the security section of the
+Servlet specification.
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/deployer-howto.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/deployer-howto.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/deployer-howto.html	(revision 66)
@@ -0,0 +1,300 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - Tomcat Web Application Deployment</title><meta value="Allistair Crossley" name="author"><meta value="" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://wiki.apache.org/tomcat/FAQ">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR/Native</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li><li><a href="aio.html">25) Advanced IO</a></li><li><a href="extras.html">26) Additional Components</a></li><li><a href="maven-jars.html">27) Mavenized</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Configuration</a></li><li><a href="api/index.html">Javadocs</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="http://wiki.apache.org/tomcat/TomcatVersions">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="architecture/index.html">Architecture</a></li><li><a href="funcspecs/index.html">Functional Specs.</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>Tomcat Web Application Deployment</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/deployer-howto.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Table of Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>
+    <ul>
+        <li><a href="#Introduction">Introduction</a></li>
+        <li><a href="#Installation">Installation</a></li>
+        <li><a href="#A word on Contexts">A word on Contexts</a></li>
+        <li><a href="#Deployment on Tomcat startup">Deployment on Tomcat startup</a></li>
+        <li><a href="#Deploying on a running Tomcat server">Deploying on a running Tomcat server</a></li>
+        <li><a href="#Deploying using the Tomcat Manager">Deploying using the Tomcat Manager</a></li>
+        <li><a href="#Deploying using the Client Deployer Package">Deploying using
+            the Tomcat Client Deployer</a></li>
+    </ul>
+    
+    </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+        <p>
+            Deployment is the term used for the process of installing a web
+            application (either a 3rd party WAR or your own custom web application) 
+            into the Tomcat server. 
+        </p>
+        <p>
+            Web application deployment may be accomplished in a number of ways
+            within the Tomcat server.
+            <ul>
+                <li>Statically; the web application is setup before Tomcat is started</li>
+                <li>
+                    Dynamically; in conjunction with the Tomcat Manager web application or 
+                    manipulating already deployed web applications
+                </li>
+            </ul>
+        </p>
+        <p>
+            The Tomcat Manager is a tool that allows URL-based web application
+            deployment features. There is also a tool called the Client Deployer,
+            which is a command shell based script that interacts with the Tomcat
+            Manager but provides additional functionality such as compiling and
+            validating web applications as well as packaging web application into
+            web application resource (WAR) files.
+        </p>
+    </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Installation"><strong>Installation</strong></a></font></td></tr><tr><td><blockquote>
+        <p>
+            There is no installation required for static deployment of web
+            applications as this is provided out of the box by Tomcat. Nor is any
+            installation required for deployment functions with the Tomcat Manager, 
+            although some configuration is required as detailed in the 
+            Tomcat Manager manual. An installation is however required if you wish
+            to use the Tomcat Client Deployer (TCD). 
+        </p>   
+        <p>
+            The TCD is not packaged with the Tomcat core 
+            distribution, and must therefore be downloaded separately from 
+            the Downloads area. The download is usually labelled 
+            <i>apache-tomcat-6.0.x-deployer</i>.
+        </p>
+        <p>
+            TCD has prerequisites of Apache Ant 1.6.2+ and a Java installation.
+            Your environment should define an ANT_HOME environment value pointing to
+            the root of your Ant installation, and a JAVA_HOME value pointing to
+            your Java installation. Additionally, you should ensure Ant's ant
+            command, and the Java javac compiler command run from the command shell
+            that your operating system provides.
+        </p>
+        <ol>
+            <li>Download the TCD distribution</li>
+            <li>
+                The TCD package need not be extracted into any existing Tomcat
+                installation, it can be extracted to any location.
+            </li>
+            <li>Read Using the <a href="#Deploying using the Client Deployer Package">
+            Tomcat Client Deployer</a></li>
+        </ol>
+    </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="A word on Contexts"><strong>A word on Contexts</strong></a></font></td></tr><tr><td><blockquote>
+        <p>
+            In talking about deployment of web applications, the concept of a
+            <i>Context</i> is required to be understood. A Context is what Tomcat 
+            calls a web application.
+        </p>
+        <p>
+            In order to configure a Context within Tomcat a <i>Context Descriptor</i>
+            is required. A Context Descriptor is simply an XML file that contains
+            Tomcat related configuration for a Context, e.g naming resources or 
+            session manager configuration. In earlier versions of
+            Tomcat the content of a Context Descriptor configuration was often stored within
+            Tomcat's primary configuration file <i>server.xml</i> but this is now
+            discouraged (although it currently still works).
+        </p>
+        <p>        
+            Context Descriptors not only help Tomcat to know how to configure 
+            Contexts but other tools such as the Tomcat Manager and TCD often use 
+            these Context Descriptors to perform their roles properly.
+        </p>
+        <p>
+            The locations for Context Descriptors are;
+            <ol>
+                <li>$CATALINA_BASE/conf/[enginename]/[hostname]/context.xml</li>
+                <li>$CATALINA_BASE/webapps/[webappname]/META-INF/context.xml</li>
+            </ol>
+            Files in (1) are named [webappname].xml but files in (2) are named
+            context.xml. If a Context Descriptor is not provided for a Context,
+            Tomcat configures the Context using default values. 
+        </p>
+    </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Deployment on Tomcat startup"><strong>Deployment on Tomcat startup</strong></a></font></td></tr><tr><td><blockquote>
+        <p>
+            If you are not interested in using the Tomcat Manager, or TCD, 
+            then you'll need to deploy your web applications 
+            statically to Tomcat, followed by a Tomcat startup. The location you
+            deploy web applications to for this type of deployment is called the 
+            <code>appBase</code> which is specified per Host. You either copy a
+            so-called <i>exploded web application</i>, i.e non-compressed, to this
+            location, or a compressed web application resource .WAR file.
+        </p>
+        <p>
+            The web applications present in the location specified by the Host's
+            (default Host is "localhost") <code>appBase</code> attribute (default
+            appBase is "$CATALINA_BASE/webapps") will be deployed on Tomcat startup 
+            only if the Host's <code>deployOnStartup</code> attribute is "true".
+        </p>
+        <p>
+            The following deployment sequence will occur on Tomcat startup in that
+            case:
+        </p>
+        <ol>
+            <li>Any Context Descriptors will be deployed first.</li>
+            <li>
+                Exploded web applications not referenced by any Context
+                Descriptor will then be deployed. If they have an associated 
+                .WAR file in the appBase and it is newer than the exploded web application, 
+                the exploded directory will be removed and the webapp will be 
+                redeployed from the .WAR
+            </li>
+            <li>.WAR files will be deployed</li>
+        </ol>
+        <p>
+            Note again that for each deployed web application, a 
+            Context Descriptor will be created <i>unless one exists already</i>.
+        </p>
+    </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Deploying on a running Tomcat server"><strong>Deploying on a running Tomcat server</strong></a></font></td></tr><tr><td><blockquote>
+        <p>
+            It is possible to deploy web applications to a running Tomcat server.
+        </p>
+        <p>
+            If the Host <code>autoDeploy</code> attribute is "true", the Host will 
+            attempt to deploy and update web applications dynamically, as needed,
+            for example if a new .WAR is dropped into the <code>appBase</code>. 
+            For this to work, the Host needs to have background processing 
+            enabled which is the default configuration.
+        </p>
+        
+        <p>
+            <code>autoDeploy</code> set to "true" and a running Tomcat allows for:
+        </p>
+        <ul>
+            <li>Deployment of .WAR files copied into the Host <code>appBase</code>.</li>
+            <li>
+                Deployment of exploded web applications which are
+                copied into the Host <code>appBase</code>.
+            </li>
+            <li>
+                Re-deployment of a web application which has already been deployed from
+                a .WAR when the new .WAR is provided. In this case the exploded 
+                web application is removed, and the .WAR is expanded again. 
+                Note that the explosion will not occur if the Host is configured 
+                so that .WARs are not exploded with a <code>unpackWARs</code>
+                attribute set to "false", in which case the web application 
+                will be simply redeployed as a compressed archive.
+            </li>
+            <li>
+                Re-deployment of a web application if the /WEB-INF/web.xml file (or any
+                other resource defined as a WatchedResource) is updated.
+            </li>
+            <li>
+                Re-deployment of a web application if the Context Descriptor file from which
+                the web application has been deployed is updated.
+            </li>
+            <li>
+                Re-deployment of a web application if a Context Descriptor file (with a
+                filename corresponding to the Context path of the previously deployed
+                web application) is added to the 
+                <code>$CATALINA_BASE/conf/[enginename]/[hostname]/</code>
+                directory.
+            </li>
+            <li>
+                Undeployment of a web application if its document base (docBase)
+                is deleted. Note that on Windows, this assumes that anti-locking 
+                features (see Context configuration) are enabled, otherwise it is not 
+                possible to delete the resources of a running web application.
+            </li>
+        </ul>
+        <p>
+            Note that web application reloading can also be configured in the loader, in which
+            case loaded classes will be tracked for changes.
+        </p>
+    </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Deploying using the Tomcat Manager"><strong>Deploying using the Tomcat Manager</strong></a></font></td></tr><tr><td><blockquote>
+        <p>
+            The Tomcat Manager is covered in its <a href="manager-howto.html">own manual page</a>. 
+        </p>
+    </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Deploying using the Client Deployer Package"><strong>Deploying using the Client Deployer Package</strong></a></font></td></tr><tr><td><blockquote>
+        <p>
+            Finally, deployment of web application may be achieved using the 
+            Tomcat Client Deployer. This is a package which can be used to 
+            validate, compile, compress to .WAR, and deploy web applications to 
+            production or development Tomcat servers. It should be noted that this feature 
+            uses the Tomcat Manager and as such the target Tomcat server should be
+            running.
+        </p>
+    
+        <p>
+            It is assumed the user will be familar with Apache Ant for using the TCD.
+            Apache Ant is a scripted build tool. The TCD comes pre-packaged with a
+            build script to use. Only a modest understanding of Apache Ant is
+            required (installation as listed earlier in this page, and familiarity
+            with using the operating system command shell and configuring
+            environment variables).
+        </p>
+        
+        <p>
+            The TCD includes Ant tasks, the Jasper page compiler for JSP compilation 
+            before deployment, as well as a task which
+            validates the web application Context Descriptor. The validator task (class
+            <code>org.apache.catalina.ant.ValidatorTask</code>) allows only one parameter:
+            the base path of an exploded web application.
+        </p>
+    
+        <p>
+            The TCD uses an exploded web application as input (see the list of the
+            properties used below). A web application that is programatically 
+            deployed with the deployer may include a Context Desciptor in 
+            <code>/META-INF/context.xml</code>.
+        </p>
+    
+        <p>
+            The TCD includes a ready-to-use Ant script, with the following targets:
+        </p>
+        <ul>
+            <li>
+                <code>compile</code> (default): Compile and validate the web 
+                application. This can be used standalone, and does not need a running
+                Tomcat server. The compiled application will only run on the associated
+                Tomcat 6.0.x server release, and is not guaranteed to work on another
+                Tomcat release, as the code generated by Jasper depends on its runtime
+                component. It should also be noted that this target will also compile
+                automatically any Java source file located in the 
+                <code>/WEB-INF/classes</code> folder of the web application.</li>
+            <li>
+                <code>deploy</code>: Deploy a web application (compiled or not) to 
+                a Tomcat server.
+            </li>
+            <li><code>undeploy</code>: Undeploy a web application</li>
+            <li><code>start</code>: Start web application</li>
+            <li><code>reload</code>: Reload web application</li>
+            <li><code>stop</code>: Stop web application</li>
+        </ul>
+        
+        <p>
+            In order for the deployment to be configured, create a file
+            called <code>deployer.properties</code> in the TCD installation
+            directory root. In this file, add the following name=value pairs per
+            line:
+        </p>
+        
+        <p>
+            Additionally, you will need to ensure that a user has been 
+            setup for the target Tomcat Manager (which TCD uses) otherwise the TCD
+            will not authenticate with the Tomcat Manager and the deployment will
+            fail. To do this, see the Tomcat Manager page.        
+        </p>
+        
+        <ul>
+            <li>
+                <code>build</code>: The build folder used will be, by default, 
+                <code>${build}/webapp/${path}</code>. After the end of the execution
+                of the <code>compile</code> target, the web application .WAR will be
+                located at <code>${build}/webapp/${path}.war</code>.
+            </li>
+            <li>
+                <code>webapp</code>: The directory containing the exploded web application 
+                which will be compiled and validated. By default, the folder is
+                <code>myapp</code>.
+            </li>
+            <li>
+                <code>path</code>: Deployed context path of the web application, 
+                by default <code>/myapp</code>.
+            </li>
+            <li>
+                <code>url</code>: Absolute URL to the Tomcat Manager web application of a 
+                running Tomcat server, which will be used to deploy and undeploy the
+                web application. By default, the deployer will attempt to access 
+                a Tomcat instance running on localhost, at 
+                <code>http://localhost:8080/manager</code>.
+            </li>
+            <li>
+                <code>username</code>: Tomcat Manager username (user should have a role of
+                manager)
+            </li>
+            <li><code>password</code>: Tomcat Manager password.</li>
+        </ul>
+    </blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/developers.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/developers.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/developers.html	(revision 66)
@@ -0,0 +1,43 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - Tomcat Developers</title><meta value="Remy Maucherat" name="author"><meta value="remm@apache.org" name="email"><meta value="Yoav Shapira" name="author"><meta value="yoavs@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://wiki.apache.org/tomcat/FAQ">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR/Native</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li><li><a href="aio.html">25) Advanced IO</a></li><li><a href="extras.html">26) Additional Components</a></li><li><a href="maven-jars.html">27) Mavenized</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Configuration</a></li><li><a href="api/index.html">Javadocs</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="http://wiki.apache.org/tomcat/TomcatVersions">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="architecture/index.html">Architecture</a></li><li><a href="funcspecs/index.html">Functional Specs.</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>Tomcat Developers</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/developers.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Active Developers"><strong>Active Developers</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>
+      The list indicates the developers' main areas of interest. Feel free to
+      add to the list :) The developers email addresses are 
+      <code>[login]@apache.org</code>. Please <strong>do not</strong> contact 
+      developers directly for any support issues (please post to the 
+      tomcat-users mailing list instead, or one of the other support 
+      resources; some organizations and individual consultants also offer 
+      for pay Tomcat support, as listed on the 
+      <a href="http://jakarta.apache.org/site/vendors.html">vendors page</a>
+      on the Jakarta website).
+    </p>
+
+    <ul>
+      <li>Amy Roh (amyroh): Catalina, Admin webapp</li>
+      <li>Bill Barker (billbarker): Connectors</li>
+      <li>Costin Manolache (costin): Catalina, Connectors</li>
+      <li>Filip Hanik (fhanik): Clustering</li>
+      <li>Glenn Nielsen (glenn): Catalina, Connectors</li>
+      <li>Henri Gomez (hgomez): Connectors</li>
+      <li>Jan Luehe (luehe): Jasper</li>
+      <li>Jean-Francois Arcand (jfarcand): Catalina</li>
+      <li>Jean-Frederic Clere (jfclere): Connectors</li>
+      <li>Jim Jagielski (jim): Connectors</li>
+      <li>Kin-Man Chung (kinman): Jasper</li>
+      <li>Mladen Turk (mturk): Connectors</li>
+      <li>Peter Rossbach (pero): Catalina, Clustering, JMX</li>
+      <li>Remy Maucherat (remm): Catalina, Connectors, Docs</li>
+      <li>Tim Funk (funkman): Catalina, Docs</li>
+      <li>Yoav Shapira (yoavs): Docs, JMX, Catalina, balancer, Release Manager</li>
+    </ul>
+
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Retired Developers"><strong>Retired Developers</strong></a></font></td></tr><tr><td><blockquote>
+
+
+
+  </blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/extras.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/extras.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/extras.html	(revision 66)
@@ -0,0 +1,65 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - Additional Components</title><meta value="Remy Maucherat" name="author"><meta value="" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://wiki.apache.org/tomcat/FAQ">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR/Native</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li><li><a href="aio.html">25) Advanced IO</a></li><li><a href="extras.html">26) Additional Components</a></li><li><a href="maven-jars.html">27) Mavenized</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Configuration</a></li><li><a href="api/index.html">Javadocs</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="http://wiki.apache.org/tomcat/TomcatVersions">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="architecture/index.html">Architecture</a></li><li><a href="funcspecs/index.html">Functional Specs.</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>Additional Components</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/extras.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+  <p>
+    A number of additional third party components may be used with Apache
+    Tomcat, but are not provided directly in the download bundle. These
+    components may be built by users should they need them.
+  </p>
+
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Building"><strong>Building</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>
+      The additional components are built using the <code>extras.xml</code> Ant
+      script which is present in the source bundle of Tomcat.
+    </p>
+    
+    <p>The build process is the following:</p>
+    
+    <ul>
+    <li>Follow the <a href="building.html">build instructions</a> to build a
+        Tomcat binary from the source bundle (note: it will be used by the build
+        process of the additional components, but does not need to be actually
+        used later on)</li>
+    <li>Execute the command <code>ant -f extras.xml</code> to run the build
+        script</li>
+    <li>The additional components JARs will be placed in the
+        <code>output/extras</code> folder</li>
+    <li>Refer to the documentation below about the usage of these JARs</li>
+    </ul>
+	
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Components list"><strong>Components list</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Full commons-logging implementation"><strong>Full commons-logging implementation</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>
+    Tomcat uses a package renamed commons-logging API implementation which is
+    hardcoded to use the java.util.logging API. The commons-logging additional
+    component builds a full fledged package renames commons-logging
+    implementation which can be used to replace the implementation provided with
+    Tomcat. See the <a href="logging.html">logging</a> page for usage
+    instructions.
+  </p>
+
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Web Services support (JSR 109)"><strong>Web Services support (JSR 109)</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>
+    Tomcat provides factories for JSR 109 which may be used to resolve web
+    services references. Place the generated catalina-ws.jar as well as
+    jaxrpc.jar and wsdl4j.jar (or another implementation of JSR 109) in the
+    Tomcat lib folder.
+  </p>
+
+  <p>
+    Users should be aware that wsdl4j.jar is licenced under CPL 1.0 and not the
+    Apache License version 2.0.
+  </p>
+
+  </blockquote></td></tr></table>
+
+  </blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/funcspecs/fs-admin-apps.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/funcspecs/fs-admin-apps.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/funcspecs/fs-admin-apps.html	(revision 66)
@@ -0,0 +1,252 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Catalina Functional Specifications - Administrative Apps - Overall Requirements</title><meta value="Craig McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      Catalina Functional Specifications
+    " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Functional Specs</a></li></ul><p><strong>Administrative Apps</strong></p><ul><li><a href="fs-admin-apps.html">Overall Requirements</a></li><li><a href="mbean-names.html">Tomcat MBean Names</a></li><li><a href="fs-admin-objects.html">Administered Objects</a></li><li><a href="fs-admin-opers.html">Supported Operations</a></li></ul><p><strong>Internal Servlets</strong></p><ul><li><a href="fs-default.html">Default Servlet</a></li><li><a href="fs-invoker.html">Invoker Servlet</a></li></ul><p><strong>Realm Implementations</strong></p><ul><li><a href="fs-jdbc-realm.html">JDBC Realm</a></li><li><a href="fs-jndi-realm.html">JNDI Realm</a></li><li><a href="fs-memory-realm.html">Memory Realm</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Catalina Functional Specifications</h1><h2>Administrative Apps - Overall Requirements</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/fs-admin-apps.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Overview"><strong>Overview</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The purpose of this specification is to define high level requirements
+    for administrative applications that can be used to manage the operation
+    of a running Tomcat 6 container.  A variety of <em>Access Methods</em>
+    to the supported administrative functionality shall be supported, to
+    meet varying requirements:</p>
+    <ul>
+    <li><em>As A Scriptable Web Application</em> - The existing
+        <code>Manager</code> web application provides a simple HTTP-based
+        interface for managing Tomcat through commands that are expressed
+        entirely through a request URI.  This is useful in environments
+        where you wish to script administrative commands with tools that
+        can generate HTTP transactions.</li>
+    <li><em>As An HTML-Based Web Application</em> - Use an HTML presentation
+        to provide a GUI-like user interface for humans to interact with the
+        administrative capabilities.</li>
+    <li><em>As SOAP-Based Web Services</em> - The operational commands to
+        administer Tomcat are made available as web services that utilize
+        SOAP message formats.</li>
+    <li><em>As Java Management Extensions (JMX) Commands</em> - The operational
+        commands to administer Tomcat are made available through JMX APIs,
+        for integration into management consoles that utilize them.</li>
+    <li><em>Other Remote Access APIs</em> - Other remote access APIs, such
+        as JINI, RMI, and CORBA can also be utilized to access administrative
+        capabilities.</li>
+    </ul>
+
+    <p>Underlying all of the access methods described above, it is assumed
+    that the actual operations are performed either directly on the
+    corresponding Catalina components (such as calling the
+    <code>Deployer.deploy()</code> method to deploy a new web application),
+    or through a "business logic" layer that can be shared across all of the
+    access methods.  This approach minimizes the cost of adding new
+    administrative capabilities later -- it is only necessary to add the
+    corresponding business logic function, and then write adapters to it for
+    all desired access methods.</p>
+
+    <p>The current status of this functional specification is
+    <strong>PROPOSED</strong>.  It has not yet been discussed and
+    agreed to on the TOMCAT-DEV mailing list.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="External Specifications"><strong>External Specifications</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The implementation of this functionality depends on the following
+    external specifications:</p>
+    <ul>
+    <li><a href="http://java.sun.com/products/jdk/idl/index.html">Java
+        IDL</a> (for CORBA, included in the JDK)</li>
+    <li><a href="http://java.sun.com/products/JavaManagement/index.html">
+        Java Management Extensions</a></li>
+    <li><a href="http://java.sun.com/products/rmi/index.html">Remote
+        Method Invocation</a> (Included in the JDK)</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Implementation Requirements"><strong>Implementation Requirements</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The implementation of this functionality shall conform to the
+    following requirements:</p>
+    <ul>
+    <li>To the maximum extent feasible, all administrative functions,
+        and the access methods that support them, shall run portably
+        on all platforms where Tomcat 6 itself runs.</li>
+    <li>In a default Tomcat distribution, all administrative capabilities
+        shall be disabled.  It shall be necessary for a system
+        administrator to specifically enable the desired access methods
+        (such as by adding a username/password with a specific role to
+        the Tomcat user's database.</li>
+    <li>Administrative functions shall be realized as direct calls to
+        corresponding Catalina APIs, or through a business logic layer
+        that is independent of the access method used to initiate it.</li>
+    <li>The common business logic components shall be implemented in
+        package <code>org.apache.catalina.admin</code>.</li>
+    <li>The common business logic components shall be built as part of the
+        standard Catalina build process, and made visible in the
+        Catalina class loader.</li>
+    <li>The Java components required for each access method shall be
+        implemented in subpackages of <code>org.apache.catalina.admin</code>.
+        </li>
+    <li>The build scripts should treat each access method as optional,
+        so that it will be built only if the corresponding required
+        APIs are present at build time.</li>
+    <li>It shall be possible to save the configured state of the running
+        Tomcat container such that this state can be reproduced when the
+        container is shut down and restarted.</li>
+    <li>Adminstrative commands to start up and shut down the overall
+        Tomcat container are <strong>out of scope</strong> for the
+        purposes of these applications.  It is assumed that other
+        (usually platform-specific) mechanisms will be used for container
+        startup and shutdown.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Dependencies"><strong>Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Environmental Dependencies"><strong>Environmental Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The following environmental dependencies must be met in order for
+    administrative applications to operate correctly:</p>
+    <ul>
+    <li>For access methods that require creation of server sockets, the
+        appropriate ports must be configured and available.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Container Dependencies"><strong>Container Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>Correct operation of administrative applications depends on the
+       following specific features of the surrounding container:</p>
+    <ul>
+    <li>To the maximum extent feasible, Catalina components that offer
+        direct administrative APIs and property setters shall support
+        "live" changes to their operation, without requiring a container
+        restart.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="External Technologies"><strong>External Technologies</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The availability of the following technologies can be assumed
+    for the implementation and operation of the various access methods
+    and the corresponding administrative business logic:</p>
+    <ul>
+    <li><a href="http://java.sun.com/j2se/">Java 2 Standard Edition</a>
+        (Version 1.2 or later)</li>
+    <li><a href="http://www.jcp.org/jsr/detail/154.jsp">Servlet 2.4</a>
+        (supported natively by Tomcat 6)</li>
+    <li><a href="http://www.jcp.org/jsr/detail/152.jsp">JavaServer Pages 2.0</a>
+        (supported natively by Tomcat 6)</li>
+    <li><a href="http://jakarta.apache.org/taglibs/doc/standard-doc/intro.html">JavaServer Pages Standard Tag Library 1.0 (Jakarta Taglibs-Standard 1.0.3)</a></li>
+    <li><a href="http://jakarta.apache.org/struts/">Struts Framework</a>
+        (Version 1.0) - MVC Framework for Web Applications</li>
+    <li><strong>TO BE DETERMINED</strong> - Application for hosting SOAP
+        based web services</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Functionality"><strong>Functionality</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Properties of Administered Objects"><strong>Properties of Administered Objects</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>Functional requirements for administrative applications are specified
+  in terms of <em>Administered Objects</em>, whose definitions and detailed
+  properties are listed <a href="fs-admin-objects.html">here</a>.  In general,
+  Administered Objects correspond to components in the Catalina architecture,
+  but these objects are defined separately here for the following reasons:</p>
+  <ul>
+  <li>It is possible that the administrative applications do not expose
+      every possible configurable facet of the underlying components.</li>
+  <li>In some cases, an Administered Object (from the perspective of an
+      administrative operation) is realized by more than one Catalina
+      component, at a finer-grained level of detail.</li>
+  <li>It is necessary to represent the configuration information for a
+      component separately from the component itself (for instance, in
+      order to store that configuration information for later use).</li>
+  <li>It is necessary to represent configuration information (such as
+      a Default Context) when there is no corresponding component instance.
+      </li>
+  <li>Administered Objects, when realized as Java classes, will include
+      methods for administrative operations that have no correspondence
+      to operations performed by the corresponding actual components.</li>
+  </ul>
+
+  <p>It is assumed that the reader is familiar with the overall component
+  architecture of Catalina.  For further information, see the corresponding
+  Developer Documentation.  To distinguish names that are used as both
+  <em>Administered Objects</em> and <code>Components</code>, different
+  font presentations are utilized.  Default values for many properties
+  are listed in [square brackets].</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Supported Administrative Operations"><strong>Supported Administrative Operations</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The administrative operations that are available are described in terms
+  of the corresponding Administered Objects (as defined above), in a manner
+  that is independent of the access method by which these operations are
+  requested.  In general, such operations are relevant only in the context
+  of a particular Administered Object (and will most likely be realized as
+  method calls on the corresponding Administered Object classes), so they
+  are organized based on the currently "focused" administered object.
+  The available Supported Operations are documented
+  <a href="fs-admin-opers.html">here</a>.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Access Method Specific Requirements"><strong>Access Method Specific Requirements</strong></a></font></td></tr><tr><td><blockquote>
+
+  <h5>Scriptable Web Application</h5>
+
+  <p>An appropriate subset of the administrative operations described above
+  shall be implemented as commands that can be performed by the "Manager"
+  web application.  <strong>FIXME</strong> - Enumerate them.</p>
+
+  <p>In addition, this web application shall conform to the following
+  requirements:</p>
+  <ul>
+  <li>All request URIs shall be protected by a security constraint that
+      requires security role <code>manager</code> for processing.</li>
+  <li>The default user database shall <strong>not</strong> contain any
+      user that has been assigned the role <code>manager</code>.</li>
+  </ul>
+
+  <h5>HTML-Based Web Application</h5>
+
+  <p>The entire suite of administrative operations described above shall be
+  made available through a web application designed for human interaction.
+  In addition, this web application shall conform to the following
+  requirements:</p>
+  <ul>
+  <li>Must be implemented using servlet, JSP, and MVC framework technologies
+      described under "External Technologies", above.</li>
+  <li>Prompts and error messages must be internationalizable to multiple
+      languages.</li>
+  <li>Rendered HTML must be compatible with Netscape Navigator (verson 4.7
+      or later) and Internet Explorer (version 5.0 or later).</li>
+  </ul>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Testable Assertions"><strong>Testable Assertions</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p><strong>FIXME</strong> - Complete this section.</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/funcspecs/fs-admin-objects.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/funcspecs/fs-admin-objects.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/funcspecs/fs-admin-objects.html	(revision 66)
@@ -0,0 +1,420 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Catalina Functional Specifications - Administrative Apps - Administered Objects</title><meta value="Craig McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      Catalina Functional Specifications
+    " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Functional Specs</a></li></ul><p><strong>Administrative Apps</strong></p><ul><li><a href="fs-admin-apps.html">Overall Requirements</a></li><li><a href="mbean-names.html">Tomcat MBean Names</a></li><li><a href="fs-admin-objects.html">Administered Objects</a></li><li><a href="fs-admin-opers.html">Supported Operations</a></li></ul><p><strong>Internal Servlets</strong></p><ul><li><a href="fs-default.html">Default Servlet</a></li><li><a href="fs-invoker.html">Invoker Servlet</a></li></ul><p><strong>Realm Implementations</strong></p><ul><li><a href="fs-jdbc-realm.html">JDBC Realm</a></li><li><a href="fs-jndi-realm.html">JNDI Realm</a></li><li><a href="fs-memory-realm.html">Memory Realm</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Catalina Functional Specifications</h1><h2>Administrative Apps - Administered Objects</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/fs-admin-objects.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Administered Objects Overview"><strong>Administered Objects Overview</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>This document defines the <em>Administered Objects</em> that represent
+the internal architectural components of the Catalina servlet container.
+Associated with each is a set of <a href="fs-admin-opers.html">Supported
+Operations</a> that can be performed when the administrative application is
+"focused" on a particular configurable object.</p>
+
+<p>The following Administered Objects are defined:</p>
+<ul>
+<li><a href="#Access Logger">Access Logger</a></li>
+<li><a href="#Connector">Connector</a></li>
+<li><a href="#Context">Context</a></li>
+<li><a href="#Default Context">Default Context</a></li>
+<li><a href="#Default Deployment Descriptor">Default Deployment Descriptor</a></li>
+<li><a href="#Engine">Engine</a></li>
+<li><a href="#Environment Entry">Environment Entry</a></li>
+<li><a href="#Host">Host</a></li>
+<li><a href="#JDBC Resource">JDBC Resource</a></li>
+<li><a href="#Loader">Loader</a></li>
+<li><a href="#Manager">Manager</a></li>
+<li><a href="#Realm">Realm</a></li>
+<li><a href="#Request Filter">Request Filter</a></li>
+<li><a href="#Server">Server</a></li>
+<li><a href="#Service">Service</a></li>
+</ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Access Logger"><strong>Access Logger</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>An <em>Access Logger</em> is an optional <code>Valve</code> that can
+  create request access logs in the same formats as those provided by
+  web servers.  Such access logs are useful input to hit count and user
+  access tracking analysis programs.  An Access Logger can be attached to
+  an <em>Engine</em>, a <em>Host</em>, a <em>Context</em>, or a <em>Default
+  Context</em>.</p>
+
+  <p>The standard component implementing an <em>Access Logger</em> is
+  <code>org.apache.catalina.valves.AccessLogValve</code>.  It supports the
+  following configurable properties:</p>
+  <ul>
+  <li><code>debug</code> - Debugging detail level.  [0]</li>
+  <li><code>directory</code> - Absolute or relative (to $CATALINA_BASE) path
+      of the directory into which access log files are created.
+      [logs].</li>
+  <li><code>pattern</code> - Pattern string defining the fields to be
+      included in the access log output, or "common" for the standard
+      access log pattern.  See
+      <code>org.apache.catalina.valves.AccessLogValve</code> for more
+      information.  [common]</li>
+  <li><code>prefix</code> - Prefix added to the beginning of each log file
+      name created by this access logger.</li>
+  <li><code>resolveHosts</code> - Should IP addresses be resolved to host
+      names in the log?  [false]</li>
+  <li><code>suffix</code> - Suffix added to the end of each log file name
+      created by this access logger.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Connector"><strong>Connector</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>A <em>Connector</em> is the representation of a communications endpoint
+  by which requests are received from (and responses returned to) a Tomcat
+  client.  The administrative applications shall support those connectors
+  that are commonly utilized in Tomcat installations, as described in detail
+  below.</p>
+
+  <p>For standalone use, the standard connector supporting the HTTP/1.1
+  protocol is <code>org.apache.catalina.connectors.http.HttpConnector</code>.
+  It supports the following configurable properties:</p>
+  <ul>
+  <li><code>acceptCount</code> - The maximum queue length of incoming
+      connections that have not yet been accepted.  [10]</li>
+  <li><code>address</code> - For servers with more than one IP address, the
+      address upon which this connector should listen.  [All Addresses]</li>
+  <li><code>bufferSize</code> - Default input buffer size (in bytes) for
+      requests created by this Connector.  [2048]</li>
+  <li><code>debug</code> - Debugging detail level.  [0]</li>
+  <li><code>enableLookups</code> - Should we perform DNS lookups on remote
+      IP addresses when <code>request.getRemoteHost()</code> is called?
+      [true]</li>
+  <li><code>maxProcessors</code> - The maximum number of processor threads
+      supported by this connector.  [20]</li>
+  <li><code>minProcessors</code> - The minimum number of processor threads
+      to be created at container startup.  [5]</li>
+  <li><code>port</code> - TCP/IP port number on which this Connector should
+      listen for incoming requests. [8080]</li>
+  <li><code>proxyName</code> - Host name to be returned when an application
+      calls <code>request.getServerName()</code>.  [Value of Host: header]</li>
+  <li><code>proxyPort</code> - Port number to be returned when an application
+      calls <code>request.getServerPort()</code>.  [Same as <code>port</code>]
+      </li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Context"><strong>Context</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>A <em>Context</em> is the representation of an individual web application,
+  which is associated with a corresponding <em>Host</em>.  Note that the
+  administrable properties of a <em>Context</em> do <strong>not</strong>
+  include any settings from inside the web application deployment descriptor
+  for that application.</p>
+
+  <p>The standard component implementing a <em>Context</em> is
+  <code>org.apache.catalina.core.StandardContext</code>.  It supports the
+  following configurable properties:</p>
+  <ul>
+  <li><code>cookies</code> - Should be use cookies for session identifier
+      communication?  [true]</li>
+  <li><code>crossContext</code> - Should calls to
+      <code>ServletContext.getServletContext()</code> return the actual
+      context responsible for the specified path?  [false]</li>
+  <li><code>debug</code> - Debugging detail level.  [0]</li>
+  <li><code>docBase</code> - The absolute or relative (to the
+      <code>appBase</code> of our owning <em>Host</em>) pathname of a
+      directory containing an unpacked web application, or of a web
+      application archive (WAR) file.</li>
+  <li><code>override</code> - Should settings in this <em>Context</em>
+      override corresponding settings in the <em>Default Context</em>?
+      [false]</li>
+  <li><code>path</code> - Context path for this web application, or an empty
+      string for the root application of a <em>Host</em>.  [Inferred from
+      directory or WAR file name]</li>
+  <li><code>reloadable</code> - Should Tomcat monitor classes in the
+      <code>/WEB-INF/classes</code> directory for changes, and reload the
+      application if they occur?  [false]</li>
+  <li><code>useNaming</code> - Should Tomcat provide a JNDI naming context,
+      containing preconfigured entries and resources, corresponding to the
+      requirements of the Java2 Enterprise Edition specification?  [true]</li>
+  <li><code>workDir</code> - Absolute pathname of a scratch directory that is
+      provided to this web application.  [Automatically assigned relative to
+      $CATALINA_BASE/work]</li>
+  </ul>
+
+  <p>Each <em>Context</em> is owned by a parent <em>Host</em>, and is
+  associated with:</p>
+  <ul>
+  <li>An optional <em>Access Logger</em> that logs all requests processed
+      by this web application.</li>
+  <li>Zero or more <em>Environment Entries</em> representing environment
+      entries for the JNDI naming context associated with a web
+      application.</li>
+  <li>Zero or more <em>JDBC Resources</em> representing database connection
+      pools associated with a web application.</li>
+  <li>A <em>Loader</em> representing the web application class loader used
+      by this web application.</li>
+  <li>A <em>Manager</em> representing the session manager used by this
+      web application.</li>
+  <li>An optional <em>Realm</em> used to provide authentication and access
+      control information for this web application.</li>
+  <li>Zero or more <em>Request Filters</em> used to limit access to this
+      web application based on remote host name or IP address.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Default Context"><strong>Default Context</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>A <em>Default Context</em> represents a subset of the configurable
+  properties of a <em>Context</em>, and is used to set defaults for those
+  properties when web applications are automatically deployed.  A <em>Default
+  Context</em> object can be associated with an <em>Engine</em> or a
+  <em>Host</em>.  The following configurable properties are supported:</p>
+  <ul>
+  <li><code>cookies</code> - Should be use cookies for session identifier
+      communication?  [true]</li>
+  <li><code>crossContext</code> - Should calls to
+      <code>ServletContext.getServletContext()</code> return the actual
+      context responsible for the specified path?  [false]</li>
+  <li><code>reloadable</code> - Should Tomcat monitor classes in the
+      <code>/WEB-INF/classes</code> directory for changes, and reload the
+      application if they occur?  [false]</li>
+  <li><code>useNaming</code> - Should Tomcat provide a JNDI naming context,
+      containing preconfigured entries and resources, corresponding to the
+      requirements of the Java2 Enterprise Edition specification?  [true]</li>
+  </ul>
+
+  <p>Each <em>Default Context</em> is owned by a parent <em>Engine</em> or
+  <em>Host</em>, and is associated with:</p>
+  <ul>
+  <li>Zero or more <em>Environment Entries</em> representing environment
+      entries for the JNDI naming context associated with a web
+      application.</li>
+  <li>Zero or more <em>JDBC Resources</em> representing database connection
+      pools associated with a web application.</li>
+  <li>An optional <em>Loader</em> representing default configuration
+      properties for the Loader component of deployed web applications.</li>
+  <li>An optional <em>Manager</em> representing default configuration
+      properties for the Manager component fo deployed web applications.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Default Deployment Descriptor"><strong>Default Deployment Descriptor</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>Default web application characteristics are configured in a special
+  deployment descriptor named <code>$CATALINA_BASE/conf/web.xml</code>.  This
+  section describes the configurable components that may be stored there.</p>
+
+  <p><strong>FIXME</strong> - Complete the description of default servlets,
+  default mappings, default MIME types, and so on.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Engine"><strong>Engine</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>An <em>Engine</em> is the representation of the entire Catalina
+  servlet container, and processes all requests for all of the associated
+  virtual hosts and web applications.</p>
+
+  <p>The standard component implementing an <em>Engine</em> is
+  <code>org.apache.catalina.core.StandardEngine</code>.  It supports the
+  following configurable properties:</p>
+  <ul>
+  <li><code>debug</code> - Debugging detail level.  [0]</li>
+  <li><code>defaultHost</code> - Name of the <em>Host</em> to which requests
+      will be directed if the requested host is unknown.  [localhost]</li>
+  <li><code>name</code> - Logical name of this engine. [Tomcat Stand-Alone]
+      </li>
+  </ul>
+
+  <p>Each <em>Engine</em> is owned by a parent <em>Service</em>, and is
+  associated with:</p>
+  <ul>
+  <li>An optional <em>Access Logger</em> that logs all requests processed
+      by the entire container.</li>
+  <li>A <em>Default Context</em>, representing default properties of a
+      <em>Context</em> for automatically deployed applications for all
+      associated <em>Hosts</em> (unless overridden by a subordinate
+      component).</li>
+  <li>One or more <em>Hosts</em> representing individual virtual hosts
+      supported by this container.</li>
+  <li>A <em>Realm</em> used to provide authentication and access control
+      information for all virtual hosts and web applications (unless
+      overridden by a subordinate component).</li>
+  <li>Zero or more <em>Request Filters</em> used to limit access to the
+      entire container based on remote host name or IP address.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Environment Entry"><strong>Environment Entry</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>An <em>Environment Entry</em> is the representation of a
+  <code>&lt;env-entry&gt;</code> element from a web application deployment
+  descriptor.  It will cause the creation of a corresponding entry in the
+  JNDI naming context provided to the corresponding <em>Context</em>.  The
+  following configurable properties are supported:</p>
+  <ul>
+  <li><code>description</code> - Description of this environment entry.</li>
+  <li><code>name</code> - Environment entry name (relative to the
+      <code>java:comp/env</code> context)</li>
+  <li><code>type</code> - Environment entry type (must be one of the fully
+      qualified Java classes listed in the servlet spec).</li>
+  <li><code>value</code> - Environment entry value (must be convertible from
+      String to the specified <code>type</code>.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Host"><strong>Host</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>A <em>Host</em> is the representation of an individual virtual host,
+  which has a unique set of associated web applications.</p>
+
+  <p>The standard component implementing a <em>Host</em> is
+  <code>org.apache.catalina.core.StandardHost</code>.  It supports the
+  following configurable properties:</p>
+  <ul>
+  <li><code>aliases</code> - Zero or more DNS names that are also associated
+      with this host (for example, a particular host might be named
+      <code>www.mycompany.com</code> with an alias <code>company.com</code>).
+      </li>
+  <li><code>appBase</code> - Absolute or relative (to $CATALINA_BASE) path
+      to a directory from which web applications will be automatically
+      deployed.</li>
+  <li><code>debug</code> - Debugging detail level.  [0]</li>
+  <li><code>name</code> - DNS Name of the virtual host represented by this
+      object.</li>
+  <li><code>unpackWARs</code> - Should web application archive files
+      deployed by this virtual host be unpacked first?  [true]</li>
+  </ul>
+
+  <p>Each <em>Host</em> is owned by a parent <em>Engine</em>, and is
+  associated with:</p>
+  <ul>
+  <li>An optional <em>Access Logger</em> that logs all requests processed
+      by this virtual host.</li>
+  <li>One or more <em>Contexts</em> representing the web applications
+      operating on this <em>Host</em>.</li>
+  <li>A <em>Default Context</em> representing default <em>Context</em>
+      properties for web applications that are automatically deployed
+      by this <em>Host</em>.</li>
+  <li>A optional <em>Realm</em> used to provide authentication and access
+      control information for all web applications associated with this
+      virtual host (unless overridden by a subordinate component).</li>
+  </ul>
+
+  <p><strong>FIXME</strong> - Should we support configuration of the
+  User Web Applications functionality?</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JDBC Resource"><strong>JDBC Resource</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>A <em>JDBC Resources</em> represents a database connection pool (i.e.
+  an implementation of <code>javax.sql.DataSource</code> that will be
+  configured and made available in the JNDI naming context associated with
+  a web application.</p>
+
+  <p><strong>FIXME</strong> - properties of this administered object</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Loader"><strong>Loader</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>A <em>Loader</em> represents a web application class loader that will
+  be utilized to provide class loading services for a particular
+  <em>Context</em>.</p>
+
+  <p>The standard component implementing a <em>Loader</em> is
+  <code>org.apache.catalina.loader.StandardLoader</code>.  It supports
+  the following configurable properties:</p>
+  <ul>
+  <li><code>checkInterval</code> - Number of seconds between checks for
+      modified classes, if automatic reloading is enabled.  [15]</li>
+  <li><code>debug</code> - Debugging detail level.  [0]</li>
+  <li><code>reloadable</code> - Should this class loader check for modified
+      classes and initiate automatic reloads?  [Set automatically from the
+      <code>reloadable</code> property of the corresponding <em>Context</em>]
+      </li>
+  </ul>
+
+  <p>Each <em>Loader</em> is owned by a parent <em>Context</em>.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Manager"><strong>Manager</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>A <em>Manager</em> represents a session manager that will be associated
+  with a particular web application.  <strong>FIXME</strong> - Add support
+  for advanced session managers and their associated Stores.</p>
+
+  <p>The standard component implementing a <em>Manager</em> is
+  <code>org.apache.catalina.session.StandardManager</code>.  It supports
+  the following configurable properties:</p>
+  <ul>
+  <li><code>checkInterval</code> - Number of seconds between checks for
+      expired sessions.  [60]</li>
+  <li><code>debug</code> - Debugging detail level.  [0]</li>
+  <li><code>entropy</code> - String initialization parameter used to increase
+      the entropy (initial randomness) of the random number generator used to
+      create session identifiers.  [Inferred from engine, host, and context]
+      </li>
+  <li><code>maxActiveSessions</code> - The maximum number of active sessions
+      that are allowed, or -1 for no limit.  [-1]</li>
+  </ul>
+
+  <p>Each <em>Manager</em> is owned by a parent <em>Context</em>.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Realm"><strong>Realm</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>A <em>Realm</em> represents a "database" of information about authorized
+  users, their passwords, and the security roles assigned to them.  This will
+  be used by the container in the implementation of container-managed security
+  in accordance with the Servlet Specification.  Several alternative
+  implementations are supported.</p>
+
+  <p><code>org.apache.catalina.realm.MemoryRealm</code> initializes its user
+  information from a simple XML file at startup time.  If changes are made
+  to the information in this file, the corresponding web applications using
+  it must be restarted for the changes to take effect.  It supports the
+  following configurable properties:</p>
+  <ul>
+  <li><code>debug</code> - Debugging detail level.  [0]</li>
+  <li><code>pathname</code> - Absolute or relative (to $CATALINA_BASE) path to
+      the XML file containing our user information.  [conf/tomcat-users.xml]
+      </li>
+  </ul>
+
+  <p><code>org.apache.catalina.realm.JDBCRealm</code> uses a relational
+  database (accessed via JDBC APIs) to contain the user information.  Changes
+  in the contents of this database take effect immediately; however, the roles
+  assigned to a particular user are calculated only when the user initially
+  logs on (and not per request).  The following configurable properties
+  are supported:</p>
+  <ul>
+  <li><code>connectionName</code> - Database username to use when establishing
+      a JDBC connection.</li>
+  <li><code>connectionPassword</code> - Database password to use when
+      establishing a JDBC connection.</li>
+  <li><code>connectionURL</code> - Connection URL to use when establishing
+      a JDBC connection.</li>
+  <li><code>debug</code> - Debugging detail level.  [0]</li>
+  <li><code>digest</code> - Name of the <code>MessageDigest</code> algorithm
+      used to encode passwords in the database, or a zero-length string for
+      no encoding.  [Zero-length String]</li>
+  <li><code>driverName</code> - Fully qualified Java class name of the JDBC
+      driver to be utilized.</li>
+  <li><code>roleNameCol</code> - Name of the column, in the User Roles table,
+      which contains the role name.</li>
+  <li><code>userCredCol</code> - Name of the column, in the Users table,
+      which contains the password (encrypted or unencrypted).</li>
+  <li><code>userNameCol</code> - Name of the column, in both the Users and
+      User Roles tables, that contains the username.</li>
+  <li><code>userRoleTable</code> - Name of the User Roles table, which contains
+      one row per security role assigned to a particular user.  This table must
+      contain the columns specified by the <code>userNameCol</code> and
+      <code>roleNameCol</code> properties.</li>
+  <li><code>userTable</code> - Name of the Users table, which contains one row
+      per authorized user.  This table must contain the columns specified by
+      the <code>userNameCol</code> and <code>userCredCol</code> properties.
+      </li>
+  </ul>
+
+  <p><strong>FIXME</strong> - Should we provide mechanisms to edit the contents
+  of a "tomcat-users.xml" file through the admin applications?</p>
+
+  <p>Each <em>Realm</em> is owned by a parent <em>Engine</em>, <em>Host</em>,
+  or <em>Context</em>.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Request Filter"><strong>Request Filter</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p><strong>FIXME</strong> - complete this entry</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Server"><strong>Server</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p><strong>FIXME</strong> - complete this entry</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Service"><strong>Service</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p><strong>FIXME</strong> - complete this entry</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/funcspecs/fs-admin-opers.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/funcspecs/fs-admin-opers.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/funcspecs/fs-admin-opers.html	(revision 66)
@@ -0,0 +1,265 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Catalina Functional Specifications - Administrative Apps - Supported Operations</title><meta value="Craig McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      Catalina Functional Specifications
+    " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Functional Specs</a></li></ul><p><strong>Administrative Apps</strong></p><ul><li><a href="fs-admin-apps.html">Overall Requirements</a></li><li><a href="mbean-names.html">Tomcat MBean Names</a></li><li><a href="fs-admin-objects.html">Administered Objects</a></li><li><a href="fs-admin-opers.html">Supported Operations</a></li></ul><p><strong>Internal Servlets</strong></p><ul><li><a href="fs-default.html">Default Servlet</a></li><li><a href="fs-invoker.html">Invoker Servlet</a></li></ul><p><strong>Realm Implementations</strong></p><ul><li><a href="fs-jdbc-realm.html">JDBC Realm</a></li><li><a href="fs-jndi-realm.html">JNDI Realm</a></li><li><a href="fs-memory-realm.html">Memory Realm</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Catalina Functional Specifications</h1><h2>Administrative Apps - Supported Operations</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/fs-admin-opers.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Supported Operations Overview"><strong>Supported Operations Overview</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>This document defines the <em>Supported Operations</em> that may
+be performed against the <a href="fs-admin-objects.html">Administered
+Objects</a> that are supported by Tomcat 6 administrative applications.
+Not all operations are required to be available through every administrative
+application that is implemented.  However, if a given operation is available,
+it should operate consistently with the descriptions found here.</p>
+
+<p>Supported Operations are described for the following Administered
+Objects:</p>
+<ul>
+<li><a href="#Access Logger">Access Logger</a></li>
+<li><a href="#Connector">Connector</a></li>
+<li><a href="#Context">Context</a></li>
+<li><a href="#Default Context">Default Context</a></li>
+<li><a href="#Engine">Engine</a></li>
+<li><a href="#Environment Entry">Environment Entry</a></li>
+<li><a href="#Host">Host</a></li>
+<li><a href="#JDBC Resource">JDBC Resource</a></li>
+<li><a href="#Loader">Loader</a></li>
+<li><a href="#Manager">Manager</a></li>
+<li><a href="#Realm">Realm</a></li>
+<li><a href="#Request Filter">Request Filter</a></li>
+<li><a href="#Server">Server</a></li>
+<li><a href="#Service">Service</a></li>
+</ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Access Logger"><strong>Access Logger</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>From the perspective of a particular <em>Access Logger</em>, it shall
+  be possible to perform the following administrative operations:</p>
+  <ul>
+  <li>Navigate to the owning <em>Engine</em>, <em>Host</em>, or
+      <em>Context</em>.</li>
+  <li>Edit the configurable properties of this object.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Connector"><strong>Connector</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>From the perspective of a particular <em>Connector</em>, it shall be
+  possible to perform the following administrative operations:</p>
+  <ul>
+  <li>Navigate to the owning <em>Service</em>.</li>
+  <li>Edit the configurable properties of this object.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Context"><strong>Context</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>From the perspective of a particular <em>Context</em>, it shall be
+  possible to perform the following administrative operations:</p>
+  <ul>
+  <li>Navigate to the owning <em>Host</em>.</li>
+  <li>Edit the configurable properties of this object.</li>
+  <li>Create and configure a new <em>Access Logger</em> associated
+      with this object.</li>
+  <li>Edit the configurable properties of the associated <em>Access
+      Logger</em>.</li>
+  <li>Remove the associated <em>Access Logger</em>.</li>
+  <li>Create and configure a new <em>Environment Entry</em> associated
+      with this object.</li>
+  <li>Select and edit the configurable properties of an associated
+      <em>Environment Entry</em>.</li>
+  <li>Remove an associated <em>Environment Entry</em>.</li>
+  <li>Create and configure a new <em>JDBC Resource</em> associated
+      with this object.</li>
+  <li>Select and edit the configurable properties of an associated
+      <em>JDBC Resource</em>.</li>
+  <li>Remove an associated <em>JDBC Resource</em>.</li>
+  <li>Create and configure a new <em>Loader</em> associated with
+      this object.</li>
+  <li>Edit the configurable properties of the associated <em>Loader</em>.</li>
+  <li>Remove the associated <em>Loader</em>.</li>
+  <li>Create and configure a new <em>Manager</em> associated with
+      this object.</li>
+  <li>Edit the configurable properties of the associated <em>Manager</em>.</li>
+  <li>Remove the associated <em>Manager</em>.</li>
+  <li>Create and configure a new <em>Realm</em> associated with
+      this object.</li>
+  <li>Edit the configurable properties of the associated <em>Realm</em>.</li>
+  <li>Remove the associated <em>Realm</em>.</li>
+  <li>Create and configure a new <em>Request Filter</em> associated with
+      this object.</li>
+  <li>Select and edit the configurable properties of an
+      associated <em>Request Filter</em></li>
+  <li>Remove an associated <em>Request Filter</em>.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Default Context"><strong>Default Context</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>From the perspective of a particular <em>Default Context</em>, it shall
+  be possible to perform the following administrative operations:</p>
+  <ul>
+  <li>Navigate to the owning <em>Engine</em> or <em>Host</em>.</li>
+  <li>Edit the configurable properties of this object.</li>
+  <li>Create and configure a new <em>Environment Entry</em> associated
+      with this object.</li>
+  <li>Select and edit the configurable properties of an associated
+      <em>Environment Entry</em>.</li>
+  <li>Remove an associated <em>Environment Entry</em>.</li>
+  <li>Create and configure a new <em>JDBC Resource</em> associated
+      with this object.</li>
+  <li>Select and edit the configurable properties of an associated
+      <em>JDBC Resource</em>.</li>
+  <li>Remove an associated <em>JDBC Resource</em>.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Engine"><strong>Engine</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>From the perspective of a particular <em>Engine</em>, it shall be
+  possible to perform the following administrative operations:</p>
+  <ul>
+  <li>Navigate to the owning <em>Service</em>.</li>
+  <li>Edit the configurable properties of this object.</li>
+  <li>Create and configure a new <em>Access Logger</em> associated
+      with this object.</li>
+  <li>Edit the configurable properties of the associated <em>Access
+      Logger</em>.</li>
+  <li>Remove the associated <em>Access Logger</em>.</li>
+  <li>Create and configure a new <em>Default Context</em> associated
+      with this object.</li>
+  <li>Edit the configurable properties of the associated <em>Default
+      Context</em>.</li>
+  <li>Remove the associated <em>Default Context</em>.</li>
+  <li>Create and configure a new <em>Host</em> associated with
+      this object.</li>
+  <li>Select and edit the configurable properties of an
+      associated <em>Host</em>.</li>
+  <li>Remove an associated <em>Host</em>.</li>
+  <li>Create and configure a new <em>Realm</em> associated with
+      this object.</li>
+  <li>Edit the configurable properties of the associated <em>Realm</em>.</li>
+  <li>Remove the associated <em>Realm</em>.</li>
+  <li>Create and configure a new <em>Request Filter</em> associated with
+      this object.</li>
+  <li>Select and edit the configurable properties of an
+      associated <em>Request Filter</em></li>
+  <li>Remove an associated <em>Request Filter</em>.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Environment Entry"><strong>Environment Entry</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>From the perspective of a particular <em>Environment Entry</em>, it shall
+  be possible to perform the following administrative operations:</p>
+  <ul>
+  <li>Navigate to the owning <em>Context</em> or <em>Default Context</em>.</li>
+  <li>Edit the configurable properties of this object.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Host"><strong>Host</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>From the perspective of a particular <em>Host</em>, it shall be
+  possible to perform the following administrative operations:</p>
+  <ul>
+  <li>Navigate to the owning <em>Engine</em>.</li>
+  <li>Edit the configurable properties of this object.</li>
+  <li>Create and configure a new <em>Access Logger</em> associated
+      with this object.</li>
+  <li>Edit the configurable properties of the associated <em>Access
+      Logger</em>.</li>
+  <li>Remove the associated <em>Access Logger</em>.</li>
+  <li>Create and configure a new <em>Context</em> associated with
+      this object.</li>
+  <li>Select and edit the configurable properties of an associated
+      <em>Context</em>.</li>
+  <li>Remove an associated <em>Context</em>.</li>
+  <li>Create and configure a new <em>Default Context</em> associated
+      with this object.</li>
+  <li>Edit the configurable properties of the associated <em>Default
+      Context</em>.</li>
+  <li>Remove the associated <em>Default Context</em>.</li>
+  <li>Create and configure a new <em>Realm</em> associated with
+      this object.</li>
+  <li>Edit the configurable properties of the associated <em>Realm</em>.</li>
+  <li>Remove the associated <em>Realm</em>.</li>
+  <li>Create and configure a new <em>Request Filter</em> associated with
+      this object.</li>
+  <li>Select and edit the configurable properties of an
+      associated <em>Request Filter</em></li>
+  <li>Remove an associated <em>Request Filter</em>.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JDBC Resource"><strong>JDBC Resource</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>From the perspective of a particular <em>JDBC Resource</em>, it shall
+  be possible to perform the following administrative operations:</p>
+  <ul>
+  <li>Navigate to the owning <em>Context</em> or <em>Default Context</em>.</li>
+  <li>Edit the configurable properties of this object.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Loader"><strong>Loader</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>From the perspective of a particular <em>Loader</em>, it shall
+  be possible to perform the following administrative operations:</p>
+  <ul>
+  <li>Navigate to the owning <em>Context</em>.</li>
+  <li>Edit the configurable properties of this object.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Manager"><strong>Manager</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>From the perspective of a particular <em>Manager</em>, it shall
+  be possible to perform the following administrative operations:</p>
+  <ul>
+  <li>Navigate to the owning <em>Context</em>.</li>
+  <li>Edit the configurable properties of this object.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Realm"><strong>Realm</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>From the perspective of a particular <em>Realm</em>, it shall
+  be possible to perform the following administrative operations:</p>
+  <ul>
+  <li>Navigate to the owning <em>Engine</em>, <em>Host</em>, or
+      <em>Context</em>.</li>
+  <li>Edit the configurable properties of this object.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Request Filter"><strong>Request Filter</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>From the perspective of a particular <em>Request Filter</em>, it shall
+  be possible to perform the following administrative operations:</p>
+  <ul>
+  <li>Navigate to the owning <em>Engine</em>, <em>Host</em>, or
+      <em>Context</em>.</li>
+  <li>Edit the configurable properties of this object.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Server"><strong>Server</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>From the perspective of the overall <em>Server</em>, it shall be
+  possible to perform the following administrative operations:</p>
+  <ul>
+  <li>Edit the configurable properties of this object.</li>
+  <li>Create and configure a new <em>Service</em> associated with
+      this object.</li>
+  <li>Select and edit the configurable properties of an associated
+      <em>Service</em>.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Service"><strong>Service</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>From the perspective of a particular <em>Service</em>, it shall be
+  possible to perform the following administrative operations:</p>
+  <ul>
+  <li>Navigate to the owning <em>Server</em>.</li>
+  <li>Edit the configurable properties of this object.</li>
+  <li>Create and configure a new <em>Connector</em> associated with
+      this object.</li>
+  <li>Select and edit the configurable properties of an associated
+      <em>Connector</em>.</li>
+  <li>Remove an associated <em>Connector</em>.</li>
+  <li>Create and configure a new <em>Engine</em> associated with
+      this object.</li>
+  <li>Edit the configurable properties of the associated <em>Engine</em>.</li>
+  <li>Remove the associated <em>Engine</em>.</li>
+  </ul>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/funcspecs/fs-default.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/funcspecs/fs-default.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/funcspecs/fs-default.html	(revision 66)
@@ -0,0 +1,226 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Catalina Functional Specifications - Default Servlet</title><meta value="Craig McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      Catalina Functional Specifications
+    " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Functional Specs</a></li></ul><p><strong>Administrative Apps</strong></p><ul><li><a href="fs-admin-apps.html">Overall Requirements</a></li><li><a href="mbean-names.html">Tomcat MBean Names</a></li><li><a href="fs-admin-objects.html">Administered Objects</a></li><li><a href="fs-admin-opers.html">Supported Operations</a></li></ul><p><strong>Internal Servlets</strong></p><ul><li><a href="fs-default.html">Default Servlet</a></li><li><a href="fs-invoker.html">Invoker Servlet</a></li></ul><p><strong>Realm Implementations</strong></p><ul><li><a href="fs-jdbc-realm.html">JDBC Realm</a></li><li><a href="fs-jndi-realm.html">JNDI Realm</a></li><li><a href="fs-memory-realm.html">Memory Realm</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Catalina Functional Specifications</h1><h2>Default Servlet</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/fs-default.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Overview"><strong>Overview</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The purpose of the <strong>Default Servlet</strong> is to serve
+    static resources of a web application in response to client requests.
+    As the name implies, it is generally configured as the "default"
+    servlet for a web application, by being mapped to a URL pattern "/".</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="External Specifications"><strong>External Specifications</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The following external specifications have provisions which
+    partially define the correct behavior of the default servlet:</p>
+    <ul>
+    <li><a href="http://java.sun.com/products/servlet/download.html">
+        Servlet Specification</a> (Version 2.3 PFD2)</li>
+    <li><a href="http://www.rfc-editor.org/rfc/rfc2046.txt">Multipurpose
+        Internet Mail Extensions (MIME) Part Two: Media Types</a></li>
+    <li><a href="http://www.rfc-editor.org/rfc/rfc2616.txt">Hypertext
+        Transfer Protocol -- HTTP/1.1</a></li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Implementation Requirements"><strong>Implementation Requirements</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The implementation of this functionality shall conform to the
+    following requirements:</p>
+    <ul>
+    <li>Must be implemented as a servlet.</li>
+    <li>Must support configurable parameters for debugging detail level,
+        input buffer size, output buffer size, whether or not to produce
+        directory listings when no welcome file is present, and whether or not
+        modifications are supported via DELETE and PUT.</li>
+    <li>Log debugging and operational messages (suitably internationalized)
+        via the <code>getServletContext().log()</code> method.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Dependencies"><strong>Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Environmental Dependencies"><strong>Environmental Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The following environmental dependencies must be met in order for
+    the default servlet to operate correctly:</p>
+    <ul>
+    <li>The default servlet must be registered in the application deployment
+        descriptor (or the default deployment descriptor in file
+        <code>$CATALINA_BASE/conf/web.xml</code>) using a "default servlet"
+        servlet mapping, signified by URL pattern "/".</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Container Dependencies"><strong>Container Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>Correct operation of the default servlet depends on the following
+    specific features of the surrounding container:</p>
+    <ul>
+    <li>The container shall provide a servlet context attribute that
+        lists the welcome file names that have been defined for this
+        web application.</li>
+    <li>The container shall provide a servlet context attribute that
+        contains a <code>javax.naming.directory.DirContext</code>
+        implementation representing the static resources of this
+        web application.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Functionality"><strong>Functionality</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Initialization Functionality"><strong>Initialization Functionality</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The following processing must be performed when the <code>init()</code>
+    method of the invoker servlet is called:</p>
+    <ul>
+    <li>Process and sanity check configuration parameters.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Per-Request Functionality"><strong>Per-Request Functionality</strong></a></font></td></tr><tr><td><blockquote>
+
+
+    <p>For all HTTP request methods, the resource path is determined from
+    the path information provided to this request, either as request attribute
+    <code>javax.servlet.include.path_info</code> (for a request dispatcher
+    access to a static resource) or by calling
+    <code>request.getPathInfo()</code> directly.</p>
+
+    <p>On each HTTP DELETE request processed by this servlet, the following
+    processing shall be performed:</p>
+    <ul>
+    <li>If modifications to the static resources are not allowed (set by a
+        configuration parameter), return HTTP status 403 (forbidden).</li>
+    <li>If an attempt is made to delete a resource from <code>/META-INF</code>
+        or <code>/WEB-INF</code>, return HTTP status 403 (forbidden).</li>
+    <li>If the requested resource does not exist, return HTTP status 404
+        (not found)</li>
+    <li>Unbind the resource from the directory context containing the
+        static resources for this web application.  If successful, return
+        HTTP status 204 (no content).  Otherwise, return HTTP status 405
+        (method not allowed).</li>
+    </ul>
+
+
+    <p>On each HTTP GET request processed by this servlet, the following
+    processing shall be performed:</p>
+    <ul>
+    <li>If the request is for a resource under <code>/META-INF</code> or
+        <code>/WEB-INF</code>, return HTTP status 404 (not found).</li>
+    <li>If the requested resource does not exist, return HTTP status 404
+        (not found).</li>
+    <li>If the requested resource is not a directory, but the resource
+        path ends in "/" or "\", return HTTP status 404 (not found).</li>
+    <li>If the requested resource is a directory:
+        <ul>
+        <li>If the request path does not end with "/", redirect to a
+            corresponding path with "/" appended so that relative references
+            in welcome files are resolved correctly.</li>
+        <li>If one of the specified welcome files exists, redirect to the
+            path for that welcome file so that it will be served explicitly.
+            </li>
+        </ul></li>
+    <li>If the request being processed contains an <code>If-Range</code>
+        header, perform the processing described in the HTTP/1.1 specification
+        to determine whether the client's information is up to date.</li>
+    <li>Determine the content type of the response, by looking up the
+        corresponding MIME type in our servlet context.</li>
+    <li>If the requested resource is a directory:
+        <ul>
+        <li>If directory listings are suppressed, return HTTP status 404
+            (not found).</li>
+        <li>Set the content type to <code>text/html</code>.</li>
+        </ul></li>
+    <li>Determine the range(s) to be returned, based on the existence of
+        any <code>If-Range</code> and <code>Range</code> headers.</li>
+    <li>If the requested resource is a directory, include an <code>ETag</code>
+        header in the response, with the value calculated based on the content
+        of the directory.</li>
+    <li>Include a <code>Last-Modified</code> header in the response documenting
+        the date/time that the resource was last modified.</li>
+    <li>Unless we are processing a HEAD request, include the appropriate
+        content (or content ranges) in the response.</li>
+    </ul>
+
+    <p>On each HTTP HEAD request processed by this servlet, the following
+    processing shall be performed:</p>
+    <ul>
+    <li>Processed identically to an HTTP GET request, except that the data
+        content is not transmitted after the headers.</li>
+    </ul>
+
+    <p>On each HTTP POST request processed by this servlet, the following
+    processing shall be performed:</p>
+    <ul>
+    <li>Processed identically to an HTTP GET request.</li>
+    </ul>
+
+
+    <p>On each HTTP PUT request processed by this servlet, the following
+    processing shall be perfomred:</p>
+    <ul>
+    <li>If modifications to the static resources are not allowed (set by a
+        configuration parameter), return HTTP status 403 (forbidden).</li>
+    <li>If an attempt is made to delete a resource from <code>/META-INF</code>
+        or <code>/WEB-INF</code>, return HTTP status 403 (forbidden).</li>
+    <li>Create a new resource from the body of this request.</li>
+    <li>Bind or rebind the specified path to the new resource (depending on
+        whether it currently exists or not).  Return HTTP status as follows:
+        <ul>
+        <li>If binding was unsuccessful, return HTTP status 409 (conflict).
+            </li>
+        <li>If binding was successful and the resource did not previously
+            exist, return HTTP status 201 (created).</li>
+        <li>If binding was successful and the resource previously existed,
+            return HTTP status 204 (no content).</li>
+        </ul></li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Finalization Functionality"><strong>Finalization Functionality</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>No specific processing is required when the <code>destroy()</code>
+    method is called:</p>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Testable Assertions"><strong>Testable Assertions</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>In addition the the assertions implied by the functionality requirements
+  listed above, the following additional assertions shall be tested to
+  validate the behavior of the invoker servlet:</p>
+  <ul>
+  <li>Requests for resources that do not exist in the web application must
+      return HTTP status 404 (not found).</li>
+  <li>The default servlet must operate identically for web applications that
+      are run out of a WAR file directly, or from an unpacked directory
+      structure.</li>
+  <li>If the web application is running out of an unpacked directory
+      structure, the default servlet must recognize cases where the resource
+      has been updated through external means.</li>
+  </ul>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/funcspecs/fs-invoker.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/funcspecs/fs-invoker.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/funcspecs/fs-invoker.html	(revision 66)
@@ -0,0 +1,221 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Catalina Functional Specifications - Invoker Servlet</title><meta value="Craig McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      Catalina Functional Specifications
+    " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Functional Specs</a></li></ul><p><strong>Administrative Apps</strong></p><ul><li><a href="fs-admin-apps.html">Overall Requirements</a></li><li><a href="mbean-names.html">Tomcat MBean Names</a></li><li><a href="fs-admin-objects.html">Administered Objects</a></li><li><a href="fs-admin-opers.html">Supported Operations</a></li></ul><p><strong>Internal Servlets</strong></p><ul><li><a href="fs-default.html">Default Servlet</a></li><li><a href="fs-invoker.html">Invoker Servlet</a></li></ul><p><strong>Realm Implementations</strong></p><ul><li><a href="fs-jdbc-realm.html">JDBC Realm</a></li><li><a href="fs-jndi-realm.html">JNDI Realm</a></li><li><a href="fs-memory-realm.html">Memory Realm</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Catalina Functional Specifications</h1><h2>Invoker Servlet</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/fs-invoker.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Overview"><strong>Overview</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The purpose of the <strong>Invoker Servlet</strong> is to allow a
+    web application to dynamically register new <em>servlet definitions</em>
+    that correspond with a <code>&lt;servlet&gt;</code> element in the
+    <code>/WEB-INF/web.xml</code> deployment descriptor, and execute
+    requests utilizing the new servlet definitions.  From the perspective
+    of the newly registered servlets, all servlet lifecycle requirements
+    of the Servlet Specification (such as calling <code>init()</code> and
+    <code>destroy()</code> at the correct times) will be respected.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="External Specifications"><strong>External Specifications</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>I do not know of any formal specification of the behavior of an
+    invoker servlet that is publicly available.  Anyone know of one?</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Implementation Requirements"><strong>Implementation Requirements</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The implementation of this functionality shall conform to the
+    following requirements:</p>
+    <ul>
+    <li>Implemented as a servlet.</li>
+    <li>Exist in the <code>org.apache.catalina.servlets</code> package
+        so that it can be loaded by the Catalina class loader.</li>
+    <li>Implement the <code>org.apache.catalina.ContainerServlet</code>
+        interface, so that it gains knowledge of the <code>Wrapper</code>
+        that is responsible for itself and, therefore, access to other
+        internal Catalina components.</li>
+    <li>Support a configurable debugging detail level.</li>
+    <li>Log debugging and operational messages (suitably internationalized)
+        via the <code>getServletContext().log()</code> method.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Dependencies"><strong>Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Environmental Dependencies"><strong>Environmental Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The following environmental dependencies must be met in order for
+    the Invoker servlet to operate correctly:</p>
+    <ul>
+    <li>The invoker servlet must be registered in the application deployment
+        descriptor (or the default deployment descriptor in file
+        <code>$CATALINA_BASE/conf/web.xml</code>) using a "path mapped"
+        servlet mapping.  The historical default mapping is to URL pattern
+        "<code>/servlet/*</code>", although the invoker servlet must operate
+        correctly with an arbitrary mapping.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Container Dependencies"><strong>Container Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>Correct operation of the invoker servlet depends on the following
+    specific features of the surrounding container:</p>
+    <ul>
+    <li>Correct support for the <code>ContainerServlet</code> interface,
+        including calling <code>setWrapper()</code> <strong>before</strong>
+        the <code>init()</code> method of the invoker servlet is called.</li>
+    <li>The web application class loader must be stored as the context
+        class loader of the request processing thread.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Functionality"><strong>Functionality</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Initialization Functionality"><strong>Initialization Functionality</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The following processing must be performed when the <code>init()</code>
+    method of the invoker servlet is called:</p>
+    <ul>
+    <li>Ensure that the container has called <code>setWrapper()</code>.  If
+        not, throw a permanent <code>UnavailableException</code>.</li>
+    <li>Look up and cache the <code>Context</code> that corresponds to our
+        <code>Wrapper</code>.  This is the component with which new servlet
+        definitions and mappings will be registered.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Per-Request Functionality"><strong>Per-Request Functionality</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>On each request, the following processing shall be performed:</p>
+    <ol>
+    <li>Calculate the <code>{ServletPath}</code> for this request, either from
+        request attribute <code>javax.servlet.include.servlet_path</code> or
+        by calling <code>request.getServletPath()</code>.</li>
+    <li>Calculate the <code>{PathInfo}</code> for this request, either from
+        request attribute <code>javax.servlet.include.path_info</code> or
+        by calling <code>request.getPathInfo()</code>.  If the calculated
+        <code>{PathInfo}</code> is null, return HTTP status 400
+        (bad request).</li>
+    <li>Parse the calculated <code>{PathInfo}</code> value as follows:
+        <ol>
+        <li>Ignore the leading slash character.</li>
+        <li>Accumulate characters up to the next '/' (if any) as the
+            <code>{ServletSelector}</code>.</li>
+        <li>If a '/' was encountered, accumulate all characters from that
+            slash (inclusive) to the end of the string as
+            <code>{PathRemainder}</code>.  If no slash was encountered,
+            set <code>{PathRemainder}</code> to a zero-length string.</li>
+        </ol></li>
+    <li>Determine whether <code>{ServletSelector}</code> is the name of an
+        existing servlet definition, and process it as follows:
+        <ol>
+        <li>Ask our associated <code>Context</code> to find and return a
+            child <code>Wrapper</code> named <code>{ServletSelector}</code>.
+            </li>
+        <li>If there is no such child, skip to the next major step.</li>
+        <li>Register a new servlet mapping for this <code>Wrapper</code>,
+            using a URL pattern calculated as follows:
+            <code>{ServletPath}</code> + "/" + <code>{ServletSelector}</code>
+            + "/*"</li>
+        <li>Create a request dispatcher using a path calculated as follows:
+            <code>{ServletPath}</code> + "/" + <code>{ServletSelector}</code>
+            + <code>{PathRemainder}</code></li>
+        <li>Forward this request to the created request dispatcher, and
+            exit from this request.</li>
+        </ol></li>
+    <li>Assume that <code>{ServletSelector}</code> is the fully qualified
+        name of a Java class that implements <code>javax.servlet.Servlet</code>
+        and process it as follows:
+        <ol>
+        <li>Synthesize a new <code>{ServletName}</code> for the servlet
+            definition that will be created.</li>
+        <li>If there is already a child <code>Wrapper</code> associated with
+            this name, return HTTP status 500 (internal server error), because
+            a mapping should have already been created for this servlet.</li>
+        <li>Attempt to load a class named <code>{ServletSelector}</code> from
+            the web application class loader (i.e. the context class loader
+            for our current thread).  If this fails, return HTTP status 404
+            (not found).</li>
+        <li>Instantiate an instance of this class.  If an error occurs,
+            return HTTP status 404 (not found).</li>
+        <li>If this class does not implement the
+            <code>javax.servlet.Servlet</code> interface, return HTTP status
+            404 (not found).</li>
+        <li>Create and register a new <code>Wrapper</code> child with our
+            <code>Context</code>, under name <code>{ServletName}</code>.</li>
+        <li>Register a new servlet mapping for this <code>Wrapper</code>,
+            using a URL pattern calculated as follows:
+            <code>{ServletPath}</code> + "/" + <code>{ServletSelector}</code>
+            + "/*"</li>
+        <li>Create a request dispatcher using a path calculated as follows:
+            <code>{ServletPath}</code> + "/" + <code>{ServletSelector}</code>
+            + <code>{PathRemainder}</code></li>
+        <li>Forward this request to the created request dispatcher, and
+            exit from this request.</li>
+        </ol></li>
+    </ol>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Finalization Functionality"><strong>Finalization Functionality</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>No specific processing is required when the <code>destroy()</code>
+    method is called:</p>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Testable Assertions"><strong>Testable Assertions</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>In addition the the assertions implied by the functionality requirements
+  listed above, the following additional assertions shall be tested to
+  validate the behavior of the invoker servlet:</p>
+  <ul>
+  <li>It is possible to access an existing servlet definition by name
+      through the invoker.  The existing servlet definition can include
+      either a <code>&lt;servlet-class&gt;</code> or
+      <code>&lt;jsp-file&gt;</code> subelement.</li>
+  <li>When an existing servlet definition is accessed by name, the request
+      will be ultimately processed by the same servlet instance that would
+      have processed it had a mapping to that servlet definition been used
+      on the request directly.</li>
+  <li>It is possible to access an anonymous servlet by class name
+      through the invoker.</li>
+  <li>When an anonymous servlet is accessed, the servlet instance is processed
+      according to the lifecycle requirements of the Servlet Specification.
+      </li>
+  <li>When an anonymous servlet is accessed, the servlet instance receives
+      a <code>ServletConfig</code> instance with no servlet initialization
+      parameters.</li>
+  <li>It is possible to utilize the invoker servlet via a direct request.</li>
+  <li>It is possible to utilize the invoker servlet via a call to
+      <code>RequestDispatcher.forward()</code>, or the corresponding
+      <code>&lt;jsp:forward&gt;</code> tag in a JSP page.</li>
+  <li>It is possible to utilize the invoker servlet via a call to
+      <code>RequestDispatcher.include()</code>, or the corresponding
+      <code>&lt;jsp:include&gt;</code> tag in a JSP page.</li>
+  <li>It is possible to use any HTTP method (including GET and POST) that
+      is supported by the Servlet class that is ultimately executed.</li>
+  <li>The invoker servlet should never be asked to process a second or
+      subsequent request for the same <code>{ServletSelector}</code> (because
+      it will have registered an appropriate servlet mapping.</li>
+  </ul>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/funcspecs/fs-jdbc-realm.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/funcspecs/fs-jdbc-realm.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/funcspecs/fs-jdbc-realm.html	(revision 66)
@@ -0,0 +1,222 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Catalina Functional Specifications - JDBCRealm</title><meta value="Craig McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      Catalina Functional Specifications
+    " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Functional Specs</a></li></ul><p><strong>Administrative Apps</strong></p><ul><li><a href="fs-admin-apps.html">Overall Requirements</a></li><li><a href="mbean-names.html">Tomcat MBean Names</a></li><li><a href="fs-admin-objects.html">Administered Objects</a></li><li><a href="fs-admin-opers.html">Supported Operations</a></li></ul><p><strong>Internal Servlets</strong></p><ul><li><a href="fs-default.html">Default Servlet</a></li><li><a href="fs-invoker.html">Invoker Servlet</a></li></ul><p><strong>Realm Implementations</strong></p><ul><li><a href="fs-jdbc-realm.html">JDBC Realm</a></li><li><a href="fs-jndi-realm.html">JNDI Realm</a></li><li><a href="fs-memory-realm.html">Memory Realm</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Catalina Functional Specifications</h1><h2>JDBCRealm</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/fs-jdbc-realm.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Overview"><strong>Overview</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The purpose of the <strong>JDBCRealm</strong> implementation is to
+    provide a mechanism by which Tomcat 6 can acquire information needed
+    to authenticate web application users, and define their security roles,
+    from a relational database accessed via JDBC APIs.  For integration
+    with Catalina, the resulting class(es) must implement the
+    <code>org.apache.catalina.Realm</code> interface.</p>
+
+    <p>This specification reflects a combination of functionality that is
+    already present in the <code>org.apache.catalina.realm.JDBCRealm</code>
+    class, as well as requirements for enhancements that have been
+    discussed.  Where appropriate, requirements statements are marked
+    <em>[Current]</em> and <em>[Requested]</em> to distinguish them.</p>
+
+    <p>The current status of this functional specification is
+    <strong>PROPOSED</strong>.  It has not yet been discussed and
+    agreed to on the TOMCAT-DEV mailing list.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="External Specifications"><strong>External Specifications</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The implementation of this functionality depends on the following
+    external specifications:</p>
+    <ul>
+    <li><a href="http://java.sun.com/products/jdbc/">Java Database
+        Connectivity</a> (version 2.0 or later)</li>
+    <li><a href="http://java.sun.com/products/jdbc/">Java Database
+        Connectivity Optional Package</a> (version 2.0 or later)</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Implementation Requirements"><strong>Implementation Requirements</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The implementation of this functionality shall conform to the
+    following requirements:</p>
+    <ul>
+    <li>Be realized in one or more implementation classes.</li>
+    <li>Implement the <code>org.apache.catalina.Realm</code> interface.
+        [Current]</li>
+    <li>Implement the <code>org.apache.catalina.Lifecycle</code>
+        interface.  [Current]</li>
+    <li>Subclass the <code>org.apache.catalina.realm.RealmBase</code>
+        base class.</li>
+    <li>Live in the <code>org.apache.catalina.realm</code> package.
+        [Current]</li>
+    <li>Support a configurable debugging detail level. [Current]</li>
+    <li>Log debugging and operational messages (suitably internationalized)
+        via the <code>getContainer().log()</code> method. [Current]</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Dependencies"><strong>Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Environmental Dependencies"><strong>Environmental Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The following environmental dependencies must be met in order for
+    JDBCRealm to operate correctly:</p>
+    <ul>
+    <li>The desire to utilize JDBCRealm must be registered in
+        <code>$CATALINA_BASE/conf/server.xml</code>, in a
+        <code>&lt;Realm&gt;</code> element that is nested inside a
+        corresponding <code>&lt;Engine&gt;</code>, <code>&lt;Host&gt;</code>,
+        or <code>&lt;Context&gt;</code> element.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Container Dependencies"><strong>Container Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>Correct operation of JDBCRealm depends on the following
+    specific features of the surrounding container:</p>
+    <ul>
+    <li>Interactions with <code>JDBCRealm</code> will be initiated by
+        the appropriate <code>Authenticator</code> implementation, based
+        on the login method that is selected.</li>
+    <li><code>JDBCRealm</code> must have the JDBC standard API classes
+        available to it.  For a JDK 1.2 or later container, these APIs
+        are included in the standard platform.</li>
+    <li>When connection pooling is implemented, <code>JDBCRealm</code>
+        must have the JDBC Optional Package (version 2.0 or later) APIs
+        available to it.  This library is available as a separate
+        download (and will be included in Tomcat binary distributions).</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Functionality"><strong>Functionality</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Overview of Operation"><strong>Overview of Operation</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The main purpose of <code>JDBCRealm</code> is to allow Catalina to
+    authenticate users, and look up the corresponding security roles, from
+    the information found in a relational database accessed via JDBC APIs.
+    For maximum flexibility, the details of how this is done (for example,
+    the names of the required tables and columns) should be configurable.</p>
+
+    <p>Each time that Catalina needs to authenticate a user, it will call
+    the <code>authenticate()</code> method of this Realm implementation,
+    passing the username and password that were specified by the user.  If
+    we find the user in the database (and match on the password), we accumulate
+    all of the security roles that are defined for this user, and create a
+    new <code>GenericPrincipal</code> object to be returned.  If the user
+    is not authenticated, we return <code>null</code> instead.  The
+    <code>GenericUser</code> object caches the set of security roles that
+    were owned by this user at the time of authentication, so that calls to
+    <code>isUserInRole()</code> can be answered without going back to the
+    database every time.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Detailed Functional Requirements"><strong>Detailed Functional Requirements</strong></a></font></td></tr><tr><td><blockquote>
+
+
+    <h3>Configurable Properties</h3>
+
+    <p>The implementation shall support the following properties
+    that can be configured with JavaBeans property setters:</p>
+    <ul>
+    <li>Configuration parameters defining the JDBC driver to use, the
+        database connection URL to be accessed, and the username/password
+        to use for logging in. [Current]</li>
+    <li>Configuration parameters describing the connection pool to be
+        created to support simultaneous authentications. [Requested]</li>
+    <li>Name of the tables to be searched for users and roles. [Current]</li>
+    <li>Name of the columns to be used for usernames, passwords, and
+        role names.  [Current]</li>
+    </ul>
+
+    <h3>Lifecycle Functionality</h3>
+
+    <p>The following processing must be performed when the <code>start()</code>
+    method is called:</p>
+    <ul>
+    <li>Establish a connection to the configured database, using the
+        configured username and password.  [Current]</li>
+    <li>Configure and establish a connection pool of connections to the
+        database.  [Requested]</li>
+    </ul>
+
+    <p>The following processing must be performed when the <code>stop()</code>
+    method is called:</p>
+    <ul>
+    <li>Close any opened connections to the database.</li>
+    </ul>
+
+
+    <h3>Method authenticate() Functionality</h3>
+
+    <p>When <code>authenticate()</code> is called, the following processing
+    is required:</p>
+    <ul>
+    <li>Acquire the one and only connection [Current] or acquire a connection
+        from the connection pool [Requested].</li>
+    <li>Select the one and only row from the user's table for this user,
+        and retrieve the corresponding password column.  If zero rows (or
+        more than one row) are found, return <code>null</code>.</li>
+    <li>Authenticate the user by comparing the (possibly encrypted) password
+        value that was received against the password presented by the user.
+        If there is no match, return <code>null</code>.</li>
+    <li>Acquire a <code>List</code> of the security roles assigned to the
+        authenticated user by selecting from the roles table.</li>
+    <li>Construct a new instance of class
+        <code>org.apache.catalina.realm.GenericPrincipal</code>, passing as
+        constructor arguments:  this realm instance, the authenticated
+        username, and a <code>List</code> of the security roles associated
+        with this user.</li>
+    <li><strong>WARNING</strong> - Do not attempt to cache and reuse previous
+        <code>GenericPrincipal</code> objects for a particular user, because
+        the information in the directory server might have changed since the
+        last time this user was authenticated.</li>
+    <li>Return the newly constructed <code>GenericPrincipal</code>.</li>
+    </ul>
+
+
+    <h3>Method hasRole() Functionality</h3>
+
+    <p>When <code>hasRole()</code> is called, the following processing
+    is required:</p>
+    <ul>
+    <li>The <code>principal</code> that is passed as an argument SHOULD
+        be one that we returned (instanceof class
+        <code>org.apache.catalina.realm.GenericPrincipal</code>, with a
+        <code>realm</code> property that is equal to our instance.</li>
+    <li>If the passed <code>principal</code> meets these criteria, check
+        the specified role against the list returned by
+        <code>getRoles()</code>, and return <code>true</code> if the
+        specified role is included; otherwise, return <code>false</code>.</li>
+    <li>If the passed <code>principal</code> does not meet these criteria,
+        return <code>false</code>.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Testable Assertions"><strong>Testable Assertions</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>In addition the the assertions implied by the functionality requirements
+  listed above, the following additional assertions shall be tested to
+  validate the behavior of <code>JDBCRealm</code>:</p>
+  <ul>
+  </ul>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/funcspecs/fs-jndi-realm.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/funcspecs/fs-jndi-realm.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/funcspecs/fs-jndi-realm.html	(revision 66)
@@ -0,0 +1,377 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Catalina Functional Specifications - JNDIRealm</title><meta value="Craig McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      Catalina Functional Specifications
+    " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Functional Specs</a></li></ul><p><strong>Administrative Apps</strong></p><ul><li><a href="fs-admin-apps.html">Overall Requirements</a></li><li><a href="mbean-names.html">Tomcat MBean Names</a></li><li><a href="fs-admin-objects.html">Administered Objects</a></li><li><a href="fs-admin-opers.html">Supported Operations</a></li></ul><p><strong>Internal Servlets</strong></p><ul><li><a href="fs-default.html">Default Servlet</a></li><li><a href="fs-invoker.html">Invoker Servlet</a></li></ul><p><strong>Realm Implementations</strong></p><ul><li><a href="fs-jdbc-realm.html">JDBC Realm</a></li><li><a href="fs-jndi-realm.html">JNDI Realm</a></li><li><a href="fs-memory-realm.html">Memory Realm</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Catalina Functional Specifications</h1><h2>JNDIRealm</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/fs-jndi-realm.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Overview"><strong>Overview</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The purpose of the <strong>JNDIRealm</strong> implementation is to
+    provide a mechanism by which Tomcat 6 can acquire information needed
+    to authenticate web application users, and define their security roles,
+    from a directory server or other service accessed via JNDI APIs.  For
+    integration with Catalina, this class must implement the
+    <code>org.apache.catalina.Realm</code> interface.</p>
+
+    <p>This specification reflects a combination of functionality that is
+    already present in the <code>org.apache.catalina.realm.JNDIRealm</code>
+    class, as well as requirements for enhancements that have been
+    discussed.  Where appropriate, requirements statements are marked
+    <em>[Current]</em> and <em>[Requested]</em> to distinguish them.</p>
+
+    <p>The current status of this functional specification is
+    <strong>PROPOSED</strong>.  It has not yet been discussed and
+    agreed to on the TOMCAT-DEV mailing list.</p>
+
+    <p>The code in the current version of <code>JNDIRealm</code>, and the
+    ideas expressed in this functional specification, are the results of
+    contributions from many individuals, including (alphabetically):</p>
+    <ul>
+    <li>Holman, John &lt;j.g.holman@qmw.ac.uk&gt;</li>
+    <li>Lockhart, Ellen &lt;elockhart@home.com&gt;</li>
+    <li>McClanahan, Craig &lt;craigmcc@apache.org&gt;</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="External Specifications"><strong>External Specifications</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The implementation of this functionality depends on the following
+    external specifications:</p>
+    <ul>
+    <li><a href="http://java.sun.com/products/jndi/">Java Naming and
+        Directory Interface</a> (version 1.2.1 or later)</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Implementation Requirements"><strong>Implementation Requirements</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The implementation of this functionality shall conform to the
+    following requirements:</p>
+    <ul>
+    <li>Be realized in one or more implementation classes.</li>
+    <li>Implement the <code>org.apache.catalina.Realm</code> interface.
+        [Current]</li>
+    <li>Implement the <code>org.apache.catalina.Lifecycle</code>
+        interface.  [Current]</li>
+    <li>Subclass the <code>org.apache.catalina.realm.RealmBase</code>
+        base class.</li>
+    <li>Live in the <code>org.apache.catalina.realm</code> package.
+        [Current]</li>
+    <li>Support a configurable debugging detail level. [Current]</li>
+    <li>Log debugging and operational messages (suitably internationalized)
+        via the <code>getContainer().log()</code> method. [Current]</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Dependencies"><strong>Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Environmental Dependencies"><strong>Environmental Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The following environmental dependencies must be met in order for
+    JNDIRealm to operate correctly:</p>
+    <ul>
+    <li>The desire to utilize JNDIRealm must be registered in
+        <code>$CATALINA_BASE/conf/server.xml</code>, in a
+        <code>&lt;Realm&gt;</code> element that is nested inside a
+        corresponding <code>&lt;Engine&gt;</code>, <code>&lt;Host&gt;</code>,
+        or <code>&lt;Context&gt;</code> element.</li>
+    <li>If the <em>Administrator Login</em> operational mode is selected,
+        the configured administrator username and password must be configured
+        in the corresponding directory server.</li>
+    <li>If the <em>Username Login</em> operational mode is selected,
+        the corresponding directory server must be configured to accept
+        logins with the username and password that will be passed to
+        <code>JNDIRealm</code> by the appropriate <code>Authenticator</code>.
+        </li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Container Dependencies"><strong>Container Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>Correct operation of JNDIRealm depends on the following
+    specific features of the surrounding container:</p>
+    <ul>
+    <li>Interactions with <code>JNDIRealm</code> will be initiated by
+        the appropriate <code>Authenticator</code> implementation, based
+        on the login method that is selected.</li>
+    <li><code>JNDIRealm</code> must have the JNDI API classes available
+        to it.  For a JDK 1.2 container, that means <code>jndi.jar</code>
+        and the appropriate implementation (such as <code>ldap.jar</code>)
+        must be placed in the <code>server/lib</code> directory.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Functionality"><strong>Functionality</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Operational Modes"><strong>Operational Modes</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The completed <code>JNDIRealm</code> must support two major operational
+    modes in order to support all of the required use cases.  For the purposes
+    of this document, the modes are called <em>administrator login</em> and
+    <em>Username Login</em>.  They are described further in the following
+    paragraphs.</p>
+
+    <p>For <em>Administrator Login</em> mode, <code>JNDIRealm</code> will be
+    configured to establish one or more connections (using a connection pool)
+    to an appropriate directory server, using JNDI APIs, under a "system
+    administrator" username and password.  This is similar to the approach
+    normally used to configure <code>JDBCRealm</code> to access authentication
+    and access control information in a database.  It is assumed that the
+    system administrator username and password that are configured provide
+    sufficient privileges within the directory server to read (but not modify)
+    the username, password, and assigned roles for each valid user of the
+    web application associated with this <code>Realm</code>.  The password
+    can be stored in cleartext, or in one of the digested modes supported by
+    the <code>org.apache.catalina.realm.RealmBase</code> base class.</p>
+
+    <p>For <em>Username Login</em> mode, <code>JNDIRealm</code> does not
+    normally remain connected to the directory server.  Instead, whenever a
+    user is to be authenticated, a connection to the directory server
+    (using the username and password received from the authenticator) is
+    attempted.  If this connection is successful, the user is assumed to be
+    successfully authenticated.  This connection is then utilized to read
+    the corresponding security roles associated with this user, and the
+    connection is then broken.</p>
+
+    <p><strong>NOTE</strong> - <em>Username Login</em> mode cannot be used
+    if you have selected login method <code>DIGEST</code> in your web
+    application deployment descriptor (<code>web.xml</code>) file.  This
+    restriction exists because the cleartext password is never available
+    to the container, so it is not possible to bind to the directory server
+    using the user's username and password.</p>
+
+    <p>Because these operational modes work so differently, the functionality
+    for each mode will be described separately.  Whether or not both modes
+    are actually supported by a single class (versus a class per mode) is
+    an implementation detail left to the designer.</p>
+
+    <p><strong>NOTE</strong> - The current implementation only implements
+    part of the <em>Administrator Lookup</em> mode requirements.  It does
+    not support the <em>Username Lookup</em> mode at all, at this point.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Administrator Login Mode Functionality"><strong>Administrator Login Mode Functionality</strong></a></font></td></tr><tr><td><blockquote>
+
+
+    <h3>Configurable Properties</h3>
+
+    <p>The implementation shall support the following properties
+    that can be configured with JavaBeans property setters:</p>
+    <ul>
+    <li><code>connectionURL</code> - URL of the directory server we will
+        be contacting.</li>
+    <li><code>contextFactory</code> - Fully qualified class name of the JNDI
+        context factory used to retrieve our InitialContext.
+        [com.sun.jndi.ldap.LdapCtxFactory]</li>
+    <li>Additional configuration properties required to establish the
+        appropriate connection.  [Requested]</li>
+    <li>Connection pool configuration properties.  [Requested]</li>
+    <li>Configuration properties defining how a particular user is
+        authenticated.  The following capabilities should be supported:
+        <ul>
+        <li>Substitute the specified username into a string.  [Requested]</li>
+        <li>Retrieve the distinguished name (DN) of an authorized user via an
+            LDAP search string with a replacement placeholder for the
+            username, and comparison of the password to a configurable
+            attribute retrieved from the search result.  [Current]</li>
+        </ul></li>
+    <li>Configuration properties defining how the roles associated with a
+        particular authenticated user can be retrieved.  The following
+        approaches should be supported:
+        <ul>
+        <li>Retrieve a specified attribute (possibly multi-valued)
+            from an LDAP search expression,
+            with a replacement placeholder for the DN of the user.
+            [Current]</li>
+        <li>Retrieve a set of role names that are defined implicitly (by
+            selecting principals that match a search pattern) rather than
+            explicitly (by finding a particular attribute value).
+            [Requested]</li>
+        </ul></li>
+    </ul>
+
+    <h3>Lifecycle Functionality</h3>
+
+    <p>The following processing must be performed when the <code>start()</code>
+    method is called:</p>
+    <ul>
+    <li>Establish a connection to the configured directory server, using the
+        configured system administrator username and password.  [Current]</li>
+    <li>Configure and establish a connection pool of connections to the
+        directory server.  [Requested]</li>
+    </ul>
+
+    <p>The following processing must be performed when the <code>stop()</code>
+    method is called:</p>
+    <ul>
+    <li>Close any opened connections to the directory server.</li>
+    </ul>
+
+
+    <h3>Method authenticate() Functionality</h3>
+
+    <p>When <code>authenticate()</code> is called, the following processing
+    is required:</p>
+    <ul>
+    <li>Acquire the one and only connection [Current] or acquire a connection
+        from the connection pool [Requested].</li>
+    <li>Authenticate the user by retrieving the user's Distinguished Name,
+        based on the specified username and password.</li>
+    <li>If the user was not authenticated, release the allocated connection
+        and return <code>null</code>.</li>
+    <li>Acquire a <code>List</code> of the security roles assigned to the
+        authenticated user.</li>
+    <li>Construct a new instance of class
+        <code>org.apache.catalina.realm.GenericPrincipal</code>, passing as
+        constructor arguments:  this realm instance, the authenticated
+        username, and a <code>List</code> of the security roles associated
+        with this user.</li>
+    <li><strong>WARNING</strong> - Do not attempt to cache and reuse previous
+        <code>GenericPrincipal</code> objects for a particular user, because
+        the information in the directory server might have changed since the
+        last time this user was authenticated.</li>
+    <li>Return the newly constructed <code>GenericPrincipal</code>.</li>
+    </ul>
+
+
+    <h3>Method hasRole() Functionality</h3>
+
+    <p>When <code>hasRole()</code> is called, the following processing
+    is required:</p>
+    <ul>
+    <li>The <code>principal</code> that is passed as an argument SHOULD
+        be one that we returned (instanceof class
+        <code>org.apache.catalina.realm.GenericPrincipal</code>, with a
+        <code>realm</code> property that is equal to our instance.</li>
+    <li>If the passed <code>principal</code> meets these criteria, check
+        the specified role against the list returned by
+        <code>getRoles()</code>, and return <code>true</code> if the
+        specified role is included; otherwise, return <code>false</code>.</li>
+    <li>If the passed <code>principal</code> does not meet these criteria,
+        return <code>false</code>.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Username Login Mode Functionality"><strong>Username Login Mode Functionality</strong></a></font></td></tr><tr><td><blockquote>
+
+    <h3>Configurable Properties</h3>
+
+    <p>The implementation shall support the following properties
+    that can be configured with JavaBeans property setters:</p>
+    <ul>
+    <li><code>connectionURL</code> - URL of the directory server we will
+        be contacting.</li>
+    <li><code>contextFactory</code> - Fully qualified class name of the JNDI
+        context factory used to retrieve our InitialContext.
+        [com.sun.jndi.ldap.LdapCtxFactory]</li>
+    <li>Additional configuration properties required to establish the
+        appropriate connection.  [Requested]</li>
+    <li>Connection pool configuration properties.  [Requested]</li>
+    <li>Configuration properties defining if and how a user might be looked
+        up before binding to the directory server.  The following approaches
+        should be supported:
+        <ul>
+        <li>No previous lookup is required - username specified by the user
+            is the same as that used to authenticate to the directory
+            server.</li>
+        <li>Substitute the specified username into a string.</li>
+        <li>Search the directory server based on configured criteria to
+            retrieve the distinguished name of the user, then attempt to
+            bind with that distinguished name.</li>
+        </ul></li>
+    <li>Configuration properties defining how the roles associated with a
+        particular authenticated user can be retrieved.  The following
+        approaches should be supported:
+        <ul>
+        <li>Retrieve a specified attribute (possibly multi-valued)
+            from an LDAP search expression,
+            with a replacement placeholder for the DN of the user.
+            [Current]</li>
+        </ul></li>
+    </ul>
+
+    <h3>Lifecycle Functionality</h3>
+
+    <p>The following processing must be performed when the <code>start()</code>
+    method is called:</p>
+    <ul>
+    <li>None required.</li>
+    </ul>
+
+    <p>The following processing must be performed when the <code>stop()</code>
+    method is called:</p>
+    <ul>
+    <li>None required.</li>
+    </ul>
+
+
+    <h3>Method authenticate() Functionality</h3>
+
+    <p>When <code>authenticate()</code> is called, the following processing
+    is required:</p>
+    <ul>
+    <li>Attempt to bind to the directory server, using the username and
+        password provided by the user.</li>
+    <li>If the user was not authenticated, release the allocated connection
+        and return <code>null</code>.</li>
+    <li>Acquire a <code>List</code> of the security roles assigned to the
+        authenticated user.</li>
+    <li>Construct a new instance of class
+        <code>org.apache.catalina.realm.GenericPrincipal</code>, passing as
+        constructor arguments:  this realm instance, the authenticated
+        username, and a <code>List</code> of the security roles associated
+        with this user.</li>
+    <li><strong>WARNING</strong> - Do not attempt to cache and reuse previous
+        <code>GenericPrincipal</code> objects for a particular user, because
+        the information in the directory server might have changed since the
+        last time this user was authenticated.</li>
+    <li>Return the newly constructed <code>GenericPrincipal</code>.</li>
+    </ul>
+
+
+    <h3>Method hasRole() Functionality</h3>
+
+    <p>When <code>hasRole()</code> is called, the following processing
+    is required:</p>
+    <ul>
+    <li>The <code>principal</code> that is passed as an argument SHOULD
+        be one that we returned (instanceof class
+        <code>org.apache.catalina.realm.GenericPrincipal</code>, with a
+        <code>realm</code> property that is equal to our instance.</li>
+    <li>If the passed <code>principal</code> meets these criteria, check
+        the specified role against the list returned by
+        <code>getRoles()</code>, and return <code>true</code> if the
+        specified role is included; otherwise, return <code>false</code>.</li>
+    <li>If the passed <code>principal</code> does not meet these criteria,
+        return <code>false</code>.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Testable Assertions"><strong>Testable Assertions</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>In addition the the assertions implied by the functionality requirements
+  listed above, the following additional assertions shall be tested to
+  validate the behavior of <code>JNDIRealm</code>:</p>
+  <ul>
+  </ul>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/funcspecs/fs-memory-realm.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/funcspecs/fs-memory-realm.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/funcspecs/fs-memory-realm.html	(revision 66)
@@ -0,0 +1,209 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Catalina Functional Specifications - MemoryRealm</title><meta value="Craig McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      Catalina Functional Specifications
+    " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Functional Specs</a></li></ul><p><strong>Administrative Apps</strong></p><ul><li><a href="fs-admin-apps.html">Overall Requirements</a></li><li><a href="mbean-names.html">Tomcat MBean Names</a></li><li><a href="fs-admin-objects.html">Administered Objects</a></li><li><a href="fs-admin-opers.html">Supported Operations</a></li></ul><p><strong>Internal Servlets</strong></p><ul><li><a href="fs-default.html">Default Servlet</a></li><li><a href="fs-invoker.html">Invoker Servlet</a></li></ul><p><strong>Realm Implementations</strong></p><ul><li><a href="fs-jdbc-realm.html">JDBC Realm</a></li><li><a href="fs-jndi-realm.html">JNDI Realm</a></li><li><a href="fs-memory-realm.html">Memory Realm</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Catalina Functional Specifications</h1><h2>MemoryRealm</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/fs-memory-realm.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Overview"><strong>Overview</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The purpose of the <strong>MemoryRealm</strong> implementation is to
+    provide a mechanism by which Tomcat 6 can acquire information needed
+    to authenticate web application users, and define their security roles,
+    from a simple text-based configuration file in XML format.  This is
+    intended to simplify the initial installation and operation of Tomcat 6,
+    without the complexity of configuring a database or directory server
+    based Realm.  It is not intended for production use.</p>
+
+    <p>This specification reflects a combination of functionality that is
+    already present in the <code>org.apache.catalina.realm.MemoryRealm</code>
+    class, as well as requirements for enhancements that have been
+    discussed.  Where appropriate, requirements statements are marked
+    <em>[Current]</em> and <em>[Requested]</em> to distinguish them.</p>
+
+    <p>The current status of this functional specification is
+    <strong>PROPOSED</strong>.  It has not yet been discussed and
+    agreed to on the TOMCAT-DEV mailing list.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="External Specifications"><strong>External Specifications</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The implementation of this functionality depends on the following
+    external specifications:</p>
+    <ul>
+    <li>None</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Implementation Requirements"><strong>Implementation Requirements</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The implementation of this functionality shall conform to the
+    following requirements:</p>
+    <ul>
+    <li>Be realized in one or more implementation classes.</li>
+    <li>Implement the <code>org.apache.catalina.Realm</code> interface.
+        [Current]</li>
+    <li>Implement the <code>org.apache.catalina.Lifecycle</code>
+        interface.  [Current]</li>
+    <li>Subclass the <code>org.apache.catalina.realm.RealmBase</code>
+        base class.</li>
+    <li>Live in the <code>org.apache.catalina.realm</code> package.
+        [Current]</li>
+    <li>Support a configurable debugging detail level. [Current]</li>
+    <li>Log debugging and operational messages (suitably internationalized)
+        via the <code>getContainer().log()</code> method. [Current]</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Dependencies"><strong>Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Environmental Dependencies"><strong>Environmental Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The following environmental dependencies must be met in order for
+    MemoryRealm to operate correctly:</p>
+    <ul>
+    <li>The desire to utilize MemoryRealm must be registered in
+        <code>$CATALINA_BASE/conf/server.xml</code>, in a
+        <code>&lt;Realm&gt;</code> element that is nested inside a
+        corresponding <code>&lt;Engine&gt;</code>, <code>&lt;Host&gt;</code>,
+        or <code>&lt;Context&gt;</code> element.  (This is already
+        included in the default <code>server.xml</code> file.)</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Container Dependencies"><strong>Container Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>Correct operation of MemoryRealm depends on the following
+    specific features of the surrounding container:</p>
+    <ul>
+    <li>Interactions with <code>MemoryRealm</code> will be initiated by
+        the appropriate <code>Authenticator</code> implementation, based
+        on the login method that is selected.</li>
+    <li><code>MemoryRealm</code> must have an XML parser compatible with
+        the JAXP/1.1 APIs available to it.  This is normally accomplished
+        by placing the corresponding JAR files in directory
+        <code>$CATALINA_HOME/lib</code>.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Functionality"><strong>Functionality</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Overview of Operation"><strong>Overview of Operation</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The main purpose of <code>MemoryRealm</code> is to allow Catalina to
+    authenticate users, and look up the corresponding security roles, from
+    the information found in an XML-format configuration file.  The format
+    of this file is described below.  When a <code>MemoryRealm</code>
+    instance is started, it will read the contents of this XML file and create
+    an "in memory database" of all the valid users and their associated
+    security roles.</p>
+
+    <p>Each time that Catalina needs to authenticate a user, it will call
+    the <code>authenticate()</code> method of this Realm implementation,
+    passing the username and password that were specified by the user.  If
+    we find the user in the database (and match on the password), we accumulate
+    all of the security roles that are defined for this user, and create a
+    new <code>GenericPrincipal</code> object to be returned.  If the user
+    is not authenticated, we return <code>null</code> instead.  The
+    <code>GenericUser</code> object caches the set of security roles that
+    were owned by this user at the time of authentication, so that calls to
+    <code>isUserInRole()</code> can be answered without going back to the
+    database every time.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Detailed Functional Requirements"><strong>Detailed Functional Requirements</strong></a></font></td></tr><tr><td><blockquote>
+
+
+    <h3>Configurable Properties</h3>
+
+    <p>The implementation shall support the following properties
+    that can be configured with JavaBeans property setters:</p>
+    <ul>
+    <li>Configurable debugging detail level.</li>
+    <li>Configurable file pathname (absolute or relative to
+        <code>$CATALINA_BASE</code> of the XML file containing our
+        defined users.  [<code>conf/tomcat-users.xml</code>].</li>
+    </ul>
+
+    <h3>Lifecycle Functionality</h3>
+
+    <p>The following processing must be performed when the <code>start()</code>
+    method is called:</p>
+    <ul>
+    <li>Open and parse the specified XML file.</li>
+    <li>Create an in-memory database representation of the XML file
+        contents.</li>
+    <li><strong>NOTE</strong> - There is no requirement to recognize
+        subsequent changes to the contents of the XML file.</li>
+    </ul>
+
+    <p>The following processing must be performed when the <code>stop()</code>
+    method is called:</p>
+    <ul>
+    <li>Release object references to the in-memory database representation.</li>
+    </ul>
+
+
+    <h3>Method authenticate() Functionality</h3>
+
+    <p>When <code>authenticate()</code> is called, the following processing
+    is required:</p>
+    <ul>
+    <li>Select the one and only "user" instance from the in-memory database,
+        based on matching the specified username.  If there is no such
+        instance, return <code>null</code>.</li>
+    <li>Authenticate the user by comparing the (possibly encrypted) password
+        value that was received against the password presented by the user.
+        If there is no match, return <code>null</code>.</li>
+    <li>Construct a new instance of class
+        <code>org.apache.catalina.realm.GenericPrincipal</code> (if not
+        already using this as the internal database representation) that
+        contains the authenticated username and a <code>List</code> of the
+        security roles associated with this user.</li>
+    <li>Return the newly constructed <code>GenericPrincipal</code>.</li>
+    </ul>
+
+
+    <h3>Method hasRole() Functionality</h3>
+
+    <p>When <code>hasRole()</code> is called, the following processing
+    is required:</p>
+    <ul>
+    <li>The <code>principal</code> that is passed as an argument SHOULD
+        be one that we returned (instanceof class
+        <code>org.apache.catalina.realm.GenericPrincipal</code>, with a
+        <code>realm</code> property that is equal to our instance.</li>
+    <li>If the passed <code>principal</code> meets these criteria, check
+        the specified role against the list returned by
+        <code>getRoles()</code>, and return <code>true</code> if the
+        specified role is included; otherwise, return <code>false</code>.</li>
+    <li>If the passed <code>principal</code> does not meet these criteria,
+        return <code>false</code>.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Testable Assertions"><strong>Testable Assertions</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>In addition the the assertions implied by the functionality requirements
+  listed above, the following additional assertions shall be tested to
+  validate the behavior of <code>MemoryRealm</code>:</p>
+  <ul>
+  </ul>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/funcspecs/index.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/funcspecs/index.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/funcspecs/index.html	(revision 66)
@@ -0,0 +1,38 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Catalina Functional Specifications - Table of Contents</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      Catalina Functional Specifications
+    " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Functional Specs</a></li></ul><p><strong>Administrative Apps</strong></p><ul><li><a href="fs-admin-apps.html">Overall Requirements</a></li><li><a href="mbean-names.html">Tomcat MBean Names</a></li><li><a href="fs-admin-objects.html">Administered Objects</a></li><li><a href="fs-admin-opers.html">Supported Operations</a></li></ul><p><strong>Internal Servlets</strong></p><ul><li><a href="fs-default.html">Default Servlet</a></li><li><a href="fs-invoker.html">Invoker Servlet</a></li></ul><p><strong>Realm Implementations</strong></p><ul><li><a href="fs-jdbc-realm.html">JDBC Realm</a></li><li><a href="fs-jndi-realm.html">JNDI Realm</a></li><li><a href="fs-memory-realm.html">Memory Realm</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Catalina Functional Specifications</h1><h2>Table of Contents</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/index.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina Functional Specifications"><strong>Catalina Functional Specifications</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>This documentation area includes <em>functional specifications</em> for
+many features supported by the <strong>Catalina</strong> servlet container
+portion of Tomcat 6.  In most cases, these features are not documented in the
+underlying Servlet or JSP specifications, so a definition of the expected
+correct behavior is important both to implementors of those features, and to
+test writers trying to decide what to test.</p>
+
+<p>The functional specifications are divided into the following categories
+in the menu (to the left):</p>
+<ul>
+<li><em>Administrative Apps</em> - Overall requirements for supporting an
+    ability to configure and operate a Tomcat 6 installation through tools,
+    as well as detailed requirements for the tools themselves.</li>
+<li><em>Internal Servlets</em> - Requirements for Catalina features that are
+    implemented as internal, container-managed, servlets.</li>
+<li><em>Realm Implementations</em> - Requirements for the implementations of
+    the <code>org.apache.catalina.Realm</code> interface (providing access to
+    collections of users, passwords and roles) that are included in the
+    standard Tomcat 6 distribution.</li>
+</ul>
+
+<p><em>NOTE</em> - In some cases, the contents of these functional specs has
+been "reverse engineered" from existing implementations.  This exercise is
+stil useful, because it provides an introduction to <strong>what</strong>
+Catalina does, without being as concerned with <strong>how</strong> this is
+accomplished.</p>
+
+<p><strong>TODO</strong> - Obviously, this area has a long ways to go before
+it is complete.  Contributions are welcome!</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/funcspecs/mbean-names.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/funcspecs/mbean-names.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/funcspecs/mbean-names.html	(revision 66)
@@ -0,0 +1,709 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Catalina Functional Specifications - Tomcat MBean Names</title><meta value="Craig McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"><meta value="Amy Roh" name="author"><meta value="amyroh@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      Catalina Functional Specifications
+    " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Functional Specs</a></li></ul><p><strong>Administrative Apps</strong></p><ul><li><a href="fs-admin-apps.html">Overall Requirements</a></li><li><a href="mbean-names.html">Tomcat MBean Names</a></li><li><a href="fs-admin-objects.html">Administered Objects</a></li><li><a href="fs-admin-opers.html">Supported Operations</a></li></ul><p><strong>Internal Servlets</strong></p><ul><li><a href="fs-default.html">Default Servlet</a></li><li><a href="fs-invoker.html">Invoker Servlet</a></li></ul><p><strong>Realm Implementations</strong></p><ul><li><a href="fs-jdbc-realm.html">JDBC Realm</a></li><li><a href="fs-jndi-realm.html">JNDI Realm</a></li><li><a href="fs-memory-realm.html">Memory Realm</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Catalina Functional Specifications</h1><h2>Tomcat MBean Names</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/mbean-names.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Background"><strong>Background</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>We will be using <em>JMX MBeans</em> as the technology for
+    implementing manageability of Tomcat.</p>
+
+    <p>One of the key concepts of JMX (and JSR-77) is that each management
+    bean has a unique name in the MBeanServer's registry, and that
+    management applications can utilize these names to retrieve the MBean
+    of interest to them for a particular management operation.
+    This document proposes a naming convention for MBeans that allows easy
+    calculation of the name for a particular MBean.  For background
+    information on JMX MBean names, see the <em>Java Management Extensions
+    Instrumentation and Agent Specification</em>, version 1.0, section 6.
+    In particular, we will be discussing the String Representation of
+    <code>ObjectName</code> instances.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina Object Hierarchy"><strong>Catalina Object Hierarchy</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Tomcat's servlet container implementation, called Catalina, can be
+represented as a hierarchy of objects that contain references to each other.
+The object hierarchy can be represented as a tree, or (isomorphically) based
+on the nesting of configuration elements in the <code>conf/server.xml</code>
+file that is traditionally used to configure Tomcat stand-alone.</p>
+
+<p>The valid component nestings for Catalina are depicted in the following
+table, with columns that contain the following values:</p>
+<ul>
+<li><em>Pattern</em> - Nesting pattern of XML elements (in the
+    <code>conf/server.xml</code> file) used to configure this component.</li>
+<li><em>Cardinality</em> - Minimum and maximum number of occurrences of
+    this element at this nesting position, which also corresponds to the
+    minimum and maximum number of Catalina components.</li>
+<li><em>Identifier</em> - Name of the JavaBeans property of this component
+    that represents the unique identifier (within the nested hierarchy),
+    if any.</li>
+<li><em>MBean ObjectName</em> - The portion of the MBean object name that
+    appears <strong>after</strong> the domain name.  For now, it should be
+    assumed that all of these MBeans appear in the default JMX domain.</li>
+</ul>
+
+<p>In the <em>MBean ObjectName</em> descriptions, several types of symbolic
+expressions are utilized to define variable text that is replaced by
+corresponding values:</p>
+<ul>
+<li><em>${GROUP}</em> - One of the standard MBean names of the specified
+    "group" category.  For example, the expression <code>${REALM}</code>
+    represents the values like <code>JDBCRealm</code> and <code>JAASRealm</code>
+    that identify the various MBeans for possible <code>Realm</code> components.</li>
+<li><em>${name}</em> - Replaced by the value of property <code>name</code>
+    from the current component.</li>
+<li><em>${parent.name}</em> - Replaced by the value of property
+    <code>name</code> from a parent of the current component, with the
+    parent's type identified by <em>parent</em>.</li>
+<li><em>${###}</em> - An arbitrary numeric identifier that preserves
+    order but has no other particular meaning.  In general, the server will
+    assign numeric values to existing instances with large gaps into which
+    new items can be configured if desired.</li>
+</ul>
+
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">Pattern</th>
+    <th align="center" bgcolor="aqua">Cardinality</th>
+    <th align="center" bgcolor="aqua">Identifier</th>
+    <th align="center" bgcolor="aqua">MBean ObjectName</th>
+  </tr>
+
+  <tr>
+    <td>Server</td>
+    <td align="center">1..1</td>
+    <td align="center">(none)</td>
+    <td><code>type=${SERVER}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Listener</td>
+    <td align="center">0..n</td>
+    <td align="center">(none)</td>
+    <td><code>type=${LISTENER}, sequence=${###}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service</td>
+    <td align="center">1..n</td>
+    <td align="center"><code>name</code></td>
+    <td><code>type=${SERVICE}, name=${name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Connector</td>
+    <td align="center">1..n</td>
+    <td align="center"><code>address, port</code></td>
+    <td><code>type=${CONNECTOR}, service=${service}, port=${port},
+        address=${address}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Connector / Factory</td>
+    <td align="center">0..1</td>
+    <td align="center">(none)</td>
+    <td>(Only defined explicitly for an SSL connector, but can be treated
+        as part of the connector component)</td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Connector / Listener</td>
+    <td align="center">0..n</td>
+    <td align="center">(none)</td>
+    <td><code>type=${LISTENER}, sequence=${###}, service=${service},
+        port=${connector.port}, address=${connector.address}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine</td>
+    <td align="center">1..1</td>
+    <td align="center">(none)</td>
+    <td><code>type=${ENGINE}, service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host</td>
+    <td align="center">1..n</td>
+    <td align="center"><code>name</code></td>
+    <td><code>type=${HOST}, host=${name},
+        service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host / Context</td>
+    <td align="center">1..n</td>
+    <td align="center"><code>path</code></td>
+    <td><code>type=${CONTEXT}, path=${path}, host=${host.name},
+        service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host / Context / InstanceListener</td>
+    <td align="center">0..n</td>
+    <td align="center">(none)</td>
+    <td><code>type=${INSTANCE-LISTENER}, sequence=${###}, path=${context.path},
+        host=${host.name}, service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host / Context / Listener</td>
+    <td align="center">0..n</td>
+    <td align="center">(none)</td>
+    <td><code>type=${LISTENER}, sequence=${###}, path=${context.path},
+        host=${host.name}, service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host / Context / Loader</td>
+    <td align="center">0..1</td>
+    <td align="center">(none)</td>
+    <td><code>type=${LOADER}, path=${context.path}, host=${host.name},
+        service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host / Context / Manager</td>
+    <td align="center">0..1</td>
+    <td align="center">(none)</td>
+    <td><code>type=${MANAGER}, path=${context.path}, host=${host.name},
+        service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host / Context / Realm</td>
+    <td align="center">0..1</td>
+    <td align="center">(none)</td>
+    <td><code>type=${REALM}, path=${context.path}, host=${host.name},
+        service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host / Context / Resources</td>
+    <td align="center">0..1</td>
+    <td align="center">(none)</td>
+    <td><code>type=${RESOURCES}, path=${context.path}, host=${host.name},
+        service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host / Context / Valve</td>
+    <td align="center">0..n</td>
+    <td align="center">(none)</td>
+    <td><code>type=${VALVE}, sequence=${###}, path=${context.path},
+        host=${host.name}, service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host / Context / Wrapper</td>
+    <td align="center">0..n</td>
+    <td align="center">(none)</td>
+    <td><code>j2eeType=Servlet,name=${name},
+        WebModule=//${host.name}/${context.name},
+        J2EEApplication=${context.J2EEApplication},
+        J2EEServer=${context.J2EEServer}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host / Context / WrapperLifecycle</td>
+    <td align="center">0..n</td>
+    <td align="center">(none)</td>
+    <td><code>type=${WRAPPER-LIFECYCLE}, sequence=${###}, path=${context.path},
+        host=${host.name}, service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host / Context / WrapperListener</td>
+    <td align="center">0..n</td>
+    <td align="center">(none)</td>
+    <td><code>type=${WRAPPER-LISTENER}, sequence=${###}, path=${context.path},
+        host=${host.name}, service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host / Listener</td>
+    <td align="center">0..n</td>
+    <td align="center">(none)</td>
+    <td><code>type=${LISTENER}, sequence=${###}, host=${host.name},
+        service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host / Realm</td>
+    <td align="center">0..1</td>
+    <td align="center">(none)</td>
+    <td><code>type=${REALM}, host=${host.name},
+        service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host / Valve</td>
+    <td align="center">0..n</td>
+    <td align="center">(none)</td>
+    <td><code>type=${VALVE}, sequence=${###},
+        host=${host.name}, service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Listener</td>
+    <td align="center">0..n</td>
+    <td align="center">(none)</td>
+    <td><code>type=${LISTENER}, sequence=${###}</code>
+        (<strong>FIXME</strong> - disambiguate from Server / Service /
+        Listener)</td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Realm</td>
+    <td align="center">0..1</td>
+    <td align="center">(none)</td>
+    <td><code>type=${REALM}, service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Valve</td>
+    <td align="center">0..n</td>
+    <td align="center">(none)</td>
+    <td><code>type=${VALVE}, sequence=${###},
+        service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Listener</td>
+    <td align="center">0..n</td>
+    <td align="center">(none)</td>
+    <td><code>type=${LISTENER}, sequence=${###}</code>
+        (<strong>FIXME</strong> - disambiguate from Server / Service /
+        Engine / Listener)</td>
+  </tr>
+
+</table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="MBean Groups and Names"><strong>MBean Groups and Names</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The following MBean names shall be defined in the resource file
+<code>/org/apache/catalina/mbeans/mbeans-descriptors.xml</code> (and
+therefore available for use within the Administration/Configuration
+web application for Tomcat):</p>
+
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">MBean Name</th>
+    <th align="center" bgcolor="aqua">Group Name</th>
+    <th align="center" bgcolor="aqua">Catalina Interface</th>
+    <th align="center" bgcolor="aqua">Implementation Class</th>
+  </tr>
+
+  <tr>
+    <td><code>AccessLogValve</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.valves.AccessLogValve</code></td>
+  </tr>
+
+  <tr>
+    <td><code>BasicAuthenticator</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.authenticator.BasicAuthenticator</code></td>
+  </tr>
+
+  <tr>
+    <td><code>CertificatesValve</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.valves.CertificatesValve</code></td>
+  </tr>
+
+  <tr>
+    <td><code>ContextConfig</code></td>
+    <td align="center"><code>LISTENER</code></td>
+    <td><code>org.apache.catalina.LifecycleListener</code></td>
+    <td><code>org.apache.catalina.startup.ContextConfig</code></td>
+  </tr>
+
+  <tr>
+    <td><code>ContextEnvironment</code></td>
+    <td align="center"><code>RESOURCES</code></td>
+    <td><code>org.apache.catalina.deploy.ContextEnvironment</code></td>
+    <td><code>org.apache.catalina.deploy.ContextEnvironment</code></td>
+  </tr>
+
+  <tr>
+    <td><code>ContextResource</code></td>
+    <td align="center"><code>RESOURCES</code></td>
+    <td><code>org.apache.catalina.deploy.ContextResource</code></td>
+    <td><code>org.apache.catalina.deploy.ContextResource</code></td>
+  </tr>
+
+  <tr>
+    <td><code>ContextResourceLink</code></td>
+    <td align="center"><code>RESOURCES</code></td>
+    <td><code>org.apache.catalina.deploy.ContextResourceLink</code></td>
+    <td><code>org.apache.catalina.deploy.ContextResourceLink</code></td>
+  </tr>
+
+  <tr>
+    <td><code>CoyoteConnector</code></td>
+    <td align="center"><code>CONNECTOR</code></td>
+    <td><code>org.apache.catalina.Connector</code></td>
+    <td><code>org.apache.coyote.tomcat4.CoyoteConnector</code></td>
+  </tr>
+
+  <tr>
+    <td><code>DigestAuthenticator</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.authenticator.DigestAuthenticator</code></td>
+  </tr>
+
+  <tr>
+    <td><code>EngineConfig</code></td>
+    <td align="center"><code>LISTENER</code></td>
+    <td><code>org.apache.catalina.LifecycleListener</code></td>
+    <td><code>org.apache.catalina.startup.EngineConfig</code></td>
+  </tr>
+
+  <tr>
+    <td><code>ErrorReportValve</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.valves.ErrorReportValve</code></td>
+  </tr>
+
+  <tr>
+    <td><code>ErrorDispatcherValve</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.valves.ErrorDispatcherValve</code></td>
+  </tr>
+
+  <tr>
+    <td><code>FormAuthenticator</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.authenticator.FormAuthenticator</code></td>
+  </tr>
+
+  <tr>
+    <td><code>Group</code></td>
+    <td align="center"><code>GROUP</code></td>
+    <td><code>org.apache.catalina.Group</code></td>
+    <td><code>org.apache.catalina.Group</code></td>
+  </tr>
+
+  <tr>
+    <td><code>HostConfig</code></td>
+    <td align="center"><code>LISTENER</code></td>
+    <td><code>org.apache.catalina.LifecycleListener</code></td>
+    <td><code>org.apache.catalina.startup.HostConfig</code></td>
+  </tr>
+
+  <tr>
+    <td><code>HttpConnector10</code></td>
+    <td align="center"><code>CONNECTOR</code></td>
+    <td><code>org.apache.catalina.Connector</code></td>
+    <td><code>org.apache.catalina.connector.http10.HttpConnector</code></td>
+  </tr>
+
+  <tr>
+    <td><code>HttpConnector11</code></td>
+    <td align="center"><code>CONNECTOR</code></td>
+    <td><code>org.apache.catalina.Connector</code></td>
+    <td><code>org.apache.catalina.connector.http.HttpConnector</code></td>
+  </tr>
+
+  <tr>
+    <td><code>JAASRealm</code></td>
+    <td align="center"><code>REALM</code></td>
+    <td><code>org.apache.catalina.Realm</code></td>
+    <td><code>org.apache.catalina.realm.JAASRealm</code></td>
+  </tr>
+
+  <tr>
+    <td><code>JDBCRealm</code></td>
+    <td align="center"><code>REALM</code></td>
+    <td><code>org.apache.catalina.Realm</code></td>
+    <td><code>org.apache.catalina.realm.JDBCRealm</code></td>
+  </tr>
+
+  <tr>
+    <td><code>JDBCUserDatabase</code></td>
+    <td align="center"><code>USERDATABASE</code></td>
+    <td><code>org.apache.catalina.users.JDBCUserDatabase</code></td>
+    <td><code>org.apache.catalina.users.JDBCUserDatabase</code></td>
+  </tr>
+
+  <tr>
+    <td><code>JNDIRealm</code></td>
+    <td align="center"><code>REALM</code></td>
+    <td><code>org.apache.catalina.Realm</code></td>
+    <td><code>org.apache.catalina.realm.JNDIRealm</code></td>
+  </tr>
+
+  <tr>
+    <td><code>MBeanFactory</code></td>
+    <td align="center"><code></code></td>
+    <td><code></code></td>
+    <td><code>org.apache.catalina.mbeans.MBeanFactory</code></td>
+  </tr>
+
+  <tr>
+    <td><code>MemoryRealm</code></td>
+    <td align="center"><code>REALM</code></td>
+    <td><code>org.apache.catalina.Realm</code></td>
+    <td><code>org.apache.catalina.realm.MemoryRealm</code></td>
+  </tr>
+
+  <tr>
+    <td><code>MemoryUserDatabase</code></td>
+    <td align="center"><code>USERDATABASE</code></td>
+    <td><code>org.apache.catalina.users.MemoryUserDatabase</code></td>
+    <td><code>org.apache.catalina.users.MemoryUserDatabase</code></td>
+  </tr>
+
+  <tr>
+    <td><code>NamingContextListener</code></td>
+    <td align="center"><code>LISTENER</code></td>
+    <td><code>org.apache.catalina.LifecycleListener</code></td>
+    <td><code>org.apache.catalina.core.NamingContextListener</code></td>
+  </tr>
+
+  <tr>
+    <td><code>NamingResources</code></td>
+    <td align="center"><code>RESOURCES</code></td>
+    <td><code>org.apache.catalina.deploy.NamingResources</code></td>
+    <td><code>org.apache.catalina.deploy.NamingResources</code></td>
+  </tr>
+
+  <tr>
+    <td><code>NonLoginAuthenticator</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.authenticator.NonLoginAuthenticator</code></td>
+  </tr>
+
+  <tr>
+    <td><code>PersistentManager</code></td>
+    <td align="center"><code>MANAGER</code></td>
+    <td><code>org.apache.catalina.Manager</code></td>
+    <td><code>org.apache.catalina.session.PersistentManager</code></td>
+  </tr>
+
+  <tr>
+    <td><code>RemoteAddrValve</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.valves.RemoteAddrValve</code></td>
+  </tr>
+
+  <tr>
+    <td><code>RemoteHostValve</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.valves.RemoteHostValve</code></td>
+  </tr>
+
+  <tr>
+    <td><code>RequestDumperValve</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.valves.RequestDumperValve</code></td>
+  </tr>
+
+  <tr>
+    <td><code>Role</code></td>
+    <td align="center"><code>ROLE</code></td>
+    <td><code>org.apache.catalina.Role</code></td>
+    <td><code>org.apache.catalina.Role</code></td>
+  </tr>
+
+  <tr>
+    <td><code>SingleSignOn</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.valves.SingleSignOn</code></td>
+  </tr>
+
+  <tr>
+    <td><code>SSLAuthenticator</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.authenticator.SSLAuthenticator</code></td>
+  </tr>
+
+  <tr>
+    <td><code>StandardContext</code></td>
+    <td align="center"><code>CONTEXT</code></td>
+    <td><code>org.apache.catalina.Context</code></td>
+    <td><code>org.apache.catalina.core.StandardContext</code></td>
+  </tr>
+
+  <tr>
+    <td><code>StandardContextValve</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.core.StandardContextValve</code></td>
+  </tr>
+
+  <tr>
+    <td><code>StandardEngine</code></td>
+    <td align="center"><code>ENGINE</code></td>
+    <td><code>org.apache.catalina.Engine</code></td>
+    <td><code>org.apache.catalina.core.StandardEngine</code></td>
+  </tr>
+
+  <tr>
+    <td><code>StandardEngineValve</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.core.StandardEngineValve</code></td>
+  </tr>
+
+  <tr>
+    <td><code>StandardHost</code></td>
+    <td align="center"><code>HOST</code></td>
+    <td><code>org.apache.catalina.Host</code></td>
+    <td><code>org.apache.catalina.core.StandardHost</code></td>
+  </tr>
+
+  <tr>
+    <td><code>StandardHostValve</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.core.StandardHostValve</code></td>
+  </tr>
+
+  <tr>
+    <td><code>StandardManager</code></td>
+    <td align="center"><code>MANAGER</code></td>
+    <td><code>org.apache.catalina.Manager</code></td>
+    <td><code>org.apache.catalina.session.StandardManager</code></td>
+  </tr>
+
+  <tr>
+    <td><code>StandardServer</code></td>
+    <td align="center"><code>SERVER</code></td>
+    <td><code>org.apache.catalina.Server</code></td>
+    <td><code>org.apache.catalina.core.StandardServer</code></td>
+  </tr>
+
+  <tr>
+    <td><code>StandardService</code></td>
+    <td align="center"><code>SERVICE</code></td>
+    <td><code>org.apache.catalina.Service</code></td>
+    <td><code>org.apache.catalina.core.StandardService</code></td>
+  </tr>
+
+  <tr>
+    <td><code>StandardWrapper</code></td>
+    <td align="center"><code>WRAPPER</code></td>
+    <td><code>org.apache.catalina.Wrapper</code></td>
+    <td><code>org.apache.catalina.core.StandardWrapper</code></td>
+  </tr>
+
+  <tr>
+    <td><code>StandardWrapperValve</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.core.StandardWrapperValve</code></td>
+  </tr>
+
+  <tr>
+    <td><code>User</code></td>
+    <td align="center"><code>USER</code></td>
+    <td><code>org.apache.catalina.User</code></td>
+    <td><code>org.apache.catalina.User</code></td>
+  </tr>
+
+  <tr>
+    <td><code>UserDatabaseRealm</code></td>
+    <td align="center"><code>REALM</code></td>
+    <td><code>org.apache.catalina.Realm</code></td>
+    <td><code>org.apache.catalina.realm.UserDatabaseRealm</code></td>
+  </tr>
+
+  <tr>
+    <td><code>WebappLoader</code></td>
+    <td align="center"><code>LOADER</code></td>
+    <td><code>org.apache.catalina.Loader</code></td>
+    <td><code>org.apache.catalina.loader.WebappLoader</code></td>
+  </tr>
+
+</table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JSR-77 Cross Reference"><strong>JSR-77 Cross Reference</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The managed objects in the JSR-77 object hierarchy correspond
+to the specified MBean names or groups as follows:</p>
+
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">JSR-77 Managed Object</th>
+    <th align="center" bgcolor="aqua">MBean Name or Group</th>
+    <th align="center" bgcolor="aqua">Comments</th>
+  </tr>
+
+  <tr>
+    <td><code>J2EEServer</code></td>
+    <td><code>${SERVICE}</code></td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td><code>Node</code></td>
+    <td><code>${SERVICE}</code></td>
+    <td>Tomcat supports a single node only.</td>
+  </tr>
+
+  <tr>
+    <td><code>Port</code></td>
+    <td><code>${CONNECTOR}</code></td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td><code>Servlet</code></td>
+    <td><code>${WRAPPER}</code></td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td><code>WebModule</code></td>
+    <td><code>${CONTEXT}</code></td>
+    <td></td>
+  </tr>
+
+</table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JSR-88 Cross Reference"><strong>JSR-88 Cross Reference</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The deployment objects in the JSR-88 API object hierarchy correspond
+to the specified MBean names or groups as follows:</p>
+
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">JSR-88 API Object</th>
+    <th align="center" bgcolor="aqua">MBean Name or Group</th>
+    <th align="center" bgcolor="aqua">Comments</th>
+  </tr>
+
+  <tr>
+    <td><code>DeployableObject</code></td>
+    <td><code>${CONTEXT}</code></td>
+    <td>Context deployment info plus the corresponding WAR file</td>
+  </tr>
+
+  <tr>
+    <td><code>Target</code></td>
+    <td><code>${HOST}</code></td>
+    <td></td>
+  </tr>
+
+</table>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/funcspecs/printer/fs-admin-apps.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/funcspecs/printer/fs-admin-apps.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/funcspecs/printer/fs-admin-apps.html	(revision 66)
@@ -0,0 +1,251 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Catalina Functional Specifications - Administrative Apps - Overall Requirements</title><meta value="Craig McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      Catalina Functional Specifications
+    " align="right" src="../../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Catalina Functional Specifications</h1><h2>Administrative Apps - Overall Requirements</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Overview"><strong>Overview</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The purpose of this specification is to define high level requirements
+    for administrative applications that can be used to manage the operation
+    of a running Tomcat 6 container.  A variety of <em>Access Methods</em>
+    to the supported administrative functionality shall be supported, to
+    meet varying requirements:</p>
+    <ul>
+    <li><em>As A Scriptable Web Application</em> - The existing
+        <code>Manager</code> web application provides a simple HTTP-based
+        interface for managing Tomcat through commands that are expressed
+        entirely through a request URI.  This is useful in environments
+        where you wish to script administrative commands with tools that
+        can generate HTTP transactions.</li>
+    <li><em>As An HTML-Based Web Application</em> - Use an HTML presentation
+        to provide a GUI-like user interface for humans to interact with the
+        administrative capabilities.</li>
+    <li><em>As SOAP-Based Web Services</em> - The operational commands to
+        administer Tomcat are made available as web services that utilize
+        SOAP message formats.</li>
+    <li><em>As Java Management Extensions (JMX) Commands</em> - The operational
+        commands to administer Tomcat are made available through JMX APIs,
+        for integration into management consoles that utilize them.</li>
+    <li><em>Other Remote Access APIs</em> - Other remote access APIs, such
+        as JINI, RMI, and CORBA can also be utilized to access administrative
+        capabilities.</li>
+    </ul>
+
+    <p>Underlying all of the access methods described above, it is assumed
+    that the actual operations are performed either directly on the
+    corresponding Catalina components (such as calling the
+    <code>Deployer.deploy()</code> method to deploy a new web application),
+    or through a "business logic" layer that can be shared across all of the
+    access methods.  This approach minimizes the cost of adding new
+    administrative capabilities later -- it is only necessary to add the
+    corresponding business logic function, and then write adapters to it for
+    all desired access methods.</p>
+
+    <p>The current status of this functional specification is
+    <strong>PROPOSED</strong>.  It has not yet been discussed and
+    agreed to on the TOMCAT-DEV mailing list.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="External Specifications"><strong>External Specifications</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The implementation of this functionality depends on the following
+    external specifications:</p>
+    <ul>
+    <li><a href="http://java.sun.com/products/jdk/idl/index.html">Java
+        IDL</a> (for CORBA, included in the JDK)</li>
+    <li><a href="http://java.sun.com/products/JavaManagement/index.html">
+        Java Management Extensions</a></li>
+    <li><a href="http://java.sun.com/products/rmi/index.html">Remote
+        Method Invocation</a> (Included in the JDK)</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Implementation Requirements"><strong>Implementation Requirements</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The implementation of this functionality shall conform to the
+    following requirements:</p>
+    <ul>
+    <li>To the maximum extent feasible, all administrative functions,
+        and the access methods that support them, shall run portably
+        on all platforms where Tomcat 6 itself runs.</li>
+    <li>In a default Tomcat distribution, all administrative capabilities
+        shall be disabled.  It shall be necessary for a system
+        administrator to specifically enable the desired access methods
+        (such as by adding a username/password with a specific role to
+        the Tomcat user's database.</li>
+    <li>Administrative functions shall be realized as direct calls to
+        corresponding Catalina APIs, or through a business logic layer
+        that is independent of the access method used to initiate it.</li>
+    <li>The common business logic components shall be implemented in
+        package <code>org.apache.catalina.admin</code>.</li>
+    <li>The common business logic components shall be built as part of the
+        standard Catalina build process, and made visible in the
+        Catalina class loader.</li>
+    <li>The Java components required for each access method shall be
+        implemented in subpackages of <code>org.apache.catalina.admin</code>.
+        </li>
+    <li>The build scripts should treat each access method as optional,
+        so that it will be built only if the corresponding required
+        APIs are present at build time.</li>
+    <li>It shall be possible to save the configured state of the running
+        Tomcat container such that this state can be reproduced when the
+        container is shut down and restarted.</li>
+    <li>Adminstrative commands to start up and shut down the overall
+        Tomcat container are <strong>out of scope</strong> for the
+        purposes of these applications.  It is assumed that other
+        (usually platform-specific) mechanisms will be used for container
+        startup and shutdown.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Dependencies"><strong>Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Environmental Dependencies"><strong>Environmental Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The following environmental dependencies must be met in order for
+    administrative applications to operate correctly:</p>
+    <ul>
+    <li>For access methods that require creation of server sockets, the
+        appropriate ports must be configured and available.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Container Dependencies"><strong>Container Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>Correct operation of administrative applications depends on the
+       following specific features of the surrounding container:</p>
+    <ul>
+    <li>To the maximum extent feasible, Catalina components that offer
+        direct administrative APIs and property setters shall support
+        "live" changes to their operation, without requiring a container
+        restart.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="External Technologies"><strong>External Technologies</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The availability of the following technologies can be assumed
+    for the implementation and operation of the various access methods
+    and the corresponding administrative business logic:</p>
+    <ul>
+    <li><a href="http://java.sun.com/j2se/">Java 2 Standard Edition</a>
+        (Version 1.2 or later)</li>
+    <li><a href="http://www.jcp.org/jsr/detail/154.jsp">Servlet 2.4</a>
+        (supported natively by Tomcat 6)</li>
+    <li><a href="http://www.jcp.org/jsr/detail/152.jsp">JavaServer Pages 2.0</a>
+        (supported natively by Tomcat 6)</li>
+    <li><a href="http://jakarta.apache.org/taglibs/doc/standard-doc/intro.html">JavaServer Pages Standard Tag Library 1.0 (Jakarta Taglibs-Standard 1.0.3)</a></li>
+    <li><a href="http://jakarta.apache.org/struts/">Struts Framework</a>
+        (Version 1.0) - MVC Framework for Web Applications</li>
+    <li><strong>TO BE DETERMINED</strong> - Application for hosting SOAP
+        based web services</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Functionality"><strong>Functionality</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Properties of Administered Objects"><strong>Properties of Administered Objects</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>Functional requirements for administrative applications are specified
+  in terms of <em>Administered Objects</em>, whose definitions and detailed
+  properties are listed <a href="fs-admin-objects.html">here</a>.  In general,
+  Administered Objects correspond to components in the Catalina architecture,
+  but these objects are defined separately here for the following reasons:</p>
+  <ul>
+  <li>It is possible that the administrative applications do not expose
+      every possible configurable facet of the underlying components.</li>
+  <li>In some cases, an Administered Object (from the perspective of an
+      administrative operation) is realized by more than one Catalina
+      component, at a finer-grained level of detail.</li>
+  <li>It is necessary to represent the configuration information for a
+      component separately from the component itself (for instance, in
+      order to store that configuration information for later use).</li>
+  <li>It is necessary to represent configuration information (such as
+      a Default Context) when there is no corresponding component instance.
+      </li>
+  <li>Administered Objects, when realized as Java classes, will include
+      methods for administrative operations that have no correspondence
+      to operations performed by the corresponding actual components.</li>
+  </ul>
+
+  <p>It is assumed that the reader is familiar with the overall component
+  architecture of Catalina.  For further information, see the corresponding
+  Developer Documentation.  To distinguish names that are used as both
+  <em>Administered Objects</em> and <code>Components</code>, different
+  font presentations are utilized.  Default values for many properties
+  are listed in [square brackets].</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Supported Administrative Operations"><strong>Supported Administrative Operations</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The administrative operations that are available are described in terms
+  of the corresponding Administered Objects (as defined above), in a manner
+  that is independent of the access method by which these operations are
+  requested.  In general, such operations are relevant only in the context
+  of a particular Administered Object (and will most likely be realized as
+  method calls on the corresponding Administered Object classes), so they
+  are organized based on the currently "focused" administered object.
+  The available Supported Operations are documented
+  <a href="fs-admin-opers.html">here</a>.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Access Method Specific Requirements"><strong>Access Method Specific Requirements</strong></a></font></td></tr><tr><td><blockquote>
+
+  <h5>Scriptable Web Application</h5>
+
+  <p>An appropriate subset of the administrative operations described above
+  shall be implemented as commands that can be performed by the "Manager"
+  web application.  <strong>FIXME</strong> - Enumerate them.</p>
+
+  <p>In addition, this web application shall conform to the following
+  requirements:</p>
+  <ul>
+  <li>All request URIs shall be protected by a security constraint that
+      requires security role <code>manager</code> for processing.</li>
+  <li>The default user database shall <strong>not</strong> contain any
+      user that has been assigned the role <code>manager</code>.</li>
+  </ul>
+
+  <h5>HTML-Based Web Application</h5>
+
+  <p>The entire suite of administrative operations described above shall be
+  made available through a web application designed for human interaction.
+  In addition, this web application shall conform to the following
+  requirements:</p>
+  <ul>
+  <li>Must be implemented using servlet, JSP, and MVC framework technologies
+      described under "External Technologies", above.</li>
+  <li>Prompts and error messages must be internationalizable to multiple
+      languages.</li>
+  <li>Rendered HTML must be compatible with Netscape Navigator (verson 4.7
+      or later) and Internet Explorer (version 5.0 or later).</li>
+  </ul>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Testable Assertions"><strong>Testable Assertions</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p><strong>FIXME</strong> - Complete this section.</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/funcspecs/printer/fs-admin-objects.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/funcspecs/printer/fs-admin-objects.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/funcspecs/printer/fs-admin-objects.html	(revision 66)
@@ -0,0 +1,419 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Catalina Functional Specifications - Administrative Apps - Administered Objects</title><meta value="Craig McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      Catalina Functional Specifications
+    " align="right" src="../../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Catalina Functional Specifications</h1><h2>Administrative Apps - Administered Objects</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Administered Objects Overview"><strong>Administered Objects Overview</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>This document defines the <em>Administered Objects</em> that represent
+the internal architectural components of the Catalina servlet container.
+Associated with each is a set of <a href="fs-admin-opers.html">Supported
+Operations</a> that can be performed when the administrative application is
+"focused" on a particular configurable object.</p>
+
+<p>The following Administered Objects are defined:</p>
+<ul>
+<li><a href="#Access Logger">Access Logger</a></li>
+<li><a href="#Connector">Connector</a></li>
+<li><a href="#Context">Context</a></li>
+<li><a href="#Default Context">Default Context</a></li>
+<li><a href="#Default Deployment Descriptor">Default Deployment Descriptor</a></li>
+<li><a href="#Engine">Engine</a></li>
+<li><a href="#Environment Entry">Environment Entry</a></li>
+<li><a href="#Host">Host</a></li>
+<li><a href="#JDBC Resource">JDBC Resource</a></li>
+<li><a href="#Loader">Loader</a></li>
+<li><a href="#Manager">Manager</a></li>
+<li><a href="#Realm">Realm</a></li>
+<li><a href="#Request Filter">Request Filter</a></li>
+<li><a href="#Server">Server</a></li>
+<li><a href="#Service">Service</a></li>
+</ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Access Logger"><strong>Access Logger</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>An <em>Access Logger</em> is an optional <code>Valve</code> that can
+  create request access logs in the same formats as those provided by
+  web servers.  Such access logs are useful input to hit count and user
+  access tracking analysis programs.  An Access Logger can be attached to
+  an <em>Engine</em>, a <em>Host</em>, a <em>Context</em>, or a <em>Default
+  Context</em>.</p>
+
+  <p>The standard component implementing an <em>Access Logger</em> is
+  <code>org.apache.catalina.valves.AccessLogValve</code>.  It supports the
+  following configurable properties:</p>
+  <ul>
+  <li><code>debug</code> - Debugging detail level.  [0]</li>
+  <li><code>directory</code> - Absolute or relative (to $CATALINA_BASE) path
+      of the directory into which access log files are created.
+      [logs].</li>
+  <li><code>pattern</code> - Pattern string defining the fields to be
+      included in the access log output, or "common" for the standard
+      access log pattern.  See
+      <code>org.apache.catalina.valves.AccessLogValve</code> for more
+      information.  [common]</li>
+  <li><code>prefix</code> - Prefix added to the beginning of each log file
+      name created by this access logger.</li>
+  <li><code>resolveHosts</code> - Should IP addresses be resolved to host
+      names in the log?  [false]</li>
+  <li><code>suffix</code> - Suffix added to the end of each log file name
+      created by this access logger.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Connector"><strong>Connector</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>A <em>Connector</em> is the representation of a communications endpoint
+  by which requests are received from (and responses returned to) a Tomcat
+  client.  The administrative applications shall support those connectors
+  that are commonly utilized in Tomcat installations, as described in detail
+  below.</p>
+
+  <p>For standalone use, the standard connector supporting the HTTP/1.1
+  protocol is <code>org.apache.catalina.connectors.http.HttpConnector</code>.
+  It supports the following configurable properties:</p>
+  <ul>
+  <li><code>acceptCount</code> - The maximum queue length of incoming
+      connections that have not yet been accepted.  [10]</li>
+  <li><code>address</code> - For servers with more than one IP address, the
+      address upon which this connector should listen.  [All Addresses]</li>
+  <li><code>bufferSize</code> - Default input buffer size (in bytes) for
+      requests created by this Connector.  [2048]</li>
+  <li><code>debug</code> - Debugging detail level.  [0]</li>
+  <li><code>enableLookups</code> - Should we perform DNS lookups on remote
+      IP addresses when <code>request.getRemoteHost()</code> is called?
+      [true]</li>
+  <li><code>maxProcessors</code> - The maximum number of processor threads
+      supported by this connector.  [20]</li>
+  <li><code>minProcessors</code> - The minimum number of processor threads
+      to be created at container startup.  [5]</li>
+  <li><code>port</code> - TCP/IP port number on which this Connector should
+      listen for incoming requests. [8080]</li>
+  <li><code>proxyName</code> - Host name to be returned when an application
+      calls <code>request.getServerName()</code>.  [Value of Host: header]</li>
+  <li><code>proxyPort</code> - Port number to be returned when an application
+      calls <code>request.getServerPort()</code>.  [Same as <code>port</code>]
+      </li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Context"><strong>Context</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>A <em>Context</em> is the representation of an individual web application,
+  which is associated with a corresponding <em>Host</em>.  Note that the
+  administrable properties of a <em>Context</em> do <strong>not</strong>
+  include any settings from inside the web application deployment descriptor
+  for that application.</p>
+
+  <p>The standard component implementing a <em>Context</em> is
+  <code>org.apache.catalina.core.StandardContext</code>.  It supports the
+  following configurable properties:</p>
+  <ul>
+  <li><code>cookies</code> - Should be use cookies for session identifier
+      communication?  [true]</li>
+  <li><code>crossContext</code> - Should calls to
+      <code>ServletContext.getServletContext()</code> return the actual
+      context responsible for the specified path?  [false]</li>
+  <li><code>debug</code> - Debugging detail level.  [0]</li>
+  <li><code>docBase</code> - The absolute or relative (to the
+      <code>appBase</code> of our owning <em>Host</em>) pathname of a
+      directory containing an unpacked web application, or of a web
+      application archive (WAR) file.</li>
+  <li><code>override</code> - Should settings in this <em>Context</em>
+      override corresponding settings in the <em>Default Context</em>?
+      [false]</li>
+  <li><code>path</code> - Context path for this web application, or an empty
+      string for the root application of a <em>Host</em>.  [Inferred from
+      directory or WAR file name]</li>
+  <li><code>reloadable</code> - Should Tomcat monitor classes in the
+      <code>/WEB-INF/classes</code> directory for changes, and reload the
+      application if they occur?  [false]</li>
+  <li><code>useNaming</code> - Should Tomcat provide a JNDI naming context,
+      containing preconfigured entries and resources, corresponding to the
+      requirements of the Java2 Enterprise Edition specification?  [true]</li>
+  <li><code>workDir</code> - Absolute pathname of a scratch directory that is
+      provided to this web application.  [Automatically assigned relative to
+      $CATALINA_BASE/work]</li>
+  </ul>
+
+  <p>Each <em>Context</em> is owned by a parent <em>Host</em>, and is
+  associated with:</p>
+  <ul>
+  <li>An optional <em>Access Logger</em> that logs all requests processed
+      by this web application.</li>
+  <li>Zero or more <em>Environment Entries</em> representing environment
+      entries for the JNDI naming context associated with a web
+      application.</li>
+  <li>Zero or more <em>JDBC Resources</em> representing database connection
+      pools associated with a web application.</li>
+  <li>A <em>Loader</em> representing the web application class loader used
+      by this web application.</li>
+  <li>A <em>Manager</em> representing the session manager used by this
+      web application.</li>
+  <li>An optional <em>Realm</em> used to provide authentication and access
+      control information for this web application.</li>
+  <li>Zero or more <em>Request Filters</em> used to limit access to this
+      web application based on remote host name or IP address.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Default Context"><strong>Default Context</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>A <em>Default Context</em> represents a subset of the configurable
+  properties of a <em>Context</em>, and is used to set defaults for those
+  properties when web applications are automatically deployed.  A <em>Default
+  Context</em> object can be associated with an <em>Engine</em> or a
+  <em>Host</em>.  The following configurable properties are supported:</p>
+  <ul>
+  <li><code>cookies</code> - Should be use cookies for session identifier
+      communication?  [true]</li>
+  <li><code>crossContext</code> - Should calls to
+      <code>ServletContext.getServletContext()</code> return the actual
+      context responsible for the specified path?  [false]</li>
+  <li><code>reloadable</code> - Should Tomcat monitor classes in the
+      <code>/WEB-INF/classes</code> directory for changes, and reload the
+      application if they occur?  [false]</li>
+  <li><code>useNaming</code> - Should Tomcat provide a JNDI naming context,
+      containing preconfigured entries and resources, corresponding to the
+      requirements of the Java2 Enterprise Edition specification?  [true]</li>
+  </ul>
+
+  <p>Each <em>Default Context</em> is owned by a parent <em>Engine</em> or
+  <em>Host</em>, and is associated with:</p>
+  <ul>
+  <li>Zero or more <em>Environment Entries</em> representing environment
+      entries for the JNDI naming context associated with a web
+      application.</li>
+  <li>Zero or more <em>JDBC Resources</em> representing database connection
+      pools associated with a web application.</li>
+  <li>An optional <em>Loader</em> representing default configuration
+      properties for the Loader component of deployed web applications.</li>
+  <li>An optional <em>Manager</em> representing default configuration
+      properties for the Manager component fo deployed web applications.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Default Deployment Descriptor"><strong>Default Deployment Descriptor</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>Default web application characteristics are configured in a special
+  deployment descriptor named <code>$CATALINA_BASE/conf/web.xml</code>.  This
+  section describes the configurable components that may be stored there.</p>
+
+  <p><strong>FIXME</strong> - Complete the description of default servlets,
+  default mappings, default MIME types, and so on.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Engine"><strong>Engine</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>An <em>Engine</em> is the representation of the entire Catalina
+  servlet container, and processes all requests for all of the associated
+  virtual hosts and web applications.</p>
+
+  <p>The standard component implementing an <em>Engine</em> is
+  <code>org.apache.catalina.core.StandardEngine</code>.  It supports the
+  following configurable properties:</p>
+  <ul>
+  <li><code>debug</code> - Debugging detail level.  [0]</li>
+  <li><code>defaultHost</code> - Name of the <em>Host</em> to which requests
+      will be directed if the requested host is unknown.  [localhost]</li>
+  <li><code>name</code> - Logical name of this engine. [Tomcat Stand-Alone]
+      </li>
+  </ul>
+
+  <p>Each <em>Engine</em> is owned by a parent <em>Service</em>, and is
+  associated with:</p>
+  <ul>
+  <li>An optional <em>Access Logger</em> that logs all requests processed
+      by the entire container.</li>
+  <li>A <em>Default Context</em>, representing default properties of a
+      <em>Context</em> for automatically deployed applications for all
+      associated <em>Hosts</em> (unless overridden by a subordinate
+      component).</li>
+  <li>One or more <em>Hosts</em> representing individual virtual hosts
+      supported by this container.</li>
+  <li>A <em>Realm</em> used to provide authentication and access control
+      information for all virtual hosts and web applications (unless
+      overridden by a subordinate component).</li>
+  <li>Zero or more <em>Request Filters</em> used to limit access to the
+      entire container based on remote host name or IP address.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Environment Entry"><strong>Environment Entry</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>An <em>Environment Entry</em> is the representation of a
+  <code>&lt;env-entry&gt;</code> element from a web application deployment
+  descriptor.  It will cause the creation of a corresponding entry in the
+  JNDI naming context provided to the corresponding <em>Context</em>.  The
+  following configurable properties are supported:</p>
+  <ul>
+  <li><code>description</code> - Description of this environment entry.</li>
+  <li><code>name</code> - Environment entry name (relative to the
+      <code>java:comp/env</code> context)</li>
+  <li><code>type</code> - Environment entry type (must be one of the fully
+      qualified Java classes listed in the servlet spec).</li>
+  <li><code>value</code> - Environment entry value (must be convertible from
+      String to the specified <code>type</code>.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Host"><strong>Host</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>A <em>Host</em> is the representation of an individual virtual host,
+  which has a unique set of associated web applications.</p>
+
+  <p>The standard component implementing a <em>Host</em> is
+  <code>org.apache.catalina.core.StandardHost</code>.  It supports the
+  following configurable properties:</p>
+  <ul>
+  <li><code>aliases</code> - Zero or more DNS names that are also associated
+      with this host (for example, a particular host might be named
+      <code>www.mycompany.com</code> with an alias <code>company.com</code>).
+      </li>
+  <li><code>appBase</code> - Absolute or relative (to $CATALINA_BASE) path
+      to a directory from which web applications will be automatically
+      deployed.</li>
+  <li><code>debug</code> - Debugging detail level.  [0]</li>
+  <li><code>name</code> - DNS Name of the virtual host represented by this
+      object.</li>
+  <li><code>unpackWARs</code> - Should web application archive files
+      deployed by this virtual host be unpacked first?  [true]</li>
+  </ul>
+
+  <p>Each <em>Host</em> is owned by a parent <em>Engine</em>, and is
+  associated with:</p>
+  <ul>
+  <li>An optional <em>Access Logger</em> that logs all requests processed
+      by this virtual host.</li>
+  <li>One or more <em>Contexts</em> representing the web applications
+      operating on this <em>Host</em>.</li>
+  <li>A <em>Default Context</em> representing default <em>Context</em>
+      properties for web applications that are automatically deployed
+      by this <em>Host</em>.</li>
+  <li>A optional <em>Realm</em> used to provide authentication and access
+      control information for all web applications associated with this
+      virtual host (unless overridden by a subordinate component).</li>
+  </ul>
+
+  <p><strong>FIXME</strong> - Should we support configuration of the
+  User Web Applications functionality?</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JDBC Resource"><strong>JDBC Resource</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>A <em>JDBC Resources</em> represents a database connection pool (i.e.
+  an implementation of <code>javax.sql.DataSource</code> that will be
+  configured and made available in the JNDI naming context associated with
+  a web application.</p>
+
+  <p><strong>FIXME</strong> - properties of this administered object</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Loader"><strong>Loader</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>A <em>Loader</em> represents a web application class loader that will
+  be utilized to provide class loading services for a particular
+  <em>Context</em>.</p>
+
+  <p>The standard component implementing a <em>Loader</em> is
+  <code>org.apache.catalina.loader.StandardLoader</code>.  It supports
+  the following configurable properties:</p>
+  <ul>
+  <li><code>checkInterval</code> - Number of seconds between checks for
+      modified classes, if automatic reloading is enabled.  [15]</li>
+  <li><code>debug</code> - Debugging detail level.  [0]</li>
+  <li><code>reloadable</code> - Should this class loader check for modified
+      classes and initiate automatic reloads?  [Set automatically from the
+      <code>reloadable</code> property of the corresponding <em>Context</em>]
+      </li>
+  </ul>
+
+  <p>Each <em>Loader</em> is owned by a parent <em>Context</em>.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Manager"><strong>Manager</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>A <em>Manager</em> represents a session manager that will be associated
+  with a particular web application.  <strong>FIXME</strong> - Add support
+  for advanced session managers and their associated Stores.</p>
+
+  <p>The standard component implementing a <em>Manager</em> is
+  <code>org.apache.catalina.session.StandardManager</code>.  It supports
+  the following configurable properties:</p>
+  <ul>
+  <li><code>checkInterval</code> - Number of seconds between checks for
+      expired sessions.  [60]</li>
+  <li><code>debug</code> - Debugging detail level.  [0]</li>
+  <li><code>entropy</code> - String initialization parameter used to increase
+      the entropy (initial randomness) of the random number generator used to
+      create session identifiers.  [Inferred from engine, host, and context]
+      </li>
+  <li><code>maxActiveSessions</code> - The maximum number of active sessions
+      that are allowed, or -1 for no limit.  [-1]</li>
+  </ul>
+
+  <p>Each <em>Manager</em> is owned by a parent <em>Context</em>.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Realm"><strong>Realm</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>A <em>Realm</em> represents a "database" of information about authorized
+  users, their passwords, and the security roles assigned to them.  This will
+  be used by the container in the implementation of container-managed security
+  in accordance with the Servlet Specification.  Several alternative
+  implementations are supported.</p>
+
+  <p><code>org.apache.catalina.realm.MemoryRealm</code> initializes its user
+  information from a simple XML file at startup time.  If changes are made
+  to the information in this file, the corresponding web applications using
+  it must be restarted for the changes to take effect.  It supports the
+  following configurable properties:</p>
+  <ul>
+  <li><code>debug</code> - Debugging detail level.  [0]</li>
+  <li><code>pathname</code> - Absolute or relative (to $CATALINA_BASE) path to
+      the XML file containing our user information.  [conf/tomcat-users.xml]
+      </li>
+  </ul>
+
+  <p><code>org.apache.catalina.realm.JDBCRealm</code> uses a relational
+  database (accessed via JDBC APIs) to contain the user information.  Changes
+  in the contents of this database take effect immediately; however, the roles
+  assigned to a particular user are calculated only when the user initially
+  logs on (and not per request).  The following configurable properties
+  are supported:</p>
+  <ul>
+  <li><code>connectionName</code> - Database username to use when establishing
+      a JDBC connection.</li>
+  <li><code>connectionPassword</code> - Database password to use when
+      establishing a JDBC connection.</li>
+  <li><code>connectionURL</code> - Connection URL to use when establishing
+      a JDBC connection.</li>
+  <li><code>debug</code> - Debugging detail level.  [0]</li>
+  <li><code>digest</code> - Name of the <code>MessageDigest</code> algorithm
+      used to encode passwords in the database, or a zero-length string for
+      no encoding.  [Zero-length String]</li>
+  <li><code>driverName</code> - Fully qualified Java class name of the JDBC
+      driver to be utilized.</li>
+  <li><code>roleNameCol</code> - Name of the column, in the User Roles table,
+      which contains the role name.</li>
+  <li><code>userCredCol</code> - Name of the column, in the Users table,
+      which contains the password (encrypted or unencrypted).</li>
+  <li><code>userNameCol</code> - Name of the column, in both the Users and
+      User Roles tables, that contains the username.</li>
+  <li><code>userRoleTable</code> - Name of the User Roles table, which contains
+      one row per security role assigned to a particular user.  This table must
+      contain the columns specified by the <code>userNameCol</code> and
+      <code>roleNameCol</code> properties.</li>
+  <li><code>userTable</code> - Name of the Users table, which contains one row
+      per authorized user.  This table must contain the columns specified by
+      the <code>userNameCol</code> and <code>userCredCol</code> properties.
+      </li>
+  </ul>
+
+  <p><strong>FIXME</strong> - Should we provide mechanisms to edit the contents
+  of a "tomcat-users.xml" file through the admin applications?</p>
+
+  <p>Each <em>Realm</em> is owned by a parent <em>Engine</em>, <em>Host</em>,
+  or <em>Context</em>.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Request Filter"><strong>Request Filter</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p><strong>FIXME</strong> - complete this entry</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Server"><strong>Server</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p><strong>FIXME</strong> - complete this entry</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Service"><strong>Service</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p><strong>FIXME</strong> - complete this entry</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/funcspecs/printer/fs-admin-opers.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/funcspecs/printer/fs-admin-opers.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/funcspecs/printer/fs-admin-opers.html	(revision 66)
@@ -0,0 +1,264 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Catalina Functional Specifications - Administrative Apps - Supported Operations</title><meta value="Craig McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      Catalina Functional Specifications
+    " align="right" src="../../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Catalina Functional Specifications</h1><h2>Administrative Apps - Supported Operations</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Supported Operations Overview"><strong>Supported Operations Overview</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>This document defines the <em>Supported Operations</em> that may
+be performed against the <a href="fs-admin-objects.html">Administered
+Objects</a> that are supported by Tomcat 6 administrative applications.
+Not all operations are required to be available through every administrative
+application that is implemented.  However, if a given operation is available,
+it should operate consistently with the descriptions found here.</p>
+
+<p>Supported Operations are described for the following Administered
+Objects:</p>
+<ul>
+<li><a href="#Access Logger">Access Logger</a></li>
+<li><a href="#Connector">Connector</a></li>
+<li><a href="#Context">Context</a></li>
+<li><a href="#Default Context">Default Context</a></li>
+<li><a href="#Engine">Engine</a></li>
+<li><a href="#Environment Entry">Environment Entry</a></li>
+<li><a href="#Host">Host</a></li>
+<li><a href="#JDBC Resource">JDBC Resource</a></li>
+<li><a href="#Loader">Loader</a></li>
+<li><a href="#Manager">Manager</a></li>
+<li><a href="#Realm">Realm</a></li>
+<li><a href="#Request Filter">Request Filter</a></li>
+<li><a href="#Server">Server</a></li>
+<li><a href="#Service">Service</a></li>
+</ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Access Logger"><strong>Access Logger</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>From the perspective of a particular <em>Access Logger</em>, it shall
+  be possible to perform the following administrative operations:</p>
+  <ul>
+  <li>Navigate to the owning <em>Engine</em>, <em>Host</em>, or
+      <em>Context</em>.</li>
+  <li>Edit the configurable properties of this object.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Connector"><strong>Connector</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>From the perspective of a particular <em>Connector</em>, it shall be
+  possible to perform the following administrative operations:</p>
+  <ul>
+  <li>Navigate to the owning <em>Service</em>.</li>
+  <li>Edit the configurable properties of this object.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Context"><strong>Context</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>From the perspective of a particular <em>Context</em>, it shall be
+  possible to perform the following administrative operations:</p>
+  <ul>
+  <li>Navigate to the owning <em>Host</em>.</li>
+  <li>Edit the configurable properties of this object.</li>
+  <li>Create and configure a new <em>Access Logger</em> associated
+      with this object.</li>
+  <li>Edit the configurable properties of the associated <em>Access
+      Logger</em>.</li>
+  <li>Remove the associated <em>Access Logger</em>.</li>
+  <li>Create and configure a new <em>Environment Entry</em> associated
+      with this object.</li>
+  <li>Select and edit the configurable properties of an associated
+      <em>Environment Entry</em>.</li>
+  <li>Remove an associated <em>Environment Entry</em>.</li>
+  <li>Create and configure a new <em>JDBC Resource</em> associated
+      with this object.</li>
+  <li>Select and edit the configurable properties of an associated
+      <em>JDBC Resource</em>.</li>
+  <li>Remove an associated <em>JDBC Resource</em>.</li>
+  <li>Create and configure a new <em>Loader</em> associated with
+      this object.</li>
+  <li>Edit the configurable properties of the associated <em>Loader</em>.</li>
+  <li>Remove the associated <em>Loader</em>.</li>
+  <li>Create and configure a new <em>Manager</em> associated with
+      this object.</li>
+  <li>Edit the configurable properties of the associated <em>Manager</em>.</li>
+  <li>Remove the associated <em>Manager</em>.</li>
+  <li>Create and configure a new <em>Realm</em> associated with
+      this object.</li>
+  <li>Edit the configurable properties of the associated <em>Realm</em>.</li>
+  <li>Remove the associated <em>Realm</em>.</li>
+  <li>Create and configure a new <em>Request Filter</em> associated with
+      this object.</li>
+  <li>Select and edit the configurable properties of an
+      associated <em>Request Filter</em></li>
+  <li>Remove an associated <em>Request Filter</em>.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Default Context"><strong>Default Context</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>From the perspective of a particular <em>Default Context</em>, it shall
+  be possible to perform the following administrative operations:</p>
+  <ul>
+  <li>Navigate to the owning <em>Engine</em> or <em>Host</em>.</li>
+  <li>Edit the configurable properties of this object.</li>
+  <li>Create and configure a new <em>Environment Entry</em> associated
+      with this object.</li>
+  <li>Select and edit the configurable properties of an associated
+      <em>Environment Entry</em>.</li>
+  <li>Remove an associated <em>Environment Entry</em>.</li>
+  <li>Create and configure a new <em>JDBC Resource</em> associated
+      with this object.</li>
+  <li>Select and edit the configurable properties of an associated
+      <em>JDBC Resource</em>.</li>
+  <li>Remove an associated <em>JDBC Resource</em>.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Engine"><strong>Engine</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>From the perspective of a particular <em>Engine</em>, it shall be
+  possible to perform the following administrative operations:</p>
+  <ul>
+  <li>Navigate to the owning <em>Service</em>.</li>
+  <li>Edit the configurable properties of this object.</li>
+  <li>Create and configure a new <em>Access Logger</em> associated
+      with this object.</li>
+  <li>Edit the configurable properties of the associated <em>Access
+      Logger</em>.</li>
+  <li>Remove the associated <em>Access Logger</em>.</li>
+  <li>Create and configure a new <em>Default Context</em> associated
+      with this object.</li>
+  <li>Edit the configurable properties of the associated <em>Default
+      Context</em>.</li>
+  <li>Remove the associated <em>Default Context</em>.</li>
+  <li>Create and configure a new <em>Host</em> associated with
+      this object.</li>
+  <li>Select and edit the configurable properties of an
+      associated <em>Host</em>.</li>
+  <li>Remove an associated <em>Host</em>.</li>
+  <li>Create and configure a new <em>Realm</em> associated with
+      this object.</li>
+  <li>Edit the configurable properties of the associated <em>Realm</em>.</li>
+  <li>Remove the associated <em>Realm</em>.</li>
+  <li>Create and configure a new <em>Request Filter</em> associated with
+      this object.</li>
+  <li>Select and edit the configurable properties of an
+      associated <em>Request Filter</em></li>
+  <li>Remove an associated <em>Request Filter</em>.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Environment Entry"><strong>Environment Entry</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>From the perspective of a particular <em>Environment Entry</em>, it shall
+  be possible to perform the following administrative operations:</p>
+  <ul>
+  <li>Navigate to the owning <em>Context</em> or <em>Default Context</em>.</li>
+  <li>Edit the configurable properties of this object.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Host"><strong>Host</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>From the perspective of a particular <em>Host</em>, it shall be
+  possible to perform the following administrative operations:</p>
+  <ul>
+  <li>Navigate to the owning <em>Engine</em>.</li>
+  <li>Edit the configurable properties of this object.</li>
+  <li>Create and configure a new <em>Access Logger</em> associated
+      with this object.</li>
+  <li>Edit the configurable properties of the associated <em>Access
+      Logger</em>.</li>
+  <li>Remove the associated <em>Access Logger</em>.</li>
+  <li>Create and configure a new <em>Context</em> associated with
+      this object.</li>
+  <li>Select and edit the configurable properties of an associated
+      <em>Context</em>.</li>
+  <li>Remove an associated <em>Context</em>.</li>
+  <li>Create and configure a new <em>Default Context</em> associated
+      with this object.</li>
+  <li>Edit the configurable properties of the associated <em>Default
+      Context</em>.</li>
+  <li>Remove the associated <em>Default Context</em>.</li>
+  <li>Create and configure a new <em>Realm</em> associated with
+      this object.</li>
+  <li>Edit the configurable properties of the associated <em>Realm</em>.</li>
+  <li>Remove the associated <em>Realm</em>.</li>
+  <li>Create and configure a new <em>Request Filter</em> associated with
+      this object.</li>
+  <li>Select and edit the configurable properties of an
+      associated <em>Request Filter</em></li>
+  <li>Remove an associated <em>Request Filter</em>.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JDBC Resource"><strong>JDBC Resource</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>From the perspective of a particular <em>JDBC Resource</em>, it shall
+  be possible to perform the following administrative operations:</p>
+  <ul>
+  <li>Navigate to the owning <em>Context</em> or <em>Default Context</em>.</li>
+  <li>Edit the configurable properties of this object.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Loader"><strong>Loader</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>From the perspective of a particular <em>Loader</em>, it shall
+  be possible to perform the following administrative operations:</p>
+  <ul>
+  <li>Navigate to the owning <em>Context</em>.</li>
+  <li>Edit the configurable properties of this object.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Manager"><strong>Manager</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>From the perspective of a particular <em>Manager</em>, it shall
+  be possible to perform the following administrative operations:</p>
+  <ul>
+  <li>Navigate to the owning <em>Context</em>.</li>
+  <li>Edit the configurable properties of this object.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Realm"><strong>Realm</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>From the perspective of a particular <em>Realm</em>, it shall
+  be possible to perform the following administrative operations:</p>
+  <ul>
+  <li>Navigate to the owning <em>Engine</em>, <em>Host</em>, or
+      <em>Context</em>.</li>
+  <li>Edit the configurable properties of this object.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Request Filter"><strong>Request Filter</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>From the perspective of a particular <em>Request Filter</em>, it shall
+  be possible to perform the following administrative operations:</p>
+  <ul>
+  <li>Navigate to the owning <em>Engine</em>, <em>Host</em>, or
+      <em>Context</em>.</li>
+  <li>Edit the configurable properties of this object.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Server"><strong>Server</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>From the perspective of the overall <em>Server</em>, it shall be
+  possible to perform the following administrative operations:</p>
+  <ul>
+  <li>Edit the configurable properties of this object.</li>
+  <li>Create and configure a new <em>Service</em> associated with
+      this object.</li>
+  <li>Select and edit the configurable properties of an associated
+      <em>Service</em>.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Service"><strong>Service</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>From the perspective of a particular <em>Service</em>, it shall be
+  possible to perform the following administrative operations:</p>
+  <ul>
+  <li>Navigate to the owning <em>Server</em>.</li>
+  <li>Edit the configurable properties of this object.</li>
+  <li>Create and configure a new <em>Connector</em> associated with
+      this object.</li>
+  <li>Select and edit the configurable properties of an associated
+      <em>Connector</em>.</li>
+  <li>Remove an associated <em>Connector</em>.</li>
+  <li>Create and configure a new <em>Engine</em> associated with
+      this object.</li>
+  <li>Edit the configurable properties of the associated <em>Engine</em>.</li>
+  <li>Remove the associated <em>Engine</em>.</li>
+  </ul>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/funcspecs/printer/fs-default.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/funcspecs/printer/fs-default.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/funcspecs/printer/fs-default.html	(revision 66)
@@ -0,0 +1,225 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Catalina Functional Specifications - Default Servlet</title><meta value="Craig McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      Catalina Functional Specifications
+    " align="right" src="../../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Catalina Functional Specifications</h1><h2>Default Servlet</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Overview"><strong>Overview</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The purpose of the <strong>Default Servlet</strong> is to serve
+    static resources of a web application in response to client requests.
+    As the name implies, it is generally configured as the "default"
+    servlet for a web application, by being mapped to a URL pattern "/".</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="External Specifications"><strong>External Specifications</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The following external specifications have provisions which
+    partially define the correct behavior of the default servlet:</p>
+    <ul>
+    <li><a href="http://java.sun.com/products/servlet/download.html">
+        Servlet Specification</a> (Version 2.3 PFD2)</li>
+    <li><a href="http://www.rfc-editor.org/rfc/rfc2046.txt">Multipurpose
+        Internet Mail Extensions (MIME) Part Two: Media Types</a></li>
+    <li><a href="http://www.rfc-editor.org/rfc/rfc2616.txt">Hypertext
+        Transfer Protocol -- HTTP/1.1</a></li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Implementation Requirements"><strong>Implementation Requirements</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The implementation of this functionality shall conform to the
+    following requirements:</p>
+    <ul>
+    <li>Must be implemented as a servlet.</li>
+    <li>Must support configurable parameters for debugging detail level,
+        input buffer size, output buffer size, whether or not to produce
+        directory listings when no welcome file is present, and whether or not
+        modifications are supported via DELETE and PUT.</li>
+    <li>Log debugging and operational messages (suitably internationalized)
+        via the <code>getServletContext().log()</code> method.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Dependencies"><strong>Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Environmental Dependencies"><strong>Environmental Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The following environmental dependencies must be met in order for
+    the default servlet to operate correctly:</p>
+    <ul>
+    <li>The default servlet must be registered in the application deployment
+        descriptor (or the default deployment descriptor in file
+        <code>$CATALINA_BASE/conf/web.xml</code>) using a "default servlet"
+        servlet mapping, signified by URL pattern "/".</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Container Dependencies"><strong>Container Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>Correct operation of the default servlet depends on the following
+    specific features of the surrounding container:</p>
+    <ul>
+    <li>The container shall provide a servlet context attribute that
+        lists the welcome file names that have been defined for this
+        web application.</li>
+    <li>The container shall provide a servlet context attribute that
+        contains a <code>javax.naming.directory.DirContext</code>
+        implementation representing the static resources of this
+        web application.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Functionality"><strong>Functionality</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Initialization Functionality"><strong>Initialization Functionality</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The following processing must be performed when the <code>init()</code>
+    method of the invoker servlet is called:</p>
+    <ul>
+    <li>Process and sanity check configuration parameters.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Per-Request Functionality"><strong>Per-Request Functionality</strong></a></font></td></tr><tr><td><blockquote>
+
+
+    <p>For all HTTP request methods, the resource path is determined from
+    the path information provided to this request, either as request attribute
+    <code>javax.servlet.include.path_info</code> (for a request dispatcher
+    access to a static resource) or by calling
+    <code>request.getPathInfo()</code> directly.</p>
+
+    <p>On each HTTP DELETE request processed by this servlet, the following
+    processing shall be performed:</p>
+    <ul>
+    <li>If modifications to the static resources are not allowed (set by a
+        configuration parameter), return HTTP status 403 (forbidden).</li>
+    <li>If an attempt is made to delete a resource from <code>/META-INF</code>
+        or <code>/WEB-INF</code>, return HTTP status 403 (forbidden).</li>
+    <li>If the requested resource does not exist, return HTTP status 404
+        (not found)</li>
+    <li>Unbind the resource from the directory context containing the
+        static resources for this web application.  If successful, return
+        HTTP status 204 (no content).  Otherwise, return HTTP status 405
+        (method not allowed).</li>
+    </ul>
+
+
+    <p>On each HTTP GET request processed by this servlet, the following
+    processing shall be performed:</p>
+    <ul>
+    <li>If the request is for a resource under <code>/META-INF</code> or
+        <code>/WEB-INF</code>, return HTTP status 404 (not found).</li>
+    <li>If the requested resource does not exist, return HTTP status 404
+        (not found).</li>
+    <li>If the requested resource is not a directory, but the resource
+        path ends in "/" or "\", return HTTP status 404 (not found).</li>
+    <li>If the requested resource is a directory:
+        <ul>
+        <li>If the request path does not end with "/", redirect to a
+            corresponding path with "/" appended so that relative references
+            in welcome files are resolved correctly.</li>
+        <li>If one of the specified welcome files exists, redirect to the
+            path for that welcome file so that it will be served explicitly.
+            </li>
+        </ul></li>
+    <li>If the request being processed contains an <code>If-Range</code>
+        header, perform the processing described in the HTTP/1.1 specification
+        to determine whether the client's information is up to date.</li>
+    <li>Determine the content type of the response, by looking up the
+        corresponding MIME type in our servlet context.</li>
+    <li>If the requested resource is a directory:
+        <ul>
+        <li>If directory listings are suppressed, return HTTP status 404
+            (not found).</li>
+        <li>Set the content type to <code>text/html</code>.</li>
+        </ul></li>
+    <li>Determine the range(s) to be returned, based on the existence of
+        any <code>If-Range</code> and <code>Range</code> headers.</li>
+    <li>If the requested resource is a directory, include an <code>ETag</code>
+        header in the response, with the value calculated based on the content
+        of the directory.</li>
+    <li>Include a <code>Last-Modified</code> header in the response documenting
+        the date/time that the resource was last modified.</li>
+    <li>Unless we are processing a HEAD request, include the appropriate
+        content (or content ranges) in the response.</li>
+    </ul>
+
+    <p>On each HTTP HEAD request processed by this servlet, the following
+    processing shall be performed:</p>
+    <ul>
+    <li>Processed identically to an HTTP GET request, except that the data
+        content is not transmitted after the headers.</li>
+    </ul>
+
+    <p>On each HTTP POST request processed by this servlet, the following
+    processing shall be performed:</p>
+    <ul>
+    <li>Processed identically to an HTTP GET request.</li>
+    </ul>
+
+
+    <p>On each HTTP PUT request processed by this servlet, the following
+    processing shall be perfomred:</p>
+    <ul>
+    <li>If modifications to the static resources are not allowed (set by a
+        configuration parameter), return HTTP status 403 (forbidden).</li>
+    <li>If an attempt is made to delete a resource from <code>/META-INF</code>
+        or <code>/WEB-INF</code>, return HTTP status 403 (forbidden).</li>
+    <li>Create a new resource from the body of this request.</li>
+    <li>Bind or rebind the specified path to the new resource (depending on
+        whether it currently exists or not).  Return HTTP status as follows:
+        <ul>
+        <li>If binding was unsuccessful, return HTTP status 409 (conflict).
+            </li>
+        <li>If binding was successful and the resource did not previously
+            exist, return HTTP status 201 (created).</li>
+        <li>If binding was successful and the resource previously existed,
+            return HTTP status 204 (no content).</li>
+        </ul></li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Finalization Functionality"><strong>Finalization Functionality</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>No specific processing is required when the <code>destroy()</code>
+    method is called:</p>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Testable Assertions"><strong>Testable Assertions</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>In addition the the assertions implied by the functionality requirements
+  listed above, the following additional assertions shall be tested to
+  validate the behavior of the invoker servlet:</p>
+  <ul>
+  <li>Requests for resources that do not exist in the web application must
+      return HTTP status 404 (not found).</li>
+  <li>The default servlet must operate identically for web applications that
+      are run out of a WAR file directly, or from an unpacked directory
+      structure.</li>
+  <li>If the web application is running out of an unpacked directory
+      structure, the default servlet must recognize cases where the resource
+      has been updated through external means.</li>
+  </ul>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/funcspecs/printer/fs-invoker.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/funcspecs/printer/fs-invoker.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/funcspecs/printer/fs-invoker.html	(revision 66)
@@ -0,0 +1,220 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Catalina Functional Specifications - Invoker Servlet</title><meta value="Craig McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      Catalina Functional Specifications
+    " align="right" src="../../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Catalina Functional Specifications</h1><h2>Invoker Servlet</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Overview"><strong>Overview</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The purpose of the <strong>Invoker Servlet</strong> is to allow a
+    web application to dynamically register new <em>servlet definitions</em>
+    that correspond with a <code>&lt;servlet&gt;</code> element in the
+    <code>/WEB-INF/web.xml</code> deployment descriptor, and execute
+    requests utilizing the new servlet definitions.  From the perspective
+    of the newly registered servlets, all servlet lifecycle requirements
+    of the Servlet Specification (such as calling <code>init()</code> and
+    <code>destroy()</code> at the correct times) will be respected.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="External Specifications"><strong>External Specifications</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>I do not know of any formal specification of the behavior of an
+    invoker servlet that is publicly available.  Anyone know of one?</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Implementation Requirements"><strong>Implementation Requirements</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The implementation of this functionality shall conform to the
+    following requirements:</p>
+    <ul>
+    <li>Implemented as a servlet.</li>
+    <li>Exist in the <code>org.apache.catalina.servlets</code> package
+        so that it can be loaded by the Catalina class loader.</li>
+    <li>Implement the <code>org.apache.catalina.ContainerServlet</code>
+        interface, so that it gains knowledge of the <code>Wrapper</code>
+        that is responsible for itself and, therefore, access to other
+        internal Catalina components.</li>
+    <li>Support a configurable debugging detail level.</li>
+    <li>Log debugging and operational messages (suitably internationalized)
+        via the <code>getServletContext().log()</code> method.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Dependencies"><strong>Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Environmental Dependencies"><strong>Environmental Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The following environmental dependencies must be met in order for
+    the Invoker servlet to operate correctly:</p>
+    <ul>
+    <li>The invoker servlet must be registered in the application deployment
+        descriptor (or the default deployment descriptor in file
+        <code>$CATALINA_BASE/conf/web.xml</code>) using a "path mapped"
+        servlet mapping.  The historical default mapping is to URL pattern
+        "<code>/servlet/*</code>", although the invoker servlet must operate
+        correctly with an arbitrary mapping.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Container Dependencies"><strong>Container Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>Correct operation of the invoker servlet depends on the following
+    specific features of the surrounding container:</p>
+    <ul>
+    <li>Correct support for the <code>ContainerServlet</code> interface,
+        including calling <code>setWrapper()</code> <strong>before</strong>
+        the <code>init()</code> method of the invoker servlet is called.</li>
+    <li>The web application class loader must be stored as the context
+        class loader of the request processing thread.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Functionality"><strong>Functionality</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Initialization Functionality"><strong>Initialization Functionality</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The following processing must be performed when the <code>init()</code>
+    method of the invoker servlet is called:</p>
+    <ul>
+    <li>Ensure that the container has called <code>setWrapper()</code>.  If
+        not, throw a permanent <code>UnavailableException</code>.</li>
+    <li>Look up and cache the <code>Context</code> that corresponds to our
+        <code>Wrapper</code>.  This is the component with which new servlet
+        definitions and mappings will be registered.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Per-Request Functionality"><strong>Per-Request Functionality</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>On each request, the following processing shall be performed:</p>
+    <ol>
+    <li>Calculate the <code>{ServletPath}</code> for this request, either from
+        request attribute <code>javax.servlet.include.servlet_path</code> or
+        by calling <code>request.getServletPath()</code>.</li>
+    <li>Calculate the <code>{PathInfo}</code> for this request, either from
+        request attribute <code>javax.servlet.include.path_info</code> or
+        by calling <code>request.getPathInfo()</code>.  If the calculated
+        <code>{PathInfo}</code> is null, return HTTP status 400
+        (bad request).</li>
+    <li>Parse the calculated <code>{PathInfo}</code> value as follows:
+        <ol>
+        <li>Ignore the leading slash character.</li>
+        <li>Accumulate characters up to the next '/' (if any) as the
+            <code>{ServletSelector}</code>.</li>
+        <li>If a '/' was encountered, accumulate all characters from that
+            slash (inclusive) to the end of the string as
+            <code>{PathRemainder}</code>.  If no slash was encountered,
+            set <code>{PathRemainder}</code> to a zero-length string.</li>
+        </ol></li>
+    <li>Determine whether <code>{ServletSelector}</code> is the name of an
+        existing servlet definition, and process it as follows:
+        <ol>
+        <li>Ask our associated <code>Context</code> to find and return a
+            child <code>Wrapper</code> named <code>{ServletSelector}</code>.
+            </li>
+        <li>If there is no such child, skip to the next major step.</li>
+        <li>Register a new servlet mapping for this <code>Wrapper</code>,
+            using a URL pattern calculated as follows:
+            <code>{ServletPath}</code> + "/" + <code>{ServletSelector}</code>
+            + "/*"</li>
+        <li>Create a request dispatcher using a path calculated as follows:
+            <code>{ServletPath}</code> + "/" + <code>{ServletSelector}</code>
+            + <code>{PathRemainder}</code></li>
+        <li>Forward this request to the created request dispatcher, and
+            exit from this request.</li>
+        </ol></li>
+    <li>Assume that <code>{ServletSelector}</code> is the fully qualified
+        name of a Java class that implements <code>javax.servlet.Servlet</code>
+        and process it as follows:
+        <ol>
+        <li>Synthesize a new <code>{ServletName}</code> for the servlet
+            definition that will be created.</li>
+        <li>If there is already a child <code>Wrapper</code> associated with
+            this name, return HTTP status 500 (internal server error), because
+            a mapping should have already been created for this servlet.</li>
+        <li>Attempt to load a class named <code>{ServletSelector}</code> from
+            the web application class loader (i.e. the context class loader
+            for our current thread).  If this fails, return HTTP status 404
+            (not found).</li>
+        <li>Instantiate an instance of this class.  If an error occurs,
+            return HTTP status 404 (not found).</li>
+        <li>If this class does not implement the
+            <code>javax.servlet.Servlet</code> interface, return HTTP status
+            404 (not found).</li>
+        <li>Create and register a new <code>Wrapper</code> child with our
+            <code>Context</code>, under name <code>{ServletName}</code>.</li>
+        <li>Register a new servlet mapping for this <code>Wrapper</code>,
+            using a URL pattern calculated as follows:
+            <code>{ServletPath}</code> + "/" + <code>{ServletSelector}</code>
+            + "/*"</li>
+        <li>Create a request dispatcher using a path calculated as follows:
+            <code>{ServletPath}</code> + "/" + <code>{ServletSelector}</code>
+            + <code>{PathRemainder}</code></li>
+        <li>Forward this request to the created request dispatcher, and
+            exit from this request.</li>
+        </ol></li>
+    </ol>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Finalization Functionality"><strong>Finalization Functionality</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>No specific processing is required when the <code>destroy()</code>
+    method is called:</p>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Testable Assertions"><strong>Testable Assertions</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>In addition the the assertions implied by the functionality requirements
+  listed above, the following additional assertions shall be tested to
+  validate the behavior of the invoker servlet:</p>
+  <ul>
+  <li>It is possible to access an existing servlet definition by name
+      through the invoker.  The existing servlet definition can include
+      either a <code>&lt;servlet-class&gt;</code> or
+      <code>&lt;jsp-file&gt;</code> subelement.</li>
+  <li>When an existing servlet definition is accessed by name, the request
+      will be ultimately processed by the same servlet instance that would
+      have processed it had a mapping to that servlet definition been used
+      on the request directly.</li>
+  <li>It is possible to access an anonymous servlet by class name
+      through the invoker.</li>
+  <li>When an anonymous servlet is accessed, the servlet instance is processed
+      according to the lifecycle requirements of the Servlet Specification.
+      </li>
+  <li>When an anonymous servlet is accessed, the servlet instance receives
+      a <code>ServletConfig</code> instance with no servlet initialization
+      parameters.</li>
+  <li>It is possible to utilize the invoker servlet via a direct request.</li>
+  <li>It is possible to utilize the invoker servlet via a call to
+      <code>RequestDispatcher.forward()</code>, or the corresponding
+      <code>&lt;jsp:forward&gt;</code> tag in a JSP page.</li>
+  <li>It is possible to utilize the invoker servlet via a call to
+      <code>RequestDispatcher.include()</code>, or the corresponding
+      <code>&lt;jsp:include&gt;</code> tag in a JSP page.</li>
+  <li>It is possible to use any HTTP method (including GET and POST) that
+      is supported by the Servlet class that is ultimately executed.</li>
+  <li>The invoker servlet should never be asked to process a second or
+      subsequent request for the same <code>{ServletSelector}</code> (because
+      it will have registered an appropriate servlet mapping.</li>
+  </ul>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/funcspecs/printer/fs-jdbc-realm.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/funcspecs/printer/fs-jdbc-realm.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/funcspecs/printer/fs-jdbc-realm.html	(revision 66)
@@ -0,0 +1,221 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Catalina Functional Specifications - JDBCRealm</title><meta value="Craig McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      Catalina Functional Specifications
+    " align="right" src="../../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Catalina Functional Specifications</h1><h2>JDBCRealm</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Overview"><strong>Overview</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The purpose of the <strong>JDBCRealm</strong> implementation is to
+    provide a mechanism by which Tomcat 6 can acquire information needed
+    to authenticate web application users, and define their security roles,
+    from a relational database accessed via JDBC APIs.  For integration
+    with Catalina, the resulting class(es) must implement the
+    <code>org.apache.catalina.Realm</code> interface.</p>
+
+    <p>This specification reflects a combination of functionality that is
+    already present in the <code>org.apache.catalina.realm.JDBCRealm</code>
+    class, as well as requirements for enhancements that have been
+    discussed.  Where appropriate, requirements statements are marked
+    <em>[Current]</em> and <em>[Requested]</em> to distinguish them.</p>
+
+    <p>The current status of this functional specification is
+    <strong>PROPOSED</strong>.  It has not yet been discussed and
+    agreed to on the TOMCAT-DEV mailing list.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="External Specifications"><strong>External Specifications</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The implementation of this functionality depends on the following
+    external specifications:</p>
+    <ul>
+    <li><a href="http://java.sun.com/products/jdbc/">Java Database
+        Connectivity</a> (version 2.0 or later)</li>
+    <li><a href="http://java.sun.com/products/jdbc/">Java Database
+        Connectivity Optional Package</a> (version 2.0 or later)</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Implementation Requirements"><strong>Implementation Requirements</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The implementation of this functionality shall conform to the
+    following requirements:</p>
+    <ul>
+    <li>Be realized in one or more implementation classes.</li>
+    <li>Implement the <code>org.apache.catalina.Realm</code> interface.
+        [Current]</li>
+    <li>Implement the <code>org.apache.catalina.Lifecycle</code>
+        interface.  [Current]</li>
+    <li>Subclass the <code>org.apache.catalina.realm.RealmBase</code>
+        base class.</li>
+    <li>Live in the <code>org.apache.catalina.realm</code> package.
+        [Current]</li>
+    <li>Support a configurable debugging detail level. [Current]</li>
+    <li>Log debugging and operational messages (suitably internationalized)
+        via the <code>getContainer().log()</code> method. [Current]</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Dependencies"><strong>Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Environmental Dependencies"><strong>Environmental Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The following environmental dependencies must be met in order for
+    JDBCRealm to operate correctly:</p>
+    <ul>
+    <li>The desire to utilize JDBCRealm must be registered in
+        <code>$CATALINA_BASE/conf/server.xml</code>, in a
+        <code>&lt;Realm&gt;</code> element that is nested inside a
+        corresponding <code>&lt;Engine&gt;</code>, <code>&lt;Host&gt;</code>,
+        or <code>&lt;Context&gt;</code> element.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Container Dependencies"><strong>Container Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>Correct operation of JDBCRealm depends on the following
+    specific features of the surrounding container:</p>
+    <ul>
+    <li>Interactions with <code>JDBCRealm</code> will be initiated by
+        the appropriate <code>Authenticator</code> implementation, based
+        on the login method that is selected.</li>
+    <li><code>JDBCRealm</code> must have the JDBC standard API classes
+        available to it.  For a JDK 1.2 or later container, these APIs
+        are included in the standard platform.</li>
+    <li>When connection pooling is implemented, <code>JDBCRealm</code>
+        must have the JDBC Optional Package (version 2.0 or later) APIs
+        available to it.  This library is available as a separate
+        download (and will be included in Tomcat binary distributions).</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Functionality"><strong>Functionality</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Overview of Operation"><strong>Overview of Operation</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The main purpose of <code>JDBCRealm</code> is to allow Catalina to
+    authenticate users, and look up the corresponding security roles, from
+    the information found in a relational database accessed via JDBC APIs.
+    For maximum flexibility, the details of how this is done (for example,
+    the names of the required tables and columns) should be configurable.</p>
+
+    <p>Each time that Catalina needs to authenticate a user, it will call
+    the <code>authenticate()</code> method of this Realm implementation,
+    passing the username and password that were specified by the user.  If
+    we find the user in the database (and match on the password), we accumulate
+    all of the security roles that are defined for this user, and create a
+    new <code>GenericPrincipal</code> object to be returned.  If the user
+    is not authenticated, we return <code>null</code> instead.  The
+    <code>GenericUser</code> object caches the set of security roles that
+    were owned by this user at the time of authentication, so that calls to
+    <code>isUserInRole()</code> can be answered without going back to the
+    database every time.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Detailed Functional Requirements"><strong>Detailed Functional Requirements</strong></a></font></td></tr><tr><td><blockquote>
+
+
+    <h3>Configurable Properties</h3>
+
+    <p>The implementation shall support the following properties
+    that can be configured with JavaBeans property setters:</p>
+    <ul>
+    <li>Configuration parameters defining the JDBC driver to use, the
+        database connection URL to be accessed, and the username/password
+        to use for logging in. [Current]</li>
+    <li>Configuration parameters describing the connection pool to be
+        created to support simultaneous authentications. [Requested]</li>
+    <li>Name of the tables to be searched for users and roles. [Current]</li>
+    <li>Name of the columns to be used for usernames, passwords, and
+        role names.  [Current]</li>
+    </ul>
+
+    <h3>Lifecycle Functionality</h3>
+
+    <p>The following processing must be performed when the <code>start()</code>
+    method is called:</p>
+    <ul>
+    <li>Establish a connection to the configured database, using the
+        configured username and password.  [Current]</li>
+    <li>Configure and establish a connection pool of connections to the
+        database.  [Requested]</li>
+    </ul>
+
+    <p>The following processing must be performed when the <code>stop()</code>
+    method is called:</p>
+    <ul>
+    <li>Close any opened connections to the database.</li>
+    </ul>
+
+
+    <h3>Method authenticate() Functionality</h3>
+
+    <p>When <code>authenticate()</code> is called, the following processing
+    is required:</p>
+    <ul>
+    <li>Acquire the one and only connection [Current] or acquire a connection
+        from the connection pool [Requested].</li>
+    <li>Select the one and only row from the user's table for this user,
+        and retrieve the corresponding password column.  If zero rows (or
+        more than one row) are found, return <code>null</code>.</li>
+    <li>Authenticate the user by comparing the (possibly encrypted) password
+        value that was received against the password presented by the user.
+        If there is no match, return <code>null</code>.</li>
+    <li>Acquire a <code>List</code> of the security roles assigned to the
+        authenticated user by selecting from the roles table.</li>
+    <li>Construct a new instance of class
+        <code>org.apache.catalina.realm.GenericPrincipal</code>, passing as
+        constructor arguments:  this realm instance, the authenticated
+        username, and a <code>List</code> of the security roles associated
+        with this user.</li>
+    <li><strong>WARNING</strong> - Do not attempt to cache and reuse previous
+        <code>GenericPrincipal</code> objects for a particular user, because
+        the information in the directory server might have changed since the
+        last time this user was authenticated.</li>
+    <li>Return the newly constructed <code>GenericPrincipal</code>.</li>
+    </ul>
+
+
+    <h3>Method hasRole() Functionality</h3>
+
+    <p>When <code>hasRole()</code> is called, the following processing
+    is required:</p>
+    <ul>
+    <li>The <code>principal</code> that is passed as an argument SHOULD
+        be one that we returned (instanceof class
+        <code>org.apache.catalina.realm.GenericPrincipal</code>, with a
+        <code>realm</code> property that is equal to our instance.</li>
+    <li>If the passed <code>principal</code> meets these criteria, check
+        the specified role against the list returned by
+        <code>getRoles()</code>, and return <code>true</code> if the
+        specified role is included; otherwise, return <code>false</code>.</li>
+    <li>If the passed <code>principal</code> does not meet these criteria,
+        return <code>false</code>.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Testable Assertions"><strong>Testable Assertions</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>In addition the the assertions implied by the functionality requirements
+  listed above, the following additional assertions shall be tested to
+  validate the behavior of <code>JDBCRealm</code>:</p>
+  <ul>
+  </ul>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/funcspecs/printer/fs-jndi-realm.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/funcspecs/printer/fs-jndi-realm.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/funcspecs/printer/fs-jndi-realm.html	(revision 66)
@@ -0,0 +1,376 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Catalina Functional Specifications - JNDIRealm</title><meta value="Craig McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      Catalina Functional Specifications
+    " align="right" src="../../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Catalina Functional Specifications</h1><h2>JNDIRealm</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Overview"><strong>Overview</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The purpose of the <strong>JNDIRealm</strong> implementation is to
+    provide a mechanism by which Tomcat 6 can acquire information needed
+    to authenticate web application users, and define their security roles,
+    from a directory server or other service accessed via JNDI APIs.  For
+    integration with Catalina, this class must implement the
+    <code>org.apache.catalina.Realm</code> interface.</p>
+
+    <p>This specification reflects a combination of functionality that is
+    already present in the <code>org.apache.catalina.realm.JNDIRealm</code>
+    class, as well as requirements for enhancements that have been
+    discussed.  Where appropriate, requirements statements are marked
+    <em>[Current]</em> and <em>[Requested]</em> to distinguish them.</p>
+
+    <p>The current status of this functional specification is
+    <strong>PROPOSED</strong>.  It has not yet been discussed and
+    agreed to on the TOMCAT-DEV mailing list.</p>
+
+    <p>The code in the current version of <code>JNDIRealm</code>, and the
+    ideas expressed in this functional specification, are the results of
+    contributions from many individuals, including (alphabetically):</p>
+    <ul>
+    <li>Holman, John &lt;j.g.holman@qmw.ac.uk&gt;</li>
+    <li>Lockhart, Ellen &lt;elockhart@home.com&gt;</li>
+    <li>McClanahan, Craig &lt;craigmcc@apache.org&gt;</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="External Specifications"><strong>External Specifications</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The implementation of this functionality depends on the following
+    external specifications:</p>
+    <ul>
+    <li><a href="http://java.sun.com/products/jndi/">Java Naming and
+        Directory Interface</a> (version 1.2.1 or later)</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Implementation Requirements"><strong>Implementation Requirements</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The implementation of this functionality shall conform to the
+    following requirements:</p>
+    <ul>
+    <li>Be realized in one or more implementation classes.</li>
+    <li>Implement the <code>org.apache.catalina.Realm</code> interface.
+        [Current]</li>
+    <li>Implement the <code>org.apache.catalina.Lifecycle</code>
+        interface.  [Current]</li>
+    <li>Subclass the <code>org.apache.catalina.realm.RealmBase</code>
+        base class.</li>
+    <li>Live in the <code>org.apache.catalina.realm</code> package.
+        [Current]</li>
+    <li>Support a configurable debugging detail level. [Current]</li>
+    <li>Log debugging and operational messages (suitably internationalized)
+        via the <code>getContainer().log()</code> method. [Current]</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Dependencies"><strong>Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Environmental Dependencies"><strong>Environmental Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The following environmental dependencies must be met in order for
+    JNDIRealm to operate correctly:</p>
+    <ul>
+    <li>The desire to utilize JNDIRealm must be registered in
+        <code>$CATALINA_BASE/conf/server.xml</code>, in a
+        <code>&lt;Realm&gt;</code> element that is nested inside a
+        corresponding <code>&lt;Engine&gt;</code>, <code>&lt;Host&gt;</code>,
+        or <code>&lt;Context&gt;</code> element.</li>
+    <li>If the <em>Administrator Login</em> operational mode is selected,
+        the configured administrator username and password must be configured
+        in the corresponding directory server.</li>
+    <li>If the <em>Username Login</em> operational mode is selected,
+        the corresponding directory server must be configured to accept
+        logins with the username and password that will be passed to
+        <code>JNDIRealm</code> by the appropriate <code>Authenticator</code>.
+        </li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Container Dependencies"><strong>Container Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>Correct operation of JNDIRealm depends on the following
+    specific features of the surrounding container:</p>
+    <ul>
+    <li>Interactions with <code>JNDIRealm</code> will be initiated by
+        the appropriate <code>Authenticator</code> implementation, based
+        on the login method that is selected.</li>
+    <li><code>JNDIRealm</code> must have the JNDI API classes available
+        to it.  For a JDK 1.2 container, that means <code>jndi.jar</code>
+        and the appropriate implementation (such as <code>ldap.jar</code>)
+        must be placed in the <code>server/lib</code> directory.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Functionality"><strong>Functionality</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Operational Modes"><strong>Operational Modes</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The completed <code>JNDIRealm</code> must support two major operational
+    modes in order to support all of the required use cases.  For the purposes
+    of this document, the modes are called <em>administrator login</em> and
+    <em>Username Login</em>.  They are described further in the following
+    paragraphs.</p>
+
+    <p>For <em>Administrator Login</em> mode, <code>JNDIRealm</code> will be
+    configured to establish one or more connections (using a connection pool)
+    to an appropriate directory server, using JNDI APIs, under a "system
+    administrator" username and password.  This is similar to the approach
+    normally used to configure <code>JDBCRealm</code> to access authentication
+    and access control information in a database.  It is assumed that the
+    system administrator username and password that are configured provide
+    sufficient privileges within the directory server to read (but not modify)
+    the username, password, and assigned roles for each valid user of the
+    web application associated with this <code>Realm</code>.  The password
+    can be stored in cleartext, or in one of the digested modes supported by
+    the <code>org.apache.catalina.realm.RealmBase</code> base class.</p>
+
+    <p>For <em>Username Login</em> mode, <code>JNDIRealm</code> does not
+    normally remain connected to the directory server.  Instead, whenever a
+    user is to be authenticated, a connection to the directory server
+    (using the username and password received from the authenticator) is
+    attempted.  If this connection is successful, the user is assumed to be
+    successfully authenticated.  This connection is then utilized to read
+    the corresponding security roles associated with this user, and the
+    connection is then broken.</p>
+
+    <p><strong>NOTE</strong> - <em>Username Login</em> mode cannot be used
+    if you have selected login method <code>DIGEST</code> in your web
+    application deployment descriptor (<code>web.xml</code>) file.  This
+    restriction exists because the cleartext password is never available
+    to the container, so it is not possible to bind to the directory server
+    using the user's username and password.</p>
+
+    <p>Because these operational modes work so differently, the functionality
+    for each mode will be described separately.  Whether or not both modes
+    are actually supported by a single class (versus a class per mode) is
+    an implementation detail left to the designer.</p>
+
+    <p><strong>NOTE</strong> - The current implementation only implements
+    part of the <em>Administrator Lookup</em> mode requirements.  It does
+    not support the <em>Username Lookup</em> mode at all, at this point.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Administrator Login Mode Functionality"><strong>Administrator Login Mode Functionality</strong></a></font></td></tr><tr><td><blockquote>
+
+
+    <h3>Configurable Properties</h3>
+
+    <p>The implementation shall support the following properties
+    that can be configured with JavaBeans property setters:</p>
+    <ul>
+    <li><code>connectionURL</code> - URL of the directory server we will
+        be contacting.</li>
+    <li><code>contextFactory</code> - Fully qualified class name of the JNDI
+        context factory used to retrieve our InitialContext.
+        [com.sun.jndi.ldap.LdapCtxFactory]</li>
+    <li>Additional configuration properties required to establish the
+        appropriate connection.  [Requested]</li>
+    <li>Connection pool configuration properties.  [Requested]</li>
+    <li>Configuration properties defining how a particular user is
+        authenticated.  The following capabilities should be supported:
+        <ul>
+        <li>Substitute the specified username into a string.  [Requested]</li>
+        <li>Retrieve the distinguished name (DN) of an authorized user via an
+            LDAP search string with a replacement placeholder for the
+            username, and comparison of the password to a configurable
+            attribute retrieved from the search result.  [Current]</li>
+        </ul></li>
+    <li>Configuration properties defining how the roles associated with a
+        particular authenticated user can be retrieved.  The following
+        approaches should be supported:
+        <ul>
+        <li>Retrieve a specified attribute (possibly multi-valued)
+            from an LDAP search expression,
+            with a replacement placeholder for the DN of the user.
+            [Current]</li>
+        <li>Retrieve a set of role names that are defined implicitly (by
+            selecting principals that match a search pattern) rather than
+            explicitly (by finding a particular attribute value).
+            [Requested]</li>
+        </ul></li>
+    </ul>
+
+    <h3>Lifecycle Functionality</h3>
+
+    <p>The following processing must be performed when the <code>start()</code>
+    method is called:</p>
+    <ul>
+    <li>Establish a connection to the configured directory server, using the
+        configured system administrator username and password.  [Current]</li>
+    <li>Configure and establish a connection pool of connections to the
+        directory server.  [Requested]</li>
+    </ul>
+
+    <p>The following processing must be performed when the <code>stop()</code>
+    method is called:</p>
+    <ul>
+    <li>Close any opened connections to the directory server.</li>
+    </ul>
+
+
+    <h3>Method authenticate() Functionality</h3>
+
+    <p>When <code>authenticate()</code> is called, the following processing
+    is required:</p>
+    <ul>
+    <li>Acquire the one and only connection [Current] or acquire a connection
+        from the connection pool [Requested].</li>
+    <li>Authenticate the user by retrieving the user's Distinguished Name,
+        based on the specified username and password.</li>
+    <li>If the user was not authenticated, release the allocated connection
+        and return <code>null</code>.</li>
+    <li>Acquire a <code>List</code> of the security roles assigned to the
+        authenticated user.</li>
+    <li>Construct a new instance of class
+        <code>org.apache.catalina.realm.GenericPrincipal</code>, passing as
+        constructor arguments:  this realm instance, the authenticated
+        username, and a <code>List</code> of the security roles associated
+        with this user.</li>
+    <li><strong>WARNING</strong> - Do not attempt to cache and reuse previous
+        <code>GenericPrincipal</code> objects for a particular user, because
+        the information in the directory server might have changed since the
+        last time this user was authenticated.</li>
+    <li>Return the newly constructed <code>GenericPrincipal</code>.</li>
+    </ul>
+
+
+    <h3>Method hasRole() Functionality</h3>
+
+    <p>When <code>hasRole()</code> is called, the following processing
+    is required:</p>
+    <ul>
+    <li>The <code>principal</code> that is passed as an argument SHOULD
+        be one that we returned (instanceof class
+        <code>org.apache.catalina.realm.GenericPrincipal</code>, with a
+        <code>realm</code> property that is equal to our instance.</li>
+    <li>If the passed <code>principal</code> meets these criteria, check
+        the specified role against the list returned by
+        <code>getRoles()</code>, and return <code>true</code> if the
+        specified role is included; otherwise, return <code>false</code>.</li>
+    <li>If the passed <code>principal</code> does not meet these criteria,
+        return <code>false</code>.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Username Login Mode Functionality"><strong>Username Login Mode Functionality</strong></a></font></td></tr><tr><td><blockquote>
+
+    <h3>Configurable Properties</h3>
+
+    <p>The implementation shall support the following properties
+    that can be configured with JavaBeans property setters:</p>
+    <ul>
+    <li><code>connectionURL</code> - URL of the directory server we will
+        be contacting.</li>
+    <li><code>contextFactory</code> - Fully qualified class name of the JNDI
+        context factory used to retrieve our InitialContext.
+        [com.sun.jndi.ldap.LdapCtxFactory]</li>
+    <li>Additional configuration properties required to establish the
+        appropriate connection.  [Requested]</li>
+    <li>Connection pool configuration properties.  [Requested]</li>
+    <li>Configuration properties defining if and how a user might be looked
+        up before binding to the directory server.  The following approaches
+        should be supported:
+        <ul>
+        <li>No previous lookup is required - username specified by the user
+            is the same as that used to authenticate to the directory
+            server.</li>
+        <li>Substitute the specified username into a string.</li>
+        <li>Search the directory server based on configured criteria to
+            retrieve the distinguished name of the user, then attempt to
+            bind with that distinguished name.</li>
+        </ul></li>
+    <li>Configuration properties defining how the roles associated with a
+        particular authenticated user can be retrieved.  The following
+        approaches should be supported:
+        <ul>
+        <li>Retrieve a specified attribute (possibly multi-valued)
+            from an LDAP search expression,
+            with a replacement placeholder for the DN of the user.
+            [Current]</li>
+        </ul></li>
+    </ul>
+
+    <h3>Lifecycle Functionality</h3>
+
+    <p>The following processing must be performed when the <code>start()</code>
+    method is called:</p>
+    <ul>
+    <li>None required.</li>
+    </ul>
+
+    <p>The following processing must be performed when the <code>stop()</code>
+    method is called:</p>
+    <ul>
+    <li>None required.</li>
+    </ul>
+
+
+    <h3>Method authenticate() Functionality</h3>
+
+    <p>When <code>authenticate()</code> is called, the following processing
+    is required:</p>
+    <ul>
+    <li>Attempt to bind to the directory server, using the username and
+        password provided by the user.</li>
+    <li>If the user was not authenticated, release the allocated connection
+        and return <code>null</code>.</li>
+    <li>Acquire a <code>List</code> of the security roles assigned to the
+        authenticated user.</li>
+    <li>Construct a new instance of class
+        <code>org.apache.catalina.realm.GenericPrincipal</code>, passing as
+        constructor arguments:  this realm instance, the authenticated
+        username, and a <code>List</code> of the security roles associated
+        with this user.</li>
+    <li><strong>WARNING</strong> - Do not attempt to cache and reuse previous
+        <code>GenericPrincipal</code> objects for a particular user, because
+        the information in the directory server might have changed since the
+        last time this user was authenticated.</li>
+    <li>Return the newly constructed <code>GenericPrincipal</code>.</li>
+    </ul>
+
+
+    <h3>Method hasRole() Functionality</h3>
+
+    <p>When <code>hasRole()</code> is called, the following processing
+    is required:</p>
+    <ul>
+    <li>The <code>principal</code> that is passed as an argument SHOULD
+        be one that we returned (instanceof class
+        <code>org.apache.catalina.realm.GenericPrincipal</code>, with a
+        <code>realm</code> property that is equal to our instance.</li>
+    <li>If the passed <code>principal</code> meets these criteria, check
+        the specified role against the list returned by
+        <code>getRoles()</code>, and return <code>true</code> if the
+        specified role is included; otherwise, return <code>false</code>.</li>
+    <li>If the passed <code>principal</code> does not meet these criteria,
+        return <code>false</code>.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Testable Assertions"><strong>Testable Assertions</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>In addition the the assertions implied by the functionality requirements
+  listed above, the following additional assertions shall be tested to
+  validate the behavior of <code>JNDIRealm</code>:</p>
+  <ul>
+  </ul>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/funcspecs/printer/fs-memory-realm.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/funcspecs/printer/fs-memory-realm.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/funcspecs/printer/fs-memory-realm.html	(revision 66)
@@ -0,0 +1,208 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Catalina Functional Specifications - MemoryRealm</title><meta value="Craig McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      Catalina Functional Specifications
+    " align="right" src="../../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Catalina Functional Specifications</h1><h2>MemoryRealm</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Overview"><strong>Overview</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The purpose of the <strong>MemoryRealm</strong> implementation is to
+    provide a mechanism by which Tomcat 6 can acquire information needed
+    to authenticate web application users, and define their security roles,
+    from a simple text-based configuration file in XML format.  This is
+    intended to simplify the initial installation and operation of Tomcat 6,
+    without the complexity of configuring a database or directory server
+    based Realm.  It is not intended for production use.</p>
+
+    <p>This specification reflects a combination of functionality that is
+    already present in the <code>org.apache.catalina.realm.MemoryRealm</code>
+    class, as well as requirements for enhancements that have been
+    discussed.  Where appropriate, requirements statements are marked
+    <em>[Current]</em> and <em>[Requested]</em> to distinguish them.</p>
+
+    <p>The current status of this functional specification is
+    <strong>PROPOSED</strong>.  It has not yet been discussed and
+    agreed to on the TOMCAT-DEV mailing list.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="External Specifications"><strong>External Specifications</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The implementation of this functionality depends on the following
+    external specifications:</p>
+    <ul>
+    <li>None</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Implementation Requirements"><strong>Implementation Requirements</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The implementation of this functionality shall conform to the
+    following requirements:</p>
+    <ul>
+    <li>Be realized in one or more implementation classes.</li>
+    <li>Implement the <code>org.apache.catalina.Realm</code> interface.
+        [Current]</li>
+    <li>Implement the <code>org.apache.catalina.Lifecycle</code>
+        interface.  [Current]</li>
+    <li>Subclass the <code>org.apache.catalina.realm.RealmBase</code>
+        base class.</li>
+    <li>Live in the <code>org.apache.catalina.realm</code> package.
+        [Current]</li>
+    <li>Support a configurable debugging detail level. [Current]</li>
+    <li>Log debugging and operational messages (suitably internationalized)
+        via the <code>getContainer().log()</code> method. [Current]</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Dependencies"><strong>Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Environmental Dependencies"><strong>Environmental Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The following environmental dependencies must be met in order for
+    MemoryRealm to operate correctly:</p>
+    <ul>
+    <li>The desire to utilize MemoryRealm must be registered in
+        <code>$CATALINA_BASE/conf/server.xml</code>, in a
+        <code>&lt;Realm&gt;</code> element that is nested inside a
+        corresponding <code>&lt;Engine&gt;</code>, <code>&lt;Host&gt;</code>,
+        or <code>&lt;Context&gt;</code> element.  (This is already
+        included in the default <code>server.xml</code> file.)</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Container Dependencies"><strong>Container Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>Correct operation of MemoryRealm depends on the following
+    specific features of the surrounding container:</p>
+    <ul>
+    <li>Interactions with <code>MemoryRealm</code> will be initiated by
+        the appropriate <code>Authenticator</code> implementation, based
+        on the login method that is selected.</li>
+    <li><code>MemoryRealm</code> must have an XML parser compatible with
+        the JAXP/1.1 APIs available to it.  This is normally accomplished
+        by placing the corresponding JAR files in directory
+        <code>$CATALINA_HOME/lib</code>.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Functionality"><strong>Functionality</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Overview of Operation"><strong>Overview of Operation</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The main purpose of <code>MemoryRealm</code> is to allow Catalina to
+    authenticate users, and look up the corresponding security roles, from
+    the information found in an XML-format configuration file.  The format
+    of this file is described below.  When a <code>MemoryRealm</code>
+    instance is started, it will read the contents of this XML file and create
+    an "in memory database" of all the valid users and their associated
+    security roles.</p>
+
+    <p>Each time that Catalina needs to authenticate a user, it will call
+    the <code>authenticate()</code> method of this Realm implementation,
+    passing the username and password that were specified by the user.  If
+    we find the user in the database (and match on the password), we accumulate
+    all of the security roles that are defined for this user, and create a
+    new <code>GenericPrincipal</code> object to be returned.  If the user
+    is not authenticated, we return <code>null</code> instead.  The
+    <code>GenericUser</code> object caches the set of security roles that
+    were owned by this user at the time of authentication, so that calls to
+    <code>isUserInRole()</code> can be answered without going back to the
+    database every time.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Detailed Functional Requirements"><strong>Detailed Functional Requirements</strong></a></font></td></tr><tr><td><blockquote>
+
+
+    <h3>Configurable Properties</h3>
+
+    <p>The implementation shall support the following properties
+    that can be configured with JavaBeans property setters:</p>
+    <ul>
+    <li>Configurable debugging detail level.</li>
+    <li>Configurable file pathname (absolute or relative to
+        <code>$CATALINA_BASE</code> of the XML file containing our
+        defined users.  [<code>conf/tomcat-users.xml</code>].</li>
+    </ul>
+
+    <h3>Lifecycle Functionality</h3>
+
+    <p>The following processing must be performed when the <code>start()</code>
+    method is called:</p>
+    <ul>
+    <li>Open and parse the specified XML file.</li>
+    <li>Create an in-memory database representation of the XML file
+        contents.</li>
+    <li><strong>NOTE</strong> - There is no requirement to recognize
+        subsequent changes to the contents of the XML file.</li>
+    </ul>
+
+    <p>The following processing must be performed when the <code>stop()</code>
+    method is called:</p>
+    <ul>
+    <li>Release object references to the in-memory database representation.</li>
+    </ul>
+
+
+    <h3>Method authenticate() Functionality</h3>
+
+    <p>When <code>authenticate()</code> is called, the following processing
+    is required:</p>
+    <ul>
+    <li>Select the one and only "user" instance from the in-memory database,
+        based on matching the specified username.  If there is no such
+        instance, return <code>null</code>.</li>
+    <li>Authenticate the user by comparing the (possibly encrypted) password
+        value that was received against the password presented by the user.
+        If there is no match, return <code>null</code>.</li>
+    <li>Construct a new instance of class
+        <code>org.apache.catalina.realm.GenericPrincipal</code> (if not
+        already using this as the internal database representation) that
+        contains the authenticated username and a <code>List</code> of the
+        security roles associated with this user.</li>
+    <li>Return the newly constructed <code>GenericPrincipal</code>.</li>
+    </ul>
+
+
+    <h3>Method hasRole() Functionality</h3>
+
+    <p>When <code>hasRole()</code> is called, the following processing
+    is required:</p>
+    <ul>
+    <li>The <code>principal</code> that is passed as an argument SHOULD
+        be one that we returned (instanceof class
+        <code>org.apache.catalina.realm.GenericPrincipal</code>, with a
+        <code>realm</code> property that is equal to our instance.</li>
+    <li>If the passed <code>principal</code> meets these criteria, check
+        the specified role against the list returned by
+        <code>getRoles()</code>, and return <code>true</code> if the
+        specified role is included; otherwise, return <code>false</code>.</li>
+    <li>If the passed <code>principal</code> does not meet these criteria,
+        return <code>false</code>.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Testable Assertions"><strong>Testable Assertions</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>In addition the the assertions implied by the functionality requirements
+  listed above, the following additional assertions shall be tested to
+  validate the behavior of <code>MemoryRealm</code>:</p>
+  <ul>
+  </ul>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/funcspecs/printer/index.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/funcspecs/printer/index.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/funcspecs/printer/index.html	(revision 66)
@@ -0,0 +1,37 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Catalina Functional Specifications - Table of Contents</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      Catalina Functional Specifications
+    " align="right" src="../../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Catalina Functional Specifications</h1><h2>Table of Contents</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina Functional Specifications"><strong>Catalina Functional Specifications</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>This documentation area includes <em>functional specifications</em> for
+many features supported by the <strong>Catalina</strong> servlet container
+portion of Tomcat 6.  In most cases, these features are not documented in the
+underlying Servlet or JSP specifications, so a definition of the expected
+correct behavior is important both to implementors of those features, and to
+test writers trying to decide what to test.</p>
+
+<p>The functional specifications are divided into the following categories
+in the menu (to the left):</p>
+<ul>
+<li><em>Administrative Apps</em> - Overall requirements for supporting an
+    ability to configure and operate a Tomcat 6 installation through tools,
+    as well as detailed requirements for the tools themselves.</li>
+<li><em>Internal Servlets</em> - Requirements for Catalina features that are
+    implemented as internal, container-managed, servlets.</li>
+<li><em>Realm Implementations</em> - Requirements for the implementations of
+    the <code>org.apache.catalina.Realm</code> interface (providing access to
+    collections of users, passwords and roles) that are included in the
+    standard Tomcat 6 distribution.</li>
+</ul>
+
+<p><em>NOTE</em> - In some cases, the contents of these functional specs has
+been "reverse engineered" from existing implementations.  This exercise is
+stil useful, because it provides an introduction to <strong>what</strong>
+Catalina does, without being as concerned with <strong>how</strong> this is
+accomplished.</p>
+
+<p><strong>TODO</strong> - Obviously, this area has a long ways to go before
+it is complete.  Contributions are welcome!</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/funcspecs/printer/mbean-names.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/funcspecs/printer/mbean-names.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/funcspecs/printer/mbean-names.html	(revision 66)
@@ -0,0 +1,708 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Catalina Functional Specifications - Tomcat MBean Names</title><meta value="Craig McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"><meta value="Amy Roh" name="author"><meta value="amyroh@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      Catalina Functional Specifications
+    " align="right" src="../../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Catalina Functional Specifications</h1><h2>Tomcat MBean Names</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Background"><strong>Background</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>We will be using <em>JMX MBeans</em> as the technology for
+    implementing manageability of Tomcat.</p>
+
+    <p>One of the key concepts of JMX (and JSR-77) is that each management
+    bean has a unique name in the MBeanServer's registry, and that
+    management applications can utilize these names to retrieve the MBean
+    of interest to them for a particular management operation.
+    This document proposes a naming convention for MBeans that allows easy
+    calculation of the name for a particular MBean.  For background
+    information on JMX MBean names, see the <em>Java Management Extensions
+    Instrumentation and Agent Specification</em>, version 1.0, section 6.
+    In particular, we will be discussing the String Representation of
+    <code>ObjectName</code> instances.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina Object Hierarchy"><strong>Catalina Object Hierarchy</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Tomcat's servlet container implementation, called Catalina, can be
+represented as a hierarchy of objects that contain references to each other.
+The object hierarchy can be represented as a tree, or (isomorphically) based
+on the nesting of configuration elements in the <code>conf/server.xml</code>
+file that is traditionally used to configure Tomcat stand-alone.</p>
+
+<p>The valid component nestings for Catalina are depicted in the following
+table, with columns that contain the following values:</p>
+<ul>
+<li><em>Pattern</em> - Nesting pattern of XML elements (in the
+    <code>conf/server.xml</code> file) used to configure this component.</li>
+<li><em>Cardinality</em> - Minimum and maximum number of occurrences of
+    this element at this nesting position, which also corresponds to the
+    minimum and maximum number of Catalina components.</li>
+<li><em>Identifier</em> - Name of the JavaBeans property of this component
+    that represents the unique identifier (within the nested hierarchy),
+    if any.</li>
+<li><em>MBean ObjectName</em> - The portion of the MBean object name that
+    appears <strong>after</strong> the domain name.  For now, it should be
+    assumed that all of these MBeans appear in the default JMX domain.</li>
+</ul>
+
+<p>In the <em>MBean ObjectName</em> descriptions, several types of symbolic
+expressions are utilized to define variable text that is replaced by
+corresponding values:</p>
+<ul>
+<li><em>${GROUP}</em> - One of the standard MBean names of the specified
+    "group" category.  For example, the expression <code>${REALM}</code>
+    represents the values like <code>JDBCRealm</code> and <code>JAASRealm</code>
+    that identify the various MBeans for possible <code>Realm</code> components.</li>
+<li><em>${name}</em> - Replaced by the value of property <code>name</code>
+    from the current component.</li>
+<li><em>${parent.name}</em> - Replaced by the value of property
+    <code>name</code> from a parent of the current component, with the
+    parent's type identified by <em>parent</em>.</li>
+<li><em>${###}</em> - An arbitrary numeric identifier that preserves
+    order but has no other particular meaning.  In general, the server will
+    assign numeric values to existing instances with large gaps into which
+    new items can be configured if desired.</li>
+</ul>
+
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">Pattern</th>
+    <th align="center" bgcolor="aqua">Cardinality</th>
+    <th align="center" bgcolor="aqua">Identifier</th>
+    <th align="center" bgcolor="aqua">MBean ObjectName</th>
+  </tr>
+
+  <tr>
+    <td>Server</td>
+    <td align="center">1..1</td>
+    <td align="center">(none)</td>
+    <td><code>type=${SERVER}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Listener</td>
+    <td align="center">0..n</td>
+    <td align="center">(none)</td>
+    <td><code>type=${LISTENER}, sequence=${###}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service</td>
+    <td align="center">1..n</td>
+    <td align="center"><code>name</code></td>
+    <td><code>type=${SERVICE}, name=${name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Connector</td>
+    <td align="center">1..n</td>
+    <td align="center"><code>address, port</code></td>
+    <td><code>type=${CONNECTOR}, service=${service}, port=${port},
+        address=${address}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Connector / Factory</td>
+    <td align="center">0..1</td>
+    <td align="center">(none)</td>
+    <td>(Only defined explicitly for an SSL connector, but can be treated
+        as part of the connector component)</td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Connector / Listener</td>
+    <td align="center">0..n</td>
+    <td align="center">(none)</td>
+    <td><code>type=${LISTENER}, sequence=${###}, service=${service},
+        port=${connector.port}, address=${connector.address}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine</td>
+    <td align="center">1..1</td>
+    <td align="center">(none)</td>
+    <td><code>type=${ENGINE}, service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host</td>
+    <td align="center">1..n</td>
+    <td align="center"><code>name</code></td>
+    <td><code>type=${HOST}, host=${name},
+        service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host / Context</td>
+    <td align="center">1..n</td>
+    <td align="center"><code>path</code></td>
+    <td><code>type=${CONTEXT}, path=${path}, host=${host.name},
+        service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host / Context / InstanceListener</td>
+    <td align="center">0..n</td>
+    <td align="center">(none)</td>
+    <td><code>type=${INSTANCE-LISTENER}, sequence=${###}, path=${context.path},
+        host=${host.name}, service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host / Context / Listener</td>
+    <td align="center">0..n</td>
+    <td align="center">(none)</td>
+    <td><code>type=${LISTENER}, sequence=${###}, path=${context.path},
+        host=${host.name}, service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host / Context / Loader</td>
+    <td align="center">0..1</td>
+    <td align="center">(none)</td>
+    <td><code>type=${LOADER}, path=${context.path}, host=${host.name},
+        service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host / Context / Manager</td>
+    <td align="center">0..1</td>
+    <td align="center">(none)</td>
+    <td><code>type=${MANAGER}, path=${context.path}, host=${host.name},
+        service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host / Context / Realm</td>
+    <td align="center">0..1</td>
+    <td align="center">(none)</td>
+    <td><code>type=${REALM}, path=${context.path}, host=${host.name},
+        service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host / Context / Resources</td>
+    <td align="center">0..1</td>
+    <td align="center">(none)</td>
+    <td><code>type=${RESOURCES}, path=${context.path}, host=${host.name},
+        service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host / Context / Valve</td>
+    <td align="center">0..n</td>
+    <td align="center">(none)</td>
+    <td><code>type=${VALVE}, sequence=${###}, path=${context.path},
+        host=${host.name}, service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host / Context / Wrapper</td>
+    <td align="center">0..n</td>
+    <td align="center">(none)</td>
+    <td><code>j2eeType=Servlet,name=${name},
+        WebModule=//${host.name}/${context.name},
+        J2EEApplication=${context.J2EEApplication},
+        J2EEServer=${context.J2EEServer}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host / Context / WrapperLifecycle</td>
+    <td align="center">0..n</td>
+    <td align="center">(none)</td>
+    <td><code>type=${WRAPPER-LIFECYCLE}, sequence=${###}, path=${context.path},
+        host=${host.name}, service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host / Context / WrapperListener</td>
+    <td align="center">0..n</td>
+    <td align="center">(none)</td>
+    <td><code>type=${WRAPPER-LISTENER}, sequence=${###}, path=${context.path},
+        host=${host.name}, service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host / Listener</td>
+    <td align="center">0..n</td>
+    <td align="center">(none)</td>
+    <td><code>type=${LISTENER}, sequence=${###}, host=${host.name},
+        service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host / Realm</td>
+    <td align="center">0..1</td>
+    <td align="center">(none)</td>
+    <td><code>type=${REALM}, host=${host.name},
+        service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host / Valve</td>
+    <td align="center">0..n</td>
+    <td align="center">(none)</td>
+    <td><code>type=${VALVE}, sequence=${###},
+        host=${host.name}, service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Listener</td>
+    <td align="center">0..n</td>
+    <td align="center">(none)</td>
+    <td><code>type=${LISTENER}, sequence=${###}</code>
+        (<strong>FIXME</strong> - disambiguate from Server / Service /
+        Listener)</td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Realm</td>
+    <td align="center">0..1</td>
+    <td align="center">(none)</td>
+    <td><code>type=${REALM}, service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Valve</td>
+    <td align="center">0..n</td>
+    <td align="center">(none)</td>
+    <td><code>type=${VALVE}, sequence=${###},
+        service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Listener</td>
+    <td align="center">0..n</td>
+    <td align="center">(none)</td>
+    <td><code>type=${LISTENER}, sequence=${###}</code>
+        (<strong>FIXME</strong> - disambiguate from Server / Service /
+        Engine / Listener)</td>
+  </tr>
+
+</table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="MBean Groups and Names"><strong>MBean Groups and Names</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The following MBean names shall be defined in the resource file
+<code>/org/apache/catalina/mbeans/mbeans-descriptors.xml</code> (and
+therefore available for use within the Administration/Configuration
+web application for Tomcat):</p>
+
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">MBean Name</th>
+    <th align="center" bgcolor="aqua">Group Name</th>
+    <th align="center" bgcolor="aqua">Catalina Interface</th>
+    <th align="center" bgcolor="aqua">Implementation Class</th>
+  </tr>
+
+  <tr>
+    <td><code>AccessLogValve</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.valves.AccessLogValve</code></td>
+  </tr>
+
+  <tr>
+    <td><code>BasicAuthenticator</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.authenticator.BasicAuthenticator</code></td>
+  </tr>
+
+  <tr>
+    <td><code>CertificatesValve</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.valves.CertificatesValve</code></td>
+  </tr>
+
+  <tr>
+    <td><code>ContextConfig</code></td>
+    <td align="center"><code>LISTENER</code></td>
+    <td><code>org.apache.catalina.LifecycleListener</code></td>
+    <td><code>org.apache.catalina.startup.ContextConfig</code></td>
+  </tr>
+
+  <tr>
+    <td><code>ContextEnvironment</code></td>
+    <td align="center"><code>RESOURCES</code></td>
+    <td><code>org.apache.catalina.deploy.ContextEnvironment</code></td>
+    <td><code>org.apache.catalina.deploy.ContextEnvironment</code></td>
+  </tr>
+
+  <tr>
+    <td><code>ContextResource</code></td>
+    <td align="center"><code>RESOURCES</code></td>
+    <td><code>org.apache.catalina.deploy.ContextResource</code></td>
+    <td><code>org.apache.catalina.deploy.ContextResource</code></td>
+  </tr>
+
+  <tr>
+    <td><code>ContextResourceLink</code></td>
+    <td align="center"><code>RESOURCES</code></td>
+    <td><code>org.apache.catalina.deploy.ContextResourceLink</code></td>
+    <td><code>org.apache.catalina.deploy.ContextResourceLink</code></td>
+  </tr>
+
+  <tr>
+    <td><code>CoyoteConnector</code></td>
+    <td align="center"><code>CONNECTOR</code></td>
+    <td><code>org.apache.catalina.Connector</code></td>
+    <td><code>org.apache.coyote.tomcat4.CoyoteConnector</code></td>
+  </tr>
+
+  <tr>
+    <td><code>DigestAuthenticator</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.authenticator.DigestAuthenticator</code></td>
+  </tr>
+
+  <tr>
+    <td><code>EngineConfig</code></td>
+    <td align="center"><code>LISTENER</code></td>
+    <td><code>org.apache.catalina.LifecycleListener</code></td>
+    <td><code>org.apache.catalina.startup.EngineConfig</code></td>
+  </tr>
+
+  <tr>
+    <td><code>ErrorReportValve</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.valves.ErrorReportValve</code></td>
+  </tr>
+
+  <tr>
+    <td><code>ErrorDispatcherValve</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.valves.ErrorDispatcherValve</code></td>
+  </tr>
+
+  <tr>
+    <td><code>FormAuthenticator</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.authenticator.FormAuthenticator</code></td>
+  </tr>
+
+  <tr>
+    <td><code>Group</code></td>
+    <td align="center"><code>GROUP</code></td>
+    <td><code>org.apache.catalina.Group</code></td>
+    <td><code>org.apache.catalina.Group</code></td>
+  </tr>
+
+  <tr>
+    <td><code>HostConfig</code></td>
+    <td align="center"><code>LISTENER</code></td>
+    <td><code>org.apache.catalina.LifecycleListener</code></td>
+    <td><code>org.apache.catalina.startup.HostConfig</code></td>
+  </tr>
+
+  <tr>
+    <td><code>HttpConnector10</code></td>
+    <td align="center"><code>CONNECTOR</code></td>
+    <td><code>org.apache.catalina.Connector</code></td>
+    <td><code>org.apache.catalina.connector.http10.HttpConnector</code></td>
+  </tr>
+
+  <tr>
+    <td><code>HttpConnector11</code></td>
+    <td align="center"><code>CONNECTOR</code></td>
+    <td><code>org.apache.catalina.Connector</code></td>
+    <td><code>org.apache.catalina.connector.http.HttpConnector</code></td>
+  </tr>
+
+  <tr>
+    <td><code>JAASRealm</code></td>
+    <td align="center"><code>REALM</code></td>
+    <td><code>org.apache.catalina.Realm</code></td>
+    <td><code>org.apache.catalina.realm.JAASRealm</code></td>
+  </tr>
+
+  <tr>
+    <td><code>JDBCRealm</code></td>
+    <td align="center"><code>REALM</code></td>
+    <td><code>org.apache.catalina.Realm</code></td>
+    <td><code>org.apache.catalina.realm.JDBCRealm</code></td>
+  </tr>
+
+  <tr>
+    <td><code>JDBCUserDatabase</code></td>
+    <td align="center"><code>USERDATABASE</code></td>
+    <td><code>org.apache.catalina.users.JDBCUserDatabase</code></td>
+    <td><code>org.apache.catalina.users.JDBCUserDatabase</code></td>
+  </tr>
+
+  <tr>
+    <td><code>JNDIRealm</code></td>
+    <td align="center"><code>REALM</code></td>
+    <td><code>org.apache.catalina.Realm</code></td>
+    <td><code>org.apache.catalina.realm.JNDIRealm</code></td>
+  </tr>
+
+  <tr>
+    <td><code>MBeanFactory</code></td>
+    <td align="center"><code></code></td>
+    <td><code></code></td>
+    <td><code>org.apache.catalina.mbeans.MBeanFactory</code></td>
+  </tr>
+
+  <tr>
+    <td><code>MemoryRealm</code></td>
+    <td align="center"><code>REALM</code></td>
+    <td><code>org.apache.catalina.Realm</code></td>
+    <td><code>org.apache.catalina.realm.MemoryRealm</code></td>
+  </tr>
+
+  <tr>
+    <td><code>MemoryUserDatabase</code></td>
+    <td align="center"><code>USERDATABASE</code></td>
+    <td><code>org.apache.catalina.users.MemoryUserDatabase</code></td>
+    <td><code>org.apache.catalina.users.MemoryUserDatabase</code></td>
+  </tr>
+
+  <tr>
+    <td><code>NamingContextListener</code></td>
+    <td align="center"><code>LISTENER</code></td>
+    <td><code>org.apache.catalina.LifecycleListener</code></td>
+    <td><code>org.apache.catalina.core.NamingContextListener</code></td>
+  </tr>
+
+  <tr>
+    <td><code>NamingResources</code></td>
+    <td align="center"><code>RESOURCES</code></td>
+    <td><code>org.apache.catalina.deploy.NamingResources</code></td>
+    <td><code>org.apache.catalina.deploy.NamingResources</code></td>
+  </tr>
+
+  <tr>
+    <td><code>NonLoginAuthenticator</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.authenticator.NonLoginAuthenticator</code></td>
+  </tr>
+
+  <tr>
+    <td><code>PersistentManager</code></td>
+    <td align="center"><code>MANAGER</code></td>
+    <td><code>org.apache.catalina.Manager</code></td>
+    <td><code>org.apache.catalina.session.PersistentManager</code></td>
+  </tr>
+
+  <tr>
+    <td><code>RemoteAddrValve</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.valves.RemoteAddrValve</code></td>
+  </tr>
+
+  <tr>
+    <td><code>RemoteHostValve</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.valves.RemoteHostValve</code></td>
+  </tr>
+
+  <tr>
+    <td><code>RequestDumperValve</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.valves.RequestDumperValve</code></td>
+  </tr>
+
+  <tr>
+    <td><code>Role</code></td>
+    <td align="center"><code>ROLE</code></td>
+    <td><code>org.apache.catalina.Role</code></td>
+    <td><code>org.apache.catalina.Role</code></td>
+  </tr>
+
+  <tr>
+    <td><code>SingleSignOn</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.valves.SingleSignOn</code></td>
+  </tr>
+
+  <tr>
+    <td><code>SSLAuthenticator</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.authenticator.SSLAuthenticator</code></td>
+  </tr>
+
+  <tr>
+    <td><code>StandardContext</code></td>
+    <td align="center"><code>CONTEXT</code></td>
+    <td><code>org.apache.catalina.Context</code></td>
+    <td><code>org.apache.catalina.core.StandardContext</code></td>
+  </tr>
+
+  <tr>
+    <td><code>StandardContextValve</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.core.StandardContextValve</code></td>
+  </tr>
+
+  <tr>
+    <td><code>StandardEngine</code></td>
+    <td align="center"><code>ENGINE</code></td>
+    <td><code>org.apache.catalina.Engine</code></td>
+    <td><code>org.apache.catalina.core.StandardEngine</code></td>
+  </tr>
+
+  <tr>
+    <td><code>StandardEngineValve</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.core.StandardEngineValve</code></td>
+  </tr>
+
+  <tr>
+    <td><code>StandardHost</code></td>
+    <td align="center"><code>HOST</code></td>
+    <td><code>org.apache.catalina.Host</code></td>
+    <td><code>org.apache.catalina.core.StandardHost</code></td>
+  </tr>
+
+  <tr>
+    <td><code>StandardHostValve</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.core.StandardHostValve</code></td>
+  </tr>
+
+  <tr>
+    <td><code>StandardManager</code></td>
+    <td align="center"><code>MANAGER</code></td>
+    <td><code>org.apache.catalina.Manager</code></td>
+    <td><code>org.apache.catalina.session.StandardManager</code></td>
+  </tr>
+
+  <tr>
+    <td><code>StandardServer</code></td>
+    <td align="center"><code>SERVER</code></td>
+    <td><code>org.apache.catalina.Server</code></td>
+    <td><code>org.apache.catalina.core.StandardServer</code></td>
+  </tr>
+
+  <tr>
+    <td><code>StandardService</code></td>
+    <td align="center"><code>SERVICE</code></td>
+    <td><code>org.apache.catalina.Service</code></td>
+    <td><code>org.apache.catalina.core.StandardService</code></td>
+  </tr>
+
+  <tr>
+    <td><code>StandardWrapper</code></td>
+    <td align="center"><code>WRAPPER</code></td>
+    <td><code>org.apache.catalina.Wrapper</code></td>
+    <td><code>org.apache.catalina.core.StandardWrapper</code></td>
+  </tr>
+
+  <tr>
+    <td><code>StandardWrapperValve</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.core.StandardWrapperValve</code></td>
+  </tr>
+
+  <tr>
+    <td><code>User</code></td>
+    <td align="center"><code>USER</code></td>
+    <td><code>org.apache.catalina.User</code></td>
+    <td><code>org.apache.catalina.User</code></td>
+  </tr>
+
+  <tr>
+    <td><code>UserDatabaseRealm</code></td>
+    <td align="center"><code>REALM</code></td>
+    <td><code>org.apache.catalina.Realm</code></td>
+    <td><code>org.apache.catalina.realm.UserDatabaseRealm</code></td>
+  </tr>
+
+  <tr>
+    <td><code>WebappLoader</code></td>
+    <td align="center"><code>LOADER</code></td>
+    <td><code>org.apache.catalina.Loader</code></td>
+    <td><code>org.apache.catalina.loader.WebappLoader</code></td>
+  </tr>
+
+</table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JSR-77 Cross Reference"><strong>JSR-77 Cross Reference</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The managed objects in the JSR-77 object hierarchy correspond
+to the specified MBean names or groups as follows:</p>
+
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">JSR-77 Managed Object</th>
+    <th align="center" bgcolor="aqua">MBean Name or Group</th>
+    <th align="center" bgcolor="aqua">Comments</th>
+  </tr>
+
+  <tr>
+    <td><code>J2EEServer</code></td>
+    <td><code>${SERVICE}</code></td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td><code>Node</code></td>
+    <td><code>${SERVICE}</code></td>
+    <td>Tomcat supports a single node only.</td>
+  </tr>
+
+  <tr>
+    <td><code>Port</code></td>
+    <td><code>${CONNECTOR}</code></td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td><code>Servlet</code></td>
+    <td><code>${WRAPPER}</code></td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td><code>WebModule</code></td>
+    <td><code>${CONTEXT}</code></td>
+    <td></td>
+  </tr>
+
+</table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JSR-88 Cross Reference"><strong>JSR-88 Cross Reference</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The deployment objects in the JSR-88 API object hierarchy correspond
+to the specified MBean names or groups as follows:</p>
+
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">JSR-88 API Object</th>
+    <th align="center" bgcolor="aqua">MBean Name or Group</th>
+    <th align="center" bgcolor="aqua">Comments</th>
+  </tr>
+
+  <tr>
+    <td><code>DeployableObject</code></td>
+    <td><code>${CONTEXT}</code></td>
+    <td>Context deployment info plus the corresponding WAR file</td>
+  </tr>
+
+  <tr>
+    <td><code>Target</code></td>
+    <td><code>${HOST}</code></td>
+    <td></td>
+  </tr>
+
+</table>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/html-manager-howto.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/html-manager-howto.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/html-manager-howto.html	(revision 66)
@@ -0,0 +1,519 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - Tomcat Web Application Manager How To</title><meta value="Glenn L. Nielsen" name="author"><meta value="glenn@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://wiki.apache.org/tomcat/FAQ">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR/Native</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li><li><a href="aio.html">25) Advanced IO</a></li><li><a href="extras.html">26) Additional Components</a></li><li><a href="maven-jars.html">27) Mavenized</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Configuration</a></li><li><a href="api/index.html">Javadocs</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="http://wiki.apache.org/tomcat/TomcatVersions">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="architecture/index.html">Architecture</a></li><li><a href="funcspecs/index.html">Functional Specs.</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>Tomcat Web Application Manager How To</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/html-manager-howto.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>In many production environments it is very useful to have the capability
+to manage your web applications without having to shut down and restart
+Tomcat.  This document is for the HTML web interface to the web application
+<a href="manager-howto.html">manager</a>.</p>
+
+<p>The interface is divided into five sections:
+<ul>
+  <li><strong>Message</strong> - Displays success and failure messages.</li>
+  <li><strong>Manager</strong> - General manager operations like list and
+      help.</li>
+  <li><strong>Applications</strong> - List of web applications and
+      commands.</li>
+  <li><strong>Deploy</strong> - Deploying web applications.</li>
+  <li><strong>Server Information</strong> - Information about the Tomcat
+      server.</li>
+</ul>
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Message"><strong>Message</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>
+Displays information about the success or failure of the last web application
+manager command you performed. If it succeeded <strong>OK</strong> is displayed
+and may be followed by a success message. If it failed <strong>FAIL</strong>
+is displayed followed by an error message. Common failure messages are
+documented below for each command.  The complete list of failure messages for
+each command can be found in the <a href="manager-howto.html">manager</a> web
+application documentation.
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Manager"><strong>Manager</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The Manager section has three links:
+<ul>
+  <li><strong>List Applications</strong> - Redisplay a list of web
+      applications.</li>
+  <li><strong>HTML Manager Help</strong> - A link to this document.</li>
+  <li><strong>Manager Help</strong> - A link to the comprehensive Manager
+      App HOW TO.</li>
+</ul>
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Applications"><strong>Applications</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The Applications section lists information about all the installed web
+applications and provides links for managing them. For each web application
+the following is displayed:
+<ul>
+  <li><strong>Path</strong> - The web applicaton context path.</li>
+  <li><strong>Display Name</strong> - The display name for the web application
+      if it has one configured in its "web.xml" file.</li>
+  <li><strong>Running</strong> - Whether the web application is running and
+      available (true), or not running and unavailable (false).</li>
+  <li><strong>Sessions</strong> - The number of active sessions for remote
+      users of this web application.  The number of sessions is a link which
+      when submitted displays more details about session usage by the web
+      application in the Message box.</li>
+  <li><strong>Commands</strong> - Lists all commands which can be performed on
+      the web application. Only those commands which can be performed will be
+      listed as a link which can be submitted. No commands can be performed on
+      the manager web application itself. The following commands can be
+      performed:
+      <ul>
+        <li><strong>Start</strong> - Start a web application which had been
+            stopped.</li>
+        <li><strong>Stop</strong> - Stop a web application which is currently
+            running and make it unavailable.</li>
+        <li><strong>Reload</strong> - Reload the web application so that new
+            ".jar" files in <code>/WEB-INF/lib/</code> or new classes in
+            <code>/WEB-INF/classes/</code> can be used.</li>
+        <li><strong>Undeploy</strong> - Stop and then remove this web
+             application from the server.</li>
+      </ul>
+  </li>
+</ul>
+</p>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Start"><strong>Start</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Signal a stopped application to restart, and make itself available again.
+Stopping and starting is useful, for example, if the database required by
+your application becomes temporarily unavailable.  It is usually better to
+stop the web application that relies on this database rather than letting
+users continuously encounter database exceptions.</p>
+
+<p>If this command succeeds, you will see a Message like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Started application at context path /examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>Otherwise, the Message will start with <code>FAIL</code> and include an
+error message.  Possible causes for problems include:
+<ul>
+<li><em>Encountered exception</em>
+    <blockquote>             
+    <p>An exception was encountered trying to start the web application.
+    Check the Tomcat 6 logs for the details.</p>
+    </blockquote></li>       
+<li><em>Invalid context path was specified</em>
+    <blockquote>             
+    <p>The context path must start with a slash character, unless you are
+    referencing the ROOT web application -- in which case the context path
+    must be a zero-length string.</p>
+    </blockquote></li>       
+<li><em>No context exists for path /foo</em>
+    <blockquote>             
+    <p>There is no deployed application on the context path
+    that you specified.</p>  
+    </blockquote></li>       
+<li><em>No context path was specified</em>
+    <blockquote>             
+    The <code>path</code> parameter is required.
+    </blockquote></li>       
+</ul>
+</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Stop"><strong>Stop</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Signal an existing application to make itself unavailable, but leave it
+deployed.  Any request that comes in while an application is
+stopped will see an HTTP error 404, and this application will show as
+"stopped" on a list applications command.</p>
+                             
+<p>If this command succeeds, you will see a Message like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Stopped application at context path /examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+                             
+<p>Otherwise, the Message will start with <code>FAIL</code> and include an
+error message.  Possible causes for problems include:
+<ul>                         
+<li><em>Encountered exception</em>
+    <blockquote>             
+    <p>An exception was encountered trying to stop the web application.
+    Check the Tomcat 6 logs for the details.</p>
+    </blockquote></li>       
+<li><em>Invalid context path was specified</em>
+    <blockquote>             
+    <p>The context path must start with a slash character, unless you are
+    referencing the ROOT web application -- in which case the context path
+    must be a zero-length string.</p>
+    </blockquote></li>       
+<li><em>No context exists for path /foo</em>
+    <blockquote>             
+    <p>There is no deployed application on the context path
+    that you specified.</p>  
+    </blockquote></li>       
+<li><em>No context path was specified</em>
+    <blockquote>             
+    The <code>path</code> parameter is required.
+    </blockquote></li>       
+</ul>
+</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Reload"><strong>Reload</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Signal an existing application to shut itself down and reload.  This can
+be useful when the web application context is not reloadable and you have
+updated classes or property files in the <code>/WEB-INF/classes</code>
+directory or when you have added or updated jar files in the
+<code>/WEB-INF/lib</code> directory.
+</p>
+<p><strong>NOTE:</strong> The <code>/WEB-INF/web.xml</code>
+web application configuration file is not checked on a reload;
+the previous web.xml configuration is used.
+If you have made changes to your web.xml file you must stop
+then start the web application.
+</p>
+
+<p>If this command succeeds, you will see a Message like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Reloaded application at context path /examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>Otherwise, the Message will start with <code>FAIL</code> and include an
+error message.  Possible causes for problems include:
+<ul>
+<li><em>Encountered exception</em>
+    <blockquote>             
+    <p>An exception was encountered trying to restart the web application.
+    Check the Tomcat 6 logs for the details.</p>
+    </blockquote></li>       
+<li><em>Invalid context path was specified</em>
+    <blockquote>             
+    <p>The context path must start with a slash character, unless you are
+    referencing the ROOT web application -- in which case the context path
+    must be a zero-length string.</p>
+    </blockquote></li>       
+<li><em>No context exists for path /foo</em>
+    <blockquote>             
+    <p>There is no deployed application on the context path
+    that you specified.</p>  
+    </blockquote></li>       
+<li><em>No context path was specified</em>
+    <blockquote>             
+    The <code>path</code> parameter is required.
+    </blockquote></li>       
+<li><em>Reload not supported on WAR deployed at path /foo</em>
+    <blockquote>             
+    Currently, application reloading (to pick up changes to the classes or
+    <code>web.xml</code> file) is not supported when a web application is
+    installed directly from a WAR file, which happens when the host is 
+    configured to not unpack WAR files. As it only works when the web 
+    application is installed from an unpacked directory, if you are using 
+    a WAR file, you should <code>undeploy</code> and then <code>deploy</code> 
+    the application again to pick up your changes.
+    </blockquote></li>       
+</ul>
+</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Undeploy"><strong>Undeploy</strong></a></font></td></tr><tr><td><blockquote>
+
+<p><strong><font color="red">WARNING</font> - This command will delete the
+contents of the web application directory and/or ".war" file if it exists within
+the <code>appBase</code> directory (typically "webapps") for this virtual host
+</strong>.  The web application temporary work directory is also deleted.  If
+you simply want to take an application out of service, you should use the
+<code>/stop</code> command instead.</p>
+                             
+<p>Signal an existing application to gracefully shut itself down, and then
+remove it from Tomcat (which also makes this context path available for
+reuse later).  This command is the logical opposite of the
+<code>/deploy</code> Ant command, and the related deploy features available 
+in the HTML manager.</p>
+                             
+<p>If this command succeeds, you will see a Message like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Undeployed application at context path /examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+                             
+<p>Otherwise, the Message will start with <code>FAIL</code> and include an
+error message.  Possible causes for problems include:
+<ul>                         
+<li><em>Encountered exception</em>
+    <blockquote>             
+    <p>An exception was encountered trying to undeploy the web application.
+    Check the Tomcat logs for the details.</p>
+    </blockquote></li>       
+<li><em>Invalid context path was specified</em>
+    <blockquote>             
+    <p>The context path must start with a slash character, unless you are
+    referencing the ROOT web application -- in which case the context path
+    must be a zero-length string.</p>
+    </blockquote></li>       
+<li><em>No context exists for path /foo</em>
+    <blockquote>             
+    <p>There is no deployed application on the context path
+    that you specified.</p>  
+    </blockquote></li>       
+<li><em>No context path was specified</em>
+    <blockquote>             
+    The <code>path</code> parameter is required.
+    </blockquote></li>       
+</ul>
+</p>
+
+</blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Deploy"><strong>Deploy</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Web applications can be deployed using files or directories located
+on the Tomcat server or you can upload a web application archive (WAR)
+file to the server.</p>
+
+<p>To install an application, fill in the appropriate fields for the type
+of install you want to do and then submit it using the <i>Install</i>
+button.</p>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Deploy directory or WAR file located on server"><strong>Deploy directory or WAR file located on server</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Deploy and start a new web application, attached to the specified <i>Context
+Path:</i> (which must not be in use by any other web application).
+This command is the logical opposite of the <em>Undeploy</em> command.</p>
+
+<p>There are a number of different ways the deploy command can be used.</p>
+
+<h3>Deploy a Directory or WAR by URL</h3>
+
+<p>Install a web application directory or ".war" file located on the Tomcat
+server. If no <i>Context Path</i> is specified, the directory name or the
+war file name without the ".war" extension is used as the path. The
+<i>WAR or Directory URL</i> specifies a URL (including the <code>file:</code>
+scheme) for either a directory or a web application archive (WAR) file. The
+supported syntax for a URL referring to a WAR file is described on the Javadocs
+page for the <code>java.net.JarURLConnection</code> class.  Use only URLs that
+refer to the entire WAR file.</p>
+
+<p>In this example the web application located in the directory
+<code>C:\path\to\foo</code> on the Tomcat server (running on Windows)
+is deployed as the web application context named <code>/footoo</code>.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Context Path: /footoo
+WAR or Directory URL: file:C:/path/to/foo
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+<p>In this example the ".war" file <code>/path/to/bar.war</code> on the
+Tomcat server (running on Unix) is deployed as the web application
+context named <code>/bar</code>. Notice that there is no <code>path</code>
+parameter so the context path defaults to the name of the web application
+archive file without the ".war" extension.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+WAR or Directory URL: jar:file:/path/to/bar.war!/
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+<h3>Deploy a Directory or War from the Host appBase</h3>
+
+<p>Install a web application directory or ".war" file located in your Host
+appBase directory. If no <i>Context Path</i> is specified the directory name
+or the war file name without the ".war" extension is used as the path.</p>
+
+<p>In this example the web application located in a subdirectory named
+<code>foo</code> in the Host appBase directory of the Tomcat server is
+deployed as the web application context named <code>/foo</code>. Notice
+that there is no <code>path</code> parameter so the context path defaults
+to the name of the web application directory.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+WAR or Directory URL: foo
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+<p>In this example the ".war" file <code>bar.war</code> located in your
+Host appBase directory on the Tomcat server is deployed as the web
+application context named <code>/bartoo</code>.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Context Path: /bartoo
+WAR or Directory URL: bar.war
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+<h3>Deploy using a Context configuration ".xml" file</h3>
+
+<p>If the Host deployXML flag is set to true, you can install a web
+application using a Context configuration ".xml" file and an optional
+".war" file or web application directory. The <i>Context Path</i>
+is not used when installing a web application using a context ".xml"
+configuration file.</p>
+
+<p>A Context configuration ".xml" file can contain valid XML for a
+web application Context just as if it were configured in your
+Tomcat <code>server.xml</code> configuration file. Here is an
+example for Tomcat running on Windows:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context path="/foobar" docBase="C:\path\to\application\foobar"
+         debug="0"&gt;
+
+  &lt;!-- Link to the user database we will get roles from --&gt;
+  &lt;ResourceLink name="users" global="UserDatabase"
+                type="org.apache.catalina.UserDatabase"/&gt;
+
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+<p>Use of the <i>WAR or Directory URL</i> is optional. When used
+to select a web application ".war" file or directory it overrides any
+docBase configured in the context configuration ".xml" file.</p>
+
+<p>Here is an example of installing an application using a Context
+configuration ".xml" file for Tomcat running on Windows.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+XML Configuration file URL: file:C:/path/to/context.xml
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+<p>Here is an example of installing an application using a Context
+configuration ".xml" file and a web application ".war" file located
+on the server (Tomcat running on Unix).
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+XML Configuration file URL: file:/path/to/context.xml
+WAR or Directory URL: jar:file:/path/to/bar.war!/
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Upload a WAR file to install"><strong>Upload a WAR file to install</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Upload a WAR file from your local system and install it into the
+appBase for your Host. The name of the WAR file without the ".war"
+extension is used as the context path name.</p>
+
+<p>Use the <i>Browse</i> button to select a WAR file to upload to the
+server from your local desktop system.</p>
+
+<p>The .WAR file may include Tomcat specific deployment configuration, by 
+including a Context configuration XML file in 
+<code>/META-INF/context.xml</code>.</p>
+
+<p>Upload of a WAR file could fail for the following reasons:</p>
+<ul>
+<li><em>File uploaded must be a .war</em>
+    <blockquote>
+    <p>The upload install will only accept files which have the filename
+    extension of ".war".</p>
+    </blockquote></li>
+<li><em>War file already exists on server</em>
+    <blockquote>
+    <p>If a war file of the same name already exists in your Host's
+    appBase the upload will fail. Either undeploy the existing war file
+    from your Host's appBase or upload the new war file using a different
+    name.</p>
+    </blockquote></li>
+<li><em>File upload failed, no file</em>
+    <blockquote>
+    <p>The file upload failed, no file was received by the server.</p>
+    </blockquote></li>
+<li><em>Install Upload Failed, Exception:</em>
+    <blockquote>
+    <p>The war file upload or install failed with a Java Exception.
+    The exception message will be listed.</p>
+    </blockquote></li>
+</ul>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Deployment Notes"><strong>Deployment Notes</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>If the Host is configured with unpackWARs=true and you install a war
+file, the war will be unpacked into a directory in your Host appBase
+directory.</p>
+
+<p>If the application war or directory is deployed in your Host appBase
+directory and either the Host is configured with autoDeploy=true or
+liveDeploy=true, the Context path must match the directory name or
+war file name without the ".war" extension.</p>
+
+<p>For security when untrusted users can manage web applications, the
+Host deployXML flag can be set to false.  This prevents untrusted users
+from installing web applications using a configuration XML file and
+also prevents them from installing application directories or ".war"
+files located outside of their Host appBase.</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Deploy Message"><strong>Deploy Message</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>If deployment and startup is successful, you will receive a Message
+like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Deployed application at context path /foo
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>Otherwise, the Message will start with <code>FAIL</code> and include an
+error message.  Possible causes for problems include:</p>
+<ul>
+<li><em>Application already exists at path /foo</em>
+    <blockquote>
+    <p>The context paths for all currently running web applications must be
+    unique.  Therefore, you must either undeploy the existing web
+    application using this context path, or choose a different context path
+    for the new one.</p>
+    </blockquote></li>
+<li><em>Document base does not exist or is not a readable directory</em>
+    <blockquote>
+    <p>The URL specified by the <i>WAR or Directory URL:</i> field must
+    identify a directory on this server that contains the "unpacked" version
+    of a web application, or the absolute URL of a web application archive
+    (WAR) file that contains this application.  Correct the value entered for
+    the <i>WAR or Directory URL:</i> field.</p>
+    </blockquote></li>
+<li><em>Encountered exception</em>
+    <blockquote>
+    <p>An exception was encountered trying to start the new web application.
+    Check the Tomcat 6 logs for the details, but likely explanations include
+    problems parsing your <code>/WEB-INF/web.xml</code> file, or missing
+    classes encountered when initializing application event listeners and
+    filters.</p>
+    </blockquote></li>
+<li><em>Invalid application URL was specified</em>
+    <blockquote>
+    <p>The URL for the <i>WAR or Directory URL:</i> field that you specified
+    was not valid.  Such URLs must start with <code>file:</code>, and URLs
+    for a WAR file must end in ".war".</p>
+    </blockquote></li>
+<li><em>Invalid context path was specified</em>
+    <blockquote>
+    <p>The context path must start with a slash character, unless you are
+    referencing the ROOT web application -- in which case the context path
+    must be a "/" string.</p>
+    </blockquote></li>
+<li><em>Context path must match the directory or WAR file name:</em>
+    <blockquote>
+    If the application war or directory is deployed in your Host appBase
+    directory and either the Host is configured with autoDeploy=true or
+    liveDeploy=true, the Context path must match the directory name or
+    war file name without the ".war" extension.
+    </blockquote></li>
+<li><em>Only web applications in the Host web application directory can
+     be deployed</em>
+     <blockquote>
+     If the Host deployXML flag is set to false this error will happen
+     if an attempt is made to install a web application directory or
+      ".war" file outside of the Host appBase directory.
+     </blockquote></li>
+</ul>
+
+</blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Server Information"><strong>Server Information</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>This section displays information about Tomcat, the operating system of
+the server Tomcat is hosted on, and the Java Virtual Machine Tomcat is
+running in.</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/images/tomcat.svg
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/images/tomcat.svg	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/images/tomcat.svg	(revision 66)
@@ -0,0 +1,589 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!-- Generator: Adobe Illustrator 11 Build 196, SVG Export Plug-In . SVG Version: 6.0.0 Build 78)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN"    "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+	<!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/">
+	<!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
+	<!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/">
+	<!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/">
+	<!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/">
+	<!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/">
+	<!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/">
+	<!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/">
+	<!ENTITY ns_svg "http://www.w3.org/2000/svg">
+	<!ENTITY ns_xlink "http://www.w3.org/1999/xlink">
+]>
+<svg 
+	 xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;" i:viewOrigin="176.7139 486.707" i:rulerOrigin="-156 -296" i:pageBounds="156 496 456 296"
+	 xmlns="&ns_svg;" xmlns:xlink="&ns_xlink;" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 width="260.162" height="184.413" viewBox="0 0 260.162 184.413" overflow="visible" enable-background="new 0 0 260.162 184.413"
+	 xml:space="preserve">
+	<metadata>
+		<variableSets  xmlns="&ns_vars;">
+			<variableSet  varSetName="binding1" locked="none">
+				<variables></variables>
+				<v:sampleDataSets  xmlns="&ns_custom;" xmlns:v="&ns_vars;"></v:sampleDataSets>
+			</variableSet>
+		</variableSets>
+		<sfw  xmlns="&ns_sfw;">
+			<slices></slices>
+			<sliceSourceBounds  y="302.294" x="176.714" width="260.162" height="184.413" bottomLeftOrigin="true"></sliceSourceBounds>
+		</sfw>
+<?xpacket begin='﻿' id='W5M0MpCehiHzreSzNTczkc9d'?><x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 3.0-29, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+
+ <rdf:Description rdf:about=''
+  xmlns:pdf='http://ns.adobe.com/pdf/1.3/'>
+ </rdf:Description>
+
+ <rdf:Description rdf:about=''
+  xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
+ </rdf:Description>
+
+ <rdf:Description rdf:about=''
+  xmlns:xap='http://ns.adobe.com/xap/1.0/'
+  xmlns:xapGImg='http://ns.adobe.com/xap/1.0/g/img/'>
+  <xap:CreateDate>2006-05-09T08:17:21Z</xap:CreateDate>
+  <xap:ModifyDate>2006-05-09T08:37:38Z</xap:ModifyDate>
+  <xap:CreatorTool>Illustrator</xap:CreatorTool>
+  <xap:Thumbnails>
+   <rdf:Alt>
+    <rdf:li rdf:parseType='Resource'>
+     <xapGImg:format>JPEG</xapGImg:format>
+     <xapGImg:width>256</xapGImg:width>
+     <xapGImg:height>184</xapGImg:height>
+     <xapGImg:image>/9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA&#xA;AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK&#xA;DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f&#xA;Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgAuAEAAwER&#xA;AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA&#xA;AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB&#xA;UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE&#xA;1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ&#xA;qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy&#xA;obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp&#xA;0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo&#xA;+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FXYq7&#xA;FXYq7FXYq7FXYq7FXYq7FXhH/OYHnWfQ/wAurfRLSUxXXmK49GQqaN9VtwJJqH3cxqfYnFXhP5Y/&#xA;85O+f/JU0enaw769okbBJLS8ZvrUKg0IhnarDj/I9R2HHFX2F+Xn5neT/P8ApP6R8u3glKAfW7KS&#xA;iXNuzdFljqaezCqnsTirK8VdirsVdirsVdirsVdirC/zM/Nvyd+XemC71255Xcqk2WmQUa5nI2+F&#xA;CRxUd3ag+nbFXx1+Zf8Azkn+YvneaW1tLh9C0NgwXTrB2V3Sm/rzji8m3UDitP2cVfV//OOfmabz&#xA;D+T3l+6uHMl1aRPYTsxqSbVzEhJ7kxKhxV6VirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVd&#xA;irsVfHn/ADlxdSa7+bvlvyvGx4RW0EVARtNfXJVqf7BY+uRlKgT3JAt5r/zkD5ZGgfmfqSRR+nZ6&#xA;gsd9agdOMq0f/ksj5h9nZvEwgnmNi2Z4cMiw/wAqebPMHlTXLfW9BvHstQtjVZEPwstQWjkXo6NT&#xA;4lOxzOan3v8Akl+cel/mX5a+tAJa69ZcU1fTlJojGvGWLluYpKbV6GqmtKlV6NirsVdirsVdirsV&#xA;eWfnr+eGl/lroywwBLzzPfox02wJqqL0+sT03EanoOrnYdyFXwh5i8x655j1i41jW7yS+1K6blNc&#xA;SmpPgABQKo6BVFB2xVnf5Q+SjrWh+d9Yli5w6XolylsadbqSNnTj8kiYf7IZg6zUeHKERzlIfL8U&#xA;3YoWCe4Pff8AnCfVTN5D1zTCamz1P11HcLcQIAPlWE5nNL6KxV2KuxV2KuxV2KuxV2KuxV2KuxV2&#xA;KuxV2KuxV2KuxV2KvjD8wm/Sv/OX8UTGsdrqGnCMNUU+rW0Mp6f5ammY2sNYZ/1T9zZi+oe9m/8A&#xA;zkx+Xc/mPytFrunRepqehc3ljUVeS0cAyAU6mMqHA8OXfNB2PqhCfAeUvv8A2uZqcdix0fIedQ69&#xA;m35OefrryN+YOla2kpjsjKttqqDo9nMwEoI78ftr/lKMVfaeqf8AOSH5KaaSs3meCZx0W1inuanf&#xA;YNDG69vHFWM3v/OYn5QW5YQ/pK8ArQwWqitPD1pIuvviqVT/APObH5cKR6GjaxIP2i8dqhB9qTvi&#xA;qmP+c2fIFd9C1Wnfa2/6q4qmFv8A85n/AJUSvxksdZtx/NJb25H/ACTuHOKp3bf85XfkpPBI7avN&#xA;BIisywS2lwGcqCeIZUdKmm1WGKvijzz5x1bzl5q1HzFqjlrm+lLrHWqxRDaOFP8AJjSij7+uKpNb&#xA;W1xdXMVtbRtNcTuscMKAszu54qqgbkkmgwE1uVfbHkL8uk8o/lTPoMiK+o3drPNqZHRrieIhlr4I&#xA;tEB9q5yWo1fi6gS/hBFfN2UMfDAjqwT/AJwdvyt/5usC20sVlOq77em0yMR2/wB2Cudc619ZYq7F&#xA;XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXxZKTJ/zmFc+oedNTmA5b/ZtG49fCgpmH2h/&#xA;cS9zbh+sPqDrsc4t2r57/Nf/AJxkGo3c+teSTFb3ExMlxo0hEcTMdybd/spU/sN8PgQNs3+i7Xoc&#xA;OX5/rcLLpusWIaF/zif56vFWTVr6y0pG6xgtczL81QLH90mZWTtnFH6bk1x0sjz2Z1pf/OIvlOIL&#xA;+lNbvrthSv1dYrZSe+zC4ND88wp9uTP0xA9+/wCptGkHUsms/wDnGf8AKS3AEunT3dOpmupxXam/&#xA;pNFmPPtjOeRA+H67bBpoPDv+ch/yt03yXrdjeaFbG30HUouCQ8pJBFcQ0DqXkZ2+NSrCrfzeGbns&#xA;vWHNAiX1BxdRi4TtySH8jfJdn5u/MOy07UIfrGl28ct3fw1IDRxrxUEqQaGV0By7X6g4sRkOfRhh&#xA;hxSp9N3X/OO/5P3FSdBETGnxRXN0nT/JEvH8M50dq6gfxfYHOOnh3JDqP/OKn5a3NTazajYt+yIp&#xA;0dfpEsbn/hsvj21lHMRP497A6SPmwzW/+cQr9A76H5himO/CG9haL5AyxGT/AIhmXj7cifqiR7t/&#xA;1NUtIehZh+S3/OP8Xk+5GveYXivNfTkLSKIloLYGqlwzBecjL3p8P45i9odqeIOCH09fNtw6fh3P&#xA;N7DfIz2VwijkzRuFA6klTmpxmpD3uRLk+bf+cJrrj+Yet2tT+90hpeP7J9O5hWp9/wB5tneunfZm&#xA;KuxV2KuxV2KuxV2KuxVZLNFDG0srrHGu7O5CqB7k4qks3nzyNC5jm8xaZHIOqPeW6nf2L4qmFhrW&#xA;j6iK6ff294KVrbypLt1r8BPjirAvzb/Pnyf+WrW9rqKS6hq90vqRaba8eaxVp6krMQEUkEL1JPbq&#xA;cVYFof8Azmp5BupVj1fR9Q0wNsZo/SuY1/1qGN6fJDir2Xyf+Yfkrzjam48taxb6iqgGSKNisyA9&#xA;PUhcLKn+yXFWRYq7FXYq7FXxRrBNj/zl/NVwC+rL8XtcWw+Hf/jJTMXXC8M/6pbMP1h9SZxLtnYq&#xA;7FWG+afzg/LnyvdNZ6vrUSXqGj2sKvcSofB1hV+B/wBamZmHs/NkFxjt8mqWaMeZRPk78zvI/nF5&#xA;ItA1RLm5hHKS1dXhmC1pyEcoRmXputRkdRosuLeQ2TDLGXJCfm/5JXzj5D1HSo05X8a/WtNPcXMI&#xA;JUD/AFxVP9lk+z9R4WUE8jsWOaHFGnl3/OI/lpodN1zzFMlGuJUsLcsKELCPUlpXsWkQfNc2Xbmb&#xA;eMPj+r9LRpI8y+hc0DmuxV2KuxV2Kvl//nClHP5oas4B4Lok6luwLXdqQPpoc9AdK+08VdirsVdi&#xA;rsVdiqXeYPMOi+XtIudY1q7jsdNtF5z3EpooHQAd2ZjsqjcnYYq+VfPf/OV3nXzNqp0D8stPlto5&#xA;mMcF0IfrGoT+8UIDrGD8mbvVcVSqz/5xn/Pjzs66h5t1RbUueX+5W7kurgA/yxx+sq/6pZaeGKsj&#xA;h/5wanMYM3nNUk7qmml1/wCCN0n6sVQt7/zhDr8B56Z5stppEIMZntZLfcb1qkk9KHFXzr5mtdUs&#xA;tfv9O1S5a7vtOuJbKaZndwWt3MZ4mSjcartUDFUsxVFabqeo6XfQ3+m3UtlfW7c4Lq3dopUbxV1I&#xA;IxV9Sfkr/wA5aNcT2+gfmG6K8hWO18wqAi1OwF2q0Vf+Mi0H8w6tir6lVlZQykMrCqsNwQe4xVvF&#xA;XYq+Kfzzro3/ADlLa6oxKJLdaReFiaApGsMLeG1ISMqzw4sco94LKBogvqPOEdw7FXkf55/mBrlj&#xA;Jp3kbykX/wAVeYSFE0Zo8FuzFOSt+wzlW+P9lQx2NDm27N0sZXlyfRFxs+Qj0jmUd5B/IHyP5bsI&#xA;31Oyh1zWnAa6vb1BMnqHciKKSqKAehI5e+Q1XamTIfSeGPlzTj08YjfcsJ/PDy5pXkHX/LH5geW7&#xA;WPTGhvlt9Rt7RBFHKpBk+wgCjnGkiPQbg5m9m5jnhLFM3s1Z4iBEg+hOu4zn3NQOkaLpuj20ltp8&#xA;IghlnnunRe8tzK0sh/4JzQdhtlmXLKZuXdXyYxiByR2VsnYqxjV/zO/L3SJWh1DzDYQzoaPD66PI&#xA;p/ykQsw+kZlY9Dmnyifu+9qOWI6pvoOvaRr+kwato9yt3p1zz9C4UMob03MbbMFOzoR0ynLiljkY&#xA;yFEM4yBFhV1WVYdLvJWJCxwSOxHWioTjhFzA8wsuRfPn/OEVoX83eZLzekOnxQnpSsswb/mVneOn&#xA;fYOKuxV2KuxV2KqF9e2lhZT315KsFpaxtNcTuaKkcYLMzHwAFcVfFHnPzR50/wCchPzJi8veXlaH&#xA;y7aO5sYnqsUUCkK97dU/bYdB2qFXcklV9U/lj+UnlH8u9IWz0a2WS+dQL7VpVBuLhh1q37KV+yg2&#xA;Huakqs1xV2KuxV8v/nf/AM4patrnmG+80eSp4Xn1GR7m/wBIuW9ImdyWd4JSOH7xjUq9KGvxb0Cr&#xA;5/1j8mPzX0iRkvfKepgL9qSC3e5jG9P7yASJ1PjiqRjyb5vMvpDQ9QMtePpi1m5culKca1xVPtG/&#xA;JT82dYdUsvKepUf7MlxA1rGe395cekn44q+zf+cffKv5m+VvJ50bzvPbzRwFf0RFHK01xbxU+KCV&#xA;6cCqmnDizU3FaUAVeo4q7FXx5/zmxpD2vnTy7rcdUN5YPbh12POzmL1qO4FyuKsl/Lz/AJyc8ra2&#xA;sNj5mUaHqZAU3TGtnI3Qnn1ir1o/wj+bOY1XY8474/UO7r+1z8epB2Oz2iKWKaJJYnWSKQBkkQhl&#xA;ZTuCCNiDmnIINFygVGXTNOmvYb6W1hkvbbkLe6eNWljDgq3ByOS1UkGhwjJIDhs0ei0LtE5FLxD/&#xA;AJyycP5F0ezQcp59WjaNdt+NvMp/GQZuuxI/vJH+j+lxNWfSPe9rgiEMEcQNRGoQE9+IpmmlKyS5&#xA;QCpgSsllihieWVxHFGpeR2NFVVFSST0AGEAk0EEvn2fVfOv5269e6foN9Jof5e6fIYbm9QMst2af&#xA;ZIBUtyG4QkKqkFqmgzfiGLRQBkOLKfx+C4ZMspobRZzof/OOv5U6VCiyaUdSnUUa4vZZJGb5opSL&#xA;7kzBydrZ5HY8PuDbHTQDP9G0XStE02HTNJtks9Pt+Xo20Qoi83LtQe7MTmBkyynLikbJboxAFBJv&#xA;zO1Aaf8Al35lu60ZNNuljP8AlvEyJ/wzDL9FDizQH9IfYxymol59/wA4P6S0eg+adXI+G6ura0Vv&#xA;e2jeRgP+kkZ2zqX01irsVdirsVdir50/5zJ/MGbSfK1j5PspOFxrrGa/KmhFpAwon/PWWn0KR3xV&#xA;mf8Azjd+WEPkj8vrae5iA17XES91KQijorrWG333HpI24/mLYq9YxV2KuxV2KuxV2KuxV2KuxV2K&#xA;obUdT03TbR7zUbuGytI/7y4uJFijX5u5VRir5U/5yz/MX8tfNfl7S7DQtZh1LW9NvS5W2V3iFvJG&#xA;yyUnC+kfjVPsscVSv8i/yi/LTzn5Ij1XVLSafU4J5rW9C3EkaFlIdCFQrT926980XaOuy4cnDGqI&#xA;vk5eDDGQsvdvKXkby35StXtdBgmtrZ6Vge6uZ4wf5ljmkkRCe5UCuaPPqp5Tc9/gHLhjEeSN8x3+&#xA;o6foGoX2m2hv9QtoJJbWyFazSKpKxjjv8R22yOCEZTAkaBZTJAsPHv8AlcP53/8Altpv+BuP+ac3&#xA;H8n6X/VPti4vjZP5rzz8wfPP5i+bfNvluw1Dyq1rqWjzG+g0ROZmuRVZDVGHPjxgbcDpXNhpdNiw&#xA;wkYy9Mutj8dWnJOUiAQ9D/5XD+d//ltpv+BuP+ac1/8AJ+l/1T7Yt3jZP5rv+Vw/nf8A+W2m/wCB&#xA;uP8AmnH+T9L/AKp9sV8bJ/NYp+ZX5v8A5qXnli40LVfKbaCutAWkdyxlWRwWXnHGrheRdfhI8DmV&#xA;pNBgE+KMuLh9zXkzTIoirR/kbzf+bvlHy1Y+XtO/LedobYENM6zK0kjtyeRzxoOTH6BtkNTp9Plm&#xA;ZyyfaEwnOIoRej+RPO35o6xr62fmPyf+hdNMTub71C1HWnFaV/azX6rS4IQuE+KXds348kyaIZ7q&#xA;jaqthKdKSCS/pSBbp3jhr4uY1kbbwA38Rmux8PF6r4fJuldbPlv8+YvzstdPS483apafoO7nEEVh&#xA;pcjJbl6NIA0bKkjgenWsnKhpnTdnHTH+7HqHfz+f6nAz8f8AFyfQ3/OLHl06N+TWkyOnCfVpJ9Rm&#xA;Hj6r+nEfphiQ5t3GeuYq7FXYq7FXYq+MfzQhXzz/AM5YWmgz1lsLe7sbB4zvW3gRbi5TvSrNLir7&#xA;OxV2KuxV2KuxV2KuxV2KuxV5j59/5yM/K7yb6kFxqQ1TU0qP0dpvG4cMO0kgIij36hn5e2KvAvMv&#xA;/OWP5p+arl9P8laWukxtXiYIzfXvHpUuy+mg+UdR/NkJ5IwFyIA80xiSaDF/+VT/AJo+b7sah5w1&#xA;h1kavx3sz3k617KgYoo9uYp4ZptR7QYIbRuZ8uXzP7XMx6GcuezJYf8AnH3yrBptwjXFxd6g8LrB&#xA;NIwSNJSpCOEQA7NvRmOak+0eQzGwjCxfU11/FOT/ACfEDnZYH+S+sfmZZeajoHlC8htrq6ZnubC/&#xA;K/VnMAPLkrAtyUdfT+Kg8BnSa7HhMOLINg6/CZA1F9k6KdbOmw/pxbZdTp/pH1IyNAW8U9UK9Pnn&#xA;I5eDi9F8PnzdlG63R2VsmndUUu5CooJZiaAAdSTiBaHhP5N8/On5r+bPzEkBbT7dv0do7EGhWgUM&#xA;tRswgjUsP+LM3vaH7nBDCOZ5/j3/AHOJh9UzJ7vmicx2KvEf+clQLS78i63cEjT9O1cC6O3H4mjl&#xA;FR/qwPm77G3GSPUj9f63E1XQvbQQQCDUHoc0jlN4pSXzN5z8q+V7ZLjX9Tg0+OSvpLK37x+PXhGv&#xA;J3pXfiMuw6bJlNQFsJ5BHmXzJ+dn5haf+Z/mby75e8qtLPbLN6EbyI0YluruRI0oh+KigChIHU50&#xA;/ZmilhieL6i4GoyiZ2fbWh6Ra6Noun6PaClpp1tFaW4/4rgQRr+C5s3HR2KuxV2KuxV2KvjfymCP&#xA;+c0p/rdK/pTU+POlKfUp/S/4144q+yMVdirsVdirsVdirsVeQfmX/wA5Ofl55MaaxtZv0/rcdVNl&#xA;ZMDEj+E1x8SL4ELyYdxir5W/Mf8A5yD/ADJ88GSC6vjpmjyVC6VYFoYmQ1FJXr6kte/I8fADFXme&#xA;Kvpj8jdTtb3yJBFFGkdxYyyW9zwVU5MDzRzTqSjipPU1zhvaDHKOosk8Mht5d/6/i7rQSBh5h6Fm&#xA;ic12Kvnvz6l35B/Nqz8z2CEQyzLqMSqeIY143UVf8upr7Pnedl5RqdLwS5gcJ/R9n2uj1MPDyWPe&#xA;+wdL1Ky1TTbXUrGQTWd5Ek9vKOjJIoZT9xznMkDCRieYc2JsWisgyYZ+b1p5vvfIGqWPlSFZ9Tu0&#xA;9F1LiN/q77TelXYuV+EAkddt6A5vZ8sccoMzsPv6NOYSMdnzl+Wn5m/mVoKR+RtEtNLsrmGWSsOp&#xA;q1vM87t8Su8ssS+p0UKaGgAGdDqtHhyfvJ2fd3fBwseWUfSHq36V/wCcqf8AqzaN/wAGn/ZRms4N&#xA;B/OP2/qci83c79K/85U/9WbRv+DT/sox4NB/OP2/qW83c8o/Mj8z/wAy/MAm8i6zaaZfXU0sY9HT&#xA;Ea4lSdGqqxvFLKvqbFSBXqQc2el0eHH+8jY2693xcfJllL0l9KflXb+bbXyJpVp5riWLV7aIQsqu&#xA;JGMSbRGUio9ThQNQnx70znNccZyk4+R+9zsIkIi2W5iNqB1xdH/RF2+sxQy6XFE8t4tyiyRelGpZ&#xA;i6uCpAAyzFxcQ4D6ixlVb8nzj/zjB5UtfNn5xal5tisltNE0Rpbu1tEUCOOa6ZktYgBt+7j5tt3U&#xA;Z3UIkRAJt1BO77PySHYq7FXYq7FXYq+M/wAyX/wb/wA5b2WsP+7s7q90+7Zz8NILlEt7htqV3EmK&#xA;vszFXYq7FXYq7FWGfmR+bnkn8vrD6xr16PrkilrXS4KPdTdacY6jitRTmxC++Kvjz80/+clPPvnk&#xA;TWVq50Py45KfULRj6kqntcTjiz1H7K8V8QeuKsQ/KyLyvP5wtbTzFbC4trn91bc2IjW4JBj9QAjk&#xA;G+zQ7VIrmB2mcowE4jUh93Vv0wiZgS5Po7zD5J8ta/pa6bf2UfoQrxtWiAjeDbb0io+Hp06eIzht&#xA;N2jmwz4oyu+d7373dZNPCYoh8/effyj17yuZLu3B1DRgSRdRr8cS9f3yD7P+sPh+XTOz7P7Wxajb&#xA;6Z936u90+fSyx78wnP8Azj5r4s/M11o8jUi1OHlED/v63qwA+cbP92YvtDp+PCJjnA/Ydv1NugyV&#xA;Ou99C5xDuWDeefKvnzV9WiufL+v/AKKskt1jkt+Ui8pQ7sX+AEbqyj6M3XZ2t02LGRlhxyvnQO23&#xA;e4eow5JSuJoe8sD81/lL+ZF9pj3Go65Hq7WKPLBbMZGc7VZY+S9WC9O+bnSdsaQTEYQ4OLyAHxou&#xA;Jl0mWrJuvel/5Q/8rK80ySeXdA85S6P9Qh9W2spZ51RouXx+kEDD4CwqPfbvmz1pw4xxzhxX5Bxc&#xA;XFLYGnv35Y+RfzR0DXri881+af03p0lq8MVp6s0nGZpI2WSkiqNkRh9OaLW6rBkgBjjwm+4D7nMx&#xA;Y5g7m3p2axyGGfmF+U3k/wA82pGq23paii8bfVIAFuEpWgLU+NN/st9FDvmZpddkwnbePc1ZMMZ+&#xA;95R/iv8AMz8lbm20/wAzMPMvk2Z/Ssr5XpcIBvxXmSwKr/ut6r2Vxm28HDrAZQ9OTr+P0uNxzxbH&#xA;cNSeb/zJ/Om9uNM8pk+XPJ0Lelf6g7D13DD7L8DyJZf91oafzNTEYMOjAlP1ZOn7P1qZyymhsHrH&#xA;5d/lN5R8i2gXS7f1tRdaXGqTgNcPXqAeiJ/kr9NTvmq1euyZjvtHucjHhEPezPMJuePedvy3/OXV&#xA;fNF/qGg+c/0ZpM7KbWx9a4X0wI1VhxRSoqwJ2zc6fWaaMAJQuXuDizxZCbB2eNfm7F+Z3lQQaDr3&#xA;nKXV21SJmm0+GedgIQwCmVXC7OwIUd6HNtopYcvrhDhrrQcbKJR2JeieSv8AnHD8+9H0SJtG83Q+&#xA;XlvlS5udPinuonSR0Hwy+nHxLqPhO5zYtD2r8mvJH5m+V/0x/jjzN/iL659W/R/76eb0PS9X1f75&#xA;Vpz5p08MVel4q7FXYq7FXYq+Xv8AnNjya81joXnG3Sv1Vm0y/YCp4SEy25PgquJB82GKva/yY87J&#xA;5z/LXRNbaTneNALfUfEXVv8Au5SR25leY9mGKs2xV2KrZJI4o2kkYJGgLO7EBVUCpJJ6AYq+aPzm&#xA;/wCctrTTWn0L8vmjvL1ax3GvOA9vEehFsh2lYH9tvg8A1cVeMfl95AvPzCvLrzP5l1SW6iNwUueT&#xA;tJdTyqqsQ7tXgvFgPGmwp1zS9rdrflqjEXMj4OZpdL4m5Oz3O18seXrXSP0PDp0C6ZSjWhjVkb3c&#xA;NXk3ud842etzSyeIZHi73bDDAR4a2eaeb/yBsLlmvPK9x9QuQeX1OYs0JPX4JN3j/EfLN9ovaIj0&#xA;5hfmP0j9XycLNoBzh8noHku+1y50OKLXrV7XWLT9xeB6FZGUCkyOvwsHG549DUds03aOLHHJxYiD&#xA;jluPLy8v1OXp5SMakPUE9IBBBFQdiDmCDTe841/8pLaHW7bzL5U42OqWkyzvYfZt5+JqyrT+6LrV&#xA;f5fl1zoNL21xQOLPvGQri6j39/3+9wMujo8UOY6PSB06U9s54uewnzt5H8z69qsV5pXme60W3jgW&#xA;F7WAyhWcO7GQ+nLGKkMB07Zt9BrsGGBjkxiZvnt5d7iZ8M5m4ypj/wDyqbz9/wBT/f8A/BXP/ZRm&#xA;d/K+k/1CPyj+pp/K5f55+15z518keZ/y91G01W01SZ2nLiPVrYyW8qTMDzQurFgXQnfl8Qrm90Pa&#xA;GLVxIrl/CXCz4JYiHv8A+Qeia/NDH5tufO155k0u+s3gGm3Tzt9XufUjZuQkmlUPHwZdh0NQaHfV&#xA;9qTgP3YgIyB57bhv04PO7eyZp3KYZ+afm/zN5Z0KGby5okmtanezC1gVAXSF3UlXkRPjYbdqDxYd&#xA;83Q6eGWR45cIG7TmmYjYMC8p/kVrGu6ovmj81b1tV1Njyi0YODBEOoWQp8FB/vuP4fEtXM7P2nGE&#xA;eDAKHf8Aj7y1QwEm5orzX+Rd9pepP5n/ACuvm0HWlq0mlhqWc46lFBqqV/kYFP8AVyODtMSHBnHF&#xA;Hv8Ax9/NM8BBuGxZB+VP5j+ZPMs9/ovmbQJ9J13R1Q3s3ErbPzNEoGPJWehIA5KQKhu2Ua7RwxgT&#xA;hK4yZYcplsRuHo2a1yHh35u+SvN1nNrXnD/lYl/omiIFli0yB7gBSEVFiiC3EacpHGwAG5zd6HPi&#xA;lw4/DEpd+3z5OJmhIXLi2eW/lJ+UXnn829Svtdl1ue0XTjGo127MtzM9ytDHHG5dXrGg5E8vh+Hx&#xA;zo4QERQFBwSSeb2z/oXX86P/AC8Gq/8AI2+/7Kskh6L+UP5dedPJv6W/xN5wu/Nf1/6v9U+tvO/1&#xA;f0fV9Th68s3956i1pT7OKvRcVdirsVdirsVY/wCf/J9l5x8nar5bvKLFqMDRpKRX05R8UUlP8iRV&#xA;b6MVfLf/ADiz50vvJX5han+XXmGtsmoztDHE/SLU4Dw4jt++Qca9yEpir7ExVK/MnmbQvLOjXGs6&#xA;5eR2Om2q8pZ5TT5KoG7M3RVUVJ6Yq+M/zS/PHzr+bWrnyv5Vt5rPy67fDZoaS3CqaerduDRU/wAi&#xA;vEd+RplWbNDFEymaiGUIGRoc0Nc/846uugI1vqXPX1BaRGFLVtv7tTTmtP5z18BnOw9pInLRj+77&#xA;+vv/AB9rsD2eeHY+pV/Io6rofmDWPK2rwSWlzJEl3FBIKCsbem5UjZuYddxUHjke34xy4YZYGwDW&#xA;3n/YuhJjMxL2rOSdq7FXYq7FXYq7FXYq7FUt8w6Bp2v6Pc6VqCc7a5XiSPtIw3V0J6Mp3GZGl1M8&#xA;GQTjzH2+TXlxicaLxryB5w1r8nPPM+i63yl8v3rKbrgCVKE0ju4V8R0ZR13HUDO3ywx67CJw59P1&#xA;H8ebpgZYZ0X1xZXlpfWkN5ZyrPa3CLLBNGQyOjiqspHUEZzE4mJo8w54N7q2RS7FXYq73xVTuLi3&#xA;treS4uJFht4VMk00hCoiKKszMdgAOpwxiSaHNBNPlfzv5j8wfnh+Yll5O8qBhoVtKTFKwIQqvwzX&#xA;047IgNEB33p9p6Z13Z2iGGNn6zz/AFOtz5eM+T7B8j+TdG8m+V7Hy7o8fCzso+Jc/blkO8ksh7s7&#xA;bn7htTNi0J9irsVdirsVdirsVdirsVfLP/OXf5WXENxb/mXoKNHNCY4tbMNVdWQhbe7BG9RtGx/1&#xA;PfFWefl3/wA5I+VdQ/KqTzN5mu0ttV0YLbavarT1Z7gqfSaCPbl9YCkgdFIb9la4q+cvNPm3z/8A&#xA;nr5uCUNnolo1YLRSxtrOIkgSSdPUmYd+p7cV6Yms1mPTw4pn3DqW3FhlkNB695O8l6J5U00Wemx/&#xA;vHAN1duB6szDux8B2XoM4LXdoZNTK5cug7vx3u7w4I4xQT/MFvUJbGzluYbqSFGubfl6ExA5oHFG&#xA;AbrQjqMsjmkImIPplzDEwBIPUNahew2Nhc3s54wWsTzSt4JGpZj9wxw4zOYiP4iB81nLhBPc8w/J&#xA;Tzn5v8y3mqHV7oXFlaIhjHpojLJKxIAZQtQFQ9a50XbujwYYRMI8MifsH4DgaLNOZNmwHq+cy7F2&#xA;KuxV2KuxV2KuxVjXnzyLpnm/SDZ3P7m7hq9leAVaJyO/ijftL/EDNj2d2jLTTsbxPMfjq4+o04yD&#xA;zeb/AJZ/mj5g/KrXZPKnmyKSTQS9QFq5t+Z/v7c/txP1ZR8x8VQet1Gmx6vGMmM+r8bF1UJyxS4Z&#xA;PqrTNT0/VLCDUNOuI7qyuVDwXETBkZT3BGczkxygeGQohzgQRYRWRZOxVSurq2tLaW6upUgtoVLz&#xA;TSMEREUVLMxoABhjEyNDcoJp8v8A5n/mrr/5n65D5E8hQTTadcy+kxQcZL1lNeTV+xbpTl8VNvia&#xA;nTOp7O7OGL1S+v7v2uvz5+LYcn0j+SX5N6V+Wvlv6uCl1r96FfV9RUGjMKlYoq7iKOu38x+I+A2z&#xA;jPR8VdirsVdirsVdirsVdirsVSDz3rvlfQ/KWp6h5oaMaGsDx3kUgDCZJFK+iqEjm0leIXvir81d&#xA;SfTpdTupdPhkt9MedzawyMJJI4WYmNGeihmCbV74q+q/y8tfLEHlOyPlsV06VefqGnqvJ0czH/fl&#xA;RQ+HQbUzzrtWeY5z4v1D5V5eTv8ATCAgOFkma5yHYq7FWIfm3qBsfy81mRftSxLbge08ixN/wrHN&#xA;r2Jj4tVHys/Z+txdZKsZSD/nH3TRb+S5rwj4767kYH/IjVYwP+CDZm+0mQnNGPQR+/8AAauz4+gn&#xA;zenZzrnuxV2KuxV2KuxV2KuxVjnnbyLovm3Tfqt+np3MYJtL1APUiY+Feqn9pe/zocz9B2jk00rj&#xA;vHqPx1aM+njkG/N4/ovmf8xfyX1w2rr9b0W4fkbVyxtLgDq8T0Jikp12r4gimdkPA12PiHP7R7/x&#xA;7nUETwyovpX8vvzc8m+eLZf0ZdCDUgKzaVcEJcKR1KitJF/ykr70O2aHVaDJhO4uPf8Ajk5ePNGX&#xA;vTXzl578seTtMOoa9eLboa+hAPimmYfsxRjdj+A7kZVp9LPMaiP1Mp5BEbvmXzJ54/Mb87vMcflj&#xA;y1ZyQ6SzhksENFCKf96L2YbcV60+yDQAM1Cep0eghgF85d/6nX5cxn7n1H+S35IaB+Wmkkxlb3zD&#xA;eIo1LVGHyJhgrukQbfxbqewGe0vSsVdirsVdirsVdirsVdirsVQup6np+l6fc6jqNwlrY2kbTXNx&#xA;KeKJGgqzMfYYq+HfzQ/MTzL+dvnmHSNFR4PLtm7fo+2eoUIKh7y5pX42BoB+yPhG5JajU6mGGBnM&#xA;7BnjxmZoPQ4Pyv8AK8fk1vK5i5W8g5yXVAJjcU2nr/MO3am3TOGl2xmOfxfs6V3ft73dDSQ4OH7X&#xA;kehaz5g/KfzbLpWqK0+jXLB5VQfDJGaqlxDU7MKfEv0HsR0uowYu0MAlA+ocvI9x/HmHXY5ywTo8&#xA;n0Fp2o2OpWMN9YzLcWlwoeGZDUEH/Pcds4jNhljkYyFSDuYTEhY5KzTQoaPIqnwJAOCOOR3AKmQH&#xA;VyzQueKyKx8AQTiccgLIKiQPV5t/zkDctD5FijHS5voYm37BJJP1x5vPZwf4Qf6h+8OH2h/dj3p3&#xA;+UNt9X/LnRkoQXjklNRQ/vJnf9TbZjdtyvVT+H3Bs0Y/dBmOalynYq7FXYq7FXYq7FXYq7FUHq+j&#xA;6ZrFhLYanbJdWkwo8Tjb2II3Vh2I3GXYNRPFLigaLCeMSFF4R50/JTXdCnOq+VpJby1ib1FjjJF5&#xA;ARuCvGhenYr8Xt3zstB25jzenJ6Z/Yf1fF1OfRShvHcJFJ5F/M7zRY3PmTUI7m8eKMFHvZHa6mRe&#xA;0SvV2CjcdK/s1OZsu0NNimMVgHy5D39zQMGSQ4qfTP8AziV518hXnlX/AA3p1lBpPmi0XnqUIr6l&#xA;6F2+sq7lnfr8SV+A9AFIzYtD6BxV2KuxV2KuxV2KuxV2KuxV2KvjX/nI7847/wA+eYk/L/ye7XGj&#xA;QTiO4kgNRfXSnswNDBEeh6Egt0CnIZMkYRMpGgExiSaDJvy88h2PlDRRbJxl1G4o9/dAfbcDZVPX&#xA;gn7P3988/wC0+0Zamd8oDkP0+93um04xx82vOP5meVvKoMV7OZ7+lVsLejy+3PcKg/1j8q4dF2Tm&#xA;1G4HDDvP6O9c2qhj25l47r/mfzt+ak6aXovlxrmO3f1I47SF7meOuxLzAURT32UZ1/Z/ZcNNdEkn&#xA;n3fJ1OfUnJzDFvNXl7z35Lu/8P8AmCG60uQoLhbNpaxMsg+2nps0TVpQkHqKHcZseEXdbtFsbySH&#xA;Yqu9ST0/T5H068uFTx5UpWnjir2HyZ+T/wCfGr+U9O1/yreSS6VdKzWkEOo+iQI5HRlMcjxoPjjI&#xA;pXKMmmxT+qMT7wGcckhyJCOudA/5yq0IfvtM1G4VDuscNvqFadqwidj07HMXJ2Tpp84D4bfc2x1W&#xA;QdUvl/Oj8y9CmEPmHQ0iPQpc209pKT1/aNP+FzCyezunly4o/H9bbHX5Bzop1pv/ADkboslBqWkX&#xA;FsfG3dJx8/j9HNfl9mZfwTB94r9bkR7RHUMv0r82/wAvtSoserx28ndLoNb0/wBlIFT7mzWZuxdT&#xA;D+HiHlv9nP7HIhrMcutMst7i3uIlmt5Umib7MkbBlPyIqM1s8coGpAg+bkxkDuFTIJdirsVdirsV&#xA;dirH/PXm608q+XZ9Umo8391ZwH/dk7A8V+Qpyb2GZ/Z2iOoyiP8AD19zRqMwxxvq+cfL9n+Yf19/&#xA;Omi29ytzYytfnU41CgPyLOyhqCTqeSqDt1FM7+WoxYyIGQBOwDoxjlIE0+1/yK/O7S/zJ0IpP6dp&#xA;5nsVA1LT1OzrsPrEAO5jYncdVOx/ZJyGt6jirsVdirsVdirsVdirsVfO/wDzlT+dh8vaa/kfQJ6a&#xA;7qUf+5S4jPxWtrINoxTpJMD8wm/7SnFWA/k3+W48v6eNZ1OL/c1ep8EbDe3hbfhQ9Hbq3h08a8V2&#xA;52n4svCgfRHn5n9Q/HR3Gi03COI8yl/5qfm5LYTt5d8sP6mqM3pXd3GOZiY7elFStZa9T+z0+10v&#xA;7I7G4gMmUbdI/pP6mGr1demPzZX+UH/OJcl6I/MP5lNKZJj6sehB2EjV35XkoPKp68FNfFuq51wF&#xA;OqfT2j6Jo+i2Een6RZQafYxf3dtbRrFGPfigAqe5xVj35mflh5Y/MLy++k61CBKgLWGoIB69tKf2&#xA;o2PY0HJejD6CFXwV+Z35WeaPy715tL1qHlbyFmsNRjB9C4jBoGU/st/Mh3X5UJVYdirsVfb3/OHX&#xA;mKPUfyrfSS9Z9EvpovTrUiK4/wBIRvYM7yD6MVe7YqsmhhniaKaNZYnFHjcBlI8CDtirDde/JX8q&#xA;Ne5HUvK1g0j15zQRC1lJPcyW/pOT9OKvMfMn/OF/5eXwZ9D1K+0aY/ZRit3AP9g/CT/krirzTVv+&#xA;cTvzh8tSPdeVNVh1EDoLS4exuWp4rIVj/wCSpyGTHGYqQBHmmMiNwxq58/fnT5ImW382aVMYgeIO&#xA;oWzRch0pHcRhUfp1+LNVn7C02TcDhPl+rk5UNbkj1tlGgf8AOQHlS94x6rBNpUx6uR68P/BIOf8A&#xA;wmaPUezmWO+MiX2H9X2uZj7QifqFPRNK1vR9Wg9fTL2G9iHVoHV6V7NQ7H2OaTPpsmI1OJi5sMkZ&#xA;cjaNyhm7FXYqlGq+VNC1fULe91S2F69opW2hn+OFCxqzekfhLGg3avTbMzDrsuKBhA8N8yOfz/U0&#xA;zwRlKzumyqqqFUAKBQKNgAO2YhJJttp84edta0nyl+Y0Gu+Qr/0NQtH9W4WAfuI5wfiRSDxdJBUO&#xA;lOPUd6D0PsqWc4R4w36d5Hm6HUiAn6H2P+TH5xaN+ZXlwXcIW11u0ATVdM5VMbnpJHXcxP8Asnt0&#xA;PTNk470PFXYq7FXYq7FXYqwf84fzP078uvJtxrU/GXUJawaTZMf765YbVA34IPic+G3UjFXyR+U/&#xA;lPUvNnmK589+ZXa65XDzRPKB/pF2Wq0h7cIz0AFK7D7NM5/tztLwo+HA+uXPyH6z+OjnaLT8R4jy&#xA;DOPzf89t5Y8v+hZScdX1HlHbEdY0A/eS/MVovufbNJ2J2f4+TikPRD7T3fr/AGubrM/BGhzKf/8A&#xA;OK/5HQWtjb/mF5ltxLqV3+90K2mBPoxHpdMD1kk6x+C/F1O3dukfTGKuxV2KpL5v8neXfN+hz6J5&#xA;gs0vLCffi2zxuPsyROPiR17EfqxV8N/nR/zj/wCZfy5umvYeep+VpXpb6mq/FFyPwx3Kj7Ddg32W&#xA;7UO2KvKcVeu/84z/AJoQeRvPwi1KX0tC11Vs7+RjRIpA1YJ29kZipJ6KxPbFX3sCCKjcHocVbxV2&#xA;KuxV2Kqc9vBcQvBcRrNDIOMkUihlYHsVNQcVeX+cP+cZ/wAovM3OQ6QNIvH/AOPrSmFsQf8AjDRo&#xA;D/yLrirw/wA0f84fef8AQZ21DyRrKal6dTHEWNhejwVH5GJvmXT5ZGURIURYSCRyYf8A8rL/ADW8&#xA;jXo03zjpUslK8Y7+JreVlXasU6rxdf8AKo3zzT6rsHBk3j6D5cvl+qnLx62cee7P/LX5zeSdbKxS&#xA;XJ0y7bb0byiKT/kygmP5VIPtnO6rsLPi3iOOPlz+X6rc/HrYS57FnSsrKGUhlIqCNwRmmIINFywW&#xA;8CWLebfLnmTzCG0+PVV0jRm2n+rK0lzOpG6s7FFjXtRa17nembXRavBp/VwmeTz2A93P5uLmxTnt&#xA;dRSjR/yO8g6cVea2l1GVTUPdyEiv+pH6aEfMHL83tBqJ/TUfcP12whocY57sS80+XfMH5YeaLfz3&#xA;5JdorSKStxbAExxBz8UUigjlbydP8n58Tm97H7WGccE/7wf7L9vf8/dhavS8BsfT9z6x/Kf81NB/&#xA;MbyzHq2nEQXsVI9U0xmDSW03genJHpVHpuPAggb1wmbYq7FXYq7FVK6ure0tprq5lWG2gRpZ5nIV&#xA;ERByZmJ2AAFTir4W89eZtV/PD81xHas8Xlyw5RWXb0bJGHqTsDt6s7U/4Vei1zE12rjp8Rmfh5lt&#xA;w4jOVB7Zp2n2enWMFjZxiG1tkWKGMdAqig655xmyyyTM5G5F6CEREUOTxPS9Gb81/wA/YNJlLNo1&#xA;tMUuKbUsrEky0I6es9QD25jPQ+zNL4OCMevM+8/inQ6nJxzJfdcUUUUSRRIscUahY41AVVVRQAAb&#xA;AAZntC/FXYq7FXYqo3dnaXtrLaXkKXFrOpjnglUOjowoVZWqCD74q+T/AM7f+cTri0a48wfl7E09&#xA;pvJdeX6lpY+5NqTu6/8AFZ+Ifs16BV8xyRyRSNHIpSRCVdGBDBgaEEHoRiqLv9b1nUEjS/v7m7SF&#xA;VjhWeV5QiIOKqocmgUbADFU/8k/mp588l38N1oOrzwxREcrCR2ktJFH7MkDHgRTaoow7EYq/Qb8v&#xA;POFv5y8laR5mt4/RXUoBI8NeXpyqxjlQNtULIjCuKsixV2KuxV2KuxVB6rpGlavZSWGq2cF/ZS7S&#xA;W1zGssbfNHBGKvD/AD5/zh75B1r1Lny1PL5cvmqREtbizY/8YnYOlT/K9B/LirxDWPy7/Pr8pmea&#xA;GKW90OI8nuLOt5ZcQakvERzhHixVfnmJqdDhzj1xvz6/Ntx5pw5FNvKv/OQWi3fCDzDbNp0/Q3UI&#xA;aWAmnUqKyJv2+L55zWr9nJDfEeLyPP58vudhi7QB2kKepWGo6fqNst1YXMd1bP8AZmhcOp+lSc57&#xA;LhnjPDMGJ83YRmJCwbROVMlk0MU8LwzIJIZVKSRsKqysKEEHqCMlCZiQRsQggEUXiepWHmf8m/OM&#xA;PnDyiS+jSH07i3erxhHYFrafuY2oOD9QadwCe77J7UGojwy2yD7fN0mq0xxmx9L7C/Lr8wvL/n3y&#xA;zBr+iyExSfBc2z/3tvOAC8Ug8RXY9CNxm5cRk+KuxV2Kvm7/AJzA/NOTTNHg8haVKRf6ugn1ZkJ5&#xA;JacqJDt3mdTyH8op0bFUg/KjyOvlfy2n1iMDVr8LNfsaVXb4Ia/8Vg7/AOVXOB7Z1/j5aH0R5fpL&#xA;vNJg4I2eZZRr1/8Ao/Q9Rv8A/lktZp/+RUZf+Ga7SwE8sInkZAfa35ZVEnyYp/zg/o0Ump+atccV&#xA;mghtbKJu/Gd3ll/GBM9PecfWeKuxV2KuxV2KuxV2KvOfPf5Aflj521UatrGmtHqRFJ7m0kMDTdKG&#xA;Xjs7CmzUr+GKsb/6FD/Jv/lmvv8ApLb+mKu/6FD/ACb/AOWa+/6S2/pir0/yZ5Q0byf5as/LmirI&#xA;mmWPqfV1lcyOPWleZ6sevxyHFU7xV2KuxV2KuxV2KuxV2KvMfzC/5x1/LLzr6lzcaf8AovVn3/Se&#xA;ncYJGbrWSOhikr3LLy9xir5080f846/nH+XVzJqnlK6k1nT1NTLpwYXHFenrWR58/kvMZTmwQyx4&#xA;ZgSDKEzE2DSH8r/85ABZRZea7IwSoeD3lup+FgaH1YT8Qp34/wDA5zes9nBzwn4H9B/X83Y4u0Ok&#xA;w9b0nWdK1e0W80y7iu7ZukkTBgD4Hup9jvnM59PkxS4ZgxLsYZIyFg2q31jaX9pNZ3kKz2s6lJoX&#xA;FVZT2ORxZZY5CUTUgmURIUeTxy2svzN/KLzbcaj5Eil1DS9RRkNuIZLqMqDVUnij35Rk/A+3z3YZ&#xA;3Wg7YxZYXOQhMc7NfK/wHS59JKMthYZVB/zlL+eWlMZNc8owTWiEmRzaXlsaClaS83jp/sTmxx6r&#xA;FM1GUZe4guPLHIcwQ9C8jf8AOYH5ea7NFaa9bzeW7uUhRLMwns+RNADOgVl+bxhR3OXsHulvcW9z&#xA;BHcW0qTW8yh4Zo2Do6MKqysKggjoRir849U/MZtX/M6688azZnUTNdNcxWTSekFVPhtk5cZPhhVV&#xA;FKb0yjU4pZMZjE8JPVnjkIyBItnP/Qyn/fuf9Pv/AF4zm/8AQx/tn+x/487D+Uv6P2/sQWuf85A/&#xA;pXRNQ0z9A+j9etprb1vrfLh60ZTlx9Fa05VpXLcHs74eSM+O+Eg/T3f5zGev4okcPPz/AGPU/wDn&#xA;B7UUbTvNmmkgPFNaXCjuRIsqH7vTH350zrn1DirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsV&#xA;dirsVdirsVdirBPzB/JP8uvPivJremKmpFaJqtofQul2oKuopJTsJFYYq+afOP8AzjN+afkK7fWP&#xA;JF7LrNjGeX+iVjvVUb0ktqlZh/qcq/yjK8uKGSPDIAjzZRkYmwl/lf8AP1opf0f5vsmgnjb05LyB&#xA;CCrA0PqwH4lI78f+BzmtZ7OA74T8D+g/r+bsMPaHSfzet6TrOlavZreaZdR3ds3SSJgwB8D3B9jv&#xA;nMZ9PkxS4ZgxLsoZIyFg2jMpZsJ87flR5Z8zxSTLCthqxBKX0Kgcm/4uQUEg9/te+bjQds5cBAke&#xA;KHcf0H8BxM+kjPlsWPfkJ+aPmL8t/PS+QfNEjHQbycWyo7FktbiZh6U8LH/dMpYcxsN+WxBr3OHN&#xA;HLATibiXSzgYmjzfWP8AyrzyB/1LOlf9INt/zRlrF3/KvPIH/Us6V/0g23/NGKu/5V55A/6lnSv+&#xA;kG2/5oxVHaV5Z8uaRJJJpOlWenySgLK9rbxQMyg1AYxqtRiqZYq7FXYq7FXYq7FXYq7FXYq7FXYq&#xA;7FXYq7FXYq7FXYq7FXYq7FXYq7FXYqwT8xvyU/L/AM/xFtbsBHqQXjFq1pSG6XsKuARIB2EisB2x&#xA;V856t/ziZ+bHl/VpT5M1qO4sZhtcpcPYT0B2SVFJBp4hj8hleTFCYqQEh5i2UZGPI0of9C+f85Nf&#xA;9XeT/uLS/wDNWUfkNP8A6nD/AEo/Uz8ef84/N3/Qvn/OTX/V3k/7i0v/ADVj+Q0/+pw/0o/Uvjz/&#xA;AJx+aX3n/OK/576ldpcalLBdTgKguLi/MzqoNQAzVagqTTMjHijAVECI8tmEpEmybf/Z</xapGImg:image>
+    </rdf:li>
+   </rdf:Alt>
+  </xap:Thumbnails>
+ </rdf:Description>
+
+ <rdf:Description rdf:about=''
+  xmlns:dc='http://purl.org/dc/elements/1.1/'>
+  <dc:format>image/svg+xml</dc:format>
+ </rdf:Description>
+
+</rdf:RDF>
+</x:xmpmeta>
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <?xpacket end='w'?>
+			</metadata>
+		<switch>
+			<foreignObject requiredExtensions="&ns_ai;" x="0" y="0" width="1" height="1">
+				<i:pgfRef  xlink:href="#adobe_illustrator_pgf">
+				</i:pgfRef>
+			</foreignObject>
+			<g i:extraneous="self">
+				<g id="colors" i:layer="yes" i:dimmedPercent="3" i:rgbTrio="#4F00FFFF4F00">
+					<path i:knockout="Off" fill="#F8DC75" d="M237.682,33.617c-0.019-5.071,0.402-24.5-2.5-30.4
+						c-7.869,2.99-19.189,11.68-22.431,21.588c-15.532-2.32-35.042-2.045-50.381,0.608C159.808,14.753,147.946,7.596,138.243,3
+						c-4.093,6.907-3.906,19.92-3.445,31.279c-0.018,0.013-0.037,0.024-0.054,0.037c1.8,47.7,22.2,74.399,52.799,92.399
+						c31.481-17.988,50.972-49.057,50.101-93.12C237.656,33.603,237.67,33.609,237.682,33.617z M216.485,25.421
+						c0.114,0.021,0.229,0.042,0.344,0.064C216.715,25.463,216.601,25.441,216.485,25.421z M214.527,25.083
+						c0.275,0.044,0.554,0.094,0.83,0.141C215.081,25.177,214.805,25.129,214.527,25.083z"/>
+					<path i:knockout="Off" fill="#D2A41F" d="M91.013,133.328c46.474,4.115,90.927,22.883,141.085,49.085h25.598l0.361,0.191
+						c0.516-2.575-1.888-6.025-4.752-9.229c-4.941-5.528-11.623-6.145-19.707-5.951c-5.738-6.83-41.004-43.861-41.004-43.861
+						l-4.808,3.395c-38.75-21.75-49.155-62.513-49.155-62.513c-33.792,8.148-69.78,28.334-90.391,49.761l-3.118,3.292
+						c-1.489,1.597-2.928,3.174-4.312,4.723C18.967,146.661,3,170.87,3,175.213v2.25h23.816l-0.505-0.668
+						c-2.449-12.943,4.443-23.341,10.279-30.385c4.179-5.044,11.1-9.801,21.968-12.457L91.013,133.328z"/>
+				</g>
+				<g id="tomcat" i:layer="yes" i:dimmedPercent="3" i:rgbTrio="#4F00FFFF4F00">
+					<path i:knockout="Off" d="M240.682,32.617c-0.019-5.071-1.598-26.5-4.5-32.4c-7.869,2.99-22.189,12.68-25.431,22.588
+						c-15.532-2.32-33.042-2.045-48.381,0.608C159.808,12.753,146.946,4.596,137.243,0c-4.093,6.907-5.906,22.92-5.445,34.279
+						c-0.018,0.013-0.037,0.024-0.054,0.037c1.8,47.7,25.2,77.399,55.799,95.399c31.481-17.988,53.972-53.057,53.101-97.12
+						C240.656,32.603,240.67,32.609,240.682,32.617z M214.485,23.421c0.114,0.021,0.229,0.042,0.344,0.064
+						C214.715,23.463,214.601,23.441,214.485,23.421z M212.527,23.083c0.275,0.044,0.554,0.094,0.83,0.141
+						C213.081,23.177,212.805,23.129,212.527,23.083z M235.784,36.059c0.81,39.69-19.44,71.279-47.79,87.48
+						c-48.118-23.977-57.183-84.71-48.977-117.289c2.283,12.454,6.424,20.266,15.394,24.098c19.533-5.591,46.423-6.033,66.231-0.57
+						c8.255-6.001,11.456-15.169,13.204-23.18C236.029,15.921,235.777,36.055,235.784,36.059z"/>
+					<g>
+						<rect x="133.209" y="90.51" i:knockout="Off" width="26.245" height="3.239"/> 
+						<rect x="133.209" y="82.732" i:knockout="Off" width="26.245" height="3.24"/> 
+						<rect x="213.35" y="90.51" i:knockout="Off" width="26.244" height="3.239"/> 
+						<rect x="213.35" y="82.732" i:knockout="Off" width="26.244" height="3.24"/> 
+						<g>
+							<path i:knockout="Off" d="M204.1,63.524h-27.188h-3.021h-12.561v-2.917h13.31c1.639-7.018,1.963-13.725-0.014-17.125
+								c-0.844-1.446-2.01-2.121-3.674-2.121c-7.609,0-10.753,8.046-10.884,8.389l0.002-0.003l-2.73-1.024
+								c0.156-0.42,3.965-10.278,13.612-10.278c2.692,0,4.834,1.235,6.191,3.57c2.41,4.141,2.127,11.305,0.494,18.592l23.354,0
+								c3.103-9.116,9.581-13.414,20.405-13.414v2.916c-11.732,0-15.019,4.973-17.366,10.498l12.743,0l-0.029,2.901L204.1,63.524z"
+								/>
+							<path i:knockout="Off" d="M206.017,77.925l0.019-0.003c-3.459-5.101-4.555-9.456-3.108-14.413l-2.971,0.015
+								c-1.035,3.3-0.62,8.273,1.929,12.54H172.21c1.806-3.616,3.479-8.025,4.702-12.54h-3.021
+								c-1.348,4.786-3.241,9.524-5.372,13.277l-0.689,1.213l16.652,10.482l-9.375,6.178l1.605,2.436l10.479-6.908l11.312,7.382
+								l1.554-2.468l-10.488-6.488c0,0,15.682-10.187,16.461-10.684C206.024,77.937,206.021,77.931,206.017,77.925z M187.156,86.733
+								l-12.317-7.755l24.071,0.006L187.156,86.733z"/>
+						</g>
+					</g>
+					<polygon i:knockout="Off" points="114.745,73.635 122.087,95.391 99.788,80.434 "/>
+					<polygon i:knockout="Off" points="93.261,83.153 101.147,96.75 84.559,88.32 "/>
+					<polygon i:knockout="Off" points="75.313,93.759 79.12,107.356 67.699,99.47 "/>
+					<polygon i:knockout="Off" points="196.871,130.199 189.801,141.077 202.31,135.366 "/>
+					<polygon i:knockout="Off" points="208.021,142.709 196.6,151.411 212.372,147.332 "/>
+					<polygon i:knockout="Off" points="180.282,24.686 188.713,43.178 194.151,24.414 "/>
+					<polygon i:knockout="Off" points="137.588,51.608 150.913,58.678 138.947,59.494 "/>
+					<polygon i:knockout="Off" points="140.851,66.021 149.009,69.284 142.211,71.188 "/>
+					<polygon i:knockout="Off" points="236.031,56.775 225.153,61.398 234.127,62.757 "/>
+					<polygon i:knockout="Off" points="231.68,70.1 223.25,72.548 230.048,74.995 "/>
+					<path i:knockout="Off" d="M256.305,173.375c-4.941-5.528-14.623-8.145-22.707-7.951c-5.738-6.83-39.004-41.861-39.004-41.861
+						l-2.306,2.903l40.162,43.238l1.743-0.149c10.912-0.935,17.115,4.983,18.757,6.819c1.204,1.347,1.931,2.575,2.326,3.539h-22.075
+						c-50.624-26.416-95.078-45.044-142.297-49.112c0.104-6.571,1.273-14.01,3.518-22.299l-4.343-1.177
+						c-2.308,8.521-3.523,16.236-3.661,23.133c-4.92-0.326-9.872-0.495-14.868-0.495c-4.237,0-8.095,0.394-11.614,1.077
+						c-4.59-4.587-8.5-8.959-11.823-13.108c21.936-22.85,58.15-43.498,89.533-51.092l-1.015-4.396
+						c-33.792,8.148-70.78,30.334-91.391,51.761c-9.565-12.91-13.36-23.504-14.487-31.532c-1.424-10.14,0.997-19.441,6.999-26.899
+						C47.15,44.099,60.502,43.277,74.23,45.586c-0.268,2.167,0.017,4.24,0.885,5.522c3.631,5.363,23.144,7.246,34.791,2.049
+						c-8.595-12.045-26.006-17.926-30.83-15.569c-1.598,0.781-2.804,2.214-3.63,3.886c-4.745-0.849-9.458-1.48-12.903-1.455
+						c-12.107,0.088-21.363,4.319-28.296,12.932c-6.802,8.451-9.551,18.944-7.95,30.347c1.516,10.8,6.863,22.286,15.825,34.198
+						c-1.489,1.597-2.928,3.174-4.312,4.723C15.967,146.661,0,172.87,0,177.213v2.25h28.816l-0.505-2.668
+						c-1.627-8.601,1.623-19.351,8.279-27.385c4.179-5.044,11.1-10.801,21.968-13.457c9.663,9.431,21.975,19.446,35.679,29.109
+						h21.414v-2.25c0-2.539-1.259-4.762-3.545-6.257c-3.383-2.212-8.605-2.517-13.402-0.881c-4.573-5.093-7.137-11.896-7.691-20.347
+						c46.474,4.115,90.927,22.883,141.085,49.085h27.598l0.361-1.809C260.572,180.029,259.169,176.579,256.305,173.375z
+						 M33.125,146.539c-6.816,8.227-10.429,19.094-9.601,28.424H5.372c3.647-7.894,18.176-30.712,39.644-53.76
+						c2.958,3.656,6.253,7.35,9.872,11.073C44.347,135.444,37.437,141.336,33.125,146.539z"/>
+				</g>
+			</g>
+		</switch>
+		<i:pgf  id="adobe_illustrator_pgf">
+			<![CDATA[
+			eJzdffle8sqy6H0B3gFUFGQwEyEBB2YHUEFwwJlJRJlkWGuv88d59lvVSUgICWmQ75x1716/7aed
+Tnd1dXXN1fF6iuVQsjmot0J8mHG7vN70qFWbDEYxN2l1n3e70/FkhE2+G7+bZcMMdEqeS29qx7vW
+aNwZ9GPkEXmYw7d951e565vTrN/t80NbpTPptqB1Mug1apPw+K+2X5sLXs7UJvAwciAfMKKbZWJ8
+1J28hOepwbTf7PTbqcF/YPyo6OYZzi3AU0GKwuOzzk1rbO4TjrK8jB3DnAy/CLwYluBNQYInDL6V
+GTSmvVZ/UhwNGq3xOD3oDkbjmDv9T63vvqy14UnNXW11u4O/3alurfHtgtVG3nKdbgsW1qtN3FFc
+ZfKcfyOv3o7hHXgdf8fm6Nt5D1rKrckEoIKBESXpy2reOB9Aqv7ne7pptTsEw4CIF78ycqXVG3YB
+KWRRPCCFl0XtX7UHwEOehqJsmJdlGfAmhiMy9BMlPiwwjAC/RMgj5Q193a2/Oq2/Y+6rQb+lLC45
+mpQ7/9XCqRg3xzBK68202xrd9jsTWASHTbKy4stBs9VVm8i7uW6NLJT8x+o/lQ6V2qjdmsBODbrT
+CaEUSZvhator1P5pjfQJroetfmVwR+ALiUJYFMWIWxQY5Rc2HHFLouyOMoA6ScEgC8tUp2TJtKwy
+No6E42gTRHHvi7Az16NOu9OPsYLoDnHYint2Ouo09S2Lcm5J+UHWEZYM/5e1/ysAw9onk1Zf2eZs
+v5ke9BDJY6Re2Ng+7Hp30FaezX4nT2C66VCBlfz9BvtRHHX6CIPrijyR3ordKTw6HQ2mw/P+x8Dl
+U05lEScd9a/78MunOzWajj/dlcGgC6dtroP6SBkFH44mxt5L54C+9uPrA601drrW7Xbao9rws9Ow
+Gt7i+Wweu3eXTgjbNGrpY5A/Z/8ufbPcIKi0gnL+0WxwizeWz/BPrz7odsY9fWBDi/67E0XARnVb
+/eZ4Nozypw5YofOX1rh8sEzrA1idYWtJa7b/V6s7GBrQOGup9Zvu+9poaDcsQvfR6TcBK+VpZ9LS
+N3rQGyIDd5c/a0NsXuipnBA4PcbzEQotPzgrvyArT5ARTv7ptsaug3x/8Hef/OGOuXxPgJLatDt5
+8bsPrmq9ljvoOih3gEm3tC6M+9rFqDzwG367cWn8MO/SuCLjfvgH/riAX76g6W+34L50P70w7ia0
+Pty4kIE9NF0HxRoA54673AcwLfxLAIQV6eA5rrFY6wI7axEginWXnbhBkMauhdZiY/bGt+XTYmoG
+gjbTKvgtwHBGpC6skHRYZyNZRnmkHBsc5v+ozTCQqdFmcBVWTV6CclJzed8OtL9hr/GvTgOxURv9
+o/z9cFm4ArlI/vBtN9W+QC3lCQzedvv+0+v2oUMIf/SBgvxAQt436+d/1bpTtYPsPjiHOeceT/4Z
+qk8PkqNRzQqCXmtSawLgvweAXQ+Av2qjTq3eRT1o/G8A4n8dhv9JLMT1Po3PTrc5avXVPiayNXQE
+mTXq1KcTBDRIHgUX1xIb15Dn4ZH4H95Y6iXNQ4zvOIPp2+2P3xpg5wx6cZvOBpi5/9lt0NawuB3k
+QewvuuUBHY7/rYvDNQRpyHFNKoC1A7leEYQ44areIeYk++9DlXEVi8TQHTS+W03n9fXB6vv3rU2D
+/k9SwQq84N98WCiRNL/28cff/2sScNztNP6/EH9kIeXBdNRoEa/Tv3JN8yD/4wjizFN2cNOqdf81
+pP6PpcBzXM3MAfjvWs1/rFbzd6c5+XRcEScyYVbk2H/ZilTgF1f12eq0P53VbVYSwgLL/9uWpUG/
+uK76YALqYaH1MVEciM4rdB+kBoN/z9IWF/AvEbYgm/4fl7WbEzgbAt7ggMAWRsVd8pxl3TM/BnFA
+uwu1fntaa7fcxcFwOjSRLnmhOGqNW6O/Wu5K6z8Td7bZmdTqnW5norJoMRLhI7MJZHdtNKkPaqOm
+u4HBAjfrHmmKnWPP9qilrdexb31GGRFO4CT7rpwOgGNPAwCOfesLQnyx2zzp4vPJqNYfD2uwr41/
+YLpO0z3u/Fdrtk0a2mX3sDZsjeBhb9olfjdNWjMax8RO19PJcDpx39TGk9ao81+ko1sPtajgRebe
+uWyNPx3eYOb2X6Mldwd61SYtWHmL2EhLO3/3QaUfAHBtdAOrx/3pstXsTHuGCV8MJ9+KPNX4CqCC
+kOHEbbB/TEdCIxfAvIr4qIb55rATNkFb63bGpqZebfytolnUMDasNXWzJHnuTk4ngxn2tP1nDAeM
+cX/MQB6RfqG/Wo0JkEy91q31G4t7PfcKYKzb6bfcEzhrdD3Hk9HgWzv7rE3nRrczBJJE581/4Dy0
+AW0Obwy1Uz/4qzUaooN0xl4ANY3BqNlqLm6D++BqMJl7vCrvcRhOp5YDne8djJqjcVhx4JgV74Vu
+tX5/MJmtXdnlhU4aHsbjeQ662HHabzh0AXkHJ6ZJdQSML/9nGNYlpdXo0GEwbE4dOoydRmgM5tmY
+qQOSzvIOgz6QyEShw6VzqT112iasyaonMOJ5lsQzNj1H5p7RiHXHueNnufNDZd+X7zp0AjY038/A
+lc1dP2vN1qi1fLwuiyezNlnaCXA3Ia6bpX16eGzHRkZu1a/fagPj/2v5YPUOnsF5CWYGvPVXq2s/
+yEd/Eh5P6+MlC8Muze5w9DGY8RcrKlO69UDbUbUDS3S3e9/hXm30PR58fIQVdZe6+0jX+yl6TwZD
+6r5d0LhnCLDpDPyh1TRDTdHdADVF7xnUFH3noF7ce+xLNJx6bbSMuLHfyBA9dOg6BGHQ6X8MnGYe
+GVZi3YUsRO0T5iK2C262PlCKGsxZa2ZMOn8N6hNMZHLsqIiij0532RHDjmMMdjr0mZMfVr0ao2Z4
+Ahq5ppFZnSDsM240+ssOo9Jn2G38Y9BrFvGmdKt1W+G/KPt9LiE77DUYtbWxlvZRx7Fi8NhlOBh3
+lhMZ9oL9Hn4ORv+lcraoXb/BqIO5YA4DdkfhmYJUx3Sx5X01WTkcTJYcG+ypMztrOgNadFAPsEe9
+M+nVhmYRadebrKI2Vl6i6DpYTuGzfnXVW7qsY7M17rT7TugeDkdhYkItoxbs9AlMbNxaxhtJt7/p
+uhndQksGc2Qi0Enfs2iUDwuWjAm6dTCJcE4cROSIU3eDOGClsLVsmnWeSQNWdOqqC4OozNl1NeJI
+ZG27GZBkxaewS1NJC1nCFqGTs7Y/nnTVXsNh035G7KbOOOtnPyB0wZPZtfLxL/RF2m+N5lyCS6dX
++muGgiHlyGoGEL/dFjGVdJM4PnPZYAJRUuvsRpuKyryyO504WW3icNZHoA6Oxi0cbWS/YOw5/u4M
+gVv2v504HCoEcNzbluu7GNQxvcywOt0TA52yxbL72mS8zvlP1D4FtKIxexGz2IiPa6kHRX3rdFRr
+ooAgbyk+FTtDZPaO4jc4uFP8ASk7f4AKumrfV3RrybZP2c4HoHRLo/WfVq3/G6P1T+ORwRGWuGFY
+o9eqP9D9Be5On7gcUCpbuWwWqc/3ZEg3d69B/1Z2Cq6hmMm9pYmN1TG6Lq3IU+uueT0NEKHrE8BI
+14aKA7TTWmKyaOOcItbg6FQ+p716v9bpLpGD2juYtwz/5pZKV61zDojqvlXHd5yhIQncmcHffSWR
+J9/pNw0kTvuamdI5zkols3mZpMcn64O/dFtu+atp3arV4V2+0/NvlaY1fc+5iOOEmFtf1r17yzZ3
+VPtndWzOv7UaMuffXQWX+ObKqDS9tAIm8U16RF4O+oPG52jQa1mh09r5s+xdM1KFpRuCI9gjVaCa
+2xK1y4+i8gJIHudDXhl1epfoUXDuCvydsich9tRSA37GDQEl50sNc51vEiUGQajMwnN2Jrh5efct
+BzeM9sI1UdtzgHhA39+D0XdhpqKu9l7KyU1k++bNuqBWlrphtNdS6MAoLPcdzfW9cTBR5jqvAIMR
+Q8voWQG4019iAWtds716q3meThdHxILUpOjSU16e1hGNg/7kBo1EZ3hmqh+FCFW0m4ohNkelHi0Z
+C54rmtKVIdNmKbLNL17W/rNED6UaodO31Ulp3lf01JTJb079OmqdqtKp6JyrD6Hqt2WH0ILD6xVj
+LM1R4Us2RoN6baLUjc3MDuihrmqmdppNDtkc3hrW+pp7XJOx5btTJGGFmCcLHjv1cWHQqC3OAA/J
+wVGsCJWm9GcAXqOju/4NM2b7jYEerxX0B6TUQufSM00eHpHyHKRdOBANi+daheLik2L7Y7HxoWZO
+LcDpu53GDKz4ojmgF77M12Lgjik1Griz2jMX2UljC5oYyXL6/FyKZGDcJlbteAPHYmgnMfY/bGXy
+F42PnL/EJRM/qVefcHL9fhy955lmvBXz9smf8fPx4CP3Xpju5TyBJ8bUFji5qx8wXHcSSd5UcpVE
+bPgii49i79HlPQy95wZkMJgvPk6Wp7e+ZL/eHqvvHP/0kvn77PZodFzrn3bvvuqp98tSMhnssy/x
+E/ZOymw3p9lM+uz5hQwVOD4aeoUxv1MKnHxOeAKIy0sBygqAHNWTweHVRSIvj4+ls8P7cG7wKNy5
+vNnR8yOTecxVK7mj5FHDCp7jof9wCBOchdLcztF7JjxN3Cajz29VsTpki7nd0kNXna+R3M18DP1s
+snIxmeptLq/Smn/wT2Cci2kmfP15OBoJmQ7DiVvDxN1eeUfpzjLFWs4/2a1lgy9XBykxyG2p47wP
+EqNRfFwBeIPnDBv6iunIiqdu0i2XdyzlJnfc6+B7Vyy19gMRT9p/LRyWYpXA0Y34OXphxodhviBz
+geNTz64w5saXAM2dFD4YS6eC9BP/gj/9fqa5W83MT/o8erl8LpFJgcbmp4V3o6+R2Plr2HLS152r
+gu2kYid/6rWa1OUdjQ49vtGY9Y6s1jqWiuyzsMXF9q0mHe8FL0M2k0Y+fbW9apZM6vIurFXwPwcO
+uXbJctKt3KuwfTvsFqwmZXKpfMJqUpcXphW3d/oj/5E1goXqK5P7uCpbT3rqOdxlL94qlpOennEV
+Mime/UUEc4/HlXcyKbufrGfnd/V+9Dw9LuCk8cU99VX5py7rh0lDQX1SmEUhpQKTUtda3NszTRqJ
+9N6GdpO+jV4++xWbSRM1MZrbYV1e07QqKZ2839hNerbD++LP1pMeel7G25+tG9OkwGGUaUtp//HP
+Tq9gNWkg3o0d20wa+dw/eUxcW08qVKtMTmaugMas1rqVa0d3bnrctdWkTO7lJWczqbjt/e5fpk2T
+wizatDXmNPh+Zz3pKZPca/miVUv0TraDJ+qk1ZDPhN6TK+Ho2aWcVTb7/J2bW+vjIVOIhlic9HBh
+0rPWQLyphTiYlAmZV1p4eqyZJiWzqGuNfjdzr3aTZpjL/RfZetLzn1jia3R1YzlpOb7Hw6m0Xqu4
+nW+VecZm0qcQU37zb1lPmj9rXT09+n36pC6vYdq7vX7bdtLyZ+m9bjfpKXOXHx5aTw==
+			]]>
+			<![CDATA[
+			WuC9Lu9tLnF4ZLnWu+HFlu2kd2+nWxO7Sa+Z+5N8Rp8U1mKY9vI4+/ZaenmxnPTl+vvcdtKvaqSZ
+s5n0Gbgl8zLuhqzXevU17F3LEm856dt5qG876chbDnj0SVGKGc/qLZPt9C4sJ5WuQluexEsoC5Py
+YfOhmb5F39RJ67zfdGhcXv9jobZPpuX2jn1n82stMO/7sSROemyaFIb9+tGYvnhgnnQ82D1SJ52c
+BGBf5tfqea49+ZVJU1X2fJ4VBkfj22MPTppY5EnnIW2lh6xpUsBY/GxLVKY9YfMhEysMDoUrRdLw
+O7F0fn7SndGoVu/jpCnzSkfJ1kCj3hTQmFmUR75iqqQ5iZXCJgRvDVrvFUWmtmpv4jxIZ7e7r4OY
+1VMikSNn1RLbu7N7+5M5e/dObZ8C683s2jyFHdgNpL0qt2RaX62o6bkosW8a3ONvyfy0/7n1YPs0
+WjyPPetPF3Zf4vZv3m3flj5rr3u2T5Pc7mPD6qmqwxQC/RPO9u1C/fojbvv0eqtRP7N5Kp3tnh3e
+jjWMfez9yKa3bwMdTT39YLdi5qf1i3Lf9uldJvA90p8uYOzeWz/w2L59/5yJHdk+ffe+RnesnqoY
++5oUh2e2b3/fcamS7dPed+741e4poKoUj8wwtvj8ghOOH2yfNvr1csHu6a5n9/x53x5ju9nkZb1l
++/YFd7LF2j1Nergdf8wWY5EzJnu0r6065oubznSgUhqfqE/T4UPT08r76X7S+FQI3iBDKSnGXDq0
+nwbdcjJ8fUm3Pyvo1EseHctnO0hZ9z7VWj5pxGzMvvFD4u7jtpysVLz3hEUlK5dNIVsbPXkDqcH4
+Sm8Du7I2etwjfC7GSp4rwsw8+/k46wlmbu49wbvXsif41qx4fE/+Kf5WBBL8TntC+bfIolFYbSdL
+fFkCqNMBsE4H3+JOVP5AS3yf82h25YuUe5s81xLxIbuVuQhsR7Sl7faSg8wrkOm2vMXtHRWPM639
+rJecOzRnnjQsWvdzKT3R2pKX9yT9jmPpp6pjPzDD6js333o/l9e257730DNwHFHcpl0L2GLRG/8L
+xYg7fT7+RtHPe925rFGsRdxGod6gGHHvvB5ua/22e7n0x4V0cHnRisKf+9vJ6GOXV2xkPwjHj0OF
+Tpgx101Wkv0ccxER9hWyQfcHWMsRThe84lZVuMw+Nn4+DjpHdb/4KBbOVLs5ujuaCeB0cvBz60cO
+s7glft/JU3c5eGhLv9AAt5WrhY1eBVvwmFz+sGgCz3I3hKvMuxVwhFvq4FXfqMA73RFpgDstbT8a
+dH478KSzOWKxxV31ZjlwQGPK1l7l72jAy2ZvczPcZZLl4PcODFCqHnS2Y8G5CQKHZhqLGUBh9yKv
+mY9KhkeQBVzaob5SNnjLhvRJR1M+zVBMCjr//LREO15z0kBsMMnipEOCFoabJj7Tn8Kbui+gah4P
+M9lGsSJqbsX2NNuoth6UNo2P5zPnzSPQlHLTbjReui6ib5GbPb3B38AI/5bPAergdy59EiuTbTdY
+FuPA8XF2D6At7yOMYbLq46GvOVZdNfMORmWlbW83ebt9hFoBs5Usdz2jXFa6OVAHvWr8BI6LuwOY
+BYWZOPGxp+qLO82MojYDZKmDz1bGq/wAOriHwYqiam3BfLMtIcvIoJMhN7+MjMGrQJbhNfzAmWPv
+P8WYQbTOgfezEnDkVC4Fr86fWYFnAdy+LXC4FhW8MQ14hEIJVaojXkh2y53q42m7b7tg+HGjLFfx
+3VgsF4yrwvLlulbZjb2tNUlF5ckLu3Fa7CERt/EgbStcR7wgauyddCyf3hbBctr1kh/c3glzjoCc
+z4YqaZyvKELnpwzsCxhId5T7S0F8A3Y/9ZVjWDnyleATj6jB7fpmvosK04Rd9Xq1H8K+eiCJy2Au
+AhF7H43rsE3xEC0CXXSn7fT55zcI1LVxFYWoJz/++oDoCORSj/IF+i3nULgSAi042o0VR5udympw
+aMYyM3xNr8fRsgjNqY4RVSJb4+Q0v4sz31jufvb5emLaq8jwQC6a9oqwd5fXlsHPjXjnoRhR/VF7
+yCCCzmx3/zXL78Tzhbm92t6z3KtWMbyr7osFxk5ipcvNYCwToNzJXZfKD615w2sWHQX3Jvm6Okgu
+LwIVpgXKASSwWatWIFnISic8MU4gDQJHugpBWIFyXi6WgJcOPy3F2K6uihhPL3FeamC6vBbnt7xE
+I6lzCyLf+fSSfbE8vzkrxcpi43Xd6omMqAbW5sZzeZURT3zZPBUpGYTMpWzNI2G5CmOenTqiw5jO
+nU+yVv3mUG2giNrWJbcci3he5mhCXzq8PTmdLX2ojy1VdvcuTyvPX02GTT23M+Gb26Ae7iczw1C3
+I50nqbLSSiYtV2PnRnwYL5dxLu8cITrrWd/SZHW9zeVdOuJ0M5rgTIp9yx6qEY/q+/o5sKJa7HyK
+3v0LM082SXYa82JuXz63N70v8s6m90Wmsm5W2RdppMhSJ5UGjVCCVFXtOrXhtM1TXWt1eZeqXTRM
+St3u07uB7eYAT17nGN4tCJmlqHR5nY/hiK3t7J39BpUmHQaQSafBroLK+hilmKOWvbJhfmsSgzN7
+n2BnckxlXNKpsWe6GutAY7pqb6lscKmHT7PSaYUMl8HosN79yQmVNbn0aJowdkLFPuiM5zPdeP4t
+xqpbu5vB2PGYjvXMrKlFDV3RYYAcTsv9lSxHW5BWtpGtzQYEqTpcCSQlwmsNFBVfoQDpbUR19uct
+bDulun1moVQv8Y/NLOxyfD70dKMNe+hLRl89Ye5lXE+lP6Nnw0w+/5PSgjVk0q9zprlXyxJkuLz0
+RjjJFrIg55dx34EBuLwWODmzwcnX+Yp7pQHnMqd5auBNHNSSleSey8u9TLzUJGBlZpuWu2hk0/iU
+bHdjEtijBc5FsxuYg3C7qgfIaN3M8eQTX2ZixSDWJ75PbhZ7XUUu2nD58+UuNKOmREvOq7vQiAZr
+YyAiAokT7TcIJAxu5k9WtY97eyP8hL1YMGcoXWiWnt4LkxNtTe8LvxPz7ZC9Aj7m7ESjON0wYtgs
+m/XxFnbf8XT3LlZ3odlgbN6JtjbG5B9m8bys46/qXVC40Fy0QPG/caGpUR4FKDsn2sp4iphAAilG
+QfNzvpI5igezgcI561qmOqgpJ9eGIOJJrDixCyLmkc6zlB5FZ/89UOD2SttkoOR52hnmTT4um2NB
+ZTKTUwkjvkxTeZqDhj+WSxX+5DbmM+0V6JbWrnT/LuECdhjzbwpjFnJ4HcI+ufXyixHedRgAgPSx
+9/NgC9JcJNERKPNpowXJZO8jUAvi1tYba61Pz+2fxypiZUtZ1j5vC1MfyWc7btLQdT72ULY9uusE
+3k6LPTb7Mj416fxrBHPSALdg1o+s+RitzEXCPqDWLubtdEtZiTAe0YTWHE4voo0/uatc0u2+E9r8
+PmcPPM25I7Sx4M2jXd+8hwRWuPwQ0x5h3ES/brj9msb8C4FxC4pw0UpfMiJtlM48noHGLGIfrz9L
+Ylen5T6toHN5KUQd7n7lN+GmmY08B+MqLNPrwDJxPDgvjrFCpxEtnBqob/p1Xcflndd20sARYpTH
+giJ95OGWGCmEJ//2bIy/HRjcjJJpIyPAAFZXeHAtNioPwugQIaTkTrd4XjZhqyBIgUX/prpIrLBb
+gaVgrk1w9fXNPIomwlj0TK4lX+4GxFzZEI0FFnmN0S9AMiHnA8eOfBPR5hjlmQsbu+hNF8SibeAY
+xZL9hilnf6WIRxoenI9W2jU7fzLAvWn75eFuo1kEAKHJ8WCVRUB3crLPz2YHqi3aXN5l5A7bvREj
+BuULUMeiH3HN9Vkn8Gj1lSvwvjsr7+HaNLZW7p21WCYV3DiiTbThN7EGZGEBIpZdXqtMZmAuBUqc
+0IhlktO7Ce8hws3ScRh6sfz8s5JYdjl4IhBG4ddiWeEw9xsSywBSyEos28Qslh++2tblatlzth4S
+WN+mxPLzD3KYTfgRCbJsxbKuw6wqlq3yuezEMkpkLcePTiy/jZaI5ZiPnlvSiGUA7snJWG9Nbg8s
+rSS7wOrDg0Vm/9JsRf1sl+O2PPlttHG5/7BZuf82WkHu2/mr5rdb3KgljnlDNLa9YTw7Xx9usrMj
+ZEY7NA4/Jb7vfPZpMl2tvH5c6qGaJF4/l3cxMv9Q3azXD/OUdL+fDcGumEqKKoSZ9VhERqhSSY1k
+kXr43lq+k2pkhNqtCIDSOpUNbkXAmE1oGGGcmAP/zoqMJYtSzn6VXiLTkG59bFKvl2baL0tRQtwd
+OKrXKuXMPL3OZz/18OboZFhMTCdYnJf7qtjSdYpUrPMafEiWgw+D5E2/nk+FpMH1Ap5md2iZb8vi
+xm1PqF96c3mxejrrCSX5V0/oQs6qhdMXctUT/Pyq4I8wtuWw1DpN6q3xBonDZPm795Ft3J80cC1Z
+rMisZmrl40LOPzpD9+rOXi7zHdrCKmpB1ZSUAuviWaWYDYz5XV3Sikdf9fNsPZRYLLa9OrnR92pJ
+v+IBM1f3at+zFCtS9BtN38Mhq34u72LPGEsz81bu1XLExX7NA7q1bOW+KGce8lRrwQuyIlQjnoZk
+Qz+7StnROBYYG+4hsS/kFR4+C7P7CewKeQ+3fLaFvBizMGwJG6YAL3AY7904Aidub/+I02c98m5f
+Z/xEV6PdcyggV28GY3KDSoUCvN1C67PpXATdMgEH1qtlfftV6YECd0z26umUYmNd3rnCf3vwSmsX
+Ru8fHRhojLoeG6ux4ytN6vIa1o/3Da0zqeAvKpOqroXCQyKW89ZUGJRYktgflhOHnckDjn2bDew3
+w8lr9uQe2qZbJhVrSTgmNx052vu6OWCvwVsZTcXdnl0aRkbX6hwyh/cpyygX6hnnbT9DJNEYMLWv
+Gl1wp9AAZ2clFXcXsOxcqGILHHKYhYKt3yTwZywMroy5sn4Fk6u4R12XQ1fDu6gTrkYq8xHe4u6A
+LkccmB5dyXJghXxLGuKjrUyZVwjtq74tAtoOCCT5lsuqvqkSkp0QiLOoKFyIBv7igJgSy5ZU2C1B
+oBVHqwb7dhwtq9wISmGp0nG0atCSMa/ugX/Nru6gUSq57OLtMOJGEsu03c8+Vx3sXCofZTVkmYq3
+DsZWj8lYZ9pjIIXWs+NYCQ1HeANRUQSJMvJOA5RTloS9V8geY/YRiOX2sNXpVXZfO791bmB3fnO/
+Ob0WOSR1jio9nDqMUue3qHMUKUq3csSvZ3Xq1PtgLTyFzj7mWo62It5lsXTHCh7QtxM2FTzNU72C
+Z3nNCH3NqWNRhjqUGk2gKpSkUist9TbLvL5Tytt6qEs5qXXL+XNgX1tsWcA4x5NpzIu5fVmUPr/e
+F+dLgFbdFzqVdaV9obsJaJVqZXPYCj0kv7mcCauVnSuZXKsdQ0rl1YzK2W3zVoeG7k4gClSqOgwi
+0zH6uCoq9Zqm5TWJKxvmk+MfKzGo172aBeH6hvnk2CwG7Whsptpb00H7bCWTY3anyg==
+			]]>
+			<![CDATA[
+			wu6fUTK4oKJdvHOv77ZHU8OYhfm8tvE8OTGL+bUxRjK1N4IxOtaj62N2xDDGU7kop5dYjvYgrWwj
+2wK1GBCkAsngUZwBRcVXKEDSbbblZ3/ewrYJUGKQaSFlxto/ZrKwna65GX7YX3PzMm6bkxhcXmcj
+fEkRNOU2uSjLZH/MVudKwJki71/ny1NNV1U/YTxUc2jvhXOq3+JeJj77GxbsfUpLarRXYS5OudZY
+tLyOB8jCulF48vlyBrH6ck1aiOXtQBZycUnJMoU8cy0e8SUIdDjitgi01GDPraozV0TgnO7h8qrV
+mezF2M4Iv/i1C22+sp7NL5gf69X1Utw/ttLphhGdXWgu+urMnRhrvuJgreonwJhDSRZ9JTR93oVT
+2TF1FcbyGw6xEnoThV0uLwL1+xxUFSQbF9oKt50Y9+9iungVwpJct1m2rVOe1oN9EBFLQilreaj8
+9/k1k5mNGRFaES1Lk51EfRXCyW10b+Gum5XuEzVV5tpehbBaLU9+zTxmK4x5Hd2vlJXQs6sQDBHe
+Ncuzac6ai648+5cpzKq9j0DRJIFSpoDmrSNWK2bSWSYuF3u2GjreBV17o6rGpzu4WFMaNitda90S
+gHCvFLYy1FjZlomWf51XvFApvJHbgBFtiSnt7juhjTZ25aIqX/5tPZGijZNiY+p7ih0rvReM7LVp
+bKWbEVzOhb44In2Zr6U0V2ZZLPT9avlsv4zANHePaOr4dEE3k/u2NxB8tRwvTHYMNyla3wxGjr7e
+XB/Rtn4dxjugvrfHdkSr+vWRla4zu90US1QXfFhWx4IqfQTFpCFErHGY9eqMaS9ypo6MYLVrYbqm
+wmNTKbwYa1mzuJffzK1NpHh5wb9pnWlPU77sfAWU7fpUzq+XLzuWKlBXeoc3R2M2gWNT2NgQ5XHO
+08eqb6c6TMtUApRijiUmoK8cH9sEjkmBqpPPwbVCxOO0Olxz18z+5PRK30Ogqv/Y++E2mUWQts3d
+mcsioDo51eGiR3Gte+HSK30UwbF4+W5Aa/E5rW9Td0Mpld4L3sO1acz5ywj0lgwZj13re0mOYnkS
+WHYXNGiFmxTLYCjSaxfLqeieQizPqjgpxXJt640yZ84olpdVCm9GLAPaIpu5S40ULy8Ry6abJ53K
+l9cUywseElK+vCGxXNu63NDNkwRZTmIZ7f3VKj8BbSuLZWqPYnFZPhcpZF0ill1GK4pKLL+NVq/7
+tF7LfC3watmKVnWfCzwZetZpvlpEL/djPmGjch8g/N6hlfsUt35jzfcKdZ8UlvjbiD6J16buU/X1
+kfp+2spP6rrPvaM71vnsr5DpOuf1q49NXr85ywJLWTfo9eNSD82p453DK6aSYuG3zXUFhsiI/YUF
+NmRRH9O6Falvn6tu+va5+pjarUhzXUE6HF3h7NOVLK9834X9Jq96XQHF2Qfq/+11BarcV8SWzhuO
+xRKfvBkkaqluNN87DDCZV4tjMftQ9eInqX03O1GsmC5jxXTB5fWEpNCb5Yeq9ytJcc0PVZs+U+3y
+/pEPVZs+U004/+Y/VG3q5/L+kQ9Vmz5TvXwta3+o2nYtG/1Qtekz1XgTxR/4ULXVl743/6FqE3Au
+7x/5UHVg/jPVsJY/8aFqE3DEB7v5D1WbPlOt1b5t+EPVps9UY5baH/hQtWlS/Dr2H/hQNcJg+Ez1
+zKuw2Q9Vz0sfowd+kx+qXjVz2KGM0uZD1RaRRINm88sPVdsBZ7aSaD9UTVtAPqar4V3vQ9Wm8Rbv
+6nQ0uWg+VL1SDS/dh6qdSUVZC/WHqqlLluc/U22fb0lLfJYfqnbOt/zth6otEGj7pe8Vk8eXIxDv
+7KK6LJP2gAysvrFjVWFHjcAF14nTLQEOZu+y8uwNR3lsyrMp/HYLX5Te4P15enE27dcZnDJLlxdn
+r+KDtSnPXgdjm7ky11Sc/ZuoqFqevYGsG4rybAqQyL78rjybojjbDmNrOq1sirO1L0pv8nKFxeJs
+my8ZrVKeTZ2j+KvybAqPmm2Uh748m6I4Wz+Va5dnU3A527XQl2dTf7X8V+XZFptoLs6212FWGNGx
+dtFKiq1Ynm2gWrvi7CX7QluevcK+/KI82xKL87GGjeyLo/a74l2dVuXZv/8CO015NoWyoX+Vae3y
+bIribGM04beV7vbF2evdaj5Xnk2BSrv85BXKsymKs1eOii6WZ1OUGlvl9a1Ynk1RnO1wLxxNeTZF
+cfZ81s1a5dlrY2zFCkrH4myn80JRdkwhpV2UQK1YfWkCaZZtu3559iJIFnnjvy7Ppqys/2V5tnNx
+tjHXGtfaMicOUq/U6uad2bezre7oNn49m75Wfdm3s6m+J05dNm7HmEw1VrTgrfjtbKdM+818O1uX
+yNZfz157N+a+nU19k96vvp1tpcEuq6OmUmkWlmv7bfRPuotcHAvRSRU1sffX8Out9u1sy7s6qRFI
+p8jQ36vwuVAZR319CahDBj9//s9VjNvc1LrhinEKL9wGKsYXa0X/RMW4PcY2WTG+gRsOKSrGaW84
+/F3FuDHn6s9VjNN80eD3FeMuh4SjzVSML2YQ/YmK8VmFnWWx8aYqxvVK4SjlQVunYnzdb9itVjG+
+HGObqhjH/OT1a6doK8bNsdc/UzFuWVm/8Ypx+rsIflMxPl+V9qcqxpfljm6uYnyluwfXrhi3/VrW
+RivGN1OX5FQxvkJd0i8qxhdy4P9IxfgGaIyiYtxFL31/UTE+R2N/rGJ8lW/Wr18xbvPN+g1XjJMb
+QTna6Oq6FeMu7+I3zzdfMb6hGiuHinEDJdOXpq1cMa74+uxUnk1VjCvaBb8ptNmUpq1e97pOxbi1
+72LTFeObo7HFWPbi3YMrlqatWDHuWsl0Wbdi3Hxn15+pGLe/qXWTFeOz6qc96vvX1qgY/81dN/QV
+4y6KD17/XtnQvlpOUdLyi4pxu+/ybLZifDmNLVaMr1rfPXc7kOVHHzZXMY7f4LbKl95sxbjyjdTf
+524trxg3c5g/UzHucvZEbKBifMZh2C3ar5KuUTG+5t1QK1aML/GQbLBiHLTxWc34H6kYJ2LZ/gsg
+m6wY178AssK3gleuGKeIjGygYtzCSvoDFeNk923LiTdVMW6oeqZ1WK9RMb7eDYerVoyvZImvXTFu
+cUfEH6gYJxVDd5v8NtKc10+tGHd5rT9xv9mKcVjLrGb8z1WMW0ZGNl4xrkdGqN2Ka1SMk7w+20/c
+b6pifHb20+Hon6sYd8i031DF+Er3j61dMW5z/9jyivFFPC2pGMfacPwG95+qDtdrw+Hs/7HqcL0f
+YuxPVYfr/VzeP1cdvnwtm6oO1/u5vH+uOlwvtl380vfmqsP12nC9amDz1eE6cHNfYd5wdThdZf1v
+q8NNlfV/qDrcsbJ+I9Xhepk26Px/rDpcrw3X5MufqA5XRUK3PQWM/bHqcF0xVK2kP1IdbpcDv9nq
+cJMO84eqw80+pT9THb65L+Utqw5fo15sjerwpV8v3Vh1uF4bvkZOL3V1uL5cy69mbKg63CKj+w9U
+h1tmdG+8OlwPYzvUWfyqOtzKStpYdbiGO6s6iz9QHa4jw+VIT+tXhy/U8P6R6nC6/LHfVocbswj+
+XHX4YtXzn6gOX5ajuLnqcKcI72aqw/XacIds219Vh9thbLPV4XptOE3m8LrV4TbZgxuuDtdlvVrN
+8Ueqw3VEm+5V2Gh1uJ6M5PL+uepw27VstDpcrw0309gmq8PtdZhNVodbSbHNV4cv2ZcNVofrteGb
+3Re7T3f/Yl9W+HT3Eovv19Xh+mZb6Pwbqw7XNxtj4n+qOtypinMz1eFzttgfqw6nuleB+SgIz0tR
+afAbqAs3xpENCRIur5Yi0WvZf8A39fC6+gdAz23PfvtsU4W8lLdq6NLeUsOD9X1TfQH4nXtFz1Wn
++MA6kFLq4cd8K/ZKpZwLGFuxlNMOY7T3XThjbPHm3xXu7Jpbmq0JvxJIJJL4RpWO5Py9dFtmZZ/X
+Z4unFYtI56xXE1Br3OJmF+giX2Cnrfek0PlxpQu5O7jSOZ3fwlK31/RPfJmRnaZ/brLTf/0V5uxC
+GZoN56er9l3L6Wh7EziAt2AU/8bpCON5V/gyi6PT8dzW6bg8D9Z+N/ZWOjQOVtL5eldSLqust0gJ
++90nwGcC0eXdxM0Jnwvp7fMItPkO7xIELknctkWgrQ6DxetOyWHUCMRZsHjdyZ5QcWchIS0yRsft
+JbVv/I48pKlsoPPB9i6sdn+NrMCLjX/172KzXzQALrFwsNcrfdbzvX+LMccP/tH5LbF6ekPfSL0g
+Gd+/zxsnIFmkelvd1EqBJ0c/03zKnlLLY5eihcXrv/w86sw7Olfsxp9UJhkb79Iwv2aWt7UPlj+5
+DZhvgFlnm2IlLSrqlFNHK95jJftjtsaN0/nVE7xtMXbk3wjGPFq92C8TqfMUSWR0X/xEoH6T222I
+8eWtfBtr4skUNVoe5XFS8rF0nSYd0LV6gcZwScIClsZaHNy1b5zGuBB1kY/L61RTTCdzl0vcue8j
+n73HzO6W9S+KwNJ17fQaIrxrfWm39kZzwYOLshSbSvDakrj+FWasW9/EbRFK1fr8EV73Vg1StR7c
+HI2tKn2tZK9uv5AR69Q0tkLyeLmPPNnGj4iOHqoybmdBp+9+uW97HdLqYWyEcF9nmY66pWFEuzIP
+MuLSa3VcXooRLWtT95ORI7simFtLD8n6sVAQkxTizUVzNgDuHA3x2TruF+ssgAHQ3j1DVZu6nywu
+3j24VvnY3WB5berc7juWYu+vaT6Z/MmEOjZTm4rl15qz9LfyBavWnWtTaWksvpAgYXYiLctAsPlm
+vQXfNDtCKArlZoFxwpO1ezoAj/u2yaJs9jlNYxRa+Rws13K30lVZSyuKKb9dSx01A/N3o3fcIYyr
+3fdg/33ku5Xuy1peiK1V1/76kga7FCVLi8/5S+freB+svl+JdetrXZplhSyrexStXKSUH8PEEe3C
+H1Y0tsKVEbWt0xM7sXyvi2UHbkkplp9/lovlFeRLbeuBxqtpJZZt7iGB3ac9dzRimdS91jfgc0G0
+2Yrlxd13/Hg3taavHz1Lnny/MbGM5dcgljdwi6ZStb5ULK9EY5eOFzzYiOVl36zfnFhe8Chi2DVo
+K5YBxlsa08wklu3X8uAslqkrV3Ur6W3kqFgtfPPcuX6d27TcfxttWO7HfLQXSnjnIolLyuv7v7xq
+cd4Sf1jBEaKOaIs7kxuEourZWUxi/brz2aepYLfw+r15lnn96oaPECy3xOm8fh/psIONiH4YmysX
+lpU0fzpduDCfgeuiuNOg+mu34sI9ilY5Sb9wK1Yt8y3Xvn2YlK7TS2S6z50fUKvXWi2PjdiyTC1a
+48KF+bNfpfHzr2JN6kIL8y0LQthebL2M2w7Xg6nLWPZdiHnr9TZ2YDsfRcTcdr7ZjTqqxxHxWKhk
+6weNXrLfCA2Ske700iQDyFSpbktkEoff18+5/d1rjbk0kruZj6GfTebvHwuzfQYrSQ==
+			]]>
+			<![CDATA[
+			r7xXT5G5+/uV3l3vrNRqqTgpXKe6kodNX92XWrnD7HMY1nfvy/lLXDLxk3r1YWWKYg7MWk8aORyx
+mIhXSlOsjz6TQp7dafY+de+ZP1zFTCNWa2Yb79niaMSNk5799qh0EPLGdvn7y0gyIgbGn+cHg2nN
+5d07a0ny/snTzuOW53zi9yRzNwdb1VcxtlO+3854v/vlwl7rcxgSy4Wft+h3s9BOfL9ffeZbZVm+
+ej77uSuzw/xH+bPU6d6eHlxO795O/b63t3TA/1WNfF33ioH4h8s7DDwmJiNv2bc3GvE7nq1Ba3Dg
+ZXY+4/7HQuMuIAcufcc/O71CjHu/OUoyh4dbo9FJrOjZfzm99HCp624g3hASTI45OWZylfscc7o9
+uGJOr68+R6POSWg0/TwGbjneC17Vw3xBjiXL2+09UkIO63vOhqKF3S8pepLOp7rRUoAUb8NKKxWA
+odUMWFy4YJHnoOyky2t55YK/05U9ga5Qwul5nXRjXG2vlDgMnQlKQfte6ufGGsddVih/3u78jBJ9
+8crl9dxf5QMOKJq+h3f2d70PxR0p3k15i+XTi7338vmRIO9eirCqlCdZOaifYIF8JXB0ELpH4KKJ
++MtrN3Ph852Qr2NXS0z2Lvo2Grcvthmu9LydjL4kWpnz3slDIjZ8OTR58oFHXv5kg9I4LBcvSp3Z
+6TXQOciFYlo/FC6vdixeLnXxznDdyWH6U7yuwl6NX5OwF/dz4zx5rcY2433/JTf1BD+/HvC+i7vX
+rCd4ef/g8YVqW3jLxQX+iHtCSb7oCR3svuI2HXtC/dKzJ9AIy4iOSPKm8ryXrTPxKBk7es8zTXLz
+Bfkt3notfgL3vffBqrYP8Tbgs4+XTGs0CiZ7g8IYVnX/g23NXDrl2Up8bSe76U7tgGWY8ftupn79
+dpWUgsNBIHv3cAadH7ZgvsA7ov+ceztrBhn2ddub6l2/SLl0clpLDMdsXfvi57HYCGYbje39RPzi
+G459Pj8hRhPDTSfbidF2c5QKSd0rht3zt5Plxt40WdqX7pKDQbiAiuqOWM3384nYdfor+x5qTxKH
+J4I3kyrcNXAtUZc39/52PUxWMo8ckHvwKPPBVPFaD5kla8U/3xOHomeEx8I/a+sd+hOFcqrb3wvh
+YLe4k5HU90/Mmyold8SUMAk85XyDdzbzEXq6Jpz/XQCiak5wnGrm4+U+muomujyOSOJBnvTnU2Ma
+uwzwT0gHeQI8kFfoIpe9vJNynuBNLvfmf8qLk+FrEfbqJAiAeHynk7dhHVb1ICBPvpgGEvGCB+/V
+3d/O5PNnUXh7Ozw3jm9P25zMCBc+zqVboaeUEOn7CQloe/rgTX+Gzptn22FvVN9nPPvv51sAfI8N
+ZILeac53dn4eu0pNnzLn54ldvS3e5qrfqbPb/o8yHzethmCRzS29i/gofj0lbz7ao8zHwc5btrH9
+fUKmgrUAAP5c9uc5ltv3BwPiduyhnG0ED0Nzi7ziYNJUn7iOdBhT35c3B0AHzyO8iyBNeFvmI3Uv
+5TKRRw4IqVrIZTk/6DAGdHDbb98JPnXwpfzJtqMDgDa9bVhQ/vF0YAD+KPdzRnYNtuSplBhNc3tA
+DNU7hvdsSZnw9WeGbCLoYx+9+E6y5Km2YRnRi8zF+3gX5N3RC8MFW92UmLj/IfKVYQfVLrCmh0ny
+mg2V1c1pDktkf9UuqXorcfdxew8Mda+QKlVPGYIMQmMfsIM3vXLu+azQSl6nU9VM/txzt/CgzVyQ
+033kCwXfxWrhNpF7be1UM+fdwFXmYzA6VhgXHy/vptqPpbv4x7SYRsJ9hrOPh1PRrggLm3U68k25
+99PDoa+We/fHMhhuu1ZhfNr/zgY6jxNxO339tgCS2JzAvpzswMjnfTwvd2Qtzy9HL/nsQaYd8tWT
+khgN5zLVShDQFn1iuEk8KRe97Yf4RapxnzsZnxZz73fVJChTFQGPVCpZDu1cpi+P+mmVWzQK41Sp
+dH2bavSnr+q+SP32M5+tlx5QF8yHxRPx4TSdvREmKgnkq9108z54n/kojd+QCd/msuxoJxOs/eAK
+HkOZg9rhbqzd37sFuCK+TGt8Iqi48wgyUYJAt+S5wiT3FryLoRpbMpoNVr4prnAPxBmXcP+KtDOD
+fLGYe+WZc+nPaF710CJHAz6dq6AElMXbI7wVMHm7G38nnfAukXt85yLV9VYq6XZ77AG4LyUET8o2
+Iu/+6F23cKqfl+hd6akCP3q13OHp0ylhZqQtdtWOd2KdV+kDHrCwFvVAAgCZVmfwdOo9ff7K1ivZ
+iD4YcLTUrfhQG96R7UbiLGdaD35+9ud76ps78mhC5GwPr35pprrhmwBYQS9+QmPZXaB5IZvztU5e
+koPP633VAtMfNL+esrVaRD6Wz7mBgtnLs7vvxOi0B/qD/7WUCd80OPJ0XudPI59+gbW0PytvoFsn
+jyx02ZjBLQ5MagtY6+1OIj7oVVPXk9o43op5+4oFdj4efOTeC9M9PUtAb5vd1nj80yNX1YDiGN2L
+7Q44ARTjn7vEwWQ/E5AjwiH8dniROBgPT+DB5UVmWitew4Ojk5y8c9NMv1xsnxEFK3oX2rrMvV/u
+RlWn4zAJVtL8Mb0GkLlptvF4RITjDUixwxGezw7uwTnoAjxPfBd44ivkyEXjjYeQqV82sC9+iEdf
+9fNsPZQ4V7I7duIfZweV5DUzvERCO1dE+bTH12HPfyrkphhyKxdwgYc0UWjhnAs+YKg/DaJsHIbe
+cwP99i5JHhx8JMuT4TSZf/RLsBYkP0PrTf/7OVvf3X87O3rm7xV1+PrH30hdT/d8yMzOMh+vW99n
+2zenYeDyz/d4MdBPznfx5QO0DBh1qGmJUCAcXCZ44PKysOXHMJjMAQNsbwMf37uA/f3ZBUWm6kve
+dIf72cb3jwwaUDKEU3WIiILDEHwE9p/YIlRCrhc68t8HOgQtZLnECsTPI4XVbFv29DWMBS/ZrVw2
+44+aepqdFWyl4wOQmE9QjbY+U6FYZkdhlLMfYBS2PDDAzVaydNX6grMvtKeNeRLA+wKkQeZi/2kH
+hmgNDVpfIwVSG9EvC29PN4fBx8xzLhMUAwb5eXJzeJ/z7b50svVyfpoNFMJKpXDKm8mn3vncc3On
+TXYf21hgAPEJKMHXHrmbazzHW7f+TqrxszVSucXO1jjnL3ZigePo3Vn6/Tu1n2m9Tx9zb5PPbiKW
+89ZmD7ZcXmApL8cKD3kU28+gj+UN2gxYP2I0l+kGFUGIBzslTvKTo9xb98CTiGXjxaQcz4e03Q0O
+QPdoT3PJXiyo3X7Uvp73Wq9iNhivwQvtJMb+h61M/uLxPc3e9sY5z345pD/AL0tefLRhzyPRlBhk
+H3DEi9Q3W2tkcs+X7Wzg8/URT+A78TilO1/iAehM99PoiD/rpAqPgwc4i7FnEOSfO8Ajr4RE7Opb
+Tl0Xhx1QaWK78tfI8+TyqqSksLAPJtXtDUPK0dUV7MdGixmNjg6wyzZoLh95llC8PphisOxGBvr1
+WFWQcjdbOX+1OAEau06HjomCiRufRMM9hBYKo8O9ON8ooHuzjnzdeAfw2fYkfpLbicRhsNkkl34R
+X8H2jzi9dHkNyuTifEXDDVx2OFHuvkrvnGRtVwq7r6z1kbuwWqvFzNuOKx3sm1ZK/DBWawXb3pva
+ySxdaYl2pWBX8udPPaPF0GyXTLhlcw+n7MztlIpx9YMO2mw1NCC+iDwj/EB7UM+bpB2efXgeb3u8
+X9lG9Z1LdS8OemAWHkfQ45jCjwsUcu+xgZDzyaI/GwoMhrqNddAJxvAsPsqJ+5J3y/Ld1w+s5AJG
+ko/GOunMJ+G1KPJ9yDyD8Y/g6DHdvLu/VC3e42wQDTcZTIlTwGKd2cl8fJT4mR3rz4TD58E4c/Lh
+gS4Hr7psdnnl67v2de71eaAIodgV030Tpzf8Pdj7500Ypxgh3hC8bxF08OHTa/K6cPaIqn0p984l
+IwqNHcZ7Nwx3dj3NnE6irVQkE7rTnwLG4o3rS5BExQFIIrkGnLgxVuAhasD0nTXc9mcECeSnPUhP
+I5CzM5BA5zcDlRmXbYEKxLu3V6uDhLtf3O3ZAKXcI3lli6f52wqvwIZ6207ExqEBbvxZNnA1qIBh
+cwUWX7LYK7dz6cZNGv0+j3jkuHTnKBWwnPSmx71qzuLMOHMR2N9OCfdcCk1PJlke98tAVAfTufUl
+eCLF/FOQKhcPZNq5Sf3PhnNnNAA7JQWpuWSmYYlyBanntQcyKdiVxmljrPVOT45/aHd6YVKuXTJE
+RgxoxS8bF3S0Lq7PFqkwaeJ+v0ZAgmMWfCVP0T+mPce7Sp8VoEr78Wcr8rICCXSh70s7kF4JSGhZ
+2AGFmDABpT/FOzhfaEGC86IDdVKZXC0Hak2QXN6VgNJBwrinn5YdWZz9ZQxpTXZEfH3V4UrUbzpy
+6oGc5J4tJ8XjiDT2ctFWVNq5jajaHMiX2rJzDgfO4pRjnpI6LF7IKh/j7jcsJn3Qd9+O5LoWrOcE
+bwS6ACm2ucNne/RA66Mlqo90OLQmm4Hd/xMCBUjqc6qTlI0UW0JUR5z1sMVne0rV1rJkWDs+XXz7
+oT0AQGP00LbGtsMyuZR4bQuryzveyrUZm2EHnvWPK8A6O654e7bNgV31uL63bY8rruX0LLVMLFf7
+NsM23myHBQR9GbgAcpiFYV/smMuLDdWW+9YnrCAc6XFkI0fgT24LBQt0vNpsXXVgqSkFC4G4znDI
+rebKBAkuVWXPLSZozaLHX9n6wQfGNkqvROlW3kD/fOr7MjQBdf/5PtvYFncUV/j1q3hMwhHogVfM
+WX6XuInU3y4+vtEPc8MGvqN7DJtP9k4fTo7qSeb4oqc5Z6Gtuu9ppD+fUt6Z77+L8ZwfLb7kF4l3
+BTO7NL8QrL8bRhfNceajUsJgzuN++uPos4iGu+KwP6yL8X7q23fzEW/tiUXcqyd84wIMlrO+4myC
+P6VZXOgZzDrf9uyrGaL/Z2YbfQEXzDJKqIfkTighsVz1VQkVsPnvSS7BXNwCHsKP6p97mXsllKV4
+/LEtefotkKgRWuJq3OgcgxhcsnJ3GwC6ewkYbRowOQ5Pu8fVbH1wFkoWm/GmIVjF+/vbYMfd7mTO
+u7e3JscnCQShlcTEo5pDNzhGk8urhE8OQ/et1Hfha6T4B+eCObXk7e7hMWz33fViQOm+q9u2JCKF
+33ycj0lxZ+mhQiL5armv7fTkSwmu5E9+BD3yg9vZSXde3zit7TEOW7LvnwWw9mHNzD5Sss/vM8TF
+Lr62f8haovf8Yc04PYnHPo2F1PfeaU4z631eY6ArffyilmvNXmPzVZT775feLkasRMXi67xe9IHG
+RiLG6bbk72QW0ObnZzHTBw8cvvxohp2JEj0ddRp+DdZ7KfHA+MPan7tg7+d8ecaLzulLOHK1XYUY
+mrvBfG6fO+a0bXyU0Oru5N738i9wAo+2SWQE3ZgZA0sBGkqA/f3QS1Yus3l9c1xezQ==
+			]]>
+			<![CDATA[
+			/+uVsVMcWj1fydIVaJkY6tHRMYsgyXgOCkrwCO24+QfFRLx3nDYEfV74bBdsZOKA04JCxEFV1UJG
+4ihRTudvQA/xn5MoHjpBJQw4PGldUl9JqfH4kDl4KEWVcNosGAXblPlIxJ+TF4Qnm4GKYrToKNmv
+196V84K35xzujVvtrG/rrp3JeT8u5gNKF+J9zz9IDobDekqYpkqmiJTCYT5zJ+Pnu8Dx9uE2vnMG
+mA/siNssc39wWf5GHfVkB/Sj/SfVEfJ+fgyc6mRsiFx2vZWSIZQzH4QBi6/16v8A7SqHmTPbEvqg
+B7MY0d3Z9s1RHInhEihmb0LcEYpD15wHqmVuzYIs1/qkuJa5aTc+Kbt3gRbfee27uBjb8l9IJVk6
+BS7YqpDAuPoOCcaNIoVUKB6PEe89MArvNF0YTK4RzKF2Srhp+nN6U8HARA45jMLCSGvvK1lJ336Q
+ZcyOoV8JtxWfLp6zb8PmF9DiVkQbjASC2Ex2J/R5z3Ah3yRZDHUraswf/yxdle8wMuJvXish++/W
+C4xTYGup7vd5WQvjA51PfOHLxfi++kDc/vGUT4c7hyL63bcQqYVovHF7Q4QWSfZAWQm41aJFC6I1
+1u6nSing0lupwmMpqbJWRbqeMBhFD6NQ68/kx2Gq+yzHCAx6nGYWf+metnOJduJZOQJkG9lU/dMU
+0VHjNPL4hHwyQOmH9/wnfhKjQ+IdVN+VO57sXn+3BCCxTy6vOTfk+DTvI9GLROzB10lxX2E1Jq70
+C4Z7Sngk3SjHzCGTdGtag+mTLVX3eKgWsvVws4VWUqe9rTiWQDiO1SDN6O5UTZBIpTygMBwntFCP
+b5cczePdcqwTOK4OFE1BCfoQl+xD7eeC8Omzo9c7hhAX0cf0AI/gzZxWE/Vk/8QzyJw/idtKyi1/
+6BOSkebpbeLno91XL/h6mISVQodOMBZAPWqQrNzv7GffxWHD0M/iTntxB4DK/aAH/gsTaUZqoHP2
+A0OQmon31MzWvc26iQQQTxktEUqVj2QtO3u5zHfw9Oj+I51guO3vj6z/tdYGPaMyzj62Jruq0Nv7
+8CYOI18dZMcvChcAZCW1lL5sH/NdSMpQEiQJxyditUI/9fl+iXZlJ/n8nq2XqjPZpgV97t+PK6nu
+Vj9HojyyeOpvYDgGtbCHDHkQPbwX3zDtpYMh8lI2WPk4MMCFn6AA6v0Za7qlwj7k5Hvi8CwdxsHi
+amhY3d9YshxMgLLRqUxIsgtqzJdaduT4v49dAsMKbiHKiu6Dm2m3NboeddqdvjvoirsOkucse9tv
+DnKjVqvS+s8kM2hMe63+xB1zHyTL6fNzCfhrY9BsQXfvXDyn8aFnOuppV7QxX8sg/aPYe3R5SehT
+zeES42PMMPWBrGuPF6LEx7X+affuq556vywlk8E++xI/Ye+kzHZzms2kz55ftCjq0FyxBKLIGZQV
+AAHdPji8ukjk5fGxdHZ4H84NHgVgrNnR8yOTecxVK7mj5FHDCh6NISo6z9dKkfOZwFseORfqB6ks
+d5YgQfPEx23lKnkmvl9RRc5Re1dVBEWT7/a30KR4UyLit6+5GvD8pytDogS2SZXn1H3qe1eaaCcE
+j+VXp6bwx5kQ1APgbLDdPlaYkS9br3QOM/n84d68CVMAtb8XxByeoprIo6RHvEQTsWtfCznJKVE0
+NTWz9pT6zpwxKg9nMi8khIRhp/RTCxihvK9EX0h8ngTkhffQi/IlF9x4NVyvpRLqOVN6WyzPHhzo
+gRwlf6ReOdxGsRp8ieTejpM1+4w5e6PncXAJyziVVaEU8vWUPKrKxVRWRYh8+ePyJkaNMFGkJ9lm
+7LhnYbj00UwMn748+2LpVrl4OxtnlohmCAKWrYwjlzd2WSudKOaBvtP3l8NzAvycDXSHcfeTH2Nb
+z7eX8zWeZ+zyBZTP4uOBIeqO6QioVPWOMDmvWwWB+CIbktfQqkp1Wyk20bseltQw3selrKf7YZxw
+V8lHNybtFB7A0mC+CWtE5OfwEz6RgYRZmSJIxZNbEA3j4JzhkhxlznOPW9qfhwB3/uHDuKDGjxfU
+ndeQJky07M3rglgiGYGouIeeMOVd+diaoOkWJGW20Mrkdv2lVOSuNNEyygw+EYwEHqN0vP/J+c4f
+bmabc6mmuoYS6J5gdmD3MTdAswwq9Rk6QpqZ4XlDFfBmMauNPDg6U3TDxWS5C80weQ7PJeeh7UOU
+Lu1oPj5ye8e+M2OXe/kj0w7kaxa2y2G2cfyyDasPPphAArFaehx2zGL+ZVwvgfWSDYPpIbfErdxb
+CbpIrOZveX45er5KH+WSjXYDU+Su0vxR5ZjYuEoCByba6VYMWct9kFhBhgQ7dvBzBiRXJCSSydQu
+Lm4T8ZPpZE4rP79Pd46OYwoTBu39OxEvT4qpkPQVSHXD7f1ksfFRQLjK5FNkzcfsY/MCY7Avx5ge
+gihq+NKd8SFL6iTmy2FN18KkNPPg+9p2UnSmzE3760nF41vhKskcTscqHzt4BEpW0unZg+3xYeA2
+PlI6oXZE3lET4zBZbhZZVlMAX/NZ4xFXbKDgI1ZonKksDNtaA6EBp3LBelET8UwJduoJROvlOtXL
+qZuMVsDgIvui/4kZna3UWWX7Ffc0jSkfQWK0n2DKSLo3S7W7RLfLQ7J/tv8zy+vSH1zMvvU10JBa
+64FmXPlBsVVNxCs3Y+Xp3AUcqyfMcIUK+t0+QUQNt+OtyvsNCNtaz1yaUrmYTGdyXy9YUT7seDHF
+xN3D0Yib7Hr8h1eCJ3Swd4cp9BnPTkY6nGXUn+CDC0/wZ3iND04wwb7pCV4+nHn2f7ZHsC+XLyYX
+J70RtroJhqkzqxphq5tgcF5WNsJWN8HURJCVjLDVTTDtoodVjLDVTTDislnRCFvdBMOSjFWNsNVN
+MCUpfzUjbHUTzOVdNMK0mljiifZXR6TqoZ87zDVZs0Kv2AbG4rezTMszDOIZaiTuKue1XFYqtZRy
+39zsURv3PEw+5KoU3UrcbS5ZnmyVcZObWPNxrBTKGzKq2qXXWXrdrVVaHGoXmL71Vpm8ZANjfnfG
+wpZngiUcM8Eau0ZbbHnWG36is7Q0E+yOIhNMS2jzTHzj5ZlgzPlzMKxFkpalCk7rxR/TSkHuO2e9
+2a50a+v45HTpSm/nPnW5NOuNyR5eZx1W2tqKHNiuVNt9ZRmpg0untMiz3TNjcdjJaSATDouPxGhQ
+5JlS/aA+uCfSjhTkaPJOed7bAuMk86Vkus1y2fb53fgTO59e92Wwqy4i4bieJ2d61+VV3gbl9gvs
+pdhuLlnqjWcxpQZ7+tpmQOa8jlDNO8/6b8/HimoL6ucNBu5bWAHYIlFivZgJU+7ec8kn1gPyI/WK
+7lq9sH2+NsY+2sy1S7TRZhJrNiVOhUNrRZtfLpcHwNHe/2XGCgVIJPBgCMlerRnsXxLqrwZBVm48
+L6+2dXpuymExpM44pUYZP1JtMPvSy/PyDGlAq+TldW9WT3UgsnJZvgdGnH6dFApr2VwWFl6BPbYC
+yeWlShb8ZQ6P8ZpCI1Cx4mTt/MVFkDBM+/vEorvBcna0/OwvMKQ12ZHp7L+8U1C/He2/2uaqkQJp
+Mu062WpW59wqVw3k/m+z1Shy1VAik1yamC/4RzKyydGb7f5qRFW3T9SiSP/dlECZJ6kW8fasS1R2
+qU/vZkq1Wsvq+dPvS9M1HdOybaFtLMv/ah6YBjWnmD/ZDfvxG8wCT16WXLrmcU2Y8pXNa+ktT5dH
+dvxjMWwSTbysDReoPitrsR8W7Zd31SF06x0ky4+eSYp7v/wislmpNrlKH7wSp/l83cmLfrOBegH6
+8rsNfn2zAWDM+W6DX99soAbpl99t8OubDVxeirsNAr+92YAU4TvdbfDrmw3UhLbldxv8+mYDl5fi
+boNf32wANOZ8t8GvbzZweSnuNvj1zQbouXK82yDw25sNMC7meLfBr282wFJMx7sNAr+92QB23/lu
+g1/fbABrcbrbAAxgh/sFHC81QHt/tQsVVptUuc9gVh6/eKPBBu8zUEvKrW402OB9Bvq1OAs3GgQ2
+d58BXryl3mhgIVoNlZsF081B0jDIjVPfmb3PmTC6RWob5fZ9/g7AkL4HWVHdJnC5lExV9Au9zF8K
+EM+cN47u9J7Yj/jopGQ5+L1DHEuGywO2qsJl9rHpbRNXMuxVXxV0IPck5YqfWUq47+ygs1XcnaVN
+vM2c5kRg9vQwgybU78d6W1LknzvJSJNrq36B0vM2iWjgqVRiGiUmt783muphDxQE7yAIvv2pXmC3
+qgyWPxmWofMgljn/+jnjMqGngDGW0mxfZAPj7G7685kPJpnjaZQQl8ur31iAQraRhR0ZAPqDUzWO
+fFS8IUEYY1TiOBuaRSXUT3ZwwZEHyed7vp93ti/aB8qUKvGr3e/qLBSSnt3Nu6uFQuDgoslBrihY
+JIHPJ4Z9ufxMRfziyJgRQfJFMOuWI/EJvK/sKdPKPuwBEvQ06fte7r0w4MFw2/pMdfKJseoO1Or9
+UUDf4+5Xoe00DIpKqJ3zfUivWP5fx5i4d7hvOGiRA7meaX1dHDKRev4ED1Ioze0cvWfC0/EDSJ/K
+VHvABJOV7G5HzWzeO+NzvnxSVyH2E7HsAXDQVP1E0S0vSbRBi2Tc1xOVG6mMmaEldX+1AIia4Y4R
+R/2GgMF/H7viQEbnLPuW7TeNuWQurxdayq3JdIgdIm+pVrvTL9T+aY1crFv5j4H/WDfnjspuLhLB
+fxg3D/8v1F2+xqA7GI397kLf5X07SI4mmU5j0hn0a6N/3DFsergs3J5n3DH3rGvc7QNImDfoDE/8
+mLz2BtC9uRh3Ev7/8LdrfwpzZ+D3axcTZjg+4mbCLCcL8E+EkSWY+tvFqIDBC//AHxfwyxc0/e0W
+3JfupxfG3cSxblwCK4R5GcAWInyYkeDtntIWjUKTFGZFRnRjQ1SGhQnRaDgiwUwCy4Yl8prEhwWZ
+4dxpl8AIAI0IDyUAxM3LXDjKiCym74UlkHxuXpLDgihIbkFkw5gCBC/xUT4s8xzMIQphjmOjbj4i
+hAWOg8lEeCREeTfPywCaQF7jZFguvMaL4QjHRsjgcoQX3TwnhMWIDFBH5TDLsvAaQC1HRAXGKBPF
+11gmLIk8QBAVwxLDYCc2zETgF5wtKokiaYmwLC6fA0AkjrzHwioFVmljYd2kJRpRWxgYkrREohHS
+wsusSN7jw1wEloC4EWVWgLXwAGaUcwOCw7LMwS+48IgIA0RkpQXekyPhKC/xSi+JgUHZCKBHgl8Y
+QIYgSWRT+EhUIDsHC5ZwC8jOMazSxghKJwkXjNsr46YubHja9QETQn+YXMGxBLvWI22wgIjSJsJa
+sUXgcBBsEQSlJSLwSgP8z91wKZ0krRMfdSsDCbOBRPfidA0AggGiBsTBS6zyROQEAgduiCiSpoiE
+hAQtUVmQlRYetxGIjYmyCiCw3wIBZLEXjiSpI0UlZaS56RCO/Vvrw0pOoXb4wiyMzA==
+			]]>
+			<![CDATA[
+			IPBw1sNSVMLjx8Ay4fBxoFlGOaQlwDEflWRcBeCdY4AKeUEGJCBa4HiJER7pmwHqwpPCSHBSgKp5
+IBegdDwgAg/HgQFUzdoKpC0aZZR+oN5ESFtEwSTPiGExipvEc2FJ4pAykT/g8YWJGFw/0iXP424J
+XAQQF4XXWJhbJCQjKQTCs3Bco4h3eJ8nYEELJ/HaYQfCBrA4EagPVyHKYZ6JwuBwklgBtrvqQtqO
+EMKOIow8TAa/8BKLrUDRPJwVNxx2RAgH/Tl8EoFfkUphRs7NCZEwnGGBkIyMZMVxeKwFmCfKAb9D
+YIBvhCWYi8DAsTATxwHIwK2gJRoWETwOliUzEraIsE+AKGA2wEMAoQilIMEpbbhYOHiiRHYJUCVE
+ZDcL7AQISybwwiRzLSpXSLv0Njie5GQADAycDQ4OmKmN4QSln8wqsDLALqMRmBMQIUUA8xwTBUaJ
+x59H/gHUzOGGMQJH4OJkgKLhQvgJqQMWYbGMRFCj8KIIo5x2DqkCuQ3wpGiEENQicRacaL6QUoQf
+iEIi+kKhtYThZNBr1CZUwlDrSiUMiSB0t1eQeVGNBQq6zIuqMk/WZF5ElXkozRSZx2kyT9RlXkST
+eTyReYwm83hN5kU1mcfrMo/VZJ64IPMiZpnHW8g8XpN5vCrzJE6Tebwm80RN5gGlqTJPVmUesBmT
+zIOWBZkHbSaZhy3zMg9bFmQeYy/zhAWZJ1rIPEGTeZIq81hGk3lRTeYJusyLajJPUGVeVJN5gibz
+zBuuyDxWE0K8LvNYTebxmsxjNZnHazKPVWUer8s8VpN5vCbzWE3m8ZrMM083k3mSrAkhXpN50KTK
+PF6VedCiSjNek2aMJvP4mcxb7EVGktSRiMwzT4dwIHELMuKMCYtAKeRI8ApDR/TLEYmwYCaCHB4o
+CTghS/YxCoyHsHxRIrsv4mmRCOETKQBDANkCBxeEqCInkZNGeZacLAGJFV8DkmR5RCD8AhySMEMg
+OlwdSC+ZQTICBHKIUiAaEJ4CvofgImkRlVKAo4AaUwQXIIiEJHG/kGgiynuyQtx4bkVCLNBL5nBX
+NNkrgFgBquHIsiMRWSRwskyUSGNAU1RAARVl8OiwbgVxiE0CCse7F1CZduKvU3K2EYG8DP/KcHh6
+5NzKHApWra1gbOPIlhQMby62zN77mDXCsQ3LUZCehglmbQVjG6yPFwTDeJZNszfxPAE9inxkBgqS
+kKjqBDPoDE36svQ3rdq0Vw1TzGAxzGGAz9CmL01/16pt9u4HbgfsuETYAHBYVuIJa4jgaRH1poJC
+fUwkMtfGAwELeAIt20D3kGUydQQYRASp2dgGS5WRunhU6YncRtUZGR7IA4kTUFSwirAXBGQ/ArIR
+hANoH4hRAJYbxbMCSiacF2xRtSzQhsKiGNUb4DXUcfA8651gX4Fjw2t8FMSOzJOWqERAEhXJogii
+qBTR2mSi2oFKysC5I2/KyIyUNo5lUO+UUF7gaHjM4QVBANYuskaw1AZlNaAyCoZOEdT0WMJBQNuV
+CVok5ABkwShj8DUQpiIyOgHPLbK+CAhTCTkPoJOXREXOwmAGpKM0jhJJqTaR/cLtZ/Dko/rECgo3
+4ySJJfsQAWUayBKMYxaPu9aCImzWBlwQeQiOBaQYlWW9DWQTTITyiVdsDpwO6JHVQUgrVpQEG2Ak
+D2xTCVCWOA3QOTolupxiovCgFER5lKPA2qISCKqe0oaESJoiZAxg5qh5ALeXJNRCo7AIGeUbil8B
+dWHoIQqMYWbEGlgZojxP5lFgqjzqOmAnSBLuN/RiCC9EWxwsFTJ6RJYUoSICTnAs2GdgOpLephyt
+KIeUgnZTBAWKonQocImipFDB3IlMW59INLhA8qmWTZTQHEgunqwZ9CeOaNDA9QRiXcvAEQhUAop5
+BVeirFC0iDJc5MnuE9JWDrLEsaoNilZVgfAK2DhJkb6oguC7qABGFH4eYSKyijGOVfuBbCNNomrb
+oZohs4Sjo56IG4jTMqgN4NaDwBNV8ECdB4YqabIJNxctzDuVBiReaSPDkhY8FKQFjaYFOklrigmA
+LEWJwQ1oifJEakTQRANyB8qAHZIi2sZzgtrEaaudf1W1Mm5dstvndz/cu5ZJRK0Ph4pVhKiAcGii
+HApGMKlQj5VUHQtW0HVxUcQpSm+wfjng5Ni28G4XQLCfkxMRUlRv0XCLAP5gLmAOIOUVNUqG0wHD
+ossCSJNsBuEqXYtXHaYCWgazQVaEG2jvOFUE7UtBUa4icNpgWCBB0CZEhf3wUVzB4qvLp0IHGyIB
+2WOEiaJURnKKsGhBC7hvcIi7hAswHE6vyZfu4qsOM0mCIkN5kEwysapwBKJO88hIQVTgqBJaNsjE
+gXEC5ZAm05sOExGjAfmliLiAXcc1RZQTh2IRrG6ewI/ePpRT0I8YUV2Ldx3mQncZw0pEFBDeDHNx
+ILPwBHBwGkEq4LCg0ooiylt4xrEcWejCq05TgeYqEi0BmJhEDhs6TDhUldHW59RhkVsSLhuBbZTJ
+qsyvLp9J0WKRXDkZLVFclMAAGxNR7YU5QQ1EaJEfS0TX4HhFu+5avOswF4NMl0eGDxKDEYkvDHkC
+4V3o5kEGDOPCwY2KaIKybDjKsjJpM7+7fC5V8KG4n3Nzwepwq2zcXBxrdnNxrIWbS1LdXGC8L7q5
+ZDRaoIlRLCvQQBn0I6C1CFsDz4jbDu0oBjUAaGPRVIA2dF2xqGihBSSJskpVHDrIOFSyZYJpURkL
+IOTRT4WePEmUOGKBy+iDRGUClKYosbeiRNxBi4xuCvQIRlVvInE7RfQmlFUo/1nF18QSrzlxcxG5
+xqMfh7jQ0JeG+pQiHBUnEqpmcIyEKJxiOHthiZhbyAtZ0c0BouDoKwoFx0RY8hpOi2tDJicR4cYR
+7xu6xMhxBV7LEZNZVjGM/jD8BRBEOBF6z2CkCApgVlaYUxQ9hRFeUxRgEjTUOaI/otNMa2kQlspw
+6GDRezEKmnliVgLj5UBTg8MkkwWjcgrT8cAtRBRnuMXoSOOQIEgngB+1EHS+SRySmIiCNYLmKScg
+USP5yKjqwUpA1spIh3iMiJwiXEIhSPTTRKNq2EB1jQqKaxTQBBhTXaOi5hrlFlyj7IJrFOYBjosi
+JIKyBNaLvh5CKKCHMKiHKO5GpBiM4PACKuEcg5qbdkRBhSDvCSIwaWQGQjQCK4ZHgog8F6hRBnMD
+34OHircJoBPRaObQlGAjCmcGUgYwQUkDBRNb0KJnRLKfwLii2AtMBOLcIr1ERlGcJVDHoQU1LZkl
+DJUokQ0iNVEnBgg4Hl7n0HkUVZkzUfU5UMBFDq0HHmMVMiHfqKS4YdHyAWQAMmFfRRZ1woga2MGR
+0Y0gYDhJIjhBB5PMysQw4XmwylAYK6cPNlpGjxi2sCKgXiAqJfH3gdmGDjTSiZFYluxcFIQPaYmi
+3sfxsuo0gxYRthIxGVUIDJvIatHhSxyR8DqPh59DhiKyioEDFEe8wgxhqVGVj+PSgLMD61HCeBLL
+oH8ZGST6LOAXYLKc+l6EHAwZNw5sKw4dh1FB8dezHJIOMk+Dnz1NfNBmP3tkwc8uWPjZuQU/u6h5
+1XnNzy7qPvWZn33WFtV96hHNzz7Xtuhn51H9jxBWSyw2JHJRwBYOYzLYMvOzEwPY7GfnzH52IAST
+n52Z+dmB04DOAfwAqJwHBgK0gfChps6rMoSLomcN0QAnV0RhAu/JnGKdzNoKxjYeScDUJoaBAGA0
+9DAyRKRhZAnIEpQTVbrA+WAjxE7mkBGAugRtOABuGViRsEkCacHzzEWRVyBeAFCGJxYBgioJguIj
+YDmF4cObPEGLwn70yAKrRBbSxrBX1Bz24qSFsBenh71ELezF6WEv0SLsFV0Ie0UWwl68Oeyl2DeE
+wnlZIFSIZlhPDdDwircRaE5ws6CskOOD+8FEyYFCZiMpwWMiQ4AwgbEz6GuYtRWgDf2caCkAaxcx
+ukDeRCUHcSZE8HDAoMSYAP01wiiEg5FscoCA3eHZQk4gS0TWgcxB1zOHngMGhS0GDnji58eRMPSA
+yFdpGTkB8E0SH4oi3zGv1zHaaRX58RZr7VZlVOt0WyNXe1z7q+Wu9fuDSW3SGsITd3vUGk8Go5Z7
+/Dn4G1vgFa2715u9zrn+L1T7Dxc=
+			]]>
+		</i:pgf>
+	</svg>
Index: /nutchez-0.1/tomcat/webapps/docs/index.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/index.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/index.html	(revision 66)
@@ -0,0 +1,152 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - Documentation Index</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"><meta value="Remy Maucherat" name="author"><meta value="remm@apache.org" name="email"><meta value="Yoav Shapira" name="author"><meta value="yoavs@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://wiki.apache.org/tomcat/FAQ">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR/Native</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li><li><a href="aio.html">25) Advanced IO</a></li><li><a href="extras.html">26) Additional Components</a></li><li><a href="maven-jars.html">27) Mavenized</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Configuration</a></li><li><a href="api/index.html">Javadocs</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="http://wiki.apache.org/tomcat/TomcatVersions">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="architecture/index.html">Architecture</a></li><li><a href="funcspecs/index.html">Functional Specs.</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>Documentation Index</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/index.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>This is the top-level entry point of the documentation bundle for the
+<strong>Apache Tomcat</strong> Servlet/JSP container.  Apache Tomcat version 6.0
+implements the
+Servlet 2.5 and JavaServer Pages 2.1 specifications from the
+<a href="http://www.jcp.org">Java Community Process</a>, and includes many
+additional features that make it a useful platform for developing and deploying
+web applications and web services.</p>
+
+<p>Select one of the links from the navigation menu (to the left) to drill
+down to the more detailed documentation that is available.  Each available
+manual is described in more detail below.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Apache Tomcat User Guide"><strong>Apache Tomcat User Guide</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The following documents will assist you in downloading, installing
+Apache Tomcat 6, and using many of the Apache Tomcat features.</p>
+
+<ol>
+<li><a href="introduction.html"><strong>Introduction</strong></a> - A
+    brief, high level, overview of Apache Tomcat.</li>
+<li><a href="setup.html"><strong>Setup</strong></a> - How to install and run
+    Apache Tomcat on a variety of platforms.</li>
+<li><a href="appdev/index.html"><strong>First web application</strong></a>
+    - An introduction to the concepts of a <em>web application</em> as defined
+    in the <a href="http://java.sun.com/products/servlet/download.html">Servlet
+    2.4 Specification</a>.  Covers basic organization of your web application
+    source tree, the structure of a web application archive, and an
+    introduction to the web application deployment descriptor
+    (<code>/WEB-INF/web.xml</code>).</li>
+<li><a href="deployer-howto.html"><strong>Deployer</strong></a> -
+    Operating the Apache Tomcat Deployer to deploy, precompile, and validate web
+    applications.</li>
+<li><a href="manager-howto.html"><strong>Manager</strong></a> -
+    Operating the <code>Manager</code> web app to deploy, undeploy, and
+    redeploy applications while Apache Tomcat is running.</li>
+<li><a href="realm-howto.html"><strong>Realms and Access Control</strong></a>
+    - Description of how to configure <em>Realms</em> (databases of users,
+    passwords, and their associated roles) for use in web applications that
+    utilize <em>Container Managed Security</em>.</li>
+<li><a href="security-manager-howto.html"><strong>Security Manager</strong></a>
+    - Configuring and using a Java Security Manager to
+    support fine-grained control over the behavior of your web applications.
+    </li>
+<li><a href="jndi-resources-howto.html"><strong>JNDI Resources</strong></a>
+    - Configuring standard and custom resources in the JNDI naming context
+    that is provided to each web application.</li>
+<li><a href="jndi-datasource-examples-howto.html">
+    <strong>JDBC DataSource</strong></a>
+    - Configuring a JNDI DataSoure with a DB connection pool.
+    Examples for many popular databases.</li>
+<li><a href="class-loader-howto.html"><strong>Classloading</strong></a>
+    - Information about class loading in Apache Tomcat 6, including where to place
+    your application classes so that they are visible.</li>
+<li><a href="jasper-howto.html"><strong>JSPs</strong></a>
+    - Information about Jasper configuration, as well as the JSP compiler
+    usage.</li>
+<li><a href="ssl-howto.html"><strong>SSL</strong></a> -
+    Installing and
+    configuring SSL support so that your Apache Tomcat will serve requests using
+    the <code>https</code> protocol.</li>
+<li><a href="ssi-howto.html"><strong>SSI</strong></a> -
+    Using Server Side Includes in Apache Tomcat.</li>
+<li><a href="cgi-howto.html"><strong>CGI</strong></a> -
+    Using CGIs with Apache Tomcat.</li>
+<li><a href="proxy-howto.html"><strong>Proxy Support</strong></a> -
+    Configuring Apache Tomcat 6 to run behind a proxy server (or a web server
+    functioning as a proxy server).</li>
+<li><a href="mbeans-descriptor-howto.html"><strong>MBean Descriptor</strong></a> -
+    Configuring MBean descriptors files for custom components.</li>
+<li><a href="default-servlet.html"><strong>Default Servlet</strong></a> -
+    Configuring the default servlet and customizing directory listings.</li>
+<li><a href="cluster-howto.html"><strong>Apache Tomcat Clustering</strong></a> -
+    Enable session replication in a Apache Tomcat environment.</li>
+<li><a href="balancer-howto.html"><strong>Balancer</strong></a> -
+    Configuring, using, and extending the load balancer application.</li>
+<li><a href="connectors.html"><strong>Connectors</strong></a> -
+    Connectors available in Apache Tomcat, and native web server integration.</li>
+<li><a href="monitoring.html"><strong>Monitoring and Management</strong></a> -
+    Enabling JMX Remote support, and using tools to monitor and manage Apache Tomcat.</li>
+<li><a href="logging.html"><strong>Logging</strong></a> -
+    Configuring logging in Apache Tomcat.</li>
+<li><a href="apr.html"><strong>Apache Portable Runtime</strong></a> -
+    Using APR to provide superior performance, scalability and better
+    integration with native server technologies.</li>
+<li><a href="virtual-hosting-howto.html"><strong>Virtual Hosting</strong></a> -
+    Configuring vitual hosting in Apache Tomcat.</li>
+<li><a href="aio.html"><strong>Advanced IO</strong></a> -
+    Extensions available over regular, blocking IO.</li>
+<li><a href="extras.html"><strong>Additional Components</strong></a> -
+    Obtaining additional, optional components.</li>
+
+</ol>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Reference"><strong>Reference</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The following documents are aimed at <em>System Administrators</em> who
+are responsible for installing, configuring, and operating a Apache Tomcat 6 server.
+</p>
+<ul>
+<li><a href="RELEASE-NOTES.txt"><strong>Release notes</strong></a>
+    - Known issues in this Apache Tomcat release.
+    </li>
+<li><a href="config/index.html"><strong>Apache Tomcat Server Configuration Reference</strong></a>
+    - Reference manual that documents all available elements and attributes
+      that may be placed into a Apache Tomcat 6 <code>conf/server.xml</code> file.
+    </li>
+<li><a href="http://tomcat.apache.org/connectors-doc/index.html"><strong>JK Documentation</strong></a>
+    - Complete documentation and HOWTOs on the JK native webserver connector,
+      used to interface Apache Tomcat with servers like Apache HTTPd, IIS
+      and others.</li>
+<li><a href="http://java.sun.com/products/servlet/2.5/docs/servlet-2_5-mr2/index.html">
+    <strong>Servlet API Javadocs</strong></a> - The Servlet 2.5 API Javadocs.</li>
+<li><a href="http://java.sun.com/products/jsp/2.1/docs/jsp-2_1-pfd2/index.html">
+    <strong>JSP API Javadocs</strong></a> - The JSP 2.1 API Javadocs.</li>
+</ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Apache Tomcat Developers"><strong>Apache Tomcat Developers</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The following documents are for Java developers who wish to contribute to
+the development of the <em>Apache Tomcat</em> project.</p>
+<ul>
+<li><a href="building.html"><strong>Building from Source</strong></a> -
+    Details the steps necessary to download Apache Tomcat 6 source code (and the
+    other packages that it depends on), and build a binary distribution from
+    those sources.
+    </li>
+<li><a href="changelog.html"><strong>Changelog</strong></a> - Details the
+    changes made to Apache Tomcat.
+    </li>
+<li><a href="status.html"><strong>Status</strong></a> - Apache Tomcat development
+    status.
+    </li>
+<li><a href="developers.html"><strong>Developers</strong></a> - List of active
+    Apache Tomcat contributors.
+    </li>
+<li><a href="funcspecs/index.html"><strong>Functional Specifications</strong></a>
+    - Requirements specifications for features of the <em>Catalina</em> servlet
+    container portion of Apache Tomcat 6.</li>
+<li><a href="api/index.html"><strong>Javadocs</strong></a>
+    - Javadoc API documentation for Apache Tomcat's internals.</li>
+<li><a href="architecture/index.html"><strong>Apache Tomcat Architecture</strong></a>
+    - Documentation of the Apache Tomcat Server Architecture.</li>
+</ul>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/introduction.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/introduction.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/introduction.html	(revision 66)
@@ -0,0 +1,105 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - Introduction</title><meta value="Robert Slifka" name="author"><meta value="rslifka@sfu.ca" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://wiki.apache.org/tomcat/FAQ">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR/Native</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li><li><a href="aio.html">25) Advanced IO</a></li><li><a href="extras.html">26) Additional Components</a></li><li><a href="maven-jars.html">27) Mavenized</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Configuration</a></li><li><a href="api/index.html">Javadocs</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="http://wiki.apache.org/tomcat/TomcatVersions">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="architecture/index.html">Architecture</a></li><li><a href="funcspecs/index.html">Functional Specs.</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>Introduction</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/introduction.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>For administrators and web developers alike, there are some important bits
+of information you should familiarize yourself with before starting out. This
+document serves as a brief introduction to some of the concepts and
+terminology behind the Tomcat container. As well, where to go when you need
+help.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Terminology"><strong>Terminology</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>In the course of reading these documents, you'll run across a number of
+terms; some specific to Tomcat, and others defined by the
+<a href="http://java.sun.com/products/servlet/">Servlet</a> or
+<a href="http://java.sun.com/products/jsp/">JSP</a> specifications.</p>
+
+<ul>
+<li><strong>Context</strong> - In a nutshell, a Context is a
+    web application.</li>
+<li><strong>Term2</strong> - This is it.</li>
+<li><strong>Term3</strong> - This is it!</li>
+</ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Directories and Files"><strong>Directories and Files</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Throughout the docs, you'll notice there are numerous references to
+<strong>$CATALINA_HOME</strong>. This represents the root of your Tomcat
+installation. When we say, "This information can be found in your
+$CATALINA_HOME/README.txt file" we mean to look at the README.txt file at the
+root of your Tomcat install. Optionally, Tomcat may be configured for multiple
+instances by defining <strong>$CATALINA_BASE</strong> for each instance. If
+multiple instances are not configured, <strong>$CATALINA_BASE</strong> is the
+same as <strong>$CATALINA_HOME</strong>.</p>
+
+<p>These are some of the key tomcat directories:</p>
+
+<ul>
+<li><strong>/bin</strong> - Startup, shutdown, and other scripts. The
+    <code>*.sh</code> files (for Unix systems) are functional duplicates of
+    the <code>*.bat</code> files (for Windows systems).  Since the Win32
+    command-line lacks certain functionality, there are some additional
+    files in here.</li>
+<li><strong>/conf</strong> - Configuration files and related DTDs.  The most
+    important file in here is server.xml.  It is the main configuration file
+    for the container.</li>
+<li><strong>/logs</strong> - Log files are here by default.</li>
+<li><strong>/webapps</strong> - This is where your webapps go.</li>
+</ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Configuring Tomcat"><strong>Configuring Tomcat</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>This section will acquaint you with the basic information used during
+the configuration of the container.</p>
+
+<p>All of the information in the configuration files is read at startup,
+meaning that any change to the files necessitates a restart of the container.
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Where to Go for Help"><strong>Where to Go for Help</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>While we've done our best to ensure that these documents are clearly
+written and easy to understand, we may have missed something.  Provided
+below are various web sites and mailing lists in case you get stuck.</p>
+
+<p>As Tomcat 6 is a new release of Tomcat, keep in mind that some of the
+issues and solutions vary between the major versions of Tomcat (4.x versus
+5).  As you search around the web, there will be some documentation that
+is not relevant to Tomcat 6, but 3.x, 4.x and 5.x.  Doing 3.x or 4.x things to 6
+will probably not work in most cases as the server.xml files are very
+different.</p>
+
+<ul>
+<li>Current document - most documents will list potential hangups. Be sure
+    to fully read the relevant documentation as it will save you much time
+    and effort. There's nothing like scouring the web only to find out that
+    the answer was right in front of you all along!</li>
+<li><a href="http://tomcat.apache.org/faq/">Tomcat FAQ</a> as maintained by the developers.</li>
+<li><a href="http://wiki.apache.org/tomcat/">Tomcat WIKI</a></li>
+<li>Tomcat FAQ at <a href="http://www.jguru.com/faq/home.jsp?topic=Tomcat">jGuru</a></li>
+<li>Tomcat mailing list archives - numerous sites archive the Tomcat mailing
+    lists. Since the links change over time, clicking here will search
+    <a href="http://www.google.com/search?q=tomcat+mailing+list+archives">Google</a>.
+    </li>
+<li>The TOMCAT-USER mailing list, which you can subscribe to
+    <a href="http://tomcat.apache.org/lists.html">here</a>. If you don't
+    get a reply, then there's a good chance that your question was probably
+    answered in the list archives or one of the FAQs.  Although questions
+    about web application development in general are sometimes asked and
+    answered, please focus your questions on Tomcat-specific issues.</li>
+<li>The TOMCAT-DEV mailing list, which you can subscribe to
+    <a href="http://tomcat.apache.org/lists.html">here</a>.  This list is
+    <strong>reserved</strong> for discussions about the development of Tomcat
+    itself.  Questions about Tomcat configuration, and the problems you run
+    into while developing and running applications, will normally be more
+    appropriate on the TOMCAT-USER list instead.</li>
+</ul>
+
+<p>And, if you think something should be in the docs, by all means let us know
+on the TOMCAT-DEV list, or send one of the doc authors email.</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/jasper-howto.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/jasper-howto.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/jasper-howto.html	(revision 66)
@@ -0,0 +1,334 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - Jasper 2 JSP Engine How To</title><meta value="Glenn L. Nielsen" name="author"><meta value="glenn@apache.org" name="email"><meta value="Peter Rossbach" name="author"><meta value="pero@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://wiki.apache.org/tomcat/FAQ">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR/Native</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li><li><a href="aio.html">25) Advanced IO</a></li><li><a href="extras.html">26) Additional Components</a></li><li><a href="maven-jars.html">27) Mavenized</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Configuration</a></li><li><a href="api/index.html">Javadocs</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="http://wiki.apache.org/tomcat/TomcatVersions">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="architecture/index.html">Architecture</a></li><li><a href="funcspecs/index.html">Functional Specs.</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>Jasper 2 JSP Engine How To</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/jasper-howto.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Table of Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+<a href="#Introduction">Introduction</a><br>
+<a href="#Configuration">Configuration</a><br>
+<a href="#Production Configuration">Production Configuration</a><br>
+<a href="#Web Application Compilation">Web Application Compilation</a><br>
+<a href="#Using Jikes">Using Jikes</a><br>
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Tomcat 6.0 uses the Jasper 2 JSP Engine to implement
+the <a href="http://java.sun.com/products/jsp/">JavaServer Pages 2.0</a>
+specification.</p>
+
+<p>Jasper 2 has been redesigned to significantly improve performance over
+the orignal Jasper.  In addition to general code improvements the following
+changes were made:
+<ul>
+<li><strong>JSP Custom Tag Pooling</strong> - The java objects instantiated
+for JSP Custom Tags can now be pooled and reused.  This significantly boosts
+the performance of JSP pages which use custom tags.</li>
+<li><strong>Background JSP compilation</strong> - If you make a change to
+a JSP page which had already been compiled Jasper 2 can recompile that
+page in the background.  The previously compiled JSP page will still be
+available to serve requests.  Once the new page has been compiled
+successfully it will replace the old page.  This helps improve availablity
+of your JSP pages on a production server.</li>
+<li><strong>Recompile JSP when included page changes</strong> - Jasper 2
+can now detect when a page included at compile time from a JSP has changed
+and then recompile the parent JSP.</li>
+<li><strong>JDT used to compile JSP pages</strong> - The
+Eclipse JDT Java compiler is now used to perform JSP java source code
+compilation. This compiler loads source dependencies from the container
+classloader. Ant and javac can still be used.</li>
+</ul>
+</p>
+
+<p>Jasper is implemented using the servlet class
+<code>org.apache.jasper.servlet.JspServlet</code>.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Configuration"><strong>Configuration</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>By default Jasper is configured for use when doing web application
+development.  See the section <a href="#Production Configuration">
+Production Configuration</a> for information on configuring Jasper
+for use on a production Tomcat server.</p>
+
+<p>The servlet which implements Jasper is configured using init parameters
+in your global <code>$CATALINA_BASE/conf/web.xml</code>.
+
+<ul>
+<li><strong>checkInterval</strong> - If development is false and checkInterval
+is greater than zero, background compiles are enabled. checkInterval is the time
+in seconds between checks to see if a JSP page (and its dependent files) needs
+to be recompiled. Default <code>0</code> seconds.</li>
+
+<li><strong>classdebuginfo</strong> - Should the class file be compiled with
+debugging information?  <code>true</code> or <code>false</code>, default
+<code>true</code>.
+</li>
+
+<li><strong>classpath</strong> - Defines the class path to be used to compile
+the generated servlets. This parameter only has an effect if the ServletContext
+attribute org.apache.jasper.Constants.SERVLET_CLASSPATH is not set. This
+attribute is always set when Jasper is used within Tomcat. By default the
+classpath is created dynamically based on the current web application.</li>
+
+<li><strong>compiler</strong> - Which compiler Ant should use to compile JSP
+pages.  See the Ant documentation for more information. If the value is not set,
+then the default Eclipse JDT Java compiler will be used instead of using Ant. 
+No default value.</li>
+
+<li><strong>compilerSourceVM</strong> - What JDK version are the source files
+compatible with? (Default JDK 1.4)</li>
+
+<li><strong>compilerTargetVM</strong> - What JDK version are the generated files
+compatible with? (Default JDK 1.4)</li>
+
+<li><strong>development</strong> - Is Jasper used in development mode? If true,
+the frequency at which JSPs are checked for modification may be specified via
+the modificationTestInterval parameter.<code>true</code> or <code>false</code>,
+default <code>true</code>.</li>
+
+<li><strong>displaySourceFragment</strong> - Should a source fragment be
+included in exception messages? <code>true</code> or <code>false</code>,
+default <code>true</code>.</li>
+
+<li><strong>dumpSmap</strong> - Should the SMAP info for JSR45 debugging be
+dumped to a file? <code>true</code> or <code>false</code>, default
+<code>false</code>. <code>false</code> if suppressSmap is true.</li>
+
+<li><strong>enablePooling</strong> - Determines whether tag handler pooling is
+enabled. <code>true</code> or <code>false</code>, default <code>true</code>.
+</li>
+
+<li><strong>engineOptionsClass</strong> - Allows specifying the Options class
+used to configure Jasper. If not present, the default EmbeddedServletOptions
+will be used.
+</li>
+
+<li><strong>errorOnUseBeanInvalidClassAttribute</strong> - Should Jasper issue
+an error when the value of the class attribute in an useBean action is not a
+valid bean class? <code>true</code> or <code>false</code>, default
+<code>true</code>.</li>
+
+<li><strong>fork</strong> - Have Ant fork JSP page compiles so they are
+performed in a seperate JVM from Tomcat? <code>true</code> or
+<code>false</code>, default <code>true</code>.</li>
+
+<li><strong>genStringAsCharArray</strong> - Should text strings be generated as char
+arrays, to improve performance in some cases? Default <code>false</code>.</li>
+
+<li><strong>ieClassId</strong> - The class-id value to be sent to Internet
+Explorer when using &lt;jsp:plugin&gt; tags.   Default
+<code>clsid:8AD9C840-044E-11D1-B3E9-00805F499D93</code>.</li>
+
+<li><strong>javaEncoding</strong> - Java file encoding to use for generating
+java source files. Default <code>UTF8</code>.</li>
+
+<li><strong>keepgenerated</strong> - Should we keep the generated Java source
+code for each page instead of deleting it? <code>true</code> or
+<code>false</code>, default <code>true</code>.</li>
+
+<li><strong>mappedfile</strong> - Should we generate static content with one 
+print statement per input line, to ease debugging?
+<code>true</code> or <code>false</code>, default <code>true</code>.</li>
+
+<li><strong>modificationTestInterval</strong> - Causes a JSP (and its dependent
+files) to not be checked for modification during the specified time interval
+(in seconds) from the last time the JSP was checked for modification. A value of
+0 will cause the JSP to be checked on every access. Used in development mode
+only. Default is <code>4</code> seconds.</li>
+
+<li><strong>scratchdir</strong> - What scratch directory should we use when
+compiling JSP pages? Default is the work directory for the current web
+application.</li>
+
+<li><strong>suppressSmap</strong> - Should the generation of SMAP info for JSR45
+debugging be suppressed? <code>true</code> or <code>false</code>, default
+<code>false</code>.</li>
+ 
+<li><strong>trimSpaces</strong> - Should white spaces in template text between
+actions or directives be trimmed ?, default <code>false</code>.</li>
+
+<li><strong>xpoweredBy</strong> - Determines whether X-Powered-By response
+header is added by generated servlet. <code>true</code> or <code>false</code>,
+default <code>false</code>.</li>
+</ul>
+</p>
+
+<p>The Java compiler from Eclipse JDT in included as the default compiler. It is
+an advanced Java compiler which will load all dependencies from the Tomcat class
+loader, which will help tremendously when compiling on large installations with
+tens of JARs. On fast servers, this will allow sub-second recompilation cycles
+for even large JSP  pages.</p>
+
+<p>Apache Ant, which was used in previous Tomcat releases, can be used instead
+of the new compiler by simply removing the <code>lib/jasper-jdt.jar</code> file, 
+and placing the <code>ant.jar</code> file from the latest Ant distribution in
+the <code>lib</code> folder.  If you do this, you also need to use the "javac"
+argument to catalina.sh.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Production Configuration"><strong>Production Configuration</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The main JSP optimization which can be done is precompilation of JSPs.
+However, this might not be possible (for example, when using the
+jsp-property-group feature) or practical, in which case the configuration of the
+Jasper servlet becomes critical.</p>
+
+<p>When using Jasper 2 in a production Tomcat server you should consider making
+the following changes from the default configuration.
+<ul>
+<li><strong>development</strong> - To disable on access checks for JSP
+pages compilation set this to <code>false</code>.</li>
+<li><strong>genStringAsCharArray</strong> - To generate slightly more efficient 
+char arrays, set this to <code>true</code>.</li>
+<li><strong>modificationTestInterval</strong> - If development has to be set to
+<code>true</code> for any reason (such as dynamic generation of JSPs), setting
+this to a high value will improve performance a lot.</li>
+<li><strong>trimSpaces</strong> - To remove useless bytes from the response,
+set this to <code>true</code>.</li>
+</ul>
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Web Application Compilation"><strong>Web Application Compilation</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Using Ant is the preferred way to compile web applications using JSPC. 
+Use the script given below (a similar script is included in the "deployer" 
+download) to precompile a webapp:
+</p>
+
+<p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;project name="Webapp Precompilation" default="all" basedir="."&gt; 
+
+   &lt;import file="${tomcat.home}/bin/catalina-tasks.xml"/&gt;
+  
+   &lt;target name="jspc"&gt; 
+
+    &lt;jasper 
+             validateXml="false" 
+             uriroot="${webapp.path}" 
+             webXmlFragment="${webapp.path}/WEB-INF/generated_web.xml" 
+             outputDir="${webapp.path}/WEB-INF/src" /&gt; 
+
+  &lt;/target&gt; 
+
+  &lt;target name="compile"&gt;
+
+    &lt;mkdir dir="${webapp.path}/WEB-INF/classes"/&gt;
+    &lt;mkdir dir="${webapp.path}/WEB-INF/lib"/&gt;
+
+    &lt;javac destdir="${webapp.path}/WEB-INF/classes"
+           optimize="off"
+           debug="on" failonerror="false"
+           srcdir="${webapp.path}/WEB-INF/src" 
+	   excludes="**/*.smap"&gt;
+      &lt;classpath&gt;
+        &lt;pathelement location="${webapp.path}/WEB-INF/classes"/&gt;
+        &lt;fileset dir="${webapp.path}/WEB-INF/lib"&gt;
+          &lt;include name="*.jar"/&gt;
+        &lt;/fileset&gt;
+        &lt;pathelement location="${tomcat.home}/lib"/&gt;
+        &lt;fileset dir="${tomcat.home}/common/lib"&gt;
+          &lt;include name="*.jar"/&gt;
+        &lt;/fileset&gt;
+        &lt;fileset dir="${tomcat.home}/bin"&gt; 
+          &lt;include name="*.jar"/&gt; 
+        &lt;/fileset&gt; 
+      &lt;/classpath&gt;
+      &lt;include name="**" /&gt;
+      &lt;exclude name="tags/**" /&gt;
+    &lt;/javac&gt;
+
+  &lt;/target&gt;
+
+  &lt;target name="all" depends="jspc,compile"&gt;
+  &lt;/target&gt;
+
+  &lt;target name="cleanup"&gt;
+  	&lt;delete&gt;
+        &lt;fileset dir="${webapp.path}/WEB-INF/src"/&gt;
+        &lt;fileset dir="${webapp.path}/WEB-INF/classes/org/apache/jsp"/&gt;
+  	&lt;/delete&gt;
+  &lt;/target&gt;
+
+&lt;/project&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+<p>
+The following command line can be used to run the script
+(replacing the tokens with the Tomcat base path and the path to the webapp 
+which should be precompiled):<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+$ANT_HOME/bin/ant -Dtomcat.home=&lt;$TOMCAT_HOME&gt; -Dwebapp.path=&lt;$WEBAPP_PATH&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+<p>
+Then, the declarations and mappings for the servlets which were generated 
+during the precompilation must be added to the web application deployment
+descriptor. Insert the <code>${webapp.path}/WEB-INF/generated_web.xml</code>
+at the right place inside the <code>${webapp.path}/WEB-INF/web.xml</code> file.
+Restart the web application (using the manager) and test it to verify it is 
+running fine with precompiled servlets. An appropriate token placed in the
+web application deployment descriptor may also be used to automatically
+insert the generated servlet declarations and mappings using Ant filtering 
+capabilities. This is actually how all the webapps distributed with Tomcat 
+are automatically compiled as part of the build process.
+</p>
+
+<p>
+At the jasper2 task you can use the option <code>addWebXmlMappings</code> for 
+automatic merge the <code>${webapp.path}/WEB-INF/generated_web.xml</code>
+with the current web application deployment descriptor at
+<code>${webapp.path}/WEB-INF/web.xml</code>. When you want to use Java 5
+features inside your jsp's, add the following javac compiler task attributes:
+<code>source="1.5" target="1.5"</code>. For live
+applications you can also compile with <code>optimize="on"</code> and
+without debug info <code>debug="off"</code>.
+</p>
+
+<p>
+When you don't want to stop the jsp generation at first jsp syntax error, use   
+<code>failOnError="false"</code>and with
+<code>showSuccess="true"</code> all successfull <i>jsp to java</i>
+generation are printed out. Sometimes it is very helpfull, when you cleanup the
+generate java source files at <code>${webapp.path}/WEB-INF/src</code>
+and the compile jsp servlet classes at
+<code>${webapp.path}/WEB-INF/classes/org/apache/jsp</code>.
+</p>
+
+<p><strong>Hints:</strong>
+<ul>
+<li> When you switch to another Tomcat release, then regenerate and recompile
+your jsp's with the new Tomcat version.</li>
+<li>Use java system property at server runtime to disable tag pooling
+<code>org.apache.jasper.runtime.JspFactoryImpl.USE_POOL=false</code>.
+and limit the buffering with
+<code>org.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER=true</code>. Note
+that changing from the defaults may affect performance, but it will vary
+depending on the application.</li>
+</ul>
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Using Jikes"><strong>Using Jikes</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>If you wish to use
+<a href="http://oss.software.ibm.com/developerworks/opensource/jikes/">
+Jikes</a> to compile JSP pages:
+<ul>
+<li>From your <a href="ant.apache.org">Ant</a> installation, copy ant.jar
+and (if it's available: Ant 1.5 and later) ant-launcher.jar to 
+<code>$CATALINA_HOME/lib</code>.</li>
+<li>Download and install jikes. jikes must support the -encoding option.
+Execute <code>jikes -help</code> to verify that it was built with support
+for <code>-encoding</code>.</li>
+<li>Set the init parameter <code>compiler</code> to <code>jikes</code>.</li>
+<li>Define the property <code>-Dbuild.compiler.emacs=true</code> when starting
+Tomcat by adding it to your <code>CATALINA_OPTS</code> environment variable.
+This changes how jikes outputs error messages so that it is compatible with
+Jasper.</li>
+<li>If you get an error reporting that jikes can't use UTF8 encoding, try
+setting the init parameter <code>javaEncoding</code> to
+<code>ISO-8859-1</code>.</li>
+</ul>
+</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/jndi-datasource-examples-howto.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/jndi-datasource-examples-howto.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/jndi-datasource-examples-howto.html	(revision 66)
@@ -0,0 +1,619 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - JNDI Datasource HOW-TO</title><meta value="Les Hughes" name="author"><meta value="leslie.hughes@rubus.com" name="email"><meta value="David Haraburda" name="author"><meta value="david-tomcat@haraburda.com" name="email"><meta value="Glenn Nielsen" name="author"><meta value="" name="email"><meta value="Yoav Shapira" name="author"><meta value="yoavs@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://wiki.apache.org/tomcat/FAQ">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR/Native</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li><li><a href="aio.html">25) Advanced IO</a></li><li><a href="extras.html">26) Additional Components</a></li><li><a href="maven-jars.html">27) Mavenized</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Configuration</a></li><li><a href="api/index.html">Javadocs</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="http://wiki.apache.org/tomcat/TomcatVersions">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="architecture/index.html">Architecture</a></li><li><a href="funcspecs/index.html">Functional Specs.</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>JNDI Datasource HOW-TO</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/jndi-datasource-examples-howto.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Table of Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+<a href="#Introduction">Introduction</a><br>
+<a href="#Database Connection Pool (DBCP) Configurations">
+Database Connection Pool (DBCP) Configurations</a><br>
+<a href="#Non DBCP Solutions">Non DBCP Solutions</a><br>
+<a href="#Oracle 8i with OCI client">Oracle 8i with OCI client</a><br>
+<a href="#Common Problems">Common Problems</a><br>
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>JNDI Datasource configuration is covered extensively in the
+JNDI-Resources-HOWTO.  However, feedback from <code>tomcat-user</code> has
+shown that specifics for individual configurations can be rather tricky.</p>
+
+<p>Here then are some example configurations that have been posted to
+tomcat-user for popular databases and some general tips for db useage.</p>
+
+<p>You should be aware that since these notes are derived from configuration
+and/or feedback posted to <code>tomcat-user</code> YMMV :-). Please let us
+know if you have any other tested configurations that you feel may be of use
+to the wider audience, or if you feel we can improve this section in anyway.</p>
+
+<p>
+<b>Please note that JNDI resource configuration changed somewhat between
+Tomcat 5.0.x and Tomcat 5.5.x.</b>  You will most likely need to modify older
+JNDI resource configurations to match the syntax in the example below in order
+to make them work in Tomcat 6.x.x.
+</p>
+
+<p>
+Also, please note that JNDI DataSource configuration in general, and this 
+tutorial in particular, assumes that you have read and understood the 
+<a href="config/context.html">Context</a> and 
+<a href="config/host.html">Host</a> configuration references, including
+the section about Automatic Application Deployment in the latter reference.
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Database Connection Pool (DBCP) Configurations"><strong>Database Connection Pool (DBCP) Configurations</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>DBCP provides support for JDBC 2.0.  On systems using a 1.4 JVM DBCP
+will support JDBC 3.0. Please let us know if you have used DBCP and its
+JDBC 3.0 features with a 1.4 JVM.
+</p>
+
+<p>See the <a href="http://jakarta.apache.org/commons/dbcp/configuration.html">
+DBCP documentation</a> for a complete list of configuration parameters.
+</p>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Installation"><strong>Installation</strong></a></font></td></tr><tr><td><blockquote>
+<p>DBCP uses the Jakarta-Commons Database Connection Pool. It relies on
+number of Jakarta-Commons components:
+<ul>
+<li>Jakarta-Commons DBCP</li>
+<li>Jakarta-Commons Collections</li>
+<li>Jakarta-Commons Pool</li>
+</ul>
+These libraries are located in a single JAR at 
+<code>$CATALINA_HOME/lib/tomcat-dbcp.jar</code>. However,
+only the classes needed for connection pooling have been included, and the
+packages have been renamed to avoid interfering with applications.
+</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Preventing dB connection pool leaks"><strong>Preventing dB connection pool leaks</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>
+A database connection pool creates and manages a pool of connections
+to a database. Recycling and reusing already existing connections
+to a dB is more efficient than opening a new connection.
+</p>
+
+<p>
+There is one problem with connection pooling.  A web application has
+to explicetely close ResultSet's, Statement's, and Connection's.
+Failure of a web application to close these resources can result in
+them never being available again for reuse, a db connection pool "leak".
+This can eventually result in your web application db connections failing
+if there are no more available connections.</p>
+
+<p>
+There is a solution to this problem.  The Jakarta-Commons DBCP can be
+configured to track and recover these abandoned dB connections.  Not
+only can it recover them, but also generate a stack trace for the code
+which opened these resources and never closed them.</p>
+
+<p>
+To configure a DBCP DataSource so that abandoned dB connections are
+removed and recycled add the following attribute to the
+<code>Resource</code> configuration for your DBCP DataSource:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+            removeAbandoned="true"
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+When available db connections run low DBCP will recover and recyle
+any abandoned dB connections it finds. The default is <code>false</code>.
+</p>
+
+<p>
+Use the <code>removeAbandonedTimeout</code> attribute to set the number
+of seconds a dB connection has been idle before it is considered abandoned.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+            removeAbandonedTimeout="60"
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+The default timeout for removing abandoned connections is 300 seconds.
+</p>
+
+<p>
+The <code>logAbandoned</code> attribute can be set to <code>true</code>
+if you want DBCP to log a stack trace of the code which abandoned the
+dB connection resources.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+            logAbandoned="true"
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+The default is <code>false</code>.
+</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="MySQL DBCP Example"><strong>MySQL DBCP Example</strong></a></font></td></tr><tr><td><blockquote>
+
+<h3>0. Introduction</h3>
+<p>Versions of <a href="http://www.mysql.com/products/mysql/index.html">MySQL</a> and JDBC drivers that have been reported to work:
+<ul>
+<li>MySQL 3.23.47, MySQL 3.23.47 using InnoDB,, MySQL 3.23.58,  MySQL 4.0.1alpha</li>
+<li><a href="http://www.mysql.com/products/connector-j">Connector/J</a> 3.0.11-stable (the official JDBC Driver)</li>
+<li><a href="http://mmmysql.sourceforge.net">mm.mysql</a> 2.0.14 (an old 3rd party JDBC Driver)</li>
+</ul>
+</p>
+
+<p>Before you proceed, don't forget to copy the JDBC Driver's jar into <code>$CATALINA_HOME/lib</code>.</p>
+
+<h3>1. MySQL configuration</h3>
+<p>
+Ensure that you follow these instructions as variations can cause problems.
+</p>
+
+<p>Create a new test user, a new database and a single test table.
+Your MySQL user <strong>must</strong> have a password assigned. The driver
+will fail if you try to connect with an empty password.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+mysql&gt; GRANT ALL PRIVILEGES ON *.* TO javauser@localhost 
+    -&gt;   IDENTIFIED BY 'javadude' WITH GRANT OPTION;
+mysql&gt; create database javatest;
+mysql&gt; use javatest;
+mysql&gt; create table testdata (
+    -&gt;   id int not null auto_increment primary key,
+    -&gt;   foo varchar(25), 
+    -&gt;   bar int);
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+<blockquote>
+<strong>Note:</strong> the above user should be removed once testing is
+complete!
+</blockquote>
+</p>
+
+<p>Next insert some test data into the testdata table.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+mysql&gt; insert into testdata values(null, 'hello', 12345);
+Query OK, 1 row affected (0.00 sec)
+
+mysql&gt; select * from testdata;
++----+-------+-------+
+| ID | FOO   | BAR   |
++----+-------+-------+
+|  1 | hello | 12345 |
++----+-------+-------+
+1 row in set (0.00 sec)
+
+mysql&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+<h3>2. Context configuration</h3>
+<p>Configure the JNDI DataSource in Tomcat by adding a declaration for your
+resource to your <a href="config/context.html">Context</a>.</p>
+<p>For example:
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context path="/DBTest" docBase="DBTest"
+        debug="5" reloadable="true" crossContext="true"&gt;
+
+    &lt;!-- maxActive: Maximum number of dB connections in pool. Make sure you
+         configure your mysqld max_connections large enough to handle
+         all of your db connections. Set to -1 for no limit.
+         --&gt;
+
+    &lt;!-- maxIdle: Maximum number of idle dB connections to retain in pool.
+         Set to -1 for no limit.  See also the DBCP documentation on this
+         and the minEvictableIdleTimeMillis configuration parameter.
+         --&gt;
+
+    &lt;!-- maxWait: Maximum time to wait for a dB connection to become available
+         in ms, in this example 10 seconds. An Exception is thrown if
+         this timeout is exceeded.  Set to -1 to wait indefinitely.
+         --&gt;
+
+    &lt;!-- username and password: MySQL dB username and password for dB connections  --&gt;
+
+    &lt;!-- driverClassName: Class name for the old mm.mysql JDBC driver is
+         org.gjt.mm.mysql.Driver - we recommend using Connector/J though.
+         Class name for the official MySQL Connector/J driver is com.mysql.jdbc.Driver.
+         --&gt;
+    
+    &lt;!-- url: The JDBC connection url for connecting to your MySQL dB.
+         The autoReconnect=true argument to the url makes sure that the
+         mm.mysql JDBC Driver will automatically reconnect if mysqld closed the
+         connection.  mysqld by default closes idle connections after 8 hours.
+         --&gt;
+
+  &lt;Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource"
+               maxActive="100" maxIdle="30" maxWait="10000"
+               username="javauser" password="javadude" driverClassName="com.mysql.jdbc.Driver"
+               url="jdbc:mysql://localhost:3306/javatest?autoReconnect=true"/&gt;
+
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+<h3>3. web.xml configuration</h3>
+
+<p>Now create a <code>WEB-INF/web.xml</code> for this test application.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;web-app xmlns="http://java.sun.com/xml/ns/j2ee"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
+http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
+    version="2.4"&gt;
+  &lt;description&gt;MySQL Test App&lt;/description&gt;
+  &lt;resource-ref&gt;
+      &lt;description&gt;DB Connection&lt;/description&gt;
+      &lt;res-ref-name&gt;jdbc/TestDB&lt;/res-ref-name&gt;
+      &lt;res-type&gt;javax.sql.DataSource&lt;/res-type&gt;
+      &lt;res-auth&gt;Container&lt;/res-auth&gt;
+  &lt;/resource-ref&gt;
+&lt;/web-app&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+<h3>4. Test code</h3>
+<p>Now create a simple <code>test.jsp</code> page for use later.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %&gt;
+&lt;%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %&gt;
+
+&lt;sql:query var="rs" dataSource="jdbc/TestDB"&gt;
+select id, foo, bar from testdata
+&lt;/sql:query&gt;
+
+&lt;html&gt;
+  &lt;head&gt;
+    &lt;title&gt;DB Test&lt;/title&gt;
+  &lt;/head&gt;
+  &lt;body&gt;
+
+  &lt;h2&gt;Results&lt;/h2&gt;
+  
+&lt;c:forEach var="row" items="${rs.rows}"&gt;
+    Foo ${row.foo}&lt;br/&gt;
+    Bar ${row.bar}&lt;br/&gt;
+&lt;/c:forEach&gt;
+
+  &lt;/body&gt;
+&lt;/html&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+<p>That JSP page makes use of <a href="http://java.sun.com/products/jsp/jstl">JSTL</a>'s SQL and Core taglibs. You can get it from Sun's <a href="http://java.sun.com/webservices/downloads/webservicespack.html">Java Web Services Developer Pack</a> or <a href="http://jakarta.apache.org/taglibs/doc/standard-doc/intro.html">Jakarta Taglib Standard 1.1</a> project - just make sure you get a 1.1.x release. Once you have JSTL, copy <code>jstl.jar</code> and <code>standard.jar</code> to your web app's <code>WEB-INF/lib</code> directory.
+
+</p>
+
+<p>Finally deploy your web app into <code>$CATALINA_BASE/webapps</code> either
+as a warfile called <code>DBTest.war</code> or into a sub-directory called
+<code>DBTest</code></p>
+<p>Once deployed, point a browser at
+<code>http://localhost:8080/DBTest/test.jsp</code> to view the fruits of
+your hard work.</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Oracle 8i, 9i & 10g"><strong>Oracle 8i, 9i &amp; 10g</strong></a></font></td></tr><tr><td><blockquote>
+<h3>0.    Introduction</h3>
+
+<p>Oracle requires minimal changes from the MySQL configuration except for the
+usual gotchas :-)</p>
+<p>Drivers for older Oracle versions may be distributed as *.zip files rather
+than *.jar files. Tomcat will only use <code>*.jar</code> files installed in
+<code>$CATALINA_HOME/lib</code>. Therefore <code>classes111.zip</code>
+or <code>classes12.zip</code> will need to be renamed with a <code>.jar</code>
+extension. Since jarfiles are zipfiles, there is no need to unzip and jar these
+files - a simple rename will suffice.</p>
+
+<p>For Oracle 9i onwards you should use <code>oracle.jdbc.OracleDriver</code>
+rather than <code>oracle.jdbc.driver.OracleDriver</code> as Oracle have stated
+that <code>oracle.jdbc.driver.OracleDriver</code> is deprecated and support
+for this driver class will be discontinued in the next major release.
+</p>
+
+<h3>1. Context configuration</h3>
+<p>In a similar manner to the mysql config above, you will need to define your
+Datasource in your <a href="config/context.html">Context</a>. Here we define a
+Datasource called myoracle using the thin driver to connect as user scott,
+password tiger to the sid called mysid. (Note: with the thin driver this sid is
+not the same as the tnsname). The schema used will be the default schema for the
+user scott.</p>
+
+<p>Use of the OCI driver should simply involve a changing thin to oci in the URL string.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Resource name="jdbc/myoracle" auth="Container"
+              type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver"
+              url="jdbc:oracle:thin:@127.0.0.1:1521:mysid"
+              username="scott" password="tiger" maxActive="20" maxIdle="10"
+              maxWait="-1"/&gt; 
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+<h3>2.    web.xml configuration</h3>
+<p>You should ensure that you respect the element ordering defined by the DTD when you
+create you applications web.xml file.</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;resource-ref&gt;
+ &lt;description&gt;Oracle Datasource example&lt;/description&gt;
+ &lt;res-ref-name&gt;jdbc/myoracle&lt;/res-ref-name&gt;
+ &lt;res-type&gt;javax.sql.DataSource&lt;/res-type&gt;
+ &lt;res-auth&gt;Container&lt;/res-auth&gt;
+&lt;/resource-ref&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+<h3>3.   Code example</h3>
+<p>You can use the same example application as above (asuming you create the required DB
+instance, tables etc.) replacing the Datasource code with something like</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Context initContext = new InitialContext();
+Context envContext  = (Context)initContext.lookup("java:/comp/env");
+DataSource ds = (DataSource)envContext.lookup("jdbc/myoracle");
+Connection conn = ds.getConnection();
+//etc.
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="PostgreSQL"><strong>PostgreSQL</strong></a></font></td></tr><tr><td><blockquote>
+<h3>0.    Introduction</h3>
+<p>PostgreSQL is configured in a similar manner to Oracle.</p>
+
+<h3>1. Required files </h3>
+<p>
+Copy the Postgres JDBC jar to $CATALINA_HOME/lib. As with Oracle, the
+jars need to be in this directory in order for DBCP's Classloader to find
+them. This has to be done regardless of which configuration step you take next.
+</p>
+
+<h3>2. Resource configuration</h3>
+
+<p>
+You have two choices here: define a datasource that is shared across all Tomcat
+applications, or define a datasource specifically for one application.
+</p>
+
+<h4>2a. Shared resource configuration</h4>
+<p>
+Use this option if you wish to define a datasource that is shared across
+multiple Tomcat applications, or if you just prefer defining your datasource
+in this file.
+</p>
+<p><i>This author has not had success here, although others have reported so.
+Clarification would be appreciated here.</i></p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Resource name="jdbc/postgres" auth="Container"
+          type="javax.sql.DataSource" driverClassName="org.postgresql.Driver"
+          url="jdbc:postgresql://127.0.0.1:5432/mydb"
+          username="myuser" password="mypasswd" maxActive="20" maxIdle="10" maxWait="-1"/&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+<h4>2b. Application-specific resource configuration</h4>
+
+<p>
+Use this option if you wish to define a datasource specific to your application,
+not visible to other Tomcat applications. This method is less invasive to your
+Tomcat installation.
+</p>
+
+<p>
+Create a resource definition for your <a href="config/context.html">Context</a>.
+The Context element should look something like the following.
+</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context path="/someApp" docBase="someApp"
+   crossContext="true" reloadable="true" debug="1"&gt;
+
+&lt;Resource name="jdbc/postgres" auth="Container"
+          type="javax.sql.DataSource" driverClassName="org.postgresql.Driver"
+          url="jdbc:postgresql://127.0.0.1:5432/mydb"
+          username="myuser" password="mypasswd" maxActive="20" maxIdle="10"
+maxWait="-1"/&gt;
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<h3>3. web.xml configuration</h3>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;resource-ref&gt;
+ &lt;description&gt;postgreSQL Datasource example&lt;/description&gt;
+ &lt;res-ref-name&gt;jdbc/postgres&lt;/res-ref-name&gt;
+ &lt;res-type&gt;javax.sql.DataSource&lt;/res-type&gt;
+ &lt;res-auth&gt;Container&lt;/res-auth&gt;
+&lt;/resource-ref&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<h4>4. Accessing the datasource</h4>
+<p>
+When accessing the datasource programmatically, remember to prepend
+<code>java:/comp/env</code> to your JNDI lookup, as in the following snippet of
+code. Note also that "jdbc/postgres" can be replaced with any value you prefer, provided
+you change it in the above resource definition file as well.
+</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+InitialContext cxt = new InitialContext();
+if ( cxt == null ) {
+   throw new Exception("Uh oh -- no context!");
+}
+
+DataSource ds = (DataSource) cxt.lookup( "java:/comp/env/jdbc/postgres" );
+
+if ( ds == null ) {
+   throw new Exception("Data source not found!");
+}
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+</blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Non-DBCP Solutions"><strong>Non-DBCP Solutions</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+These solutions either utilise a single connection to the database (not recommended for anything other
+than testing!) or some other pooling technology.
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Oracle 8i with OCI client"><strong>Oracle 8i with OCI client</strong></a></font></td></tr><tr><td><blockquote>
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+<p>Whilst not strictly addressing the creation of a JNDI DataSource using the OCI client, these notes can be combined with the
+Oracle and DBCP solution above.</p>
+<p>
+In order to use OCI driver, you should have an Oracle client installed. You should have installed
+Oracle8i(8.1.7) client from cd,  and download the suitable JDBC/OCI
+driver(Oracle8i 8.1.7.1 JDBC/OCI Driver) from <a href="http://otn.oracle.com/">otn.oracle.com</a>. 
+</p>
+<p>
+After renaming <code>classes12.zip</code> file to <code>classes12.jar</code>
+for Tomcat, copy it into <code>$CATALINA_HOME/lib</code>. 
+You may also have to remove the <code>javax.sql.*</code> classes
+from this file depending upon the version of Tomcat and JDK you are using.
+</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Putting it all together"><strong>Putting it all together</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+Ensure that you have the <code>ocijdbc8.dll</code> or <code>.so</code> in your <code>$PATH</code> or <code>LD_LIBRARY_PATH</code>
+ (possibly in <code>$ORAHOME\bin</code>) and also confirm that the native library can be loaded by a simple test program 
+using <code>System.loadLibrary("ocijdbc8");</code>
+</p>
+<p>
+You should next create a simple test servlet or jsp that has these
+<strong>critical lines</strong>:
+</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+DriverManager.registerDriver(new
+oracle.jdbc.driver.OracleDriver());
+conn =
+DriverManager.getConnection("jdbc:oracle:oci8:@database","username","password");
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+<p>
+where database is of the form <code>host:port:SID</code> Now if you try to access the URL of your 
+test servlet/jsp and what you get is a 
+<code>ServletException</code> with a root cause of <code>java.lang.UnsatisfiedLinkError:get_env_handle</code>.
+</p>
+<p>
+First, the <code>UnsatisfiedLinkError</code> indicates that you have 
+<ul>
+<li>a mismatch between your JDBC classes file and
+your Oracle client version. The giveaway here is the message stating that a needed library file cannot be
+found. For example, you may be using a classes12.zip file from Oracle Version 8.1.6 with a Version 8.1.5
+Oracle client. The classeXXXs.zip file and Oracle client software versions must match.
+</li>
+<li>A <code>$PATH</code>, <code>LD_LIBRARY_PATH</code> problem.</li>
+<li>It has been reported that ignoring the driver you have downloded from otn and using 
+the classes12.zip file from the directory <code>$ORAHOME\jdbc\lib</code> will also work.
+</li>
+</ul>
+</p>
+<p>
+Next you may experience the error <code>ORA-06401 NETCMN: invalid driver designator</code>
+</p>
+<p>
+The Oracle documentation says : "Cause: The login (connect) string contains an invalid
+driver designator. Action: Correct the string and re-submit."
+
+Change the database connect string (of the form <code>host:port:SID</code>) with this one:
+<code>(description=(address=(host=myhost)(protocol=tcp)(port=1521))(connect_data=(sid=orcl)))</code>
+</p>
+<p>
+<i>Ed. Hmm, I don't think this is really needed if you sort out your TNSNames - but I'm not an Oracle DBA :-)</i>
+</p>
+</blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Problems"><strong>Common Problems</strong></a></font></td></tr><tr><td><blockquote>
+<p>Here are some common problems encountered with a web application which
+uses a database and tips for how to solve them.</p>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Intermittent dB Connection Failures"><strong>Intermittent dB Connection Failures</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+Tomcat runs within a JVM.  The JVM periodically performs garbage collection
+(GC) to remove java objects which are no longer being used.  When the JVM
+performs GC execution of code within Tomcat freezes. If the maximum time
+configured for establishment of a dB connection is less than the amount
+of time garbage collection took you can get a db conneciton failure.
+</p>
+
+<p>To collect data on how long garbage collection is taking add the
+<code>-verbose:gc</code> argument to your <code>CATALINA_OPTS</code>
+environment variable when starting Tomcat.  When verbose gc is enabled
+your <code>$CATALINA_BASE/logs/catalina.out</code> log file will include
+data for every garbage collection including how long it took.</p>
+
+<p>When your JVM is tuned correctly 99% of the time a GC will take less
+than one second.  The remainder will only take a few seconds.  Rarely,
+if ever should a GC take more than 10 seconds.</p>
+
+<p>Make sure that the db connection timeout is set to 10-15 seconds.
+For the DBCP you set this using the parameter <code>maxWait</code>.</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Random Connection Closed Exceptions"><strong>Random Connection Closed Exceptions</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+These can occur when one request gets a db connection from the connection
+pool and closes it twice.  When using a connection pool, closing the
+connection just returns it to the pool for reuse by another request,
+it doesn't close the connection.  And Tomcat uses multiple threads to
+handle concurrent requests. Here is an example of the sequence
+of events which could cause this error in Tomcat:
+<pre>
+  Request 1 running in Thread 1 gets a db connection.
+
+  Request 1 closes the db connection.
+
+  The JVM switches the running thread to Thread 2
+
+  Request 2 running in Thread 2 gets a db connection
+  (the same db connection just closed by Request 1).
+
+  The JVM switches the running thread back to Thread 1
+
+  Request 1 closes the db connection a second time in a finally block.
+
+  The JVM switches the running thread back to Thread 2
+
+  Request 2 Thread 2 tries to use the db connection but fails
+  because Request 1 closed it.
+</pre>
+Here is an example of properly written code to use a db connection
+obtained from a connection pool:
+<pre>
+  Connection conn = null;
+  Statement stmt = null;  // Or PreparedStatement if needed
+  ResultSet rs = null;
+  try {
+    conn = ... get connection from connection pool ...
+    stmt = conn.createStatement("select ...");
+    rs = stmt.executeQuery();
+    ... iterate through the result set ...
+    rs.close();
+    rs = null;
+    stmt.close();
+    stmt = null;
+    conn.close(); // Return to connection pool
+    conn = null;  // Make sure we don't close it twice
+  } catch (SQLException e) {
+    ... deal with errors ...
+  } finally {
+    // Always make sure result sets and statements are closed,
+    // and the connection is returned to the pool
+    if (rs != null) {
+      try { rs.close(); } catch (SQLException e) { ; }
+      rs = null;
+    }
+    if (stmt != null) {
+      try { stmt.close(); } catch (SQLException e) { ; }
+      stmt = null;
+    }
+    if (conn != null) {
+      try { conn.close(); } catch (SQLException e) { ; }
+      conn = null;
+    }
+  }
+</pre>
+</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Context versus GlobalNamingResources"><strong>Context versus GlobalNamingResources</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+  Please note that although the above instructions place the JNDI declarations in a Context
+  element, it is possible and sometimes desirable to place these declarations in the 
+  <a href="config/globalresources.html">GlobalNamingResources</a> section of the server
+  configuration file.  A resource placed in the GlobalNamingResources section will be shared
+  among the Contexts of the server.
+</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JNDI Resource Naming and Realm Interaction"><strong>JNDI Resource Naming and Realm Interaction</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+  In order to get Realms to work, the realm must refer to the datasource as
+  defined in the &lt;GlobalNamingResources&gt; or &lt;Context&gt; section, not a datasource as renamed
+  using &lt;ResourceLink&gt;.
+</p>
+</blockquote></td></tr></table> 
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/jndi-resources-howto.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/jndi-resources-howto.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/jndi-resources-howto.html	(revision 66)
@@ -0,0 +1,755 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - JNDI Resources HOW-TO</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"><meta value="Yoav Shapira" name="author"><meta value="yoavs@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://wiki.apache.org/tomcat/FAQ">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR/Native</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li><li><a href="aio.html">25) Advanced IO</a></li><li><a href="extras.html">26) Additional Components</a></li><li><a href="maven-jars.html">27) Mavenized</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Configuration</a></li><li><a href="api/index.html">Javadocs</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="http://wiki.apache.org/tomcat/TomcatVersions">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="architecture/index.html">Architecture</a></li><li><a href="funcspecs/index.html">Functional Specs.</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>JNDI Resources HOW-TO</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/jndi-resources-howto.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Tomcat 6 provides a JNDI <strong>InitialContext</strong> implementation
+instance for each web application running under it, in a manner that is 
+compatible with those provided by a 
+<a href="http://java.sun.com/j2ee">Java2 Enterprise Edition</a> application 
+server. 
+
+The J2EE standard provides a standard set of elements in 
+the <code>/WEB-INF/web.xml</code> file to reference resources; resources 
+referenced in these elements must be defined in an application-server-specific
+configuration. 
+</p>
+
+<p>For Tomcat 6, these entries in per-web-application 
+<code>InitialContext</code> are configured in the 
+<a href="config/context.html"><code>&lt;Context&gt;</code></a> elements that
+can be specified in either <code>$CATALINA_BASE/conf/server.xml</code> or,
+preferably, the per-web-application context XML file (
+<code>META-INF/context.xml</code>).
+</p>
+
+<p>Tomcat 6 maintains a separate namespace of global resources for the 
+entire server.  These are configured in the 
+<a href="config/globalresources.html">
+<code><strong>&lt;GlobalNameingResources&gt;</strong></code></a> element of 
+<code>$CATALINA_BASE/conf/server.xml</code>. You may expose these resources to 
+web applications by using 
+<code><strong>&lt;ResourceLink&gt;</strong></code> elements.
+</p>
+
+<p>The resources defined in these elements
+may be referenced by the following elements in the web application deployment
+descriptor (<code>/WEB-INF/web.xml</code>) of your web application:</p>
+<ul>
+<li><code><strong>&lt;env-entry&gt;</strong></code> - Environment entry, a
+    single-value parameter that can be used to configure how the application
+    will operate.</li>
+<li><code><strong>&lt;resource-ref&gt;</strong></code> - Resource reference,
+    which is typically to an object factory for resources such as a JDBC
+    <code>DataSource</code>, a JavaMail <code>Session</code>, or custom
+    object factories configured into Tomcat 6.</li>
+<li><code><strong>&lt;resource-env-ref&gt;</strong></code> - Resource
+    environment reference, a new variation of <code>resource-ref</code>
+    added in Servlet 2.4 that is simpler to configure for resources
+    that do not require authentication information.</li>
+</ul>
+
+<p>The <code>InitialContext</code> is configured as a web application is
+initially deployed, and is made available to web application components (for
+read-only access).  All configured entries and resources are placed in
+the <code>java:comp/env</code> portion of the JNDI namespace, so a typical
+access to a resource - in this case, to a JDBC <code>DataSource</code> -
+would look something like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+// Obtain our environment naming context
+Context initCtx = new InitialContext();
+Context envCtx = (Context) initCtx.lookup("java:comp/env");
+
+// Look up our data source
+DataSource ds = (DataSource)
+  envCtx.lookup("jdbc/EmployeeDB");
+
+// Allocate and use a connection from the pool
+Connection conn = ds.getConnection();
+... use this connection to access the database ...
+conn.close();
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>See the following Specifications for more information about programming APIs
+for JNDI, and for the features supported by Java2 Enterprise Edition (J2EE)
+servers, which Tomcat emulates for the services that it provides:</p>
+<ul>
+<li><a href="http://java.sun.com/products/jndi">Java Naming and Directory
+    Interface</a> (included in JDK 1.4 onwards)</li>
+<li><a href="http://java.sun.com/j2ee/download.html">J2EE Platform
+    Specification</a> (in particular, see Chapter 5 on <em>Naming</em>)</li>
+</ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Configuring JNDI Resources"><strong>Configuring JNDI Resources</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Each available JNDI Resource is configured based on inclusion of the
+following elements in the
+<a href="config/context.html"><code>&lt;Context&gt;</code></a> element:</p>
+
+<ul>
+<li><a href="config/context.html#Environment Entries">&lt;Environment&gt;</a> -
+    Configure names and values for scalar environment entries that will be
+    exposed to the web application through the JNDI
+    <code>InitialContext</code> (equivalent to the inclusion of an
+    <code>&lt;env-entry&gt;</code> element in the web application
+    deployment descriptor).</li>
+<li><a href="config/context.html#Resource Definitions">&lt;Resource&gt;</a> -
+    Configure the name and data type of a resource made available to the
+    application (equivalent to the inclusion of a
+    <code>&lt;resource-ref&gt;</code> element in the web application
+    deployment descriptor).</li>
+<li><a href="config/context.html#Resource Links">&lt;ResourceLink&gt;</a> -
+    Add a link to a resource defined in the global JNDI context. Use resource 
+    links to give a web application access to a resource defined in 
+    the<a href="config/globalresources.html">&lt;GlobalNamingResources&gt;</a>
+    child element of the <a href="config/server.html">&lt;Server&gt;</a>
+    element.</li>
+<li><a href="config/context.html#Transaction">&lt;Transaction&gt;</a> -
+    Add a resource factory for instantiating the UserTransaction object 
+    instance that is available at <code>java:comp/UserTransaction</code>.</li>
+
+</ul>
+
+<p>Any number of these elements may be nested inside a
+<a href="config/context.html"><code>&lt;Context&gt;</code></a> element (to be
+associated only with that particular web application).</p>
+
+<p>In addition, the names and values of all <code>&lt;env-entry&gt;</code>
+elements included in the web application deployment descriptor
+(<code>/WEB-INF/web.xml</code>) are configured into the initial context as
+well, overriding corresponding values from the
+<a href="config/context.html"><code>&lt;Context&gt;</code></a> element
+<strong>only</strong> if allowed by the corresponding
+<code>&lt;Environment&gt;</code> element (by setting the <code>override</code>
+attribute to "true").</p>
+
+<p>Global resources can be defined in the server-wide JNDI context, by adding
+the resource elements described above to the
+<a href="config/globalresources.html">&lt;GlobalNamingResources&gt;</a>
+child element of the <a href="config/server.html">&lt;Server&gt;</a>
+element and using a 
+<a href="config/context.html#Resource Links">&lt;ResourceLink&gt;</a> to
+include it in the per-web-application context.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat Standard Resource Factories"><strong>Tomcat Standard Resource Factories</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>Tomcat 6 includes a series of standard resource factories that can
+  provide services to your web applications, but give you configuration
+  flexibility (via the
+  <a href="config/context.html"><code>&lt;Context&gt;</code></a> element)
+  without modifying the web application or the deployment descriptor. Each
+  subsection below details the configuration and usage of the standard resource
+  factories.</p>
+
+  <p>See <a href="#Adding Custom Resource Factories">Adding Custom
+  Resource Factories</a> for information about how to create, install,
+  configure, and use your own custom resource factory classes with
+  Tomcat 6.</p>
+
+  <p><em>NOTE</em> - Of the standard resource factories, only the
+  "JDBC Data Source" and "User Transaction" factories are mandated to
+  be available on other platforms, and then they are required only if
+  the platform implements the Java2 Enterprise Edition (J2EE) specs.
+  All other standard resource factories, plus custom resource factories
+  that you write yourself, are specific to Tomcat and cannot be assumed
+  to be available on other containers.</p>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Generic JavaBean Resources"><strong>Generic JavaBean Resources</strong></a></font></td></tr><tr><td><blockquote>
+
+    <h3>0.  Introduction</h3>
+
+    <p>This resource factory can be used to create objects of <em>any</em>
+    Java class that conforms to standard JavaBeans naming conventions (i.e.
+    it has a zero-arguments constructor, and has property setters that
+    conform to the setFoo() naming pattern.  The resource factory will
+    create a new instance of the appropriate bean class every time a
+    <code>lookup()</code> for this entry is made.</p>
+
+    <p>The steps required to use this facility are described below.</p>
+
+    <h3>1.  Create Your JavaBean Class</h3>
+
+    <p>Create the JavaBean class which will be instantiated each time
+    that the resource factory is looked up.  For this example, assume
+    you create a class <code>com.mycompany.MyBean</code>, which looks
+    like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+package com.mycompany;
+
+public class MyBean {
+
+  private String foo = "Default Foo";
+
+  public String getFoo() {
+    return (this.foo);
+  }
+
+  public void setFoo(String foo) {
+    this.foo = foo;
+  }
+
+  private int bar = 0;
+
+  public int getBar() {
+    return (this.bar);
+  }
+
+  public void setBar(int bar) {
+    this.bar = bar;
+  }
+
+
+}
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+  <h3>2.  Declare Your Resource Requirements</h3>
+
+  <p>Next, modify your web application deployment descriptor
+  (<code>/WEB-INF/web.xml</code>) to declare the JNDI name under which
+  you will request new instances of this bean.  The simplest approach is
+  to use a <code>&lt;resource-env-ref&gt;</code> element, like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;resource-env-ref&gt;
+  &lt;description&gt;
+    Object factory for MyBean instances.
+  &lt;/description&gt;
+  &lt;resource-env-ref-name&gt;
+    bean/MyBeanFactory
+  &lt;/resource-env-ref-name&gt;
+  &lt;resource-env-ref-type&gt;
+    com.mycompany.MyBean
+  &lt;/resource-env-ref-type&gt;
+&lt;/resource-env-ref&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+    <p><strong>WARNING</strong> - Be sure you respect the element ordering
+    that is required by the DTD for web application deployment descriptors!
+    See the
+    <a href="http://java.sun.com/products/servlet/download.html">Servlet
+    Specification</a> for details.</p>
+
+  <h3>3.  Code Your Application's Use Of This Resource</h3>
+
+  <p>A typical use of this resource environment reference might look
+  like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Context initCtx = new InitialContext();
+Context envCtx = (Context) initCtx.lookup("java:comp/env");
+MyBean bean = (MyBean) envCtx.lookup("bean/MyBeanFactory");
+
+writer.println("foo = " + bean.getFoo() + ", bar = " +
+               bean.getBar());
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+    <h3>4.  Configure Tomcat's Resource Factory</h3>
+
+    <p>To configure Tomcat's resource factory, add an element like this to the
+    <a href="config/context.html"><code>&lt;Context&gt;</code></a> element for
+    this web application.</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context ...&gt;
+  ...
+  &lt;Resource name="bean/MyBeanFactory" auth="Container"
+            type="com.mycompany.MyBean"
+            factory="org.apache.naming.factory.BeanFactory"
+            bar="23"/&gt;
+  ...
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+    <p>Note that the resource name (here, <code>bean/MyBeanFactory</code>
+    must match the value specified in the web application deployment
+    descriptor.  We are also initializing the value of the <code>bar</code>
+    property, which will cause <code>setBar(23)</code> to be called before
+    the new bean is returned.  Because we are not initializing the
+    <code>foo</code> property (although we could have), the bean will
+    contain whatever default value is set up by its constructor.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JavaMail Sessions"><strong>JavaMail Sessions</strong></a></font></td></tr><tr><td><blockquote>
+
+    <h3>0.  Introduction</h3>
+
+    <p>In many web applications, sending electronic mail messages is a
+    required part of the system's functionality.  The
+    <a href="http://java.sun.com/products/javamail">Java Mail</a> API
+    makes this process relatively straightforward, but requires many
+    configuration details that the client application must be aware of
+    (including the name of the SMTP host to be used for message sending).</p>
+
+    <p>Tomcat 6 includes a standard resource factory that will create
+    <code>javax.mail.Session</code> session instances for you, already
+    configured to connect to an SMTP server.
+    In this way, the application is totally insulated from changes in the
+    email server configuration environment - it simply asks for, and receives,
+    a preconfigured session whenever needed.</p>
+
+    <p>The steps required for this are outlined below.</p>
+
+    <h3>1.  Declare Your Resource Requirements</h3>
+
+    <p>The first thing you should do is modify the web application deployment
+    descriptor (<code>/WEB-INF/web.xml</code>) to declare the JNDI name under
+    which you will look up preconfigured sessions.  By convention, all such
+    names should resolve to the <code>mail</code> subcontext (relative to the
+    standard <code>java:comp/env</code> naming context that is the root of
+    all provided resource factories.  A typical <code>web.xml</code> entry
+    might look like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;resource-ref&gt;
+  &lt;description&gt;
+    Resource reference to a factory for javax.mail.Session
+    instances that may be used for sending electronic mail
+    messages, preconfigured to connect to the appropriate
+    SMTP server.
+  &lt;/description&gt;
+  &lt;res-ref-name&gt;
+    mail/Session
+  &lt;/res-ref-name&gt;
+  &lt;res-type&gt;
+    javax.mail.Session
+  &lt;/res-type&gt;
+  &lt;res-auth&gt;
+    Container
+  &lt;/res-auth&gt;
+&lt;/resource-ref&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+    <p><strong>WARNING</strong> - Be sure you respect the element ordering
+    that is required by the DTD for web application deployment descriptors!
+    See the
+    <a href="http://java.sun.com/products/servlet/download.html">Servlet
+    Specification</a> for details.</p>
+
+    <h3>2.  Code Your Application's Use Of This Resource</h3>
+
+    <p>A typical use of this resource reference might look like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Context initCtx = new InitialContext();
+Context envCtx = (Context) initCtx.lookup("java:comp/env");
+Session session = (Session) envCtx.lookup("mail/Session");
+
+Message message = new MimeMessage(session);
+message.setFrom(new InternetAddress(request.getParameter("from"));
+InternetAddress to[] = new InternetAddress[1];
+to[0] = new InternetAddress(request.getParameter("to"));
+message.setRecipients(Message.RecipientType.TO, to);
+message.setSubject(request.getParameter("subject"));
+message.setContent(request.getParameter("content"), "text/plain");
+Transport.send(message);
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+    <p>Note that the application uses the same resource reference name
+    that was declared in the web application deployment descriptor.  This
+    is matched up against the resource factory that is configured in the
+    <a href="config/context.html"><code>&lt;Context&gt;</code></a> element
+    for the web application as described below.</p>
+
+    <h3>3.  Configure Tomcat's Resource Factory</h3>
+
+    <p>To configure Tomcat's resource factory, add an elements like this to the
+    <a href="config/context.html"><code>&lt;Context&gt;</code></a> element for
+    this web application.</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context ...&gt;
+  ...
+  &lt;Resource name="mail/Session" auth="Container"
+            type="javax.mail.Session"
+            mail.smtp.host="localhost"/&gt;
+  ...
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+    <p>Note that the resource name (here, <code>mail/Session</code>) must
+    match the value specified in the web application deployment descriptor.
+    Customize the value of the <code>mail.smtp.host</code> parameter to
+    point at the server that provides SMTP service for your network.</p>
+
+    <h3>4.  Install the JavaMail libraries</h3>
+
+    <p><a href="http://java.sun.com/products/javamail/downloads/index.html">
+    Download the JavaMail API</a>.  The JavaMail API requires the Java Activation
+    Framework (JAF) API as well.  The Java Activation Framework can be downloaded
+    from <a href="http://java.sun.com/products/javabeans/glasgow/jaf.html">Sun's site</a>.
+    </p>
+
+    <p>This download includes 2 vital libraries for the configuration; 
+    activation.jar and mail.jar. Unpackage both distributions and place 
+    them into $CATALINA_HOME/lib so that they are available to
+    Tomcat during the initialization of the mail Session Resource.
+    <strong>Note:</strong> placing these jars in both $CATALINA_HOME/lib and a 
+    web application's lib folder will cause an error, so ensure you have
+    them in the $CATALINA_HOME/lib location only.
+    </p>
+
+    <h3>Example Application</h3>
+
+    <p>The <code>/examples</code> application included with Tomcat contains
+    an example of utilizing this resource factory.  It is accessed via the
+    "JSP Examples" link.  The source code for the servlet that actually
+    sends the mail message is in
+    <code>/WEB-INF/classes/SendMailServlet.java</code>.</p>
+
+    <p><strong>WARNING</strong> - The default configuration assumes that there
+    is an SMTP server listing on port 25 on <code>localhost</code>. If this is
+    not the case, edit the
+    <a href="config/context.html"><code>&lt;Context&gt;</code></a> element for
+    this web application and modify the parameter value for the
+    <code>mail.smtp.host</code> parameter to be the host name of an SMTP server
+    on your network.</p>
+
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JDBC Data Sources"><strong>JDBC Data Sources</strong></a></font></td></tr><tr><td><blockquote>
+
+    <h3>0.  Introduction</h3>
+
+    <p>Many web applications need to access a database via a JDBC driver,
+    to support the functionality required by that application.  The J2EE
+    Platform Specification requires J2EE Application Servers to make
+    available a <em>DataSource</em> implementation (that is, a connection
+    pool for JDBC connections) for this purpose.  Tomcat 6 offers exactly
+    the same support, so that database-based applications you develop on
+    Tomcat using this service will run unchanged on any J2EE server.</p>
+
+    <p>For information about JDBC, you should consult the following:</p>
+    <ul>
+    <li><a href="http://java.sun.com/products/jdbc/">http://java.sun.com/products/jdbc/</a> -
+        Home page for information about Java Database Connectivity.</li>
+    <li><a href="http://java.sun.com/j2se/1.3/docs/guide/jdbc/spec2/jdbc2.1.frame.html">http://java.sun.com/j2se/1.3/docs/guide/jdbc/spec2/jdbc2.1.frame.html</a> -
+        The JDBC 2.1 API Specification.</li>
+    <li><a href="http://java.sun.com/products/jdbc/jdbc20.stdext.pdf">http://java.sun.com/products/jdbc/jdbc20.stdext.pdf</a> -
+        The JDBC 2.0 Standard Extension API (including the
+        <code>javax.sql.DataSource</code> API).  This package is now known
+        as the "JDBC Optional Package".</li>
+    <li><a href="http://java.sun.com/j2ee/download.html">http://java.sun.com/j2ee/download.html</a> -
+        The J2EE Platform Specification (covers the JDBC facilities that
+        all J2EE platforms must provide to applications).</li>
+    </ul>
+
+    <p><strong>NOTE</strong> - The default data source support in Tomcat
+    is based on the <strong>DBCP</strong> connection pool from the
+    <a href="http://commons.apache.org/">Commons</a>
+    project.  However, it is possible to use any other connection pool
+    that implements <code>javax.sql.DataSource</code>, by writing your
+    own custom resource factory, as described
+    <a href="#Adding Custom Resource Factories">below</a>.</p>
+
+    <h3>1.  Install Your JDBC Driver</h3>
+
+    <p>Use of the <em>JDBC Data Sources</em> JNDI Resource Factory requires
+    that you make an appropriate JDBC driver available to both Tomcat internal
+    classes and to your web application.  This is most easily accomplished by
+    installing the driver's JAR file(s) into the
+    <code>$CATALINA_HOME/lib</code> directory, which makes the driver
+    available both to the resource factory and to your application.</p>
+
+    <h3>2.  Declare Your Resource Requirements</h3>
+
+    <p>Next, modify the web application deployment descriptor
+    (<code>/WEB-INF/web.xml</code>) to declare the JNDI name under
+    which you will look up preconfigured data source.  By convention, all such
+    names should resolve to the <code>jdbc</code> subcontext (relative to the
+    standard <code>java:comp/env</code> naming context that is the root of
+    all provided resource factories.  A typical <code>web.xml</code> entry
+    might look like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;resource-ref&gt;
+  &lt;description&gt;
+    Resource reference to a factory for java.sql.Connection
+    instances that may be used for talking to a particular
+    database that is configured in the &lt;Context&gt;
+    configurartion for the web application.
+  &lt;/description&gt;
+  &lt;res-ref-name&gt;
+    jdbc/EmployeeDB
+  &lt;/res-ref-name&gt;
+  &lt;res-type&gt;
+    javax.sql.DataSource
+  &lt;/res-type&gt;
+  &lt;res-auth&gt;
+    Container
+  &lt;/res-auth&gt;
+&lt;/resource-ref&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+    <p><strong>WARNING</strong> - Be sure you respect the element ordering
+    that is required by the DTD for web application deployment descriptors!
+    See the
+    <a href="http://java.sun.com/products/servlet/download.html">Servlet
+    Specification</a> for details.</p>
+
+    <h3>3.  Code Your Application's Use Of This Resource</h3>
+
+    <p>A typical use of this resource reference might look like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Context initCtx = new InitialContext();
+Context envCtx = (Context) initCtx.lookup("java:comp/env");
+DataSource ds = (DataSource)
+  envCtx.lookup("jdbc/EmployeeDB");
+
+Connection conn = ds.getConnection();
+... use this connection to access the database ...
+conn.close();
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+    <p>Note that the application uses the same resource reference name that was
+    declared in the web application deployment descriptor. This is matched up
+    against the resource factory that is configured in the
+    <a href="config/context.html"><code>&lt;Context&gt;</code></a> element for
+    the web application as described below.</p>
+
+    <h3>4.  Configure Tomcat's Resource Factory</h3>
+
+    <p>To configure Tomcat's resource factory, add an element like this to the
+    <a href="config/context.html"><code>&lt;Context&gt;</code></a> element for
+    the web application.</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context ...&gt;
+  ...
+  &lt;Resource name="jdbc/EmployeeDB"
+            auth="Container"
+            type="javax.sql.DataSource"
+            username="dbusername"
+            password="dbpassword"
+            driverClassName="org.hsql.jdbcDriver"
+            url="jdbc:HypersonicSQL:database"
+            maxActive="8"
+            maxIdle="4"/&gt;
+  ...
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+    <p>Note that the resource name (here, <code>jdbc/EmployeeDB</code>) must
+    match the value specified in the web application deployment descriptor.</p>
+
+    <p>This example assumes that you are using the HypersonicSQL database
+    JDBC driver.  Customize the <code>driverClassName</code> and
+    <code>driverName</code> parameters to match your actual database's
+    JDBC driver and connection URL.</p>
+
+    <p>The configuration properties for Tomcat's standard data source
+    resource factory
+    (<code>org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory</code>) are
+    as follows:</p>
+    <ul>
+    <li><strong>driverClassName</strong> - Fully qualified Java class name
+        of the JDBC driver to be used.</li>
+    <li><strong>maxActive</strong> - The maximum number of active instances
+        that can be allocated from this pool at the same time.</li>
+    <li><strong>maxIdle</strong> - The maximum number of connections that
+        can sit idle in this pool at the same time.</li>
+    <li><strong>maxWait</strong> - The maximum number of milliseconds that the
+        pool will wait (when there are no available connections) for a
+        connection to be returned before throwing an exception.</li>
+    <li><strong>password</strong> - Database password to be passed to our
+        JDBC driver.</li>
+    <li><strong>url</strong> - Connection URL to be passed to our JDBC driver.
+        (For backwards compatibility, the property <code>driverName</code>
+        is also recognized.)</li>
+    <li><strong>user</strong> - Database username to be passed to our
+        JDBC driver.</li>
+    <li><strong>validationQuery</strong> - SQL query that can be used by the
+        pool to validate connections before they are returned to the
+        application.  If specified, this query MUST be an SQL SELECT
+        statement that returns at least one row.</li>
+    </ul>
+    <p>For more details, please refer to the commons-dbcp documentation.</p>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Adding Custom Resource Factories"><strong>Adding Custom Resource Factories</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>If none of the standard resource factories meet your needs, you can write
+  your own factory and integrate it into Tomcat 6, and then configure the use
+  of this factory in the
+  <a href="config/context.html"><code>&lt;Context&gt;</code></a> element for
+  the web application. In the example below, we will create a factory that only
+  knows how to create <code>com.mycompany.MyBean</code> beans from the
+  <a href="#Generic JavaBean Resources">Generic JavaBean Resources</a> example
+  above.</p>
+
+  <h3>1.  Write A Resource Factory Class</h3>
+
+  <p>You must write a class that implements the JNDI service provider
+  <code>javax.naming.spi.ObjectFactory</code> inteface.  Every time your
+  web application calls <code>lookup()</code> on a context entry that is
+  bound to this factory, the <code>getObjectInstance()</code> method is
+  called, with the following arguments:</p>
+  <ul>
+  <li><strong>Object obj</strong> - The (possibly null) object containing
+      location or reference information that can be used in creating an object.
+      For Tomcat, this will always be an object of type
+      <code>javax.naming.Reference</code>, which contains the class name of
+      this factory class, as well as the configuration properties (from the
+      <a href="config/context.html"><code>&lt;Context&gt;</code></a> for the
+      web application) to use in creating objects to be returned.</li>
+  <li><strong>Name name</strong> - The name to which this factory is bound
+      relative to <code>nameCtx</code>, or <code>null</code> if no name
+      is specified.</li>
+  <li><strong>Context nameCtx</strong> - The context relative to which the
+      <code>name</code> parameter is specified, or <code>null</code> if
+      <code>name</code> is relative to the default initial context.</li>
+  <li><strong>Hashtable environment</strong> - The (possibly null)
+      environment that is used in creating this object.  This is generally
+      ignored in Tomcat object factories.</li>
+  </ul>
+
+  <p>To create a resource factory that knows how to produce <code>MyBean</code>
+  instances, you might create a class like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+package com.mycompany;
+
+import java.util.Enumeration;
+import java.util.Hashtable;
+import javax.naming.Context;
+import javax.naming.Name;
+import javax.naming.NamingException;
+import javax.naming.RefAddr;
+import javax.naming.Reference;
+import javax.naming.spi.ObjectFactory;
+
+public class MyBeanFactory implements ObjectFactory {
+
+  public Object getObjectInstance(Object obj,
+      Name name, Context nameCtx, Hashtable environment)
+      throws NamingException {
+
+      // Acquire an instance of our specified bean class
+      MyBean bean = new MyBean();
+
+      // Customize the bean properties from our attributes
+      Reference ref = (Reference) obj;
+      Enumeration addrs = ref.getAll();
+      while (addrs.hasMoreElements()) {
+          RefAddr addr = (RefAddr) addrs.nextElement();
+          String name = addr.getType();
+          String value = (String) addr.getContent();
+          if (name.equals("foo")) {
+              bean.setFoo(value);
+          } else if (name.equals("bar")) {
+              try {
+                  bean.setBar(Integer.parseInt(value));
+              } catch (NumberFormatException e) {
+                  throw new NamingException("Invalid 'bar' value " + value);
+              }
+          }
+      }
+
+      // Return the customized instance
+      return (bean);
+
+  }
+
+}
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+  <p>In this example, we are unconditionally creating a new instance of
+  the <code>com.mycompany.MyBean</code> class, and populating its properties
+  based on the parameters included in the <code>&lt;ResourceParams&gt;</code>
+  element that configures this factory (see below).  You should note that any
+  parameter named <code>factory</code> should be skipped - that parameter is
+  used to specify the name of the factory class itself (in this case,
+  <code>com.mycompany.MyBeanFactory</code>) rather than a property of the
+  bean being configured.</p>
+
+  <p>For more information about <code>ObjectFactory</code>, see the
+  <a href="http://java.sun.com/products/jndi/docs.html">JNDI 1.2 Service
+  Provider Interface (SPI) Specification</a>.</p>
+
+  <p>You will need to compile this class against a class path that includes
+  all of the JAR files in the <code>$CATALINA_HOME/lib</code> directory.  When you are through,
+  place the factory class (and the corresponding bean class) unpacked under
+  <code>$CATALINA_HOME/lib</code>, or in a JAR file inside
+  <code>$CATALINA_HOME/lib</code>.  In this way, the required class
+  files are visible to both Catalina internal resources and your web
+  application.</p>
+
+  <h3>2.  Declare Your Resource Requirements</h3>
+
+  <p>Next, modify your web application deployment descriptor
+  (<code>/WEB-INF/web.xml</code>) to declare the JNDI name under which
+  you will request new instances of this bean.  The simplest approach is
+  to use a <code>&lt;resource-env-ref&gt;</code> element, like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;resource-env-ref&gt;
+  &lt;description&gt;
+    Object factory for MyBean instances.
+  &lt;/description&gt;
+  &lt;resource-env-ref-name&gt;
+    bean/MyBeanFactory
+  &lt;/resource-env-ref-name&gt;
+  &lt;resource-env-ref-type&gt;
+    com.mycompany.MyBean
+  &lt;/resource-env-ref-type&gt;
+&lt;resource-env-ref&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+    <p><strong>WARNING</strong> - Be sure you respect the element ordering
+    that is required by the DTD for web application deployment descriptors!
+    See the
+    <a href="http://java.sun.com/products/servlet/download.html">Servlet
+    Specification</a> for details.</p>
+
+  <h3>3.  Code Your Application's Use Of This Resource</h3>
+
+  <p>A typical use of this resource environment reference might look
+  like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Context initCtx = new InitialContext();
+Context envCtx = (Context) initCtx.lookup("java:comp/env");
+MyBean bean = (MyBean) envCtx.lookup("bean/MyBeanFactory");
+
+writer.println("foo = " + bean.getFoo() + ", bar = " +
+               bean.getBar());
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+    <h3>4.  Configure Tomcat's Resource Factory</h3>
+
+    <p>To configure Tomcat's resource factory, add an elements like this to the
+    <a href="config/context.html"><code>&lt;Context&gt;</code></a> element for
+    this web application.</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context ...&gt;
+  ...
+  &lt;Resource name="bean/MyBeanFactory" auth="Container"
+            type="com.mycompany.MyBean"
+            factory="com.mycompany.MyBeanFactory"
+            bar="23"/&gt;
+  ...
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+    <p>Note that the resource name (here, <code>bean/MyBeanFactory</code>
+    must match the value specified in the web application deployment
+    descriptor.  We are also initializing the value of the <code>bar</code>
+    property, which will cause <code>setBar(23)</code> to be called before
+    the new bean is returned.  Because we are not initializing the
+    <code>foo</code> property (although we could have), the bean will
+    contain whatever default value is set up by its constructor.</p>
+
+    <p>You will also note that, from the application developer's perspective,
+    the declaration of the resource environment reference, and the programming
+    used to request new instances, is identical to the approach used for the
+    <em>Generic JavaBean Resources</em> example.  This illustrates one of the
+    advantages of using JNDI resources to encapsulate functionality - you can
+    change the underlying implementation without necessarily having to
+    modify applications using the resources, as long as you maintain
+    compatible APIs.</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/logging.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/logging.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/logging.html	(revision 66)
@@ -0,0 +1,262 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - Logging in Tomcat</title><meta value="Allistair Crossley" name="author"><meta value="" name="email"><meta value="Yoav Shapira" name="author"><meta value="yoavs@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://wiki.apache.org/tomcat/FAQ">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR/Native</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li><li><a href="aio.html">25) Advanced IO</a></li><li><a href="extras.html">26) Additional Components</a></li><li><a href="maven-jars.html">27) Mavenized</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Configuration</a></li><li><a href="api/index.html">Javadocs</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="http://wiki.apache.org/tomcat/TomcatVersions">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="architecture/index.html">Architecture</a></li><li><a href="funcspecs/index.html">Functional Specs.</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>Logging in Tomcat</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/logging.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Important note"><strong>Important note</strong></a></font></td></tr><tr><td><blockquote>
+  <p>
+    By default, only java.util.logging is available for the core Tomcat, as Tomcat uses
+    a package renamed logging implementation which is hardcoded for that logger. Usage of
+    alternate loggers is available after building the extra components (see
+    the <a href="extras.html">extras components</a> documentation), which includes
+    a full commons-logging implementation.
+  </p>
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+  <p>
+    Tomcat 6.0 uses 
+    <a href="http://commons.apache.org/logging">Commons Logging</a>
+    throughout its internal code allowing the 
+    developer to choose a logging configuration that suits their needs, e.g
+    java.util.logging or 
+    <a href="http://logging.apache.org/log4j">Log4J</a>. 
+    Commons Logging provides Tomcat the ability to log
+    hierarchially across various log levels without needing to rely on a particular
+    logging implementation.
+  </p>
+  <p>
+    An important consequence for Tomcat 6.0 is that the &lt;Logger&gt; element found in 
+    previous versions to create a <code>localhost_log</code> is no longer a valid nested element 
+    of &lt;Context&gt;. Instead, the default Tomcat configuration will use java.util.logging. 
+    If the developer wishes to collect detailed internal Tomcat logging (i.e what is happening 
+    within the Tomcat engine), then they should configure a logging system such as java.util.logging 
+    or log4j as detailed next.
+  </p>
+
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="log4j"><strong>log4j</strong></a></font></td></tr><tr><td><blockquote>
+    <p>
+      Tomcat 6.0 has done away with <code>localhost_log</code> which you may be familiar with
+      as the runtime exception/stack trace log. These types of error are usually thrown
+      by uncaught exceptions, but are still valuable to the developer. They can now be
+      found in the <code>stdout</code> log.
+    </p>
+
+    <p>
+      If you need to setup cross-context detailed logging from within Tomcat's code, 
+      then you can use a simple log4j configuration. Note that this logging van be very 
+      verbose depending on the log level you chose to use.  Note also that a log4j logging 
+      configuration is not going to produce stack trace type logging: those stack traces
+      are output to <code>stdout</code> as discussed above.
+    </p>
+
+    <p>
+      Follow the following steps to setup a file named tomcat.log that has internal 
+      Tomcat logging output to it:
+    </p>
+
+    <p>
+      <ol>
+        <li>Create a file called log4j.properties with the following content 
+            and save it into $CATALINA_HOME/lib.
+          <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+            log4j.rootLogger=debug, R 
+            log4j.appender.R=org.apache.log4j.RollingFileAppender 
+            log4j.appender.R.File=${catalina.home}/logs/tomcat.log 
+            log4j.appender.R.MaxFileSize=10MB 
+            log4j.appender.R.MaxBackupIndex=10 
+            log4j.appender.R.layout=org.apache.log4j.PatternLayout 
+            log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n 
+            log4j.logger.org.apache.catalina=DEBUG, R
+          </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+	</li>
+
+	<li><a href="http://logging.apache.org/log4j">Download Log4J</a> 
+            (v1.2 or later) and place the log4j jar in $CATALINA_HOME/lib.</li>
+
+        <li>Build the commons-logging additional component using the extras.xml
+        Ant build script which is part of teh Tomcat source bundle.</li>
+        
+        <li>Replace <code>$CATALINA_HOME/bin/tomcat-juli.jar</code> with
+        <code>output/extras/tomcat-juli.jar</code>.</li>
+
+        <li>Place <code>output/extras/tomcat-juli-adapters.jar</code> in 
+        $CATALINA_HOME/lib.</li>
+
+	<li>Start Tomcat</li>
+      </ol>
+    </p>
+
+    <p>
+      This log4j configuration sets up a file called tomcat.log in your 
+      Tomcat logs folder with a maximum file size of 10MB and
+      up to 10 backups.  DEBUG level is specified which will result in the 
+      most verbose output from Tomcat.
+    </p>
+	
+    <p>
+      You can (and should) be more picky about which packages to include 
+      in the logging. Tomcat 6 uses defines loggers by Engine and Host names.
+      For example, for a default Catalina localhost log, add this to the
+      end of the log4j.properties above. Note that there are known issues with 
+      using this naming convention (with square brackets) in log4j XML based
+      configuration files, so we recommend you use a properties file as described
+      until a future version of log4j allows this convention.
+      
+      <ul>
+        <li>log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost]=DEBUG, R</li>
+	<li>log4j.logger.org.apache.catalina.core=DEBUG, R</li>
+	<li>log4j.logger.org.apache.catalina.session=DEBUG, R</li>
+      </ul>
+
+      Be warned a level of DEBUG will produce megabytes of logging and slow startup
+      of Tomcat. This level should be used sparingly when debugging of internal Tomcat
+      operations is required.
+    </p>
+	
+    <p>
+      Your web applications should certainly use their own log4j configuration. 
+      This is valid <i>with</i> the above configuration.  You would place a similar log4j.properties 
+      file in your web application's WEB-INF/classes folder, and log4j1.2.8.jar into
+      WEB-INF/lib. Then specify your package level logging. This is a basic setup of log4j 
+      which does *not* require Commons-Logging, 
+      and you should consult the 
+      <a href="http://logging.apache.org/log4j/docs/documentation.html">log4j documentation</a> 
+      for more options.  This page is intended only as a bootstrapping guide.
+    </p>
+	
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="java.util.logging"><strong>java.util.logging</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>
+    The default implemenatation of java.util.logging provided in the JDK is too limited to be 
+    useful. A limitation of JDK Logging appears to be the inability to have per-web application logging, 
+    as the configuration is per-VM. As a result, Tomcat will, in the default configuration,
+    replace the default LogManager implementation with a container friendly implementation
+    called JULI, which addresses these shortcomings. It supports the same configuration mechanisms 
+    as the standard JDK java.util.logging, using either a programmatic approach, or properties
+    files. The main difference is that per-classloader properties files can be set (which enables easy
+    redeployment friendly webapp configuration), and the properties files support slightly extended
+    constructs which allows more freedom for defining handlers and assigning them to loggers.
+  </p>
+  <p>
+    JULI is enabled by default in Tomcat 6.0, and supports per classloader configuration, in addition to 
+    the regular global java.util.logging configuration. This means that logging can be configured at 
+    the following layers:
+    <ul>
+      <li>In the JDK's logging.properties file. Check
+      your JAVA_HOME environment setting to see which JDK Tomcat is using. The file will be in 
+      <code>$JAVA_HOME/jre/lib</code>.
+      Alternately, it can also use a global configuration file located elsewhere by using the 
+      system property <code>java.util.logging.config.file</code>, or programmatic configuration using
+      <code>java.util.logging.config.class</code>.</li>
+      <li>In each classloader using a logging.properties file. This means that it is possible to have a
+      configuration for the Tomcat core, as well as separate configurations for each webapps which will 
+      have the same lifecycle as the webapps.</li>
+    </ul>
+  </p>
+  <p>
+    The default logging.properties specifies a ConsoleHandler for routing logging to stdout and
+    also a FileHandler. A handler's log level threshold can be set using SEVERE, WARNING, INFO,
+    CONFIG, FINE, FINER, FINEST or ALL. The logging.properties shipped with JDK is set to INFO. You
+    can also target specific packages to collect logging from and specify a level. Here is how
+    you would set debugging from Tomcat. You would need to ensure the ConsoleHandler's level is also
+    set to collect this threshold, so FINEST or ALL should be set. Please refer to Sun's java.util.logging
+    documentation for the complete details.
+  </p>
+  <p>
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>org.apache.catalina.level=FINEST</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+  </p>
+  <p>
+    The configuration used by JULI is extremely similar, but uses a few extensions to allow better 
+    flexibility in assigning loggers. The main differences are:
+    <ul>
+      <li>A prefix may be added to handler names, so that multiple handlers of a single class may be 
+      instantiated. A prefix is a String which starts with a digit, and ends with '.'. For example, 
+      <code>22foobar.</code> is a valid prefix.</li>
+      <li>As in Java 5.0, loggers can define a list of handlers using the <code>loggerName.handlers</code>
+      property.</li>
+      <li>By default, loggers will not delegate to their parent if they have associated handlers. This
+      may be changed per logger using the <code>loggerName.useParentHandlers</code> property, which accepts 
+      a boolean value.</li>
+      <li>The root logger can define its set of handlers using a <code>.handlers</code> property.</li>
+      <li>System property replacement for property values which start with ${systemPropertyName}.</li>
+    </ul>
+  </p>
+  <p>
+    Example logging.properties file to be placed in $CATALINA_BASE/conf:
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+handlers = 1catalina.org.apache.juli.FileHandler, 2localhost.org.apache.juli.FileHandler, \
+           3manager.org.apache.juli.FileHandler, 4admin.org.apache.juli.FileHandler, \
+           java.util.logging.ConsoleHandler
+
+.handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
+
+############################################################
+# Handler specific properties.
+# Describes specific configuration info for Handlers.
+############################################################
+
+1catalina.org.apache.juli.FileHandler.level = FINE
+1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
+1catalina.org.apache.juli.FileHandler.prefix = catalina.
+
+2localhost.org.apache.juli.FileHandler.level = FINE
+2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
+2localhost.org.apache.juli.FileHandler.prefix = localhost.
+
+3manager.org.apache.juli.FileHandler.level = FINE
+3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
+3manager.org.apache.juli.FileHandler.prefix = manager.
+
+4admin.org.apache.juli.FileHandler.level = FINE
+4admin.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
+4admin.org.apache.juli.FileHandler.prefix = admin.
+
+java.util.logging.ConsoleHandler.level = FINE
+java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
+
+
+############################################################
+# Facility specific properties.
+# Provides extra control for each logger.
+############################################################
+
+org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO
+org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = \
+   2localhost.org.apache.juli.FileHandler
+
+org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = INFO
+org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers = \
+   3manager.org.apache.juli.FileHandler
+
+org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/admin].level = INFO
+org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/admin].handlers = \
+   4admin.org.apache.juli.FileHandler
+
+# For example, set the com.xyz.foo logger to only log SEVERE
+# messages:
+#org.apache.catalina.startup.ContextConfig.level = FINE
+#org.apache.catalina.startup.HostConfig.level = FINE
+#org.apache.catalina.session.ManagerBase.level = FINE
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+    </p>
+    
+    <p>
+      Example logging.properties for the servlet-examples web application to be placed
+      in WEB-INF/classes inside the web application:
+      <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+handlers = org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
+
+############################################################
+# Handler specific properties.
+# Describes specific configuration info for Handlers.
+############################################################
+
+org.apache.juli.FileHandler.level = FINE
+org.apache.juli.FileHandler.directory = ${catalina.base}/logs
+org.apache.juli.FileHandler.prefix = servlet-examples.
+
+java.util.logging.ConsoleHandler.level = FINE
+java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
+      </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+    </p>
+
+  </blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/manager-howto.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/manager-howto.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/manager-howto.html	(revision 66)
@@ -0,0 +1,1236 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - Manager App HOW-TO</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://wiki.apache.org/tomcat/FAQ">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR/Native</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li><li><a href="aio.html">25) Advanced IO</a></li><li><a href="extras.html">26) Additional Components</a></li><li><a href="maven-jars.html">27) Mavenized</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Configuration</a></li><li><a href="api/index.html">Javadocs</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="http://wiki.apache.org/tomcat/TomcatVersions">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="architecture/index.html">Architecture</a></li><li><a href="funcspecs/index.html">Functional Specs.</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>Manager App HOW-TO</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/manager-howto.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Table of Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>
+<a href="#Introduction">Introduction</a><br>
+<a href="#Configuring Manager Application Access">
+Configuring Manager Application Access</a><br>
+<a href="#Supported Manager Commands">Supported Manager Commands</a><br>
+<blockquote>
+<a href="#Deploy A New Application Remotely">Deploy A New Application Remotely</a><br>
+<a href="#Deploy A New Application from a Local Path">Deploy A New Application from a Local Path</a><br>
+<a href="#List Currently Deployed Applications">
+List Currently Deployed Applications</a><br>
+<a href="#Reload An Existing Application">Reload An Existing Application</a><br>
+<a href="#List OS and JVM Properties">List OS and JVM Properties</a><br>
+<a href="#List Available Global JNDI Resources">
+List Available Global JNDI Resources</a><br>
+<a href="#List Available Security Roles">List Available Security Roles</a><br>
+<a href="#Session Statistics">Session Statistics</a><br>
+<a href="#Start an Existing Application">Start an Existing Application</a><br>
+<a href="#Stop an Existing Application">Stop an Existing Application</a><br>
+<a href="#Undeploy an Existing Application">
+Undeploy an Existing Application</a><br>
+</blockquote>
+<a href="#Executing Manager Commands With Ant">
+Executing Manager Commands With Ant</a><br>
+<a href="#Using the JMX Proxy Servlet">
+Using the JMX Proxy Servlet</a><br>
+<blockquote>
+<a href="#What is JMX Proxy Servlet">What is JMX Proxy Servlet?</a><br>
+<a href="#JMX Query command">Query command</a><br>
+<a href="#JMX Set command">Set command</a><br>
+</blockquote>
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>In many production environments, it is very useful to have the capability
+to deploy a new web application, or undeploy an existing one, without having
+to shut down and restart the entire container.  In addition, you can request
+an existing application to reload itself, even if you have not declared it
+to be <code>reloadable</code> in the Tomcat 6 server
+configuration file.</p>
+
+<p>To support these capabilities, Tomcat 6 includes a web application
+(installed by default on context path <code>/manager</code>) that supports
+the following functions:</p>
+<ul>
+<li>Deploy a new web application from the uploaded contents of a WAR file.</li>
+<li>Deploy a new web application, on a specified context path, from the
+    server file system.</li>
+<li>List the currently deployed web applications, as well as the
+    sessions that are currently active for those web apps.</li>
+<li>Reload an existing web application, to reflect changes in the
+    contents of <code>/WEB-INF/classes</code> or <code>/WEB-INF/lib</code>.
+    </li>
+<li>List the OS and JVM property values.</li>
+<li>List the available global JNDI resources, for use in deployment
+    tools that are preparing <code>&lt;ResourceLink&gt;</code> elements
+    nested in a <code>&lt;Context&gt;</code> deployment description.</li>
+<li>List the available security roles defined in the user database.</li>
+<li>Start a stopped application (thus making it available again).</li>
+<li>Stop an existing application (so that it becomes unavailable), but
+    do not undeploy it.</li>
+<li>Undeploy a deployed web application and delete its document base
+    directory (unless it was deployed from file system).</li>
+</ul>
+
+<p>A default Tomcat installation includes the manager. To add an instance of the
+Manager web application <code>Context</code> to a new host install the
+<code>manager.xml</code> context configuration file in the
+<code>$CATALINA_BASE/conf/[enginename]/[hostname]</code> folder. Here is an
+example:
+<pre>
+&lt;Context path="/manager" debug="0" privileged="true"
+         docBase="/usr/local/kinetic/tomcat6/server/webapps/manager"&gt;
+&lt;/Context&gt;
+</pre>
+</p>
+
+<p>If you have Tomcat configured to support multiple virtual hosts
+(websites) you would need to configure a Manager for each.</p>
+
+<p>There are three ways to use the <code>Manager</code> web application.
+<ul>
+<li>As an application with a user interface you use in your browser.
+Here is an example URL where you can replace <code>localhost</code> with
+your website host name:  <code>http://localhost/manager/html/</code> .</li>
+<li>A minimal version using HTTP requests only which is suitable for use
+by scripts setup by system administrators.  Commands are given as part of the
+request URI, and responses are in the form of simple text that can be easily
+parsed and processed.  See <a href="#Supported Manager Commands">
+Supported Manager Commands</a> for more information.</li>
+<li>A convenient set of task definitions for the <em>Ant</em>
+(version 1.4 or later) build tool.  See
+<a href="#Executing Manager Commands With Ant">Executing Manager Commands
+With Ant</a> for more information.</li>
+</ul>
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Configuring Manager Application Access"><strong>Configuring Manager Application Access</strong></a></font></td></tr><tr><td><blockquote>
+
+    <blockquote><em>
+    <p>The description below uses the variable name $CATALINA_BASE to refer the
+    base directory against which most relative paths are resolved. If you have
+    not configured Tomcat 6 for multiple instances by setting a CATALINA_BASE
+    directory, then $CATALINA_BASE will be set to the value of $CATALINA_HOME,
+    the directory into which you have installed Tomcat 6.</p>
+    </em></blockquote>
+
+<p>It would be quite unsafe to ship Tomcat with default settings that allowed
+anyone on the Internet to execute the Manager application on your server.
+Therefore, the Manager application is shipped with the requirement that anyone
+who attempts to use it must authenticate themselves, using a username and
+password that have the role <strong>manager</strong> associated with them.
+Further, there is no username in the default users file
+(<conf>$CATALINA_BASE/conf/tomcat-users.xml</conf>) that is assigned this
+role.  Therefore, access to the Manager application is completely disabled
+by default.</p>
+
+<p>To enable access to the Manager web application, you must either create
+a new username/password combination and associate the role name
+<strong>manager</strong> with it, or add the <strong>manager</strong> role
+to some existing username/password combination.  Exactly where this is done
+depends on which <code>Realm</code> implementation you are using:</p>
+<ul>
+<li><em>MemoryRealm</em> - If you have not customized your
+    <code>$CATALINA_BASE/conf/server.xml</code> to select a different one,
+    Tomcat 6 defaults to an XML-format file stored at
+    <code>$CATALINA_BASE/conf/tomcat-users.xml</code>, which can be
+    edited with any text editor.  This file contains an XML
+    <code>&lt;user&gt;</code> for each individual user, which might
+    look something like this:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;user name="craigmcc" password="secret" roles="standard,manager" /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+    which defines the username and password used by this individual to
+    log on, and the role names he or she is associated with.  You can
+    add the <strong>manager</strong> role to the comma-delimited
+    <code>roles</code> attribute for one or more existing users, and/or
+    create new users with that assigned role.</li>
+<li><em>JDBCRealm</em> - Your user and role information is stored in
+    a database accessed via JDBC.  Add the <strong>manager</strong> role
+    to one or more existing users, and/or create one or more new users
+    with this role assigned, following the standard procedures for your
+    environment.</li>
+<li><em>JNDIRealm</em> - Your user and role information is stored in
+    a directory server accessed via LDAP.  Add the <strong>manager</strong>
+    role to one or more existing users, and/or create one or more new users
+    with this role assigned, following the standard procedures for your
+    environment.</li>
+</ul>
+
+<p>The first time you attempt to issue one of the Manager commands
+described in the next section, you will be challenged to log on using
+BASIC authentication.  The username and password you enter do not matter,
+as long as they identify a valid user in the users database who possesses
+the role <strong>manager</strong>.</p>
+
+<p>In addition to the password restrictions the manager web application
+could be restricted by the remote IP address or host by adding a
+<code>RemoteAddrValve</code> or <code>RemoteHostValve</code>.  Here is
+an example of restricting access to the localhost by IP address:
+<pre>
+&lt;Context path="/manager" privileged="true"
+         docBase="/usr/local/kinetic/tomcat6/server/webapps/manager"&gt;
+         &lt;Valve className="org.apache.catalina.valves.RemoteAddrValve"
+                allow="127\.0\.0\.1"/&gt;
+&lt;/Context&gt;
+</pre>
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Supported Manager Commands"><strong>Supported Manager Commands</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>All commands that the Manager application knows how to process are
+specified in a single request URI like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://{host}:{port}/manager/{command}?{parameters}
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+<p>where <code>{host}</code> and <code>{port}</code> represent the hostname
+and port number on which Tomcat is running, <code>{command}</code>
+represents the Manager command you wish to execute, and
+<code>{parameters}</code> represents the query parameters
+that are specific to that command.  In the illustrations below, customize
+the host and port appropriately for your installation.</p>
+
+<p>Most commands accept one or more of the following query parameters:</p>
+<ul>
+<li><strong>path</strong> - The context path (including the leading slash)
+    of the web application you are dealing with.  To select the ROOT web
+    application, specify "/".  <strong>NOTE</strong> -
+    It is not possible to perform administrative commands on the
+    Manager application itself.</li>
+<li><strong>war</strong> - URL of a web application archive (WAR) file,
+    pathname of a directory which contains the web application, or a
+    Context configuration ".xml" file.  You can use URLs in any of the
+    following formats:
+    <ul>
+    <li><strong>file:/absolute/path/to/a/directory</strong> - The absolute
+        path of a directory that contains the unpacked version of a web
+        application.  This directory will be attached to the context path
+        you specify without any changes.</li>
+    <li><strong>file:/absolute/path/to/a/webapp.war</strong> - The absolute
+        path of a web application archive (WAR) file.  This is valid
+        <strong>only</strong> for the <code>/deploy</code> command, and is
+        the only acceptable format to that command.</li>
+    <li><strong>jar:file:/absolute/path/to/a/warfile.war!/</strong> - The
+        URL to a local web application archive (WAR) file.  You can use any
+        syntax that is valid for the <code>JarURLConnection</code> class
+        for reference to an entire JAR file.</li>
+    <li><strong>file:/absolute/path/to/a/context.xml</strong> - The
+        absolute path of a web application Context configuration ".xml"
+        file which contains the Context configuration element.</li>
+    <li><strong>directory</strong> - The directory name for the web
+        applciation context in the Host's application base directory.</li>
+    <li><strong>webapp.war</strong> - The name of a web application war file
+        located in the Host's application base directory.</li>
+    </ul></li>
+</ul>
+
+<p>Each command will return a response in <code>text/plain</code> format
+(i.e. plain ASCII with no HTML markup), making it easy for both humans and
+programs to read).  The first line of the response wil begin with either
+<code>OK</code> or <code>FAIL</code>, indicating whether the requested
+command was successful or not.  In the case of failure, the rest of the first
+line will contain a description of the problem that was encountered.  Some
+commands include additional lines of information as described below.</p>
+
+<p><em>Internationalization Note</em> - The Manager application looks up
+its message strings in resource bundles, so it is possible that the strings
+have been translated for your platform.  The examples below show the English
+version of the messages.</p>
+
+<blockquote><em>
+<p><strong>WARNING:</strong>  the legacy commands <code>/install</code> and 
+<code>/remove</code> are deprecated.
+They are presently equivalent to <code>/deploy</code> and <code>/undeploy</code>,
+but could be removed in a future release.</p>
+</em></blockquote>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Deploy A New Application Remotely"><strong>Deploy A New Application Remotely</strong></a></font></td></tr><tr><td><blockquote>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/deploy?path=/foo
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>Upload the web application archive (WAR) file that is specified as the
+request data in this HTTP PUT request, install it into the <code>appBase</code>
+directory of our corresponding virtual host, and start , using the directory
+name or the war file name without the .war extension as the path.  The
+application can later be undeployed (and the corresponding application directory
+removed) by use of the <code>/undeploy</code> command.</p>
+
+<p>The .WAR file may include Tomcat specific deployment configuration, by 
+including a Context configuration XML file in 
+<code>/META-INF/context.xml</code>.</p>
+
+<p>URL parameters include:
+<ul>
+<li><code>update</code>: When set to true, any existing update will be
+    undeployed first. The default value is set to false.</li>
+<li><code>tag</code>: Specifying a tag name, this allows associating the
+    deployed webapp with a version number. The application version can
+    be later redeployed when needed using only the tag.</li>
+</ul>
+</p>
+
+<p><strong>NOTE</strong> - This command is the logical
+opposite of the <code>/undeploy</code> command.</p>
+
+<p>If installation and startup is successful, you will receive a response
+like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Deployed application at context path /foo
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>Otherwise, the response will start with <code>FAIL</code> and include an
+error message.  Possible causes for problems include:</p>
+<ul>
+<li><em>Application already exists at path /foo</em>
+    <blockquote>
+    <p>The context paths for all currently running web applications must be
+    unique.  Therefore, you must undeploy the existing web
+    application using this context path, or choose a different context path
+    for the new one. The <code>update</code> parameter may be specified as
+    a parameter on the URL, with a value of <code>true</code> to avoid this
+    error. In that case, an undeploy will be performed on an existing
+    application before performing the deployment.</p>
+    </blockquote></li>
+<li><em>Encountered exception</em>
+    <blockquote>
+    <p>An exception was encountered trying to start the new web application.
+    Check the Tomcat 6 logs for the details, but likely explanations include
+    problems parsing your <code>/WEB-INF/web.xml</code> file, or missing
+    classes encountered when initializing application event listeners and
+    filters.</p>
+    </blockquote></li>
+</ul>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Deploy A New Application from a Local Path"><strong>Deploy A New Application from a Local Path</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Deploy and start a new web application, attached to the specified context
+<code>path</code> (which must not be in use by any other web application).
+This command is the logical opposite of the <code>/undeploy</code> command.</p>
+
+<p>There are a number of different ways the deploy command can be used.</p>
+
+<h3>Deploy a version of a previously deployed webapp</h3>
+
+<p>This can be used to deploy a previous version of a web application, which
+has been deployed using the <code>tag</code> attribute. Note that the work
+directory for the manager webapp will contain the previously deployed WARs;
+removing it would make the deployment fail.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/deploy?path=/footoo&amp;tag=footag
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+<h3>Deploy a Directory or WAR by URL</h3>
+
+<p>Deploy a web application directory or ".war" file located on the Tomcat
+server. If no <code>path</code> is specified, the directory name or the war file
+name without the ".war" extension is used as the path. The <code>war</code>
+parameter specifies a URL (including the <code>file:</code> scheme) for either
+a directory or a web application archive (WAR) file. The supported syntax for
+a URL referring to a WAR file is described on the Javadocs page for the
+<code>java.net.JarURLConnection</code> class.  Use only URLs that refer to
+the entire WAR file.</p>
+
+<p>In this example the web application located in the directory
+<code>/path/to/foo</code> on the Tomcat server is deployed as the
+web application context named <code>/footoo</code>.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/deploy?path=/footoo&amp;war=file:/path/to/foo
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+<p>In this example the ".war" file <code>/path/to/bar.war</code> on the
+Tomcat server is deployed as the web application context named
+<code>/bar</code>. Notice that there is no <code>path</code> parameter
+so the context path defaults to the name of the web application archive
+file without the ".war" extension.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/deploy?war=jar:file:/path/to/bar.war!/
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+<h3>Deploy a Directory or War from the Host appBase</h3>
+
+<p>Deploy a web application directory or ".war" file located in your Host
+appBase directory. The directory name or the war file name without the ".war"
+extension is used as the path.</p>
+
+<p>In this example the web application located in a sub directory named
+<code>foo</code> in the Host appBase directory of the Tomcat server is
+deployed as the web application context named <code>/foo</code>. Notice
+that the context path used is the name of the web application directory.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/deploy?war=foo
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+<p>In this example the ".war" file <code>bar.war</code> located in your
+Host appBase directory on the Tomcat server is deployed as the web
+application context named <code>/bar</code>.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/deploy?war=bar.war
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+<h3>Deploy using a Context configuration ".xml" file</h3>
+
+<p>If the Host deployXML flag is set to true you can deploy a web
+application using a Context configuration ".xml" file and an optional
+".war" file or web application directory. The context <code>path</code>
+is not used when deploying a web application using a context ".xml"
+configuration file.</p>
+
+<p>A Context configuration ".xml" file can contain valid XML for a
+web application Context just as if it were configured in your
+Tomcat <code>server.xml</code> configuration file. Here is an
+example:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context path="/foobar" docBase="/path/to/application/foobar"
+         debug="0"&gt;
+
+  &lt;!-- Link to the user database we will get roles from --&gt;
+  &lt;ResourceLink name="users" global="UserDatabase"
+                type="org.apache.catalina.UserDatabase"/&gt;
+
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+<p>When the optional <code>war</code> parameter is set to the URL
+for a web application ".war" file or directory it overrides any
+docBase configured in the context configuration ".xml" file.</p>
+
+<p>Here is an example of deploying an application using a Context
+configuration ".xml" file.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/deploy?config=file:/path/context.xml
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+<p>Here is an example of deploying an application using a Context
+configuration ".xml" file and a web application ".war" file located
+on the server.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/deploy?config=file:/path/context.xml&amp;war=jar:file:/path/bar.war!/
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+<h3>Deployment Notes</h3>
+
+<p>If the Host is configured with unpackWARs=true and you deploy a war
+file, the war will be unpacked into a directory in your Host appBase
+directory.</p>
+
+<p>If the application war or directory is installed in your Host appBase
+directory and either the Host is configured with autoDeploy=true or
+liveDeploy=true, the Context path must match the directory name or
+war file name without the ".war" extension.</p>
+
+<p>For security when untrusted users can manage web applications, the
+Host deployXML flag can be set to false.  This prevents untrusted users
+from deploying web applications using a configuration XML file and
+also prevents them from deploying application directories or ".war"
+files located outside of their Host appBase.</p>
+
+
+<h3>Deploy Response</h3>
+
+<p>If installation and startup is successful, you will receive a response
+like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Deployed application at context path /foo
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>Otherwise, the response will start with <code>FAIL</code> and include an
+error message.  Possible causes for problems include:</p>
+<ul>
+<li><em>Application already exists at path /foo</em>
+    <blockquote>
+    <p>The context paths for all currently running web applications must be
+    unique.  Therefore, you must undeploy the existing web
+    application using this context path, or choose a different context path
+    for the new one. The <code>update</code> parameter may be specified as
+    a parameter on the URL, with a value of <code>true</code> to avoid this
+    error. In that case, an undeploy will be performed on an existing
+    application before performing the deployment.</p>
+    </blockquote></li>
+<li><em>Document base does not exist or is not a readable directory</em>
+    <blockquote>
+    <p>The URL specified by the <code>war</code> parameter must identify a
+    directory on this server that contains the "unpacked" version of a
+    web application, or the absolute URL of a web application archive (WAR)
+    file that contains this application.  Correct the value specified by
+    the <code>war</code> parameter.</p>
+    </blockquote></li>
+<li><em>Encountered exception</em>
+    <blockquote>
+    <p>An exception was encountered trying to start the new web application.
+    Check the Tomcat 6 logs for the details, but likely explanations include
+    problems parsing your <code>/WEB-INF/web.xml</code> file, or missing
+    classes encountered when initializing application event listeners and
+    filters.</p>
+    </blockquote></li>
+<li><em>Invalid application URL was specified</em>
+    <blockquote>
+    <p>The URL for the directory or web application that you specified
+    was not valid.  Such URLs must start with <code>file:</code>, and URLs
+    for a WAR file must end in ".war".</p>
+    </blockquote></li>
+<li><em>Invalid context path was specified</em>
+    <blockquote>
+    <p>The context path must start with a slash character. To reference the
+    ROOT web application use "/".</p>
+    </blockquote></li>
+<li><em>Context path must match the directory or WAR file name:</em>
+    <blockquote>
+    If the application war or directory is installed in your Host appBase
+    directory and either the Host is configured with autoDeploy=true or
+    liveDeploy=true, the Context path must match the directory name or
+    war file name without the ".war" extension.
+    </blockquote></li>
+<li><em>Only web applications in the Host web application directory can
+     be installed</em>
+     <blockquote>
+     If the Host deployXML flag is set to false this error will happen
+     if an attempt is made to deploy a web application directory or
+      ".war" file outside of the Host appBase directory.
+     </blockquote></li>
+</ul>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="List Currently Deployed Applications"><strong>List Currently Deployed Applications</strong></a></font></td></tr><tr><td><blockquote>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/list
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>List the context paths, current status (<code>running</code> or
+<code>stopped</code>), and number of active sessions for all currently
+deployed web applications.  A typical response immediately
+after starting Tomcat might look like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Listed applications for virtual host localhost
+/webdav:running:0
+/examples:running:0
+/manager:running:0
+/:running:0
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Reload An Existing Application"><strong>Reload An Existing Application</strong></a></font></td></tr><tr><td><blockquote>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/reload?path=/examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>Signal an existing application to shut itself down and reload.  This can
+be useful when the web application context is not reloadable and you have
+updated classes or property files in the <code>/WEB-INF/classes</code>
+directory or when you have added or updated jar files in the
+<code>/WEB-INF/lib</code> directory.
+</p>
+<p><strong>NOTE:</strong> The <code>/WEB-INF/web.xml</code>
+web application configuration file is not reread on a reload.
+If you have made changes to your web.xml file you must stop
+then start the web application.
+</p>
+
+<p>If this command succeeds, you will see a response like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Reloaded application at context path /examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>Otherwise, the response will start with <code>FAIL</code> and include an
+error message.  Possible causes for problems include:</p>
+<ul>
+<li><em>Encountered exception</em>
+    <blockquote>
+    <p>An exception was encountered trying to restart the web application.
+    Check the Tomcat 6 logs for the details.</p>
+    </blockquote></li>
+<li><em>Invalid context path was specified</em>
+    <blockquote>
+    <p>The context path must start with a slash character. To reference the
+    ROOT web application use "/".</p>
+    </blockquote></li>
+<li><em>No context exists for path /foo</em>
+    <blockquote>
+    <p>There is no deployed application on the context path
+    that you specified.</p>
+    </blockquote></li>
+<li><em>No context path was specified</em>
+    <blockquote>
+    The <code>path</code> parameter is required.
+    </blockquote></li>
+<li><em>Reload not supported on WAR deployed at path /foo</em>
+    <blockquote>
+    Currently, application reloading (to pick up changes to the classes or
+    <code>web.xml</code> file) is not supported when a web application is
+    deployed directly from a WAR file.  It only works when the web application
+    is deployed from an unpacked directory.  If you are using a WAR file,
+    you should <code>undeploy</code> and then <code>deploy</code> or
+    <code>deploy</code> with the <code>update</code> parameter the
+    application again to pick up your changes.
+    </blockquote></li>
+</ul>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="List OS and JVM Properties"><strong>List OS and JVM Properties</strong></a></font></td></tr><tr><td><blockquote>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/serverinfo
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>Lists information about the Tomcat version, OS, and JVM properties.</p>
+
+<p>If an error occurs, the response will start with <code>FAIL</code> and
+include an error message.  Possible causes for problems include:</p>
+<ul>
+<li><em>Encountered exception</em>
+    <blockquote>
+    <p>An exception was encountered trying to enumerate the system properties.
+    Check the Tomcat 6 logs for the details.</p>
+    </blockquote></li>
+</ul>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="List Available Global JNDI Resources"><strong>List Available Global JNDI Resources</strong></a></font></td></tr><tr><td><blockquote>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/resources[?type=xxxxx]
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>List the global JNDI resources that are available for use in resource
+links for context configuration files.  If you specify the <code>type</code>
+request parameter, the value must be the fully qualified Java class name of
+the resource type you are interested in (for example, you would specify
+<code>javax.sql.DataSource</code> to acquire the names of all available
+JDBC data sources).  If you do not specify the <code>type</code> request
+parameter, resources of all types will be returned.</p>
+
+<p>Depending on whether the <code>type</code> request parameter is specfied
+or not, the first line of a normal response will be:</p>
+<pre>
+  OK - Listed global resources of all types
+</pre>
+<p>or</p>
+<pre>
+  OK - Listed global resources of type xxxxx
+</pre>
+<p>followed by one line for each resource.  Each line is composed of fields
+delimited by colon characters (":"), as follows:</p>
+<ul>
+<li><em>Global Resource Name</em> - The name of this global JNDI resource,
+    which would be used in the <code>global</code> attribute of a
+    <code>&lt;ResourceLink&gt;</code> element.</li>
+<li><em>Global Resource Type</em> - The fully qualified Java class name of
+    this global JNDI resource.</li>
+</ul>
+
+<p>If an error occurs, the response will start with <code>FAIL</code> and
+include an error message.  Possible causes for problems include:</p>
+<ul>
+<li><em>Encountered exception</em>
+    <blockquote>
+    <p>An exception was encountered trying to enumerate the global JNDI
+    resources.  Check the Tomcat 6 logs for the details.</p>
+    </blockquote></li>
+<li><em>No global JNDI resources are available</em>
+    <blockquote>
+    <p>The Tomcat server you are running has been configured without
+    global JNDI resources.</p>
+    </blockquote></li>
+</ul>
+
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="List Available Security Roles"><strong>List Available Security Roles</strong></a></font></td></tr><tr><td><blockquote>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/roles
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>List the security role names (and corresponding descriptions) that are
+available in the <code>org.apache.catalina.UserDatabase</code> resource that
+is linked to the <code>users</code> resource reference in the web.xml file
+for the Manager web application.  This would typically be used, for example,
+by a deployment tool that wanted to create
+<code>&lt;security-role-ref&gt;</code> elements to map security role names
+used in a web application to the role names actually defined within the
+container.</p>
+
+<p>By default, the <code>users</code> resource reference is pointed at the
+global <code>UserDatabase</code> resource.  If you choose to utilize a
+different user database per virtual host, you should modify the
+<code>&lt;ResourceLink&gt;</code> element in the default
+<code>manager.xml</code> context configuration file to point at the global
+user database resource for this virtual host.</p>
+
+<p>When this command is executed, the first line of the response will be:</p>
+<pre>
+  OK - Listed security roles
+</pre>
+<p>followed by one line for each security role.  Each line is composed of
+fields delimited by colon characters (":") as follows:</p>
+<ul>
+<li><em>Security Role Name</em> - A security role name that is known to Tomcat
+    in the user database.</li>
+<li><em>Description</em> - Description of this security role (useful in
+    creating user interfaces for selecting roles.</li>
+</ul>
+
+<p>If an error occurs, the response will start with <code>FAIL</code> and
+include an error message.  Possible causes for problems include:</p>
+<ul>
+<li><em>Cannot resolve user database reference</em> - A JNDI error prevented
+    the successful lookup of the <code>org.apache.catalina.UserDatabase</code>
+    resource.  Check the Tomcat log files for a stack trace associated with
+    this error.</li>
+<li><em>No user database is available</em> - You have not configured a resource
+    reference for the <code>users</code> resource that points at an
+    appropriate user database instance.  Check your <code>manager.xml</code>
+    file and ensure that you have created an appropriate
+    <code>&lt;ResourceLink&gt;</code> or
+    <code>&lt;ResourceParams&gt;</code> element for this resource.</li>
+</ul>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Session Statistics"><strong>Session Statistics</strong></a></font></td></tr><tr><td><blockquote>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/sessions?path=/examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>Display the default session timeout for a web application, and the
+number of currently active sessions that fall within ten-minute ranges of
+their actual timeout times.  For example, after restarting Tomcat and then
+executing one of the JSP samples in the <code>/examples</code> web app,
+you might get something like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Session information for application at context path /examples
+Default maximum session inactive interval 30 minutes
+30 - &lt;40 minutes:1 sessions
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Start an Existing Application"><strong>Start an Existing Application</strong></a></font></td></tr><tr><td><blockquote>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/start?path=/examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>Signal a stopped application to restart, and make itself available again.
+Stopping and starting is useful, for example, if the database required by
+your application becomes temporarily unavailable.  It is usually better to
+stop the web application that relies on this database rather than letting
+users continuously encounter database exceptions.</p>
+
+<p>If this command succeeds, you will see a response like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Started application at context path /examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>Otherwise, the response will start with <code>FAIL</code> and include an
+error message.  Possible causes for problems include:</p>
+<ul>
+<li><em>Encountered exception</em>
+    <blockquote>
+    <p>An exception was encountered trying to start the web application.
+    Check the Tomcat 6 logs for the details.</p>
+    </blockquote></li>
+<li><em>Invalid context path was specified</em>
+    <blockquote>
+    <p>The context path must start with a slash character. To reference the
+    ROOT web application use "/".</p>
+    </blockquote></li>
+<li><em>No context exists for path /foo</em>
+    <blockquote>
+    <p>There is no deployed application on the context path
+    that you specified.</p>
+    </blockquote></li>
+<li><em>No context path was specified</em>
+    <blockquote>
+    The <code>path</code> parameter is required.
+    </blockquote></li>
+</ul>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Stop an Existing Application"><strong>Stop an Existing Application</strong></a></font></td></tr><tr><td><blockquote>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/stop?path=/examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>Signal an existing application to make itself unavailable, but leave it
+deployed.  Any request that comes in while an application is
+stopped will see an HTTP error 404, and this application will show as
+"stopped" on a list applications command.</p>
+
+<p>If this command succeeds, you will see a response like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Stopped application at context path /examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>Otherwise, the response will start with <code>FAIL</code> and include an
+error message.  Possible causes for problems include:</p>
+<ul>
+<li><em>Encountered exception</em>
+    <blockquote>
+    <p>An exception was encountered trying to stop the web application.
+    Check the Tomcat 6 logs for the details.</p>
+    </blockquote></li>
+<li><em>Invalid context path was specified</em>
+    <blockquote>
+    <p>The context path must start with a slash character. To reference the
+    ROOT web application use "/".</p>
+    </blockquote></li>
+<li><em>No context exists for path /foo</em>
+    <blockquote>
+    <p>There is no deployed application on the context path
+    that you specified.</p>
+    </blockquote></li>
+<li><em>No context path was specified</em>
+    <blockquote>
+    The <code>path</code> parameter is required.
+    </blockquote></li>
+</ul>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Undeploy an Existing Application"><strong>Undeploy an Existing Application</strong></a></font></td></tr><tr><td><blockquote>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/undeploy?path=/examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p><strong><font color="red">WARNING</font> - This command will delete any web 
+application artifacts that exist within <code>appBase</code> directory 
+(typically "webapps") for this virtual host</strong>.
+This will delete the the application .WAR, if present, 
+the application directory resulting either from a deploy in unpacked form 
+or from .WAR expansion as well as the XML Context definition from
+<code>$CATALINA_BASE/conf/[enginename]/[hostname]/</code> directory. 
+If you simply want to take an application
+out of service, you should use the <code>/stop</code> command instead.</p>
+
+<p>Signal an existing application to gracefully shut itself down, and
+remove it from Tomcat (which also makes this context path available for
+reuse later).  In addition, the document root directory is removed, if it
+exists in the <code>appBase</code> directory (typically "webapps") for
+this virtual host.  This command is the logical opposite of the
+<code>/deploy</code> command.</p>
+
+<p>If this command succeeds, you will see a response like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Undeployed application at context path /examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>Otherwise, the response will start with <code>FAIL</code> and include an
+error message.  Possible causes for problems include:</p>
+<ul>
+<li><em>Encountered exception</em>
+    <blockquote>
+    <p>An exception was encountered trying to undeploy the web application.
+    Check the Tomcat 6 logs for the details.</p>
+    </blockquote></li>
+<li><em>Invalid context path was specified</em>
+    <blockquote>
+    <p>The context path must start with a slash character. To reference the
+    ROOT web application use "/".</p>
+    </blockquote></li>
+<li><em>No context exists for path /foo</em>
+    <blockquote>
+    <p>There is no deployed application on the context path
+    that you specified.</p>
+    </blockquote></li>
+<li><em>No context path was specified</em>
+    <blockquote>
+    The <code>path</code> parameter is required.
+    </blockquote></li>
+</ul>
+
+</blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Executing Manager Commands With Ant"><strong>Executing Manager Commands With Ant</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>In addition to the ability to execute Manager commands via HTTP requests,
+as documented above, Tomcat 6 includes a convenient set of Task definitions
+for the <em>Ant</em> (version 1.4 or later) build tool.  In order to use these
+commands, you must perform the following setup operations:</p>
+<ul>
+<li>Download the binary distribution of Ant from
+    <a href="http://ant.apache.org">http://ant.apache.org</a>.
+    You must use version <strong>1.4</strong> or later.</li>
+<li>Install the Ant distribution in a convenient directory (called
+    ANT_HOME in the remainder of these instructions).</li>
+<li>Copy the file <code>server/lib/catalina-ant.jar</code> from your Tomcat 6
+    installation into Ant's library directory (<code>$ANT_HOME/lib</code>).
+    </li>
+<li>Add the <code>$ANT_HOME/bin</code> directory to your <code>PATH</code>
+    environment variable.</li>
+<li>Configure at least one username/password combination in your Tomcat
+    user database that includes the <code>manager</code> role.</li>
+</ul>
+
+<p>To use custom tasks within Ant, you must declare them first with a
+<code>&lt;taskdef&gt;</code> element.  Therefore, your <code>build.xml</code>
+file might look something like this:</p>
+
+<table border="1">
+<tr><td><pre>
+&lt;project name="My Application" default="compile" basedir="."&gt;
+
+  &lt;!-- Configure the directory into which the web application is built --&gt;
+  &lt;property name="build"    value="${basedir}/build"/&gt;
+
+  &lt;!-- Configure the context path for this application --&gt;
+  &lt;property name="path"     value="/myapp"/&gt;
+
+  &lt;!-- Configure properties to access the Manager application --&gt;
+  &lt;property name="url"      value="http://localhost:8080/manager"/&gt;
+  &lt;property name="username" value="myusername"/&gt;
+  &lt;property name="password" value="mypassword"/&gt;
+
+  &lt;!-- Configure the custom Ant tasks for the Manager application --&gt;
+  &lt;taskdef name="deploy"    classname="org.apache.catalina.ant.DeployTask"/&gt;
+  &lt;taskdef name="list"      classname="org.apache.catalina.ant.ListTask"/&gt;
+  &lt;taskdef name="reload"    classname="org.apache.catalina.ant.ReloadTask"/&gt;
+  &lt;taskdef name="resources" classname="org.apache.catalina.ant.ResourcesTask"/&gt;
+  &lt;taskdef name="roles"     classname="org.apache.catalina.ant.RolesTask"/&gt;
+  &lt;taskdef name="start"     classname="org.apache.catalina.ant.StartTask"/&gt;
+  &lt;taskdef name="stop"      classname="org.apache.catalina.ant.StopTask"/&gt;
+  &lt;taskdef name="undeploy"  classname="org.apache.catalina.ant.UndeployTask"/&gt;
+
+  &lt;!-- Executable Targets --&gt;
+  &lt;target name="compile" description="Compile web application"&gt;
+    &lt;!-- ... construct web application in ${build} subdirectory, and
+            generated a ${path}.war ... --&gt;
+  &lt;/target&gt;
+
+  &lt;target name="deploy" description="Install web application"
+          depends="compile"&gt;
+    &lt;deploy url="${url}" username="${username}" password="${password}"
+            path="${path}" war="file:${build}${path}.war"/&gt;
+  &lt;/target&gt;
+
+  &lt;target name="reload" description="Reload web application"
+          depends="compile"&gt;
+    &lt;reload  url="${url}" username="${username}" password="${password}"
+            path="${path}"/&gt;
+  &lt;/target&gt;
+
+  &lt;target name="undeploy" description="Remove web application"&gt;
+    &lt;undeploy url="${url}" username="${username}" password="${password}"
+            path="${path}"/&gt;
+  &lt;/target&gt;
+
+&lt;/project&gt;
+</pre></td></tr>
+</table>
+
+<p>Now, you can execute commands like <code>ant deploy</code> to deploy the
+application to a running instance of Tomcat, or <code>ant reload</code> to
+tell Tomcat to reload it.  Note also that most of the interesting values in
+this <code>build.xml</code> file are defined as replaceable properties, so
+you can override their values from the command line.  For example, you might
+consider it a security risk to include the real manager password in your
+<code>build.xml</code> file's source code.  To avoid this, omit the password
+property, and specify it from the command line:</p>
+<pre>
+  ant -Dpassword=secret deploy
+</pre>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tasks output capture"><strong>Tasks output capture</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Using <em>Ant</em> version <strong>1.6.2</strong> or later,
+the Catalina tasks offer the option to capture their output in 
+properties or external files. They support directly the following subset of the 
+<code>&lt;redirector&gt;</code> type attributes:
+</p>
+
+<table border="1" cellpadding="2" cellspacing="0">
+<tbody>
+<tr>
+<td valign="top"><b>Attribute</b></td>
+<td valign="top"><b>Description</b></td>
+<td align="center" valign="top"><b>Required</b></td>
+</tr>
+<tr>
+<td valign="top">output</td>
+<td valign="top">Name of a file to which to write the output. If
+the error stream is not also redirected to a file or property, it will
+appear in this output.</td>
+<td align="center" valign="top">No</td>
+</tr>
+<tr>
+<td valign="top">error</td>
+<td valign="top">The file to which the standard error of the
+command should be redirected.</td>
+<td align="center" valign="top">No</td>
+</tr>
+<tr>
+<td valign="top">logError</td>
+<td valign="top">This attribute is used when you wish to see
+error output in Ant's log and you are redirecting output to a
+file/property. The error output will not be included in the output
+file/property. If you redirect error with the <i>error</i> or <i>errorProperty</i>
+attributes, this will have no effect.</td>
+<td align="center" valign="top">No</td>
+</tr>
+<tr>
+<td valign="top">append</td>
+<td valign="top">Whether output and error files should be
+appended to or overwritten. Defaults to <code>false</code>.</td>
+<td align="center" valign="top">No</td>
+</tr>
+<tr>
+<td valign="top">createemptyfiles</td>
+<td valign="top">Whether output and error files should be created
+even when empty. Defaults to <code>true</code>.</td>
+<td align="center" valign="top">No</td>
+</tr>
+<tr>
+<td valign="top">outputproperty</td>
+<td valign="top">The name of a property in which the output of
+the command should be stored. Unless the error stream is redirected to
+a separate file or stream, this property will include the error output.</td>
+<td align="center" valign="top">No</td>
+</tr>
+<tr>
+<td valign="top">errorproperty</td>
+<td valign="top">The name of a property in which the standard
+error of the command should be stored.</td>
+<td align="center" valign="top">No</td>
+</tr>
+</tbody>
+</table>
+
+<p>A couple of additional attributes can also be specified:
+</p>
+<table border="1" cellpadding="2" cellspacing="0">
+<tbody>
+<tr>
+<td valign="top"><b>Attribute</b></td>
+<td valign="top"><b>Description</b></td>
+<td align="center" valign="top"><b>Required</b></td>
+</tr>
+<tr>
+<td valign="top">alwaysLog</td>
+<td valign="top">This attribute is used when you wish to see the
+output you are capturing, appearing also in the Ant's log. It must not be
+used unless you are capturing task output.
+Defaults to <code>false</code>.
+<em>This attribute will be supported directly by <code>&lt;redirector&gt;</code>
+in Ant 1.6.3</em></td>
+<td align="center" valign="top">No</td>
+</tr>
+<tr>
+<td valign="top">failonerror</td>
+<td valign="top">This attribute is used when you wish to avoid that
+any manager command processing error terminates the ant execution. Defaults to <code>true</code>.
+It must be set to <code>false</code>, if you want to capture error output,
+otherwise execution will terminate before anything can be captured.
+<br>
+This attribute acts only on manager command execution,
+any wrong or missing command attribute will still cause Ant execution termination.
+</td>
+<td align="center" valign="top">No</td>
+</tr>
+</tbody>
+</table>
+
+<p>They also support the embedded <code>&lt;redirector&gt;</code> element
+in which you can specify
+its full set of attributes, but <code>input</code>, <code>inputstring</code> and 
+<code>inputencoding</code> that, even if accepted, are not used because they have
+no meaning in this context.
+Refer to <a href="http://ant.apache.org">ant manual</a> for details on 
+<code>&lt;redirector&gt;</code> element attributes.
+</p>
+
+<p>
+Here is a sample build file extract that shows how this output redirection support
+can be used:
+</p>
+
+<table border="1">
+<tr><td><pre>
+	&lt;target name="manager.deploy"
+		depends="context.status"
+		if="context.notInstalled"&gt;
+		&lt;deploy url="${mgr.url}"
+			username="${mgr.username}"
+			password="${mgr.password}"
+			path="${mgr.context.path}"
+			config="${mgr.context.descriptor}"/&gt;
+	&lt;/target&gt;
+
+	&lt;target name="manager.deploy.war"
+		depends="context.status"
+		if="context.deployable"&gt;
+		&lt;deploy url="${mgr.url}"
+			username="${mgr.username}"
+			password="${mgr.password}"
+			update="${mgr.update}"
+			path="${mgr.context.path}"
+			war="${mgr.war.file}"/&gt;
+	&lt;/target&gt;
+	
+	&lt;target name="context.status"&gt;
+		&lt;property name="running" value="${mgr.context.path}:running"/&gt;
+		&lt;property name="stopped" value="${mgr.context.path}:stopped"/&gt;
+	
+		&lt;list url="${mgr.url}"
+			outputproperty="ctx.status"
+			username="${mgr.username}"
+			password="${mgr.password}"&gt;
+		&lt;/list&gt;
+		
+		&lt;condition property="context.running"&gt;
+			&lt;contains string="${ctx.status}" substring="${running}"/&gt;
+		&lt;/condition&gt;
+		&lt;condition property="context.stopped"&gt;
+			&lt;contains string="${ctx.status}" substring="${stopped}"/&gt;
+		&lt;/condition&gt;
+		&lt;condition property="context.notInstalled"&gt;
+			&lt;and&gt;
+				&lt;isfalse value="${context.running}"/&gt;
+				&lt;isfalse value="${context.stopped}"/&gt;
+			&lt;/and&gt;
+		&lt;/condition&gt;
+		&lt;condition property="context.deployable"&gt;
+			&lt;or&gt;
+				&lt;istrue value="${context.notInstalled}"/&gt;
+				&lt;and&gt;
+					&lt;istrue value="${context.running}"/&gt;
+					&lt;istrue value="${mgr.update}"/&gt;
+				&lt;/and&gt;
+				&lt;and&gt;
+					&lt;istrue value="${context.stopped}"/&gt;
+					&lt;istrue value="${mgr.update}"/&gt;
+				&lt;/and&gt;
+			&lt;/or&gt;
+		&lt;/condition&gt;
+		&lt;condition property="context.undeployable"&gt;
+			&lt;or&gt;
+				&lt;istrue value="${context.running}"/&gt;
+				&lt;istrue value="${context.stopped}"/&gt;
+			&lt;/or&gt;
+		&lt;/condition&gt;
+	&lt;/target&gt;
+</pre></td></tr>
+</table>
+
+<p><strong>WARNING:</strong> even if it doesn't make many sense, and is always a bad idea,
+calling a Catalina task more than once,
+badly set Ant tasks depends chains may cause that a task be called
+more than once in the same Ant run, even if not intended to. A bit of caution should be exercised when you are
+capturing output from that task, because this could lead to something unexpected:
+<ul>
+<li>when capturing in a property you will find in it only the output from the <em>first</em> call, because
+Ant properties are immutable and once set they cannot be changed,
+</li>
+<li>when capturing in a file, each run will overwrite it and you will find in it only the <em>last</em> call
+output, unless you are using the <code>append="true"</code> attribute, in which case you will
+see the output of each task call appended to the file.
+</li>
+</ul>
+</p>
+
+</blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Using the JMX Proxy Servlet"><strong>Using the JMX Proxy Servlet</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="What is JMX Proxy Servlet"><strong>What is JMX Proxy Servlet</strong></a></font></td></tr><tr><td><blockquote>
+    The JMX Proxy Servlet is a lightweight proxy to get and set the
+    tomcat internals. (Or any class that has been exposed via an MBean)
+    Its usage is not very user friendly but the UI is
+    extremely help for integrating command line scripts for monitoring
+    and changing the internals of tomcat. You can do two things with the proxy:
+    get information and set information. For you to really understand the
+    JMX Proxy Servlet, you should have a general understanding of JMX.
+    If you don't know what JMX is, then prepare to be confused.
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JMX Query command"><strong>JMX Query command</strong></a></font></td></tr><tr><td><blockquote>
+    This takes the form:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://webserver/manager/jmxproxy/?qry=STUFF
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+    Where <code>STUFF</code> is the JMX query you wish to perform. For example,
+    here are some queries you might wish to run:
+    <ul>
+      <li>
+        <code>qry=*%3Atype%3DRequestProcessor%2C* --&gt;
+         type=RequestProcessor</code> which will locate all
+         workers which can process requests and report
+         their state.
+      </li>
+      <li>
+        <code>qry=*%3Aj2eeType=Servlet%2c* --&gt;
+            j2eeType=Servlet</code> which return all loaded servlets.
+      </li>
+      <li>
+        <code>qry=Catalina%3Atype%3DEnvironment%2Cresourcetype%3DGlobal%2Cname%3DsimpleValue --&gt;
+            Catalina:type=Environment,resourcetype=Global,name=simpleValue</code>
+            which look for a specific MBean by the given name.
+      </li>
+    </ul>
+    You'll need to experiment with this to really understand its capabilites.
+    If you provide no <code>qry</code> parameter, then all of the MBeans will
+    be displayed. We really recommend looking at the tomcat source code and
+    understand the JMX spec to get a better understanding of all the queries
+    you may run.
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JMX Set command"><strong>JMX Set command</strong></a></font></td></tr><tr><td><blockquote>
+    Now that you can query an MBean, its time to muck with Tomcat's internals!
+    The general form of the set command is :
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://webserver/manager/jmxproxy/?set=BEANNAME&amp;att=MYATTRIBUTE&amp;val=NEWVALUE
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+    So you need to provide 3 request parameters:
+    <ol>
+      <li><code>set</code>: The full bean name</li>
+      <li><code>att</code>: The attribute you wish to alter</li>
+      <li><code>val</code>: The new value </li>
+    </ol>
+    If all goes ok, then it will say OK, otherwise an error message will be
+    shown. For example, lets say we wish to turn up debugging on the fly for the
+    <code>ErrorReportValve</code>. The following will set debugging to 10.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/jmxproxy/
+?set=Catalina%3Atype%3DValve%2Cname%3DErrorReportValve%2Chost%3Dlocalhost&amp;att=debug&amp;val=10
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+    and my result is (YMMV):
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Result: ok
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+    Here is what I see if I pass in a bad value. Here is the URL I used,
+    I try set debugging equal to 'cowbell':
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/jmxproxy/
+?set=Catalina%3Atype%3DValve%2Cname%3DErrorReportValve%2Chost%3Dlocalhost&amp;att=debug&amp;val=cowbell
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+    When I try that, my result is
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Error: java.lang.NumberFormatException: For input string: "cowbell"
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/maven-jars.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/maven-jars.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/maven-jars.html	(revision 66)
@@ -0,0 +1,23 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - Apache Tomcat - Using Tomcat libraries with Maven</title><meta value="Filip Hanik" name="author"><meta value="fhanik@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://wiki.apache.org/tomcat/FAQ">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR/Native</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li><li><a href="aio.html">25) Advanced IO</a></li><li><a href="extras.html">26) Additional Components</a></li><li><a href="maven-jars.html">27) Mavenized</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Configuration</a></li><li><a href="api/index.html">Javadocs</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="http://wiki.apache.org/tomcat/TomcatVersions">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="architecture/index.html">Architecture</a></li><li><a href="funcspecs/index.html">Functional Specs.</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>Apache Tomcat - Using Tomcat libraries with Maven</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/maven-jars.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Using Tomcat libraries With Maven"><strong>Using Tomcat libraries With Maven</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat Snapshots"><strong>Tomcat Snapshots</strong></a></font></td></tr><tr><td><blockquote>
+      Tomcat snapshots are located in the 
+      <a href="http://people.apache.org/repo/m2-snapshot-repository/org/apache/tomcat/">Apache Snapshot Repository</a>.
+      The official URL is <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>http://people.apache.org/repo/m2-snapshot-repository/org/apache/tomcat/</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div><br>
+      Snapshots are done periodically, not on a regular basis, but when changes happen and the Tomcat team deams a new snapshot might 
+      useful.
+    </blockquote></td></tr></table>
+    <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat Releases"><strong>Tomcat Releases</strong></a></font></td></tr><tr><td><blockquote>
+      At every release, be it alpha, beta or stable, we will publish the JARs to 
+      <a href="http://tomcat.apache.org/dev/dist/m2-repository/org/apache/tomcat/">Tomcat's Staging Repository</a>.
+      The URL for this is <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>http://tomcat.apache.org/dev/dist/m2-repository/org/apache/tomcat/</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>.<br>
+      At some point, this URL will change over to ASF's main repository that synchronizes with IBiblio.<br>
+      When that happens, all releases will be moved over, and this repository will stick around for a while, but no
+      new releases will be published to the staging repository.
+    </blockquote></td></tr></table>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/mbeans-descriptor-howto.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/mbeans-descriptor-howto.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/mbeans-descriptor-howto.html	(revision 66)
@@ -0,0 +1,47 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - MBean Descriptor How To</title><meta value="Amy Roh" name="author"><meta value="amyroh@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://wiki.apache.org/tomcat/FAQ">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR/Native</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li><li><a href="aio.html">25) Advanced IO</a></li><li><a href="extras.html">26) Additional Components</a></li><li><a href="maven-jars.html">27) Mavenized</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Configuration</a></li><li><a href="api/index.html">Javadocs</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="http://wiki.apache.org/tomcat/TomcatVersions">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="architecture/index.html">Architecture</a></li><li><a href="funcspecs/index.html">Functional Specs.</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>MBean Descriptor How To</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/mbeans-descriptor-howto.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Tomcat 6 uses JMX MBeans as the technology for implementing 
+manageability of Tomcat.</p>
+
+<p>The descriptions of JMX MBeans for Catalina are in the mbeans-descriptor.xml 
+file in each package.</p>
+
+<p>You will need to add MBean descriptions for your custom components 
+in order to avoid a "ManagedBean is not found" exception.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Adding MBean descriptions"><strong>Adding MBean descriptions</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>You may also add MBean descriptions for custom components in 
+a mbeans-descriptor.xml file, located in the same package as the class files
+it describes.</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+  &lt;mbean         name="LDAPRealm"
+            className="org.apache.catalina.mbeans.ClassNameMBean"
+          description="Custom LDAPRealm"
+               domain="Catalina"
+                group="Realm"
+                 type="com.myfirm.mypackage.LDAPRealm"&gt;
+
+    &lt;attribute   name="className"
+          description="Fully qualified class name of the managed object"
+                 type="java.lang.String"
+            writeable="false"/&gt;
+
+    &lt;attribute   name="debug"
+          description="The debugging detail level for this component"
+                 type="int"/&gt;
+    .
+    .
+    .
+
+  &lt;/mbean&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/monitoring.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/monitoring.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/monitoring.html	(revision 66)
@@ -0,0 +1,1073 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - Monitoring and Managing Tomcat</title><meta value="Peter Rossbach" name="author"><meta value="pero@apache.org" name="email"><meta value="Remy Maucherat" name="author"><meta value="remm@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://wiki.apache.org/tomcat/FAQ">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR/Native</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li><li><a href="aio.html">25) Advanced IO</a></li><li><a href="extras.html">26) Additional Components</a></li><li><a href="maven-jars.html">27) Mavenized</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Configuration</a></li><li><a href="api/index.html">Javadocs</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="http://wiki.apache.org/tomcat/TomcatVersions">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="architecture/index.html">Architecture</a></li><li><a href="funcspecs/index.html">Functional Specs.</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>Monitoring and Managing Tomcat</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/monitoring.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>Monitoring is a very important question today. Looking inside the running
+        server, grab some statistic data or reconfigure some aspects are 
+        daliy adminstration tasks.</p>  
+  
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Enabling JMX Remote"><strong>Enabling JMX Remote</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The Sun website includes the list of options and how to configure JMX Remote on Java 5:
+        <a href="http://java.sun.com/j2se/1.5.0/docs/guide/management/agent.html">
+        http://java.sun.com/j2se/1.5.0/docs/guide/management/agent.html</a>.
+    </p>
+    <p>For quick installation you find here a short installation guide:</p>
+    <p>Add the following parameters to your tomcat startup script:
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    set CATALINA_OPTS="-Dcom.sun.management.jmxremote \
+    -Dcom.sun.management.jmxremote.port=%my.jmx.port% \
+    -Dcom.sun.management.jmxremote.ssl=false \
+    -Dcom.sun.management.jmxremote.authenticate=false"
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+    </p>
+    <p>
+    <ol>
+    <li>When you think authorisation is a good, add and change this :
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    -Dcom.sun.management.jmxremote.authenticate=true \
+    -Dcom.sun.management.jmxremote.password.file=../conf/jmxremote.password \
+    -Dcom.sun.management.jmxremote.access.file=../conf/jmxremote.access \
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+    </li>
+    <li>edit the access allow file <em>$CATALINA_BASE/conf/jmxremote.access</em> :
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+monitorRole readonly
+controlRole readwrite
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+    </li>
+    <li>edit the password file <em>$CATALINA_BASE/conf/jmxremote.password</em> :
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+monitorRole tomcat
+controlRole tomcat
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+    <b>Tipp</b>: Password File must be readonly and not accessable from every 
+    other user! Remove all other users under windows to access this file.
+    </li>
+    </ol>
+    <b>Note:</b>The JSR 160 JMX-Adaptor opens a second data protocol port. That is a problem
+    when you have installed a local firewall.<br>
+    </p>
+    <p>Activate JMX MX4J Http Adaptor with Java 1.4:
+    <ol>
+      <li>Install the tomcat compat package</li>
+      <li>Install the mx4j-tools.jar at common/lib. Please, use the same MX4j 
+          version as your tomcat release</li>
+      <li>Configure a MX4J JMX HTTP Adaptor at your AJP Connector
+      <p>
+      <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+      &lt;Connector port="${AJP.PORT}" 
+            handler.list="mx" 
+            mx.enabled="true" 
+            mx.httpHost="${JMX.HOST}"
+            mx.httpPort="${JMX.PORT}"
+            protocol="AJP/1.3" /&gt;
+      </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+      </p>
+      <p><b>Tipp</b>: With <em>${AJP.PORT}=0</em> no ajp connection where started. 
+      </p>
+      <p><b>Note</b>: MX4J JSR 160 RMI Adaptor to support JDK 1.4 currently not integrated.
+      </p>
+      </li>
+      <li>Start your tomcat and look with a browser at http://${JMX.HOST}:${JMX.PORT}</li>
+      <li>With the mx connector parameter <code>mx.authMode="basic" mx.authUser="tomcat" mx.authPassword="strange"</code> 
+          you can control the access!</li>
+      <li>A complete list of all tomcat core MBeans can you find at <a href="funcspecs/mbean-names.html">
+        funcspecs/mbean-names.html</a>.</li>
+    </ol>
+    </p>
+
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Manage Tomcat with JMX remote Ant Tasks"><strong>Manage Tomcat with JMX remote Ant Tasks</strong></a></font></td></tr><tr><td><blockquote>
+   <p>For simple tomcat ant task usage with ant 1.6.x we have integrate import and antlib support.</p>   
+   <p><b>antlib</b>Copy your catalina-ant.jar from $CATALINA_HOME/lib to $ANT_HOME/lib.</p>
+   <p>Following example show the JMX Accessor usage:</p>
+   <table border="1">
+   <tr><td><p><pre>
+&lt;project name="Catalina Ant JMX" 
+        xmlns:jmx="antlib:org.apache.catalina.ant.jmx" 
+        default="state"
+        basedir="."&gt;
+    &lt;property name="jmx.server.name" value="localhost" /&gt;
+    &lt;property name="jmx.server.port" value="9012" /&gt;
+    &lt;property name="cluster.server.address" value="192.168.1.75" /&gt;
+    &lt;property name="cluster.server.port" value="9025" /&gt;
+ 
+    &lt;target name="state" description="Show JMX Cluster state"&gt;
+        &lt;jmx:open
+            host="${jmx.server.name}"
+            port="${jmx.server.port}"
+            username="controlRole"
+            password="tomcat"/&gt;
+        &lt;jmx:get
+            name="Catalina:type=IDataSender,host=localhost,senderAddress=${cluster.server.address},senderPort=${cluster.server.port}" 
+            attribute="connected"
+            resultproperty="IDataSender.backup.connected"
+            echo="false"
+        /&gt;
+       &lt;jmx:get
+            name="Catalina:type=ClusterSender,host=localhost" 
+            attribute="senderObjectNames"
+            resultproperty="senderObjectNames"
+            echo="false"
+        /&gt;
+        &lt;!-- get current maxActiveSession from ClusterTest application
+             echo it to ant output and store at 
+             property &lt;em&gt;clustertest.maxActiveSessions.orginal&lt;/em&gt;
+        --&gt;
+       &lt;jmx:get
+            name="Catalina:type=Manager,path=/ClusterTest,host=localhost" 
+            attribute="maxActiveSessions"
+            resultproperty="clustertest.maxActiveSessions.orginal"
+            echo="true"
+        /&gt;
+        &lt;!-- set maxActiveSession to 100
+        --&gt;
+        &lt;jmx:set
+            name="Catalina:type=Manager,path=/ClusterTest,host=localhost" 
+            attribute="maxActiveSessions"
+            value="100"
+            type="int"
+        /&gt;
+        &lt;!-- get all sessions and split result as delimiter &lt;em&gt;SPACE&lt;/em&gt; for easy
+             access all session ids directly with ant property sessions.[0..n].
+        --&gt;
+        &lt;jmx:invoke
+            name="Catalina:type=Manager,path=/ClusterTest,host=localhost" 
+            operation="listSessionIds"
+            resultproperty="sessions"
+            echo="false"
+            delimiter=" "
+        /&gt;
+        &lt;!-- Access session attribute &lt;em&gt;Hello&lt;/em&gt; from first session.
+        --&gt;
+        &lt;jmx:invoke
+            name="Catalina:type=Manager,path=/ClusterTest,host=localhost" 
+            operation="getSessionAttribute"
+            resultproperty="Hello"
+            echo="false"
+        &gt;
+          &lt;arg value="${sessions.0}"/&gt;
+          &lt;arg value="Hello"/&gt;
+        &lt;/jmx:invoke&gt; 
+        &lt;!-- Query for all application manager.of the server from all hosts
+             and bind all attributes from all found manager mbeans.
+        --&gt;
+        &lt;jmx:query
+            name="Catalina:type=Manager,*" 
+            resultproperty="manager"
+            echo="true"
+            attributebinding="true"
+        /&gt;
+        &lt;!-- echo the create properties --&gt;
+        &lt;echo&gt;
+           senderObjectNames: ${senderObjectNames.0}
+           IDataSender.backup.connected: ${IDataSender.backup.connected}
+           session: ${sessions.0}
+           manager.length: ${manager.length}
+           manager.0.name: ${manager.0.name}
+           manager.1.name: ${manager.1.name}
+           hello: ${Hello}
+           manager.ClusterTest.0.name: ${manager.ClusterTest.0.name}
+           manager.ClusterTest.0.activeSessions: ${manager.ClusterTest.0.activeSessions}
+           manager.ClusterTest.0.counterSend_EVT_SESSION_EXPIRED: ${manager.ClusterTest.0.counterSend_EVT_SESSION_EXPIRED}
+           manager.ClusterTest.0.counterSend_EVT_GET_ALL_SESSIONS: ${manager.ClusterTest.0.counterSend_EVT_GET_ALL_SESSIONS}
+        &lt;/echo&gt;   
+
+    &lt;/target&gt;
+ 
+&lt;/project&gt;
+   </pre></p>
+   </td></tr>
+</table>
+   <p><b>import:</b> Import the JMX Accessor Projekt with 
+   <em>&lt;import file="${CATALINA.HOME}/bin/jmxaccessor-tasks.xml" /&gt;</em> and
+   reference the tasks with <em>jmxOpen</em>, <em>jmxSet</em>, <em>jmxGet</em>,
+    <em>jmxQuery</em>, <em>jmxInvoke</em>,<em>jmxEquals</em> and <em>jmxCondition</em>. </p>
+
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JMXAccessorOpenTask - jmx open connection task"><strong>JMXAccessorOpenTask - jmx open connection task</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+List of Attributes<br>
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">Attribute</th>
+    <th align="center" bgcolor="aqua">Description</th>
+    <th align="center" bgcolor="aqua">Default value</th>
+  </tr>
+
+  <tr>
+    <td>url</td>
+    <td>Set jmx connection url - <em>service:jmx:rmi:///jndi/rmi://localhost:8050/jmxrmi</em>
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>host</td>
+    <td>Set the host, shortcut the very long url syntax.
+    </td>
+    <td><code>localhost</code></td>
+  </tr>
+
+  <tr>
+    <td>port</td>
+    <td>Set the remote connection port 
+    </td>
+    <td><code>8050</code></td>
+  </tr>
+
+  <tr>
+    <td>username</td>
+    <td>remote jmx connection user name.
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>password</td>
+    <td>remote jmx connection password.
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>ref</td>
+    <td>Name of the internal connection referenz. With this attribute you can
+        configure more the one connection inside the same ant projekt.
+    </td>
+    <td><code>jmx.server</code></td>
+  </tr>
+
+  <tr>
+    <td>echo</td>
+    <td>Echo the command usage (for analyse access or debugging)
+    </td>
+    <td><code>false</code></td>
+  </tr>
+  
+  <tr>
+    <td>if</td>
+    <td>Only execute if a property of the given name <b>exists</b> in the current project.
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>unless</td>
+    <td>Only execute if a property of the given name <b>not exists</b> in the current project.
+    </td>
+    <td></td>
+  </tr>
+
+</table>
+</p>
+<p>
+Example to open a new jmx connection<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;jmx:open
+            host="${jmx.server.name}"
+            port="${jmx.server.port}"
+    /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>  
+<p>
+Example to open a jmx connection from url, with authorisation and 
+store at other reference <br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;jmx:open
+            url="service:jmx:rmi:///jndi/rmi://localhost:9024/jmxrmi"
+            ref="jmx.server.9024"
+            username="controlRole"
+            password="tomcat"    
+    /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>  
+
+<p>
+Example to open a jmx connection from url, with authorisation and 
+store at other reference, but only when property <em>jmx.if</em> exists and 
+<em>jmx.unless</em> not exists<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;jmx:open
+            url="service:jmx:rmi:///jndi/rmi://localhost:9024/jmxrmi"
+            ref="jmx.server.9024"
+            username="controlRole"
+            password="tomcat"    
+            if="jmx.if"    
+            unless="jmx.unless"    
+    /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p> 
+<p><b>Note</b>: All properties from <em>jmxOpen</em> task also exists at all 
+other tasks and conditions. 
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JMXAccessorGetTask:  get attribute value ant task"><strong>JMXAccessorGetTask:  get attribute value ant task</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+List of Attributes<br>
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">Attribute</th>
+    <th align="center" bgcolor="aqua">Description</th>
+    <th align="center" bgcolor="aqua">Default value</th>
+  </tr>
+
+  <tr>
+    <td>name</td>
+    <td>Full qualified JMX ObjectName -- <em>Catalina:type=Server</em>
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>attribute</td>
+    <td>Existing Mbean attribute (see Tomcat mbean description above)
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>ref</td>
+    <td>JMX Connection reference
+    </td>
+    <td><code>jmx.server</code></td>
+  </tr>
+
+  <tr>
+    <td>echo</td>
+    <td>Echo command usage (access and result)
+    </td>
+    <td><code>false</code></td>
+  </tr>
+
+  <tr>
+    <td>resultproperty</td>
+    <td>Save result at this project property
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>delimiter</td>
+    <td>Split result with delimiter (java.util.StringTokenizier) 
+        and use resultproperty as prefix to store tokens.
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>separatearrayresults</td>
+    <td>When return value is an array, save result as property list 
+    (<em>$resultproperty.[0..N]</em> and <em>$resultproperty.lenght</em>) 
+    </td>
+    <td><code>true</code></td>
+  </tr>
+
+</table>
+</p>
+<p>
+Example to get remote mbean attribute from default jmx connection <br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;jmx:get
+        name="Catalina:type=Manager,path=/servlets-examples,host=localhost" 
+        attribute="maxActiveSessions"
+        resultproperty="servlets-examples.maxActiveSessions"
+    /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>  
+<p>
+Example to get and result array and split it at separate properties<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;jmx:get
+        name="Catalina:type=ClusterSender,host=localhost" 
+        attribute="senderObjectNames"
+        resultproperty="senderObjectNames"
+    /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+Access the senderObjectNames properties with:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    ${senderObjectNames.lenght} give the number of returned sender list.
+    ${senderObjectNames.[0..N]} found all sender object names
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>  
+
+<p>
+Example to get IDataSender attribute connected only when cluster is configured.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;jmx:query
+    failonerror="false"
+    name="Catalina:type=Cluster,host=${tomcat.application.host}"
+    resultproperty="cluster"
+/&gt;
+&lt;jmx:get
+    name="Catalina:type=IDataSender,host=${tomcat.application.host},senderAddress=${cluster.backup.address},senderPort=${cluster.backup.port}" 
+    attribute="connected"
+    resultproperty="datasender.connected"
+    if="cluster.0.name" /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>  
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JMXAccessorSetTask:  set attribute value ant task"><strong>JMXAccessorSetTask:  set attribute value ant task</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+List of Attributes<br>
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">Attribute</th>
+    <th align="center" bgcolor="aqua">Description</th>
+    <th align="center" bgcolor="aqua">Default value</th>
+  </tr>
+
+  <tr>
+    <td>name</td>
+    <td>Full qualified JMX ObjectName -- <em>Catalina:type=Server</em>
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>attribute</td>
+    <td>Existing Mbean attribute (see Tomcat mbean description above)
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>value</td>
+    <td>value that set to attribute 
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>type</td>
+    <td>type of the attribute.
+    </td>
+    <td>java.lang.String</td>
+  </tr>
+
+  <tr>
+    <td>ref</td>
+    <td>JMX Connection reference
+    </td>
+    <td><code>jmx.server</code></td>
+  </tr>
+
+  <tr>
+    <td>echo</td>
+    <td>Echo command usage (access and result)
+    </td>
+    <td><code>false</code></td>
+  </tr>
+
+</table>
+</p>
+<p>
+Example to set remote mbean attribute value<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;jmx:set
+        name="Catalina:type=Manager,path=/servlets-examples,host=localhost" 
+        attribute="maxActiveSessions"
+        value="500"
+        type="int"
+    /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>  
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JMXAccessorInvokeTask:  invoke Mbean operation ant task"><strong>JMXAccessorInvokeTask:  invoke Mbean operation ant task</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+List of Attributes<br>
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">Attribute</th>
+    <th align="center" bgcolor="aqua">Description</th>
+    <th align="center" bgcolor="aqua">Default value</th>
+  </tr>
+
+  <tr>
+    <td>name</td>
+    <td>Full qualified JMX ObjectName -- <em>Catalina:type=Server</em>
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>operation</td>
+    <td>Existing Mbean operation (see Tomcat 
+        <a href="funcspecs/fs-admin-opers.html">funcspecs/fs-admin-opers.html</a>.
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>ref</td>
+    <td>JMX Connection reference
+    </td>
+    <td><code>jmx.server</code></td>
+  </tr>
+
+  <tr>
+    <td>echo</td>
+    <td>Echo command usage (access and result)
+    </td>
+    <td><code>false</code></td>
+  </tr>
+
+  <tr>
+    <td>resultproperty</td>
+    <td>Save result at this project property
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>delimiter</td>
+    <td>Split result with delimiter (java.util.StringTokenizier) 
+        and use resultproperty as prefix to store tokens.
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>separatearrayresults</td>
+    <td>When return value is an array, save result as property list 
+    (<em>$resultproperty.[0..N]</em> and <em>$resultproperty.lenght</em>) 
+    </td>
+    <td><code>true</code></td>
+  </tr>
+
+</table>
+</p>
+<p>
+stop an application <br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;jmx:invoke
+        name="Catalina:type=Manager,path=/servlets-examples,host=localhost" 
+        operation="stop"/&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+Now you can find the sessionid at <em>${sessions.[0..N}</em> properties and access the count
+with ${sessions.lenght} property.
+</p>  
+<p>
+Example to get all sessionids <br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;jmx:invoke
+        name="Catalina:type=Manager,path=/servlets-examples,host=localhost" 
+        operation="listSessionIds"
+        resultproperty="sessions"
+        delimiter=" "        
+    /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+Now you can find the sessionid at <em>${sessions.[0..N}</em> properties and access the count
+with ${sessions.lenght} property.
+</p>  
+<p>
+Example to get remote mbean session attribute from session ${sessionid.0}<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;jmx:invoke
+        name="Catalina:type=Manager,path=/ClusterTest,host=localhost" 
+        operation="getSessionAttribute"
+        resultproperty="hello"&gt;
+         &lt;arg value="${sessionid.0}"/&gt;
+         &lt;arg value="Hello" /&gt;
+ &lt;/jmx:invoke&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+<p>
+Example to create a new access logger valve at vhost <em>localhost</em>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+ &lt;jmx:invoke
+         name="Catalina:type=MBeanFactory" 
+         operation="createAcccesLoggerValve"
+         resultproperty="acccesLoggerObjectName"
+ &gt;
+     &lt;arg value="Catalina:type=Host,host=localhost"/&gt;
+ &lt;/jmx:invoke&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+Now you can find new Mbean with name stored at <em>${acccesLoggerObjectName}</em>
+proeprty.
+</p>  
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JMXAccessorQueryTask:  query Mbean ant task"><strong>JMXAccessorQueryTask:  query Mbean ant task</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+List of Attributes<br>
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">Attribute</th>
+    <th align="center" bgcolor="aqua">Description</th>
+    <th align="center" bgcolor="aqua">Default value</th>
+  </tr>
+
+  <tr>
+    <td>name</td>
+    <td>JMX  ObjectName query string -- <em>Catalina:type=Manager,*</em>
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>ref</td>
+    <td>JMX Connection reference
+    </td>
+    <td><code>jmx.server</code></td>
+  </tr>
+
+  <tr>
+    <td>echo</td>
+    <td>Echo command usage (access and result)
+    </td>
+    <td><code>false</code></td>
+  </tr>
+
+  <tr>
+    <td>resultproperty</td>
+    <td>Prefix project property name to all founded Mbeans (<em>mbeans.[0..N].objectname</em>)
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>attributebinduing</td>
+    <td>bind ALL MBean attributes in addition to <em>name</em>
+    </td>
+    <td><code>false</code></td>
+  </tr>
+
+  <tr>
+    <td>delimiter</td>
+    <td>Split result with delimiter (java.util.StringTokenizier) 
+        and use resultproperty as prefix to store tokens.
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>separatearrayresults</td>
+    <td>When return value is an array, save result as property list 
+    (<em>$resultproperty.[0..N]</em> and <em>$resultproperty.lenght</em>) 
+    </td>
+    <td><code>true</code></td>
+  </tr>
+
+</table>
+</p>
+<p>
+Get all Manager ObjectNames from all services and Hosts <br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+  &lt;jmx:query
+           name="Catalina:type=Manager,* 
+           resultproperty="manager" /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+Now you can find the Session Manager at <em>${manager.[0..N].name}</em> 
+properties and access the result object counter with ${manager.length} property.
+</p>  
+<p>
+Example to get the Manager from <em>servlet-examples</em> application an bind all mbean properties<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+  &lt;jmx:query
+           name="Catalina:type=Manager,path=/servlet-examples,host=localhost*" 
+           attributebinding="true"
+           resultproperty="manager.servletExamples" /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+Now you can find the manager at <em>${manager.servletExamples.0.name}</em> property
+and can access all properties from this manager with <em>${manager.servletExamples.0.[manager attribute names]</em>}.
+The result object counter from MBeans is stored ad ${manager.length} property.
+</p>  
+
+<p>
+Example to get all MBeans from a server and store inside an external xml property file<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;project name="jmx.query"         
+            xmlns:jmx="antlib:org.apache.catalina.ant.jmx"
+            default="query-all" basedir="."&gt;
+&lt;property name="jmx.host" value="localhost"/&gt;
+&lt;property name="jmx.port" value="8050"/&gt;
+&lt;property name="jmx.username" value="controlRole"/&gt;
+&lt;property name="jmx.password" value="tomcat"/&gt;
+
+&lt;target name="query-all" description="Query all MBeans of a server"&gt;
+&lt;!-- Configure connection --&gt;
+&lt;jmx:open 
+    host="${jmx.host}"
+    port="${jmx.port}"
+    ref="jmx.server"
+    username="${jmx.username}"
+    password="${jmx.password}"/&gt;
+&lt;!-- Query MBean list --&gt;
+&lt;jmx:query 
+    name="*:*"
+    resultproperty="mbeans"
+    attributebinding="false"/&gt;
+    
+&lt;echoproperties
+    destfile="mbeans.properties"
+    prefix="mbeans."
+    format="xml"/&gt;
+    
+&lt;!-- Print results --&gt;
+&lt;echo
+    message="Number of MBeans in server ${jmx.host}:${jmx.port} is ${mbeans.length}"/&gt;
+&lt;/target&gt;
+&lt;/project&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+Now you can find all MBeans inside the file <em>mbeans.properties</em>.
+</p>  
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JMXAccessorCreateTask:  remote create mbean ant task"><strong>JMXAccessorCreateTask:  remote create mbean ant task</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+List of Attributes<br>
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">Attribute</th>
+    <th align="center" bgcolor="aqua">Description</th>
+    <th align="center" bgcolor="aqua">Default value</th>
+  </tr>
+
+  <tr>
+    <td>name</td>
+    <td>Full qualified JMX ObjectName -- <em>Catalina:type=MBeanFactory</em>
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>className</td>
+    <td>Existing MBean full qualified classname (see Tomcat mbean description above)
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>classLoader</td>
+    <td>ObjectName of server or web application classloader <br>
+    ( <em>Catalina:type=ServerClassLoader,name=[server,common,shared]</em> or<br>
+     <em>Catalina:type=WebappClassLoader,path=/myapps,host=localhost</em>) 
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>ref</td>
+    <td>JMX Connection reference
+    </td>
+    <td><code>jmx.server</code></td>
+  </tr>
+
+  <tr>
+    <td>echo</td>
+    <td>Echo command usage (access and result)
+    </td>
+    <td><code>false</code></td>
+  </tr>
+
+</table>
+</p>
+<p>
+Example to create remote mbean<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;jmx:create
+             ref="${jmx.reference}"
+             name="Catalina:type=MBeanFactory"
+             className="org.apache.commons.modeler.BaseModelMBean"
+             classLoader="Catalina:type=ServerClassLoader,name=server"&gt;             
+             &lt;Arg value="org.apache.catalina.mbeans.MBeanFactory" /&gt;
+    &lt;/jmx:create&gt; 
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>  
+<p>
+    <b>Warning</b>: A lot of tomcat mbeans can't be really create and connect with <br>
+    the parent. The valve, cluster or realm Mbeans are not autconnect with there parent.<br> 
+    Use <em>MBeanFacrory</em> create operation instead.
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JMXAccessorUnregisterTask:  remote unregister mbean ant task"><strong>JMXAccessorUnregisterTask:  remote unregister mbean ant task</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+List of Attributes<br>
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">Attribute</th>
+    <th align="center" bgcolor="aqua">Description</th>
+    <th align="center" bgcolor="aqua">Default value</th>
+  </tr>
+
+  <tr>
+    <td>name</td>
+    <td>Full qualified JMX ObjectName -- <em>Catalina:type=MBeanFactory</em>
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>ref</td>
+    <td>JMX Connection reference
+    </td>
+    <td><code>jmx.server</code></td>
+  </tr>
+
+  <tr>
+    <td>echo</td>
+    <td>Echo command usage (access and result)
+    </td>
+    <td><code>false</code></td>
+  </tr>
+
+</table>
+</p>
+<p>
+Example to unregister remote mbean<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;jmx:unregister
+        name="Catalina:type=MBeanFactory" 
+    /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>  
+<p>
+    <b>Warning</b>: A lot of tomcat mbeans can't be really unregister. <br>
+    The Mbeans are not deregister from parent. Use <em>MBeanFacrory</em> <br>
+    remove operation instead.
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JMXAccessorCondition:  express condition"><strong>JMXAccessorCondition:  express condition</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+List of Attributes<br>
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">Attribute</th>
+    <th align="center" bgcolor="aqua">Description</th>
+    <th align="center" bgcolor="aqua">Default value</th>
+  </tr>
+
+ <tr>
+    <td>url</td>
+    <td>Set jmx connection url - <em>service:jmx:rmi:///jndi/rmi://localhost:8050/jmxrmi</em>
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>host</td>
+    <td>Set the host, shortcut the very long url syntax.
+    </td>
+    <td><code>localhost</code></td>
+  </tr>
+
+  <tr>
+    <td>port</td>
+    <td>Set the remote connection port 
+    </td>
+    <td><code>8050</code></td>
+  </tr>
+
+  <tr>
+    <td>username</td>
+    <td>remote jmx connection user name.
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>password</td>
+    <td>remote jmx connection password.
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>ref</td>
+    <td>Name of the internal connection reference. With this attribute you can
+        configure more the one connection inside the same ant projekt.
+    </td>
+    <td><code>jmx.server</code></td>
+  </tr>
+
+  <tr>
+    <td>name</td>
+    <td>Full qualified JMX ObjectName -- <em>Catalina:type=Server</em>
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>echo</td>
+    <td>Echo condition usage (access and result)
+    </td>
+    <td><code>false</code></td>
+  </tr>
+
+  <tr>
+    <td>if</td>
+    <td>Only execute if a property of the given name <b>exists</b> in the current project.
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>unless</td>
+    <td>Only execute if a property of the given name <b>not exists</b> in the current project.
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>value (requiered)</td>
+    <td>Second arg for operation
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>type</td>
+    <td>Value type to express operation (support <em>long</em> and <em>double</em>)
+    </td>
+    <td><code>long</code></td>
+  </tr>
+
+  <tr>
+    <td>operation</td>
+    <td> express one 
+    <ul>
+    <li>==  equals</li>
+    <li>!=  not equals</li>
+    <li>&gt; greater than (&amp;gt;)</li>
+    <li>&gt;= greater than or equals (&amp;gt;=)</li>
+    <li>&lt; lesser than (&amp;lt;)</li>
+    <li>&lt;= lesser than or equals (&amp;lt;=)</li>
+    </ul>         
+    </td>
+    <td><code>==</code></td>
+  </tr>
+
+</table>
+</p>
+<p>
+Wait for server connection and that cluster backup node is accessable<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+      &lt;target name="wait"&gt;
+         &lt;waitfor maxwait="${maxwait}" maxwaitunit="second" timeoutproperty="server.timeout" &gt;
+            &lt;and&gt;
+                &lt;socket server="${server.name}" port="${server.port}"/&gt;
+                &lt;http url="${url}"/&gt;
+                &lt;jmx:condition
+                    operation="==" 
+                    host="localhost" 
+                    port="9014"
+                    username="controlRole"
+                    password="tomcat"
+                    name="Catalina:type=IDataSender,host=localhost,senderAddress=192.168.111.1,senderPort=9025"
+                    attribute="connected"
+                    value="true"
+                /&gt;
+            &lt;/and&gt;
+        &lt;/waitfor&gt;
+        &lt;fail if="server.timeout" message="Server ${url} don't answer inside ${maxwait} sec" /&gt;
+        &lt;echo message="Server ${url} alive" /&gt;
+    &lt;/target&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>  
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JMXAccessorEqualsCondition:  equals Mbean ant condition"><strong>JMXAccessorEqualsCondition:  equals Mbean ant condition</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+List of Attributes<br>
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">Attribute</th>
+    <th align="center" bgcolor="aqua">Description</th>
+    <th align="center" bgcolor="aqua">Default value</th>
+  </tr>
+
+ <tr>
+    <td>url</td>
+    <td>Set jmx connection url - <em>service:jmx:rmi:///jndi/rmi://localhost:8050/jmxrmi</em>
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>host</td>
+    <td>Set the host, shortcut the very long url syntax.
+    </td>
+    <td><code>localhost</code></td>
+  </tr>
+
+  <tr>
+    <td>port</td>
+    <td>Set the remote connection port 
+    </td>
+    <td><code>8050</code></td>
+  </tr>
+
+  <tr>
+    <td>username</td>
+    <td>remote jmx connection user name.
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>password</td>
+    <td>remote jmx connection password.
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>ref</td>
+    <td>Name of the internal connection referenz. With this attribute you can
+        configure more the one connection inside the same ant projekt.
+    </td>
+    <td><code>jmx.server</code></td>
+  </tr>
+
+  <tr>
+    <td>name</td>
+    <td>Full qualified JMX ObjectName -- <em>Catalina:type=Server</em>
+    </td>
+    <td></td>
+  </tr>
+
+
+  <tr>
+    <td>echo</td>
+    <td>Echo condition usage (access and result)
+    </td>
+    <td><code>false</code></td>
+  </tr>
+
+</table>
+</p>
+<p>
+Wait for server connection and that cluster backup node is accessable<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+      &lt;target name="wait"&gt;
+         &lt;waitfor maxwait="${maxwait}" maxwaitunit="second" timeoutproperty="server.timeout" &gt;
+            &lt;and&gt;
+                &lt;socket server="${server.name}" port="${server.port}"/&gt;
+                &lt;http url="${url}"/&gt;
+                &lt;jmx:equals 
+                    host="localhost" 
+                    port="9014"
+                    username="controlRole"
+                    password="tomcat"
+                    name="Catalina:type=IDataSender,host=localhost,senderAddress=192.168.111.1,senderPort=9025"
+                    attribute="connected"
+                    value="true"
+                /&gt;
+            &lt;/and&gt;
+        &lt;/waitfor&gt;
+        &lt;fail if="server.timeout" message="Server ${url} don't answer inside ${maxwait} sec" /&gt;
+        &lt;echo message="Server ${url} alive" /&gt;
+    &lt;/target&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>  
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/printer/BUILDING.txt
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/printer/BUILDING.txt	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/printer/BUILDING.txt	(revision 66)
@@ -0,0 +1,138 @@
+================================================================================
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+================================================================================
+
+$Id: BUILDING.txt 562769 2007-08-04 22:08:32Z markt $
+
+            ====================================================
+            Building The Apache Tomcat 6.0 Servlet/JSP Container
+            ====================================================
+
+This subproject contains the source code for Tomcat 6.0, a container that
+implements the Servlet 2.5 and JSP 2.1 specifications from the Java
+Community Process <http://www.jcp.org/>.  In order to build a binary
+distribution version of the container from a source distribution, 
+do the following:
+
+
+(0) Download and Install a Java Development Kit
+
+* If the JDK is already installed, skip to (1).
+
+* Download a Java Development Kit (JDK) release (version 1.5.x or later) from:
+
+    http://java.sun.com/j2se/
+
+* Install the JDK according to the instructions included with the release.
+
+* Set an environment variable JAVA_HOME to the pathname of the directory
+  into which you installed the JDK release.
+
+
+(1) Install Apache Ant 1.6.x on your computer
+
+* If Apache Ant 1.6.x is already installed on your computer, skip to (2).
+
+* Download a binary distribution of Ant 1.6.x from:
+
+    http://ant.apache.org/bindownload.cgi
+
+* Unpack the binary distribution into a convenient location so that the
+  Ant release resides in its own directory (conventionally named
+  "apache-ant-[version]").  For the purposes of the remainder of this document,
+  the symbolic name "${ant.home}" is used to refer to the full pathname of
+  the release directory.
+
+* Create an ANT_HOME environment variable to point the directory
+  ${ant.home}.
+
+* Modify the PATH environment variable to include the directory
+  ${ant.home}/bin in its list.  This makes the "ant" command line script
+  available, which will be used to actually perform the build.
+
+
+(2) Building Tomcat 6.0
+
+(2.1) Checkout or obtain the source code for Tomcat 6.0
+
+* Tomcat SVN repository URL:
+  http://svn.apache.org/repos/asf/tomcat/tc6.0.x/
+
+* Download a source package from:
+  http://tomcat.apache.org/download-60.cgi
+
+* Checkout the source using SVN, selecting the desired version or
+  branch (current development source is at 
+  http://svn.apache.org/repos/asf/tomcat/tc6.0.x/trunk/), or 
+  unpack the source package. The location where the source has been
+  placed will be referred as ${tomcat.source}.
+
+(2.2) Building
+
+* Go to that directory, and do:
+
+    cd ${tomcat.source}
+    ant download
+    ant
+
+* NOTE: Users accessing the Internet through a proxy must use a properties
+  file to indicate to Ant the proxy configuration. Read below.
+
+* WARNING: Running this command will download binaries to the /usr/share/java 
+  directory. Make sure this is appropriate to do on your computer. On Windows, 
+  this usually corresponds to the "C:\usr\share\java" directory, unless Cygwin 
+  is used. Read below to customize the directory used to download the binaries.
+
+* The build can be controlled by creating a ${tomcat.source}/build.properties
+  file, and adding the following content to it:
+
+    # ----- Proxy setup -----
+    # Uncomment if using a proxy server
+    #proxy.host=proxy.domain
+    #proxy.port=8080
+    #proxy.use=on
+
+    # ----- Default Base Path for Dependent Packages -----
+    # Replace this path with the directory path where dependencies binaries
+    # should be downloaded
+    base.path=/usr/share/java
+
+
+(3) Updating sources
+
+It is recommended that you regularly update the downloaded Tomcat 6 sources
+using your SVN client.
+
+(4) Rebuilds
+
+For a quick rebuild of only modified code you can use:
+   
+    cd ${tomcat.source}
+    ant
+
+(5) Building the servlet and jsp API documentation
+
+The documentation can be easly built:
+
+    cd ${tomcat.source}
+    ant -f dist.xml dist-javadoc
+
+(6) Building a release running tests:
+
+    cd ${tomcat.source}
+    ant -f dist.xml release
+
+
Index: /nutchez-0.1/tomcat/webapps/docs/printer/NOTICE
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/printer/NOTICE	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/printer/NOTICE	(revision 66)
@@ -0,0 +1,16 @@
+Apache Tomcat
+Copyright 1999-2007 The Apache Software Foundation
+
+This product includes software developed by
+The Apache Software Foundation (http://www.apache.org/).
+
+The Windows Installer is built with the Nullsoft
+Scriptable Install Sysem (NSIS), which is
+open source software.  The original software and
+related information is available at
+http://nsis.sourceforge.net.
+
+Java compilation software for JSP pages is provided by Eclipse, 
+which is open source software.  The orginal software and 
+related infomation is available at
+http://www.eclipse.org.
Index: /nutchez-0.1/tomcat/webapps/docs/printer/RUNNING.txt
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/printer/RUNNING.txt	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/printer/RUNNING.txt	(revision 66)
@@ -0,0 +1,163 @@
+================================================================================
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+================================================================================
+
+$Id: RUNNING.txt 354430 2005-12-06 13:44:26Z yoavs $
+
+            ===================================================
+            Running The Apache Tomcat 6.0 Servlet/JSP Container
+            ===================================================
+
+Apache Tomcat 6.0 requires the Java 2 Standard Edition Runtime
+Environment (JRE) version 5.0 or later.
+
+=============================
+Running With JRE 5.0 Or Later
+=============================
+
+(1) Download and Install the J2SE Runtime Environment (JRE)
+
+(1.1) Download the Java 2 Standard Edition Runtime Environment (JRE),
+      release version 5.0 or later, from http://java.sun.com/j2se.
+
+(1.2) Install the JRE according to the instructions included with the
+      release.
+(1.3) Set an environment variable named JRE_HOME to the pathname of
+      the directory into which you installed the JRE, e.g. c:\jre5.0
+      or /usr/local/java/jre5.0.
+
+NOTE: You may also use the full JDK rather than just the JRE. In this
+      case set your JAVA_HOME environment variable to the pathname of
+      the directory into which you installed the JDK, e.g. c:\j2sdk5.0
+      or /usr/local/java/j2sdk5.0.
+
+
+(2) Download and Install the Tomcat Binary Distribution
+
+NOTE:  As an alternative to downloading a binary distribution, you can create
+your own from the Tomcat source repository, as described in "BUILDING.txt".
+If you do this, the value to use for "${catalina.home}" will be the "dist"
+subdirectory of your source distribution.
+
+(2.1) Download a binary distribution of Tomcat from:
+
+      http://tomcat.apache.org
+
+(2.2) Unpack the binary distribution into a convenient location so that the
+      distribution resides in its own directory (conventionally named
+      "apache-tomcat-[version]").  For the purposes of the remainder of this document,
+      the symbolic name "$CATALINA_HOME" is used to refer to the full
+      pathname of the release directory.
+
+
+(3) Start Up Tomcat
+
+(3.1) Tomcat can be started by executing the following commands:
+
+      $CATALINA_HOME\bin\startup.bat          (Windows)
+
+      $CATALINA_HOME/bin/startup.sh           (Unix)
+
+(3.2) After startup, the default web applications included with Tomcat will be
+      available by visiting:
+
+      http://localhost:8080/
+
+(3.3) Further information about configuring and running Tomcat can be found in
+      the documentation included here, as well as on the Tomcat web site:
+
+      http://tomcat.apache.org
+
+
+(4) Shut Down Tomcat
+
+(4.1) Tomcat can be shut down by executing the following command:
+
+      $CATALINA_HOME\bin\shutdown            (Windows)
+
+      $CATALINA_HOME/bin/shutdown.sh         (Unix)
+
+
+==================================================
+Advanced Configuration - Multiple Tomcat Instances
+==================================================
+
+In many circumstances, it is desirable to have a single copy of a Tomcat
+binary distribution shared among multiple users on the same server.  To make
+this possible, you can pass a "-Dcatalina.base=$CATALINA_BASE" argument when
+executing the startup command (see (2)). In this
+"-Dcatalina.base=$CATALINA_BASE" argument, replace $CATALINA_BASE with the
+directory that contains the files for your 'personal' Tomcat instance.
+
+When you use this "-Dcatalina.base=$CATALINA_BASE" argument, Tomcat will
+calculate all relative references for files in the following directories based
+on the value of $CATALINA_BASE instead of $CATALINA_HOME:
+
+* bin  - Only setenv.sh (*nix) and setenv.bat (windows)
+
+* conf - Server configuration files (including server.xml)
+
+* logs - Log and output files
+
+* webapps - Automatically loaded web applications
+
+* work - Temporary working directories for web applications
+
+* temp - Directory used by the JVM for temporary files (java.io.tmpdir)
+
+If you do not pass the "-Dcatalina.base=$CATALINA_BASE" argument to the
+startup command, $CATALINA_BASE will default to the same value as $CATALINA_HOME,
+ which means that the same directory is used for all relative path resolutions.
+
+
+================
+Troubleshooting
+================
+
+There are only really 3 things likely to go wrong during the stand-alone
+Tomcat install:
+
+(1) The most common hiccup is when another web server (or any process for that
+    matter) has laid claim to port 8080.  This is the default HTTP port that
+    Tomcat attempts to bind to at startup.  To change this, open the file:
+
+       $CATALINA_HOME/conf/server.xml
+
+    and search for '8080'.  Change it to a port that isn't in use, and is
+    greater than 1024, as ports less than or equal to 1024 require superuser
+    access to bind under UNIX.
+
+   Restart Tomcat and you're in business.  Be sure that you replace the "8080"
+   in the URL you're using to access Tomcat.  For example, if you change the
+   port to 1977, you would request the URL http://localhost:1977/ in your browser.
+
+(2) An "out of environment space" error when running the batch files in
+    Windows 95, 98, or ME operating systems.
+
+    Right-click on the STARTUP.BAT and SHUTDOWN.BAT files.  Click on
+    "Properties", then on the "Memory" tab.  For the "Initial environment" field,
+    enter in something like 4096.
+
+    After you click apply, Windows will create shortcuts which you can use
+    to start and stop the container.
+
+(3) The 'localhost' machine isn't found.  This could happen if you're behind a
+    proxy.  If that's the case, make sure the proxy configuration for your
+    browser knows that you shouldn't be going through the proxy to access the
+    "localhost".
+
+    In Netscape, this is under Edit/Preferences -> Advanced/Proxies, and in
+    Internet Explorer, Tools -> Internet Options -> Connections -> LAN Settings.
Index: /nutchez-0.1/tomcat/webapps/docs/printer/aio.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/printer/aio.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/printer/aio.html	(revision 66)
@@ -0,0 +1,314 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - Advanced IO and Tomcat</title><meta value="Remy Maucherat" name="author"><meta value="" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>Advanced IO and Tomcat</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>
+    With usage of APR or NIO APIs as the basis of its connectors, Tomcat is 
+    able to provide a number of extensions over the regular blocking IO 
+    as provided with support for the Servlet API.
+  </p>
+
+  <p>
+    <b>IMPORTANT NOTE: Usage of these features requires using the APR or NIO
+    HTTP connectors. The classic java.io HTTP connector and the AJP connectors
+    do not support them.</b>
+  </p>
+
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Comet support"><strong>Comet support</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>
+    Comet support allows a servlet to process IO aynchronously, recieving
+    events when data is available for reading on the connection (rather than
+    always using a blocking read), and writing data back on connections
+    asychnonously (most likely responding to some event raised from some
+    other source).
+  </p>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="CometEvent"><strong>CometEvent</strong></a></font></td></tr><tr><td><blockquote>
+  
+  <p>
+    Servlets which implement the <code>org.apache.catalina.CometProcessor</code>
+    interface will have their event method invoked rather than the usual service
+    method, according to the event which occurred. The event object gives
+    access to the usual request and response objects, which may be used in the
+    usual way. The main difference is that those objects remain valid and fully
+    functional at any time between processing of the BEGIN event until processing
+    an END or ERROR event.
+    The following event types exist:
+  </p>
+  
+  <ul>
+  <li>EventType.BEGIN: will be called at the beginning 
+     of the processing of the connection. It can be used to initialize any relevant 
+     fields using the request and response objects. Between the end of the processing 
+     of this event, and the beginning of the processing of the end or error events,
+     it is possible to use the response object to write data on the open connection.
+     Note that the response object and depedent OutputStream and Writer are still 
+     not synchronized, so when they are accessed by multiple threads, 
+     synchronization is mandatory. After processing the initial event, the request 
+     is considered to be committed.</li>
+  <li>EventType.READ: This indicates that input data is available, and that one read can be made
+       without blocking. The available and ready methods of the InputStream or
+       Reader may be used to determine if there is a risk of blocking: the servlet
+       should read while data is reported available, and can make one additional read
+       should read while data is reported available. When encountering a read error, 
+       the servlet should report it by propagating the exception properly. Throwing 
+       an exception will cause the error event to be invoked, and the connection 
+       will be closed. 
+       Alternately, it is also possible to catch any exception, perform clean up
+       on any data structure the servlet may be using, and using the close method
+       of the event. It is not allowed to attempt reading data from the request 
+       object outside of the execution of this method.<br>
+       On some platforms, like Windows, a client disconnect is indicated by a READ event.
+       Reading from the stream may result in -1, an IOException or an EOFException.
+       Make sure you properly handle all these three cases.
+       If you don't catch the IOException, Tomcat will instantly invoke your event chain with an ERROR as 
+       it catches the error for you, and you will be notified of the error at that time.
+  </li>
+  <li>EventType.END: End may be called to end the processing of the request. Fields that have
+     been initialized in the begin method should be reset. After this event has
+     been processed, the request and response objects, as well as all their dependent
+     objects will be recycled and used to process other requests. End will also be 
+     called when data is available and the end of file is reached on the request input
+     (this usually indicates the client has pipelined a request).</li>
+  <li>EventType.ERROR: Error will be called by the container in the case where an IO exception
+     or a similar unrecoverable error occurs on the connection. Fields that have
+     been initialized in the begin method should be reset. After this event has
+     been processed, the request and response objects, as well as all their dependent
+     objects will be recycled and used to process other requests.</li>
+  </ul>
+
+  <p>
+    There are some event subtypes which allow finer processing of events (note: some of these
+    events require usage of the org.apache.catalina.valves.CometConnectionManagerValve valve):
+  </p>
+
+  <ul>
+  <li>EventSubType.TIMEOUT: The connection timed out (sub type of ERROR); note that this ERROR 
+    type is not fatal, and the connection will not be closed unless the servlet uses the close 
+    method of the event.
+  </li>
+  <li>EventSubType.CLIENT_DISCONNECT: The client connection was closed (sub type of ERROR).
+    method of the event.
+  </li>
+  <li>EventSubType.IOEXCEPTION: An IO exception occurred, such as invalid content, for example, 
+    an invalid chunk block (sub type of ERROR).
+  </li>
+  <li>EventSubType.WEBAPP_RELOAD: The web application is being reloaded (sub type of END).
+  </li>
+  <li>EventSubType.SESSION_END: The servlet ended the session (sub type of END).
+  </li>
+  </ul>
+
+  <p>
+    As described above, the typical lifecycle of a Comet request will consist in a series of
+    events such as: BEGIN -&gt; READ -&gt; READ -&gt; READ -&gt; ERROR/TIMEOUT. At any time, the servlet 
+    may end processing of the request by using the close method of the event object.
+  </p>
+  
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="CometFilter"><strong>CometFilter</strong></a></font></td></tr><tr><td><blockquote>
+  
+  <p>
+    Similar to regular filters, a filter chain is invoked when comet events are processed.
+    These filters should implement the CometFilter interface (which works in the same way as 
+    the regular Filter interface), and should be declared and mapped in the deployment
+    descriptor in the same way as a regular filter. The filter chain when processing an event
+    will only include filters which match all the usual mapping rules, and also implement
+    the CometFiler interface.
+  </p>
+  
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Example code"><strong>Example code</strong></a></font></td></tr><tr><td><blockquote>
+  
+  <p>
+    The following pseudo code servlet implments asynchronous chat functionality using the API
+    described above:
+  </p>
+  
+  <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+public class ChatServlet
+    extends HttpServlet implements CometProcessor {
+
+    protected ArrayList&lt;HttpServletResponse&gt; connections = 
+        new ArrayList&lt;HttpServletResponse&gt;();
+    protected MessageSender messageSender = null;
+    
+    public void init() throws ServletException {
+        messageSender = new MessageSender();
+        Thread messageSenderThread = 
+            new Thread(messageSender, "MessageSender[" + getServletContext().getContextPath() + "]");
+        messageSenderThread.setDaemon(true);
+        messageSenderThread.start();
+    }
+
+    public void destroy() {
+        connections.clear();
+        messageSender.stop();
+        messageSender = null;
+    }
+
+    /**
+     * Process the given Comet event.
+     * 
+     * @param event The Comet event that will be processed
+     * @throws IOException
+     * @throws ServletException
+     */
+    public void event(CometEvent event)
+        throws IOException, ServletException {
+        HttpServletRequest request = event.getHttpServletRequest();
+        HttpServletResponse response = event.getHttpServletResponse();
+        if (event.getEventType() == CometEvent.EventType.BEGIN) {
+            log("Begin for session: " + request.getSession(true).getId());
+            PrintWriter writer = response.getWriter();
+            writer.println("&lt;!doctype html public \"-//w3c//dtd html 4.0 transitional//en\"&gt;");
+            writer.println("&lt;head&gt;&lt;title&gt;JSP Chat&lt;/title&gt;&lt;/head&gt;&lt;body bgcolor=\"#FFFFFF\"&gt;");
+            writer.flush();
+            synchronized(connections) {
+                connections.add(response);
+            }
+        } else if (event.getEventType() == CometEvent.EventType.ERROR) {
+            log("Error for session: " + request.getSession(true).getId());
+            synchronized(connections) {
+                connections.remove(response);
+            }
+            event.close();
+        } else if (event.getEventType() == CometEvent.EventType.END) {
+            log("End for session: " + request.getSession(true).getId());
+            synchronized(connections) {
+                connections.remove(response);
+            }
+            PrintWriter writer = response.getWriter();
+            writer.println("&lt;/body&gt;&lt;/html&gt;");
+            event.close();
+        } else if (event.getEventType() == CometEvent.EventType.READ) {
+            InputStream is = request.getInputStream();
+            byte[] buf = new byte[512];
+            do {
+                int n = is.read(buf); //can throw an IOException
+                if (n &gt; 0) {
+                    log("Read " + n + " bytes: " + new String(buf, 0, n) 
+                            + " for session: " + request.getSession(true).getId());
+                } else if (n &lt; 0) {
+                    error(event, request, response);
+                    return;
+                }
+            } while (is.available() &gt; 0);
+        }
+    }
+
+    public class MessageSender implements Runnable {
+
+        protected boolean running = true;
+        protected ArrayList&lt;String&gt; messages = new ArrayList&lt;String&gt;();
+        
+        public MessageSender() {
+        }
+        
+        public void stop() {
+            running = false;
+        }
+
+        /**
+         * Add message for sending.
+         */
+        public void send(String user, String message) {
+            synchronized (messages) {
+                messages.add("[" + user + "]: " + message);
+                messages.notify();
+            }
+        }
+
+        public void run() {
+
+            while (running) {
+
+                if (messages.size() == 0) {
+                    try {
+                        synchronized (messages) {
+                            messages.wait();
+                        }
+                    } catch (InterruptedException e) {
+                        // Ignore
+                    }
+                }
+
+                synchronized (connections) {
+                    String[] pendingMessages = null;
+                    synchronized (messages) {
+                        pendingMessages = messages.toArray(new String[0]);
+                        messages.clear();
+                    }
+                    // Send any pending message on all the open connections
+                    for (int i = 0; i &lt; connections.size(); i++) {
+                        try {
+                            PrintWriter writer = connections.get(i).getWriter();
+                            for (int j = 0; j &lt; pendingMessages.length; j++) {
+                                writer.println(pendingMessages[j] + "&lt;br&gt;");
+                            }
+                            writer.flush();
+                        } catch (IOException e) {
+                            log("IOExeption sending message", e);
+                        }
+                    }
+                }
+
+            }
+
+        }
+
+    }
+
+}
+  </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+  
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Comet timeouts"><strong>Comet timeouts</strong></a></font></td></tr><tr><td><blockquote>
+    <p>If you are using the NIO connector, you can set individual timeouts for your different comet connections.
+       To set a timeout, simple set a request attribute like the following code shows:
+       <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>CometEvent event.... event.setTimeout(30*1000);</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div> or
+       <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>event.getHttpServletRequest().setAttribute("org.apache.tomcat.comet.timeout", new Integer(30 * 1000));</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+       This sets the timeout to 30 seconds.
+       Important note, in order to set this timeout, it has to be done on the <code>BEGIN</code> event.
+       The default value is <code>soTimeout</code>
+    </p>
+    <p>If you are using the APR connector, all Comet connections will have the same timeout value. It is <code>soTimeout*50</code>
+    </p>
+  </blockquote></td></tr></table>
+
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Asynchronous writes"><strong>Asynchronous writes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>
+    When APR or NIO is enabled, Tomcat supports using sendfile to send large static files.
+    These writes, as soon as the system load increases, will be performed 
+    asynchronously in the most efficient way. Instead of sending a large response using
+    blocking writes, it is possible to write content to a static file, and write it
+    using a sendfile code. A caching valve could take advantage of this to cache the
+    response data in a file rather than store it in memory. Sendfile support is
+    available if the request attribute <code>org.apache.tomcat.sendfile.support</code>
+    is set to <code>Boolean.TRUE</code>.
+  </p>
+  
+  <p>
+    Any servlet can instruct Tomcat to perform a sendfile call by setting the appropriate
+    request attributes. It is also necessary to correctly set the content length
+    for the response. When using sendfile, it is best to ensure that neither the
+    request or response have been wrapped, since as the response body will be sent later
+    by the connector itself, it cannot be filtered. Other than setting the 3 needed 
+    request attributes, the servlet should not send any response data, but it may use
+    any method which will result in modifying the response header (like setting cookies).
+  </p>
+  
+  <ul>
+  <li>org.apache.tomcat.sendfile.filename: Canonical filename of the file which will be sent as
+      a String</li>
+  <li>org.apache.tomcat.sendfile.start: Start offset as a Long</li>
+  <li>org.apache.tomcat.sendfile.end: End offset as a Long</li>
+  </ul>
+
+  </blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/printer/apr.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/printer/apr.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/printer/apr.html	(revision 66)
@@ -0,0 +1,274 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - Apache Portable Runtime (APR) based Native library for Tomcat</title><meta value="Remy Maucherat" name="author"><meta value="" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>Apache Portable Runtime (APR) based Native library for Tomcat</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>
+      Tomcat can use the <a href="http://apr.apache.org/">Apache Portable Runtime</a> to 
+      provide superior scalability, performance, and better integration with native server 
+      technologies. The Apache Portable Runtime is a highly portable library that is at 
+      the heart of Apache HTTP Server 2.x. APR has many uses, including access to advanced IO
+      functionality (such as sendfile, epoll and OpenSSL), OS level functionality (random number
+      generation, system status, etc), and native process handling (shared memory, NT
+      pipes and Unix sockets).
+  </p>
+  
+  <p>
+      These features allows making Tomcat a general purpose webserver, will enable much better 
+      integration with other native web technologies, and overall make Java much more viable as
+      a full fledged webserver platform rather than simply a backend focused technology.
+  </p>
+
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Installation"><strong>Installation</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>
+      APR support requires three main native components to be installed:
+      <ul>
+        <li>APR library</li>
+        <li>JNI wrappers for APR used by Tomcat (libtcnative)</li>
+        <li>OpenSSL libraries</li>
+      </ul>
+    </p>
+
+    <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Windows"><strong>Windows</strong></a></font></td></tr><tr><td><blockquote>
+    
+    <p>
+      Windows binaries are provided for tcnative-1, which is a statically compiled .dll which includes
+      OpenSSL and APR. It can be downloaded from <a href="http://tomcat.heanet.ie/native/">here</a>
+      as 32bit or AMD x86-64 binaries.
+      In security conscious production environments, it is recommended to use separate shared dlls
+      for OpenSSL, APR, and libtcnative-1, and update them as needed according to security bulletins.
+      Windows OpenSSL binaries are linked from the <a href="http://www.openssl.org">Official OpenSSL 
+      website</a> (see related/binaries).
+    </p>
+    
+    </blockquote></td></tr></table>
+    
+    <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Linux"><strong>Linux</strong></a></font></td></tr><tr><td><blockquote>
+    
+    <p>
+      Most Linux distributions will ship packages for APR and OpenSSL. The JNI wrapper (libtcnative) will 
+      then have to be compiled. It depends on APR, OpenSSL, and the Java headers.
+    </p>
+    
+    <p>
+      Requirements:
+      <ul>
+        <li>APR 1.2+ development headers (libapr1-dev package)</li>
+        <li>OpenSSL 0.9.7+ development headers (libssl-dev package)</li>
+        <li>JNI headers from Java compatible JDK 1.4+</li>
+        <li>GNU development environment (gcc, make)</li>
+      </ul>
+    </p>
+    
+    <p>
+      The wrapper library sources are located in the Tomcat binary bundle, in the 
+      <code>bin/tomcat-native.tar.gz</code> archive.
+      Once the build environment is installed and the source archive is extracted, the wrapper library 
+      can be compiled using (from the folder containing the configure script):
+      <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>./configure &amp;&amp; make &amp;&amp; make install</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+    </p>
+    
+    </blockquote></td></tr></table>
+	
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="APR Components"><strong>APR Components</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>
+    Once the libraries are properly installed and available to Java (if loading fails, the library path
+    will be displayed), the Tomcat connectors will automatically use APR. Configuration of the connectors
+    is similar to the regular connectors, but have a few extra attributes which are used to configure
+    APR components. Note that the defaults should be well tuned for most use cases, and additional
+    tweaking shouldn't be required.
+  </p>
+
+  <p>
+    When APR is enabled, the following features are also enabled in Tomcat:
+    <ul>
+      <li>Secure session ID generation by default on all platforms (platforms other than Linux required
+          random number generation using a configured entropy)</li>
+      <li>OS level statistics on memory usage and CPU usage by the Tomcat process are displayed by
+          the status servlet</li>
+    </ul>
+  </p>
+
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="APR Lifecycle Listener Configuration"><strong>APR Lifecycle Listener Configuration</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="AprLifecycleListener"><strong>AprLifecycleListener</strong></a></font></td></tr><tr><td><blockquote>
+    <attribute name="SSLEngine" required="false">
+    <p>
+      Name of the SSLEngine to use. off: Do not use SSL, on: Use SSL but no specific ENGINE.
+      The default value is <b>on</b>.
+      This initializes the native SSL engine, then enable the use of this engine in the connector 
+      using the <code>SSLEnabled</code> attribute. Example:
+      <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" /&gt;
+      </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+    </p>
+    <p>See the <a href="http://www.openssl.org">Official OpenSSL 
+       website</a> for more details on SSL hardware engines and manufacturers.
+    </p>
+    </attribute>
+    </blockquote></td></tr></table>
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="APR Connectors Configuration"><strong>APR Connectors Configuration</strong></a></font></td></tr><tr><td><blockquote>
+
+    <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="HTTP"><strong>HTTP</strong></a></font></td></tr><tr><td><blockquote>
+    
+    <p>
+      When APR is enabled, the HTTP connector will use sendfile for hadling large static files (all such
+      files will be sent ansychronously using high performance kernel level calls), and will use 
+      a socket poller for keepalive, increasing scalability of the server.
+    </p>
+
+    <p>
+      The following attributes are supported in the HTTP APR connector in addition to the ones supported
+      in the regular HTTP connector:
+    </p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>keepAliveTimeout</code></td><td valign="center" align="left">
+      <p>The number of milliseconds this <strong>Connector</strong> will wait for
+       another HTTP request before closing the connection.
+       The default value is to use the value that has been set for the
+       connectionTimeout attribute. This value also controls the timeout interval which
+       is used for Comet connections.</p>
+    </td></tr><tr><td valign="center" align="left"><code>pollTime</code></td><td valign="center" align="left">
+      <p>Duration of a poll call. Lowering this value will slightly decrease latency of connections 
+      being kept alive in some cases, but will use more CPU as more poll calls are being made. The
+      default value is 2000 (5ms).</p>
+    </td></tr><tr><td valign="center" align="left"><code>pollerSize</code></td><td valign="center" align="left">
+      <p>Amount of sockets that the poller responsible for polling kept alive connections can hold at a
+      given time. Extra connections will be closed right away. The default value is 8192, corresponding to
+      8192 keepalive connections.</p>
+    </td></tr><tr><td valign="center" align="left"><code>useSendfile</code></td><td valign="center" align="left">
+      <p>Use kernel level sendfile for certain static files. The default value is true.</p>
+    </td></tr><tr><td valign="center" align="left"><code>sendfileSize</code></td><td valign="center" align="left">
+      <p>Amount of sockets that the poller responsible for sending static files asynchronously can hold 
+      at a given time. Extra connections will be closed right away without any data being sent 
+      (resulting in a zero length file on the client side). Note that in most cases, sendfile is a call
+      that will return right away (being taken care of "synchonously" by the kernel), and the sendfile
+      poller will not be used, so the amount of static files which can be sent concurrently is much larger
+      than the specified amount. The default value is 1024.</p>
+    </td></tr></table>
+    
+    </blockquote></td></tr></table>
+	
+    <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="HTTPS"><strong>HTTPS</strong></a></font></td></tr><tr><td><blockquote>
+    
+    <p>
+      When APR is enabled, the HTTPS connector will use a socket poller for keepalive, increasing 
+      scalability of the server. It also uses OpenSSL, which may be more optimized than JSSE depending
+      on the processor being used, and can be complemented with many commercial accelerator components.
+      Unlike the HTTP connector, the HTTPS connector cannot use sendfile to optimize static file
+      processing.
+    </p>
+
+    <p>
+      The HTTPS APR connector has the same basic attributes than the HTTP APR connector, but adds 
+      OpenSSL specific ones. For the full details on using OpenSSL, please refer to OpenSSL documentations
+      and the many books available for it (see the <a href="http://www.openssl.org">Official OpenSSL 
+      website</a>). The SSL specific attributes for the connector are:
+    </p>
+    
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>SSLEnabled</code></td><td valign="center" align="left">
+    <p>
+      Enable SSL on the socket, default value is false. Set this value to true
+      to enable SSL handshake/encryption/decryption in the APR connector.
+    </p>
+    </td></tr><tr><td valign="center" align="left"><code>SSLProtocol</code></td><td valign="center" align="left">
+    <p>
+      Protocol which may be used for communicating with clients. The default is "all", with
+      other acceptable values being "SSLv2", "SSLv3", "TLSv1", and "SSLv2+SSLv3".
+    </p>
+    </td></tr><tr><td valign="center" align="left"><code>SSLCipherSuite</code></td><td valign="center" align="left">
+    <p>
+      Ciphers which may be used for communicating with clients. The default is "ALL", with
+      other acceptable values being a list of ciphers, with ":" used as the delimiter
+      (see OpenSSL documentation for the list of ciphers supported).
+    </p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>SSLCertificateFile</code></strong></td><td valign="center" align="left">
+    <p>
+      Name of the file that contains the server certificate. The format is PEM-encoded.
+    </p>
+    </td></tr><tr><td valign="center" align="left"><code>SSLCertificateKeyFile</code></td><td valign="center" align="left">
+    <p>
+      Name of the file that contains the server private key. The format is PEM-encoded.
+      The default value is the value of "SSLCertificateFile" and in this case both certificate
+      and private key have to be in this file (NOT RECOMMENDED).
+    </p>
+    </td></tr><tr><td valign="center" align="left"><code>SSLPassword</code></td><td valign="center" align="left">
+    <p>
+      Pass phrase for the encrypted private key. If "SSLPassword" is not provided, the callback fonction
+      should prompt for the pass phrase.
+    </p>
+    </td></tr><tr><td valign="center" align="left"><code>SSLVerifyClient</code></td><td valign="center" align="left">
+    <p>
+      Ask client for certificate. The default is "none", meaning the client will not have the opportunity
+      to submit a certificate. Other acceptable values include "optional", "require" and "optionalNoCA".
+    </p>
+    </td></tr><tr><td valign="center" align="left"><code>SSLVerifyDepth</code></td><td valign="center" align="left">
+    <p>
+      Maximum verification depth for client certificates. The default is "10".
+    </p>
+    </td></tr><tr><td valign="center" align="left"><code>SSLCACertificateFile</code></td><td valign="center" align="left">
+    <p>
+      See <a href="http://httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslcacertificatefile">the mod_ssl documentation</a>.
+    </p>
+    </td></tr><tr><td valign="center" align="left"><code>SSLCACertificatePath</code></td><td valign="center" align="left">
+    <p>
+      See <a href="http://httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslcacertificatepath">the mod_ssl documentation</a>.
+    </p>
+    </td></tr><tr><td valign="center" align="left"><code>SSLCertificateChainFile</code></td><td valign="center" align="left">
+    <p>
+      See <a href="http://httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslcertificatechainfile">the mod_ssl documentation</a>.
+    </p>
+    </td></tr><tr><td valign="center" align="left"><code>SSLCARevocationFile</code></td><td valign="center" align="left">
+    <p>
+      See <a href="http://httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslcarevocationfile">the mod_ssl documentation</a>.
+    </p>
+    </td></tr><tr><td valign="center" align="left"><code>SSLCARevocationPath</code></td><td valign="center" align="left">
+    <p>
+      See <a href="http://httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslcarevocationpath">the mod_ssl documentation</a>.
+    </p>
+    </td></tr></table>
+    
+    <p>
+    An example SSL Connector declaration can be:
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;Connector port="443" maxHttpHeaderSize="8192"
+               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
+               enableLookups="false" disableUploadTimeout="true"
+               acceptCount="100" scheme="https" secure="true"
+               SSLEnabled="true" 
+               SSLCertificateFile="${catalina.base}/conf/localhost.crt"
+               SSLCertificateKeyFile="${catalina.base}/conf/localhost.key" /&gt;</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+    </p>
+    
+    </blockquote></td></tr></table>
+	
+    <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="AJP"><strong>AJP</strong></a></font></td></tr><tr><td><blockquote>
+    
+    <p>
+      When APR is enabled, the AJP connector will use a socket poller for keepalive, increasing 
+      scalability of the server. As AJP is designed around a pool of persistent (or almost
+      persistent) connections, this will reduce significantly the amount of processing threads 
+      needed by Tomcat. Unlike the HTTP connector, the AJP connector cannot use sendfile to optimize
+      static file processing.
+    </p>
+
+    <p>
+      The following attributes are supported in the AJP APR connector in addition to the ones supported
+      in the regular AJP connector:
+    </p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>pollTime</code></td><td valign="center" align="left">
+      <p>Duration of a poll call. Lowering this value will slightly decrease latency of connections 
+      being kept alive in some cases, but will use more CPU as more poll calls are being made. The
+      default value is 2000 (5ms).</p>
+    </td></tr><tr><td valign="center" align="left"><code>pollerSize</code></td><td valign="center" align="left">
+      <p>Amount of sockets that the poller responsible for polling kept alive connections can hold at a
+      given time. Extra connections will be closed right away. The default value is 8192, corresponding to
+      8192 keepalive connections.</p>
+    </td></tr></table>
+    
+    </blockquote></td></tr></table>
+	
+  </blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/printer/balancer-howto.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/printer/balancer-howto.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/printer/balancer-howto.html	(revision 66)
@@ -0,0 +1,24 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - Load Balancer HOW-TO</title><meta value="Yoav Shapira" name="author"><meta value="yoavs@apache.org" name="email"><meta value="Remy Maucherat" name="author"><meta value="" name="email"><meta value="Andy Oliver" name="author"><meta value="" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>Load Balancer HOW-TO</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Table of Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+<a href="#Using the JK 1.2.x native connector">
+Using the JK native connector</a><br>
+<a href="#Using Apache HTTP Server 2.x with mod_proxy">
+Using Apache HTTP Server 2.x and mod_proxy</a><br>
+
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Using the JK 1.2.x native connector"><strong>Using the JK 1.2.x native connector</strong></a></font></td></tr><tr><td><blockquote>
+
+Please refer to the JK 1.2.x documentation.
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Using Apache HTTP Server 2.x with mod_proxy"><strong>Using Apache HTTP Server 2.x with mod_proxy</strong></a></font></td></tr><tr><td><blockquote>
+
+Please refer to the mod_proxy documentation for Apache HTTP Server 2.2. This supports either
+HTTP or AJP load balancing. This new version of mod_proxy is also useable with
+Apache HTTP Server 2.0, but mod_proxy will have to be compiled separately using the code
+from Apache HTTP Server 2.2.
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/printer/building.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/printer/building.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/printer/building.html	(revision 66)
@@ -0,0 +1,188 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - Building Tomcat</title><meta value="Remy Maucherat" name="author"><meta value="" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>Building Tomcat</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>
+Building Apache Tomcat from SVN is very easy, and is the first step to contributing to
+Tomcat. The following is a step by step TODO list.
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Download a Java Development Kit (JDK) release (version 1.5.x or later)"><strong>Download a Java Development Kit (JDK) release (version 1.5.x or later)</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>
+The Sun JDK can be downloaded <a href="http://java.sun.com/j2se/">here</a>.
+</p>
+
+<p>
+<b>IMPORTANT</b>: Set an environment variable JAVA_HOME to the pathname of the 
+directory into which you installed the JDK release.
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Install Apache Ant 1.6.5 or later"><strong>Install Apache Ant 1.6.5 or later</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>
+Download a binary distribution of Ant 1.6.5 or later from 
+<a href="http://ant.apache.org/bindownload.cgi">here</a>.
+</p>
+
+<p>
+Unpack the binary distribution into a convenient location so that the
+Ant release resides in its own directory (conventionally named
+"apache-ant-1.6.x").  For the purposes of the remainder of this document,
+the symbolic name "${ant.home}" is used to refer to the full pathname of
+ the release directory.
+</p>
+
+<p>
+Create an ANT_HOME environment variable to point the directory ${ant.home}, 
+and modify the PATH environment variable to include directory
+"${ant.home}/bin" in its list.  This makes the "ant" command line script
+available, which will be used to actually perform the build.
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Checkout or obtain the source code for Tomcat 6.0"><strong>Checkout or obtain the source code for Tomcat 6.0</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>
+  Tomcat SVN repository URL:
+  <code>http://svn.apache.org/repos/asf/tomcat/tc6.0.x/</code>
+  </p>
+  
+  <p>
+  Download a source package from:
+  <code>http://tomcat.apache.org/download-60.cgi</code>
+  </p>
+  
+  <p>
+  Checkout the source using SVN, selecting the desired version or
+  branch (current development source is at 
+  <code>http://svn.apache.org/repos/asf/tomcat/tc6.0.x/trunk/</code>), or 
+  unpack the source package. The location where the source has been
+  placed will be referred as ${tomcat.source}.
+  </p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Building Tomcat"><strong>Building Tomcat</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>
+Use the following commands:
+<code><br>
+    cd ${tomcat.source}<br>
+    ant download<br>
+    ant<br>
+</code>
+</p>
+
+<p>
+NOTE: Users accessing the Internet through a proxy must use a properties
+  file to indicate to Ant the proxy configuration. Read below.
+</p>
+
+<p>
+WARNING: Running this command will download binaries to the 
+  <code>/usr/share/java</code> directory. 
+  Make sure this is appropriate to do so on your computer. On Windows, 
+  this usually corresponds to the <code>C:\usr\share\java</code> directory, 
+  unless Cygwin is used. Read below to customize the directory used 
+  to download the binaries.
+</p>
+
+<p>
+The build can be controlled by creating a ${tomcat.source}/build.properties
+  file, and adding the following content to it:
+<code><br>
+    # ----- Proxy setup -----<br>
+    # Uncomment if using a proxy server.<br>
+    #proxy.host=proxy.domain<br>
+    #proxy.port=8080<br>
+    #proxy.use=on<br>
+<br>
+    # ----- Default Base Path for Dependent Packages -----<br>
+    # Replace this path with the directory path where<br>
+    # dependencies binaries should be downloaded.<br>
+    base.path=/usr/share/java<br>
+</code>
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Building with Eclipse"><strong>Building with Eclipse</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>
+<b>Important:</b>
+This is not a supported means of building Tomcat; this information is
+provided without warranty :-).
+The only supported means of building Tomcat is with the "ant build"
+described above.
+However, some developers like to work on Java code with a Java IDE,
+and the following steps have been used by some developers.
+</p>
+
+<p>
+Note that you <b>must</b> complete all the above steps to fetch
+the repositories and build some JAR files the first time.
+After you have completed the above steps, you can set up a
+series of Eclipse 4 projects.
+<b>Note</b> that this will not let you build everything under Eclipse;
+the build process requires use of Ant for the many stages that aren't
+simple Java compilations.
+However, it will allow you to view and edit the Java code,
+get warnings, reformat code, perform refactorings, run Tomcat
+under the IDE, and so on.
+</p>
+
+<p>
+Use Windows-&gt;Preferences and then Java-&gt;Build Path-&gt;Classpath
+Variables to add two new Classpath variables:
+</p>
+
+<p>
+<table border="1">
+ <tr><td>TOMCAT_LIBS_BASE</td><td>the base path where the binary dependencies have been downloaded</td></tr>
+ <tr><td>ANT_HOME</td><td>the base path of Ant 1.6.2 or later</td></tr>
+</table>
+</p>
+
+<p>
+Use File-&gt;New Project to create a new Java project 
+for each of the binaries repository (e.g., /usr/share/java), 
+container, connectors, jasper, servletapi. 
+Unless you thought ahead to make the ${tomcat.source} directory be under
+your Workspace folder, tell Eclipse the external location using "Import/Export...",
+General-&gt;Existing Project into Workspace.
+</p>
+
+<p>
+Eclipse .project and .classpath files are provided in each of these
+directories so Eclipse should find all source trees and jars, and
+hopefully compile without problems. <b>Note</b> that these
+files assume you are using Eclipse with a 5.0 or later JDK; also, the
+connectors module must be built with a compiler compliance level of 5.0.
+</p>
+
+<p>
+To run Tomcat without a special IDE plug-in, you can simply use Run-&gt;Run...
+enter "org.apache.catalina.startup.Catalina" as the main class,
+"start" as program arguments, and
+"-Dcatalina.home=..." (with the name of your build directory) 
+as VM arguments.
+</p>
+
+<p>
+Note also that due to the way the Tomcat source is assembled
+from several SVN projects, you may not be able to use the Eclipse
+SVN client to update (nor to commit, if you are a committer).
+Use the external SVN client of your choice, then use the
+Eclipse PackageExplorer or Navigator "Refresh" context menu item
+to tell Eclipse that you've updated the files.
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Building with other IDEs"><strong>Building with other IDEs</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+The same caveats apply as for Eclipse, above.
+</p>
+
+<p>
+The same general idea should work in most IDEs; it has been reported
+to work in Idea, for example.
+</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/printer/cgi-howto.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/printer/cgi-howto.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/printer/cgi-howto.html	(revision 66)
@@ -0,0 +1,54 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - CGI How To</title><meta value="Glenn L. Nielsen" name="author"><meta value="glenn@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>CGI How To</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The CGI (Common Gateway Interface) defines a way for a web server to
+interact with external content-generating programs, which are often
+referred to as CGI programs or CGI scripts.
+</p>
+
+<p>Within Tomcat, CGI support can be added when you are using Tomcat as your
+HTTP server and require CGI support.  Typically this is done
+during development when you don't want to run a web server like 
+Apache httpd.
+Tomcat's CGI support is largely compatible with Apache httpd's, 
+but there are some limitations (e.g., only one cgi-bin directory).
+</p>
+
+<p>CGI support is implemented using the servlet class
+<code>org.apache.catalina.servlets.CGIServlet</code>.  Traditionally,
+this servlet is mapped to the URL pattern "/cgi-bin/*".</p>
+
+<p>By default CGI support is disabled in Tomcat.</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Installation"><strong>Installation</strong></a></font></td></tr><tr><td><blockquote>
+
+<p><strong>CAUTION</strong> - CGI scripts are used to execute programs
+external to the Tomcat JVM. If you are using the Java SecurityManager this
+will bypass your security policy configuration in <code>catalina.policy.</code></p>
+
+<p>Remove the XML comments from around the CGI servlet and servlet-mapping
+configuration in <code>$CATALINA_BASE/conf/web.xml</code>.</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Configuration"><strong>Configuration</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>There are several servlet init parameters which can be used to
+configure the behaviour of the CGI servlet.
+<ul>
+<li><strong>cgiPathPrefix</strong> - The CGI search path will start at
+the web application root directory + File.separator + this prefix.
+The default cgiPathPrefix is <code>WEB-INF/cgi</code></li>
+<li><strong>debug</strong> - Debugging detail level for messages logged
+by this servlet. Default 0.</li>
+<li><strong>executable</strong> - The of the executable to be used to
+run the script. Default is <code>perl</code>.</li>
+<li><strong>parameterEncoding</strong> - Name of the parameter encoding
+to be used with the GCI servlet. Default is
+<code>System.getProperty("file.encoding","UTF-8")</code>.</li>
+<li><strong>passShellEnvironment</strong> - Should the shell environment
+variables (if any) be passed to the CGI script? Default is
+<code>false</code>.</li>
+</ul>
+</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/printer/changelog.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/printer/changelog.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/printer/changelog.html	(revision 66)
@@ -0,0 +1,1872 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - Changelog</title><meta value="Remy Maucherat" name="author"><meta value="remm@apache.org" name="email"><meta value="Yoav Shapira" name="author"><meta value="yoavs@apache.org" name="email"><meta value="Filip Hanik" name="author"><meta value="fhanik@apache.org" name="email"><meta value="Rainer Jung" name="author"><meta value="rjung@apache.org" name="email"><meta value="Peter Rossbach" name="author"><meta value="pero@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>Changelog</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 6.0.18 (remm)"><strong>Tomcat 6.0.18 (remm)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cataina"><strong>Cataina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td><a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42727">42727</a>Correctly handle request lines that are exact multiples of 4096 in length.
+  Patch provided by Will Pugh.</td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42678">42678</a>: Only ignore docBase it it really is a subdir of
+        appBase. Patch provided by juergen. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42722">42722</a>: Possible NPE in CGI Servlet. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=45285">45285</a>: Look for annotations in class hierarchy. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Add additional checks for URI normalization. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42565">42565</a>: Make EL ternary expression without space before colon
+        work. Patch provided by Lucas Galfaso. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=45323">45323</a>: Add note that context.xml files can only contain a
+        single Context element. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster"><strong>Cluster</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=45317">45317</a>: Properly document and log the value of the state transfer timeout flag (fhanik)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Other"><strong>Other</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=45332">45332</a>: Specify the correct encoding (the current Windows code
+        page) rather than assuming UTF-8 when creating tomcat-users.xml with the
+        Windows installer. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 6.0.17 (remm)"><strong>Tomcat 6.0.17 (remm)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=45315">45315</a>: Add Unix support for NSIS. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td><a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=45272">45272</a>Put in work around for Internet Explorer not accepting a quoted Path: value using the Set-Cookie header (fhanik)</td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        APR connector now adds connection to poller after using send file.
+        (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Add ManagerBase session getLastAccessedTimestamp and
+        getCreationTimestamp for better remote JMX access. (pero)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Expose alwaysSend flag for message dispatch interceptor. (fhanik)
+      </td></tr>  
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=29936">29936</a>: Create digesters and parsers earlier so we aren't
+        using the webapp class loader when we create them. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42662">42662</a>: Properly resolve reflection proxies during session
+        replication. (fhanik)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42750">42750</a>: Request line should be tolerant of multiple
+        whitespaces. (markt/fhanik)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42934">42934</a>: Change the order of events on context start so
+        <code>contextInitialized()</code> event is fired before
+        <code>sessionDidActivate()</code>. The spec isn't 100% clear on the
+        required order but this seems more logical than the current behaviour.
+        (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43079">43079</a>: Fix identification of suspicious URL patterns. Patch
+        provided by John Kew. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43080">43080</a>: Log suspicious URL patterns to the correct web app.
+        (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43117">43117</a>: Setting an empty workDir could result in all of
+        CATALINA_HOME being deleted. Patch provided by Takayuki Kaneko. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43142">43142</a>: Don't assume a directory named xxx.war is a war file.
+        (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43150">43150</a>: Allow Tomcat to start correctly when installed on a
+        path that contains a # character. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        The fix for <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43285">43285</a> had the side-effct of coercing
+        <code>null</code> values to zero. This side-effect has been made
+        configurable with a system property,
+        <code>org.apache.el.parser.COERCE_TO_ZERO</code> which defaults to
+        <code>true</code>. Patch provided by Nils Eckert. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43343">43343</a>: Correctly handle requesting a session we are in the
+        middle of persisting. Based on a suggestion by Wade Chandler. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43425">43425</a>: Make annotations spec compliant. Patch provided by
+        Dain Sundstrom. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43470">43470</a>: Fix various class cast exceptions. Based on a patch
+        by Lucas Galfaso. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43578">43578</a>: Fix startup when installation path contains a space.
+        Patch provided by Ray Sauers. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43683">43683</a>: Fix 404 that could occur if a Servlet is accessed
+        while the context is reloading. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>ExtendedAccessLogValve cs-uri not print empty querystring. (pero)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        ServletContext.getResource("noslash/resource") only requires forward
+        slash if STRICT_SERVLET_COMPLIANCE flag is set to true. This mimics the
+        behavior of 6.0.15 and earlier. (fhanik)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44021">44021</a>: Add support for using the # character to define
+        multi-level contexts in WARs and directories in the appBase. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44282">44282</a>: Fix TRACE level class loader logging message when a
+        security manager is used. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44337">44337</a>: Dir listing crashes if no readme-file present.
+        (funkman)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        If listener declared in web.xml, only add it once. (funkman)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix NPE when iterating through sessions for expiration. (fhanik/jim)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44380">44380</a>: Don't scan non-file URLs for TLDs. Patch provided by
+        Florent Benoit. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44389">44389</a>: Fix memory leak that occurred if using a
+        RequestDispatcher. Patch provided by Arto Huusko. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44529">44529</a>: Correct handling of resource constraints so no roles
+        (deny all) overrides no aoth-constraint (allow all). (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44562">44562</a>: HEAD requests cannot use includes. Patch provided by
+        David Jencks. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44595">44595</a>: Add possibility to request the QueueSize of an
+        executor via JMX. (jfclere)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix CGI Servlet so it correctly reads the environment variables on
+        Vista. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44611">44611</a>: DirContextURLConnection didn't implement
+        getHeaderFields(), getHeaderField(String name) was case sensitive and
+        returned "" rather than null for header values that did not exist. Patch
+        provided by Chris Hubick. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44633">44633</a>: Provide a more helpful error message if a class can't
+        be loaded due to a version error. (rjung/markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44646">44646</a>: Correct various issues, including an ISE, in
+        CometConnectionManagerValve. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44673">44673</a>: ServletInputStream is no longer readable once closed.
+        (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Better handling of lack of permission for context specific logging.
+        (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Add permission required to read JDK logging config. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Update web.xml to reflect packaging of SSI and CGI. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Add missing access check for ThreadWithAttributes. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44833">44833</a>: Correctly override StandardSession methods from
+        DeltaSession. (fhanik)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44943">44943</a>: Use the same engine name in server.xml comments to
+        reduce copy and pastes issues. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44988">44988</a>: Use Java5 syntax for debug options. Patch provided
+        by Cedrik Lime. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=45101">45101</a>: Format header dates obtained from
+        <code>DirContextURLConnection</code> as per the HTTP spec. Patch
+        provided by Chris Hubick. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        A new valve, <code>org.apache.catalina.valves.WebdavFixValve</code>,
+        that forces MS clients connecting to the WebDAV Servlet on port 80 to
+        use a client that works rather than the default broken one. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=45195">45195</a>: Passing in null into setAttribute or removeAttribute
+        cause NPE. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        NIO: Fix bug in NIO sendfile, symptoms during heavy traffic is that
+        connection don't get closed. For previous versions, one can disable
+        sendfile to work around the problem. (fhanik)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        APR: Allow to specify the "random device" to use to collect the entropy.
+        (jfclere)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Fix NIO/SSL live lock during client disconnect. (fhanik)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix possible ArrayIndexOutOfBoundsException. Patch provided by Charles R
+        Caldarale. (markt/jim)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Add support for keystore types that do not need a file. Based on a patch
+        by Bruno Harbulot. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43094">43094</a>: Allow specification of keystore providers. Based on a
+        patch by Bruno Harbulot. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43191">43191</a>: Make it possible to override the defaults with the
+        compressableMimeType attribute. Based on a patch by Len Popp. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44391">44391</a>: Correct handling of escaped values in SSI processing.
+        (markt) 
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44392">44392</a>: HTML entities now handled correctly in SSI processing.
+        (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44558">44558</a>: Improve error message so address is included if
+        binding fails. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44494">44494</a>: Character input limited to 8KB. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44620">44620</a>: Infinite loop in NIO connector. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44785">44785</a>: Correctly document default maxThreads for AJP
+        connector. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Log errors for AJP signoffs at DEBUG level, 
+        since it is harmless if mod_jk has hung up the phone. (billbarker)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44968">44968</a>: Provide more information when the load of a keystore
+        fails. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31257">31257</a>: Quote endorsed dirs if they contain a space. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42943">42943</a>: Make sure nested element is inside &lt;jsp:text&gt;
+        element before throwing exception. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43617">43617</a>: Correctly escape attribute values in tag files.
+        Based on a patch by Lucas Galfaso. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43656">43656</a>: Fix various numeric coercion bugs. Includes a patch by
+        Nils Eckert and fixes related issues identified in a test case provided
+        by Konstantin Kolinko. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43741">43741</a>: Correctly handle dependencies for tag files in JARs.
+        (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44408">44408</a>: Reduce synchronisation when evaluating EL expressions.
+        Patch provided by Robert Andersson. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44428">44428</a>: Fix possible NPE during serialization. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44766">44766</a>: EL doesn't coerce custom Number subclasses. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44877">44877</a>: Prevent collisions on tag pool names. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44986">44986</a>: Make page encoding consistency checks
+        case-insensitive. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44994">44994</a>: Enable nested conditional expressions in JSP EL. Patch
+        provided by James Manger. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=45015">45015</a>: You can't use an unescaped quote if you quote the
+        value with that character. (markt/fhanik)  
+      </td></tr>  
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Add HTML filtering of error messages for included resources in case the
+        app has tried to include an unsafe URL that does not exist. This is
+        really an app responsibility but the filtering has been added for XSS
+        safety. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Update documentation to use correct version number, correct file paths
+        and to use $CATALINA_BASE rather than $CATALINA_HOME where applicable.
+        (markt/jim)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Add a section on available system property configuration options.
+        (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Amend the JNDI datasource doc to reflect new value for no limit used by
+        updated commons-pool and commons-DBCP. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43333">43333</a>: Fix errors in sendfile documentation. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43366">43366</a>: Provide backwards compatibility for manager sessions
+        command. (markt)
+      </td></tr> 
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44541">44541</a>: Document packetSize attribute for AJP connector.
+        (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44715">44715</a>: Document secret attribute for AJP connector. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix some links in the ROOT application that are broken if ROOT is
+        renamed. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Align the Realm documentation so that both the configuration and the
+        how-to are consistent. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=45277">45277</a>: Fix typo in logging docs. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster"><strong>Cluster</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=45212">45212</a>: AbstractReplicatedMap.entrySet() now returns entries
+        rather than vaules. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td><a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=45279">45279</a>Properly close multicast socket.</td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Fix session replication dead lock during non sticky load balancing.
+        (fhanik)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Other"><strong>Other</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Improve the Tests for unit tests for the cookie issues. (jfclere)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix build for JavaDoc. Patch provided by Stephen Bannasch. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44955">44955</a>: Use correct location for endorsed directory in Windows
+        installer. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 6.0.16 (remm)"><strong>Tomcat 6.0.16 (remm)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Update commons-logging to version 1.1.1 and the NSIS installer to 2.34.
+        (markt)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Update to commons-pool version 1.4, native version 1.1.12 and update
+        the download location for the commons libraries. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Change chunked input parsing, always parse CRLF directly after a chunk has been
+        received, except if data is not available. If data is not available for CRLF
+        parsing, we run into BZ 11117, and must defer the parsing of CRLF to the next read event.
+        This fixes the incorrect blocking when using CometProcessor and the draining data during the READ event
+        where it before would block incorrectly waiting for the next chunk (fhanik)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        The CometProcessor interface now extends the javax.servlet.Servlet interface(fhanik)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix CVE-2007-5342 by limiting permissions granted to JULI. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Fix handling of CometEvent.close when called during BEGIN event (fhanik)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43594">43594</a>: Use setenv from CATALINA_BASE (if set) in preference
+        to the one in CATALINA_HOME. Patch provided by Shaddy Baddah.
+        (markt/jim)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43692">43692</a>: Clean up unused entires from build scripts. Patch
+        provided by Paul Shemansky. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43775">43775</a>: Don't try to change line endings of binary files in
+        the source distribution. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td><a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43846">43846</a>:
+        Fix block simulated read and writes causing timeouts.
+        Add non blocking parsing of HTTP request headers.
+        Perf improvements(fhanik)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43957">43957</a>: Service.bat doesn't configure logging correctly. Patch
+        provided by  Richard Fearn. (markt/jim)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Cookie handling/parsing changes!
+        The following behavior has been changed with regards to Tomcat's cookie handling
+        a) Cookies containing control characters, except 0x09(HT), are rejected using an InvalidArgumentException <br>
+        b) If cookies are not quoted, they will be quoted if they contain tspecials(ver0), tspecials2(ver1) characters<br>
+        c) Escape character '\\' is allowed and respected as a escape character, will be unescaped during parsing
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Cookie parsing of $Version regression from 6.0.15 has been fixed
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        The script that builds the windows installer was including additional
+        files due to the way it processes recurrsive file selectors. The
+        selectors have been modified to only include the intended files. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix ManagerServlet.expireSessions throws Exceptions as iterate longer
+        session lists at production servers. (pero)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td><a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38131">38131</a>: WatchedResource doesn't work if app is outside host appbase webapps.
+        Patch provided by Peter Lynch (pero)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>Add -Dorg.apache.catalina.tribes.dns_lookups=false as default. The ability to turn off reverse DNS lookups for membership.(fhanik)</td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+         Set correct StandardManager.sessionCounter after reload/restart. (pero)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42503">42503</a>: ServletContext.getResourceAsStream() could return
+        stale data. Patch provided by Arvind Srinivasan. (funkman/jim)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43236">43236</a>: When resetting the response, also reset the flags
+        associated with using a writer or an output stream to allow the user to
+        change character set after the reset. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43241">43241</a>: Make ServletContext.getResourceAsStream() conform to
+        the specification. Patch provided by John Kew. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43530 ">43530 </a>: doc link fixes provided by  Paul Shemansky (funkman)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43675">43675</a>: Fix a possible logging related classloader leak.
+        (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td><a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43687">43687</a> Remove conditional headers on Form Auth replay,
+           since the UA (esp. FireFox) isn't expecting it.
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43706">43706</a>: WebDAV copy/move now returns 201 on success. Based on
+        a patch by Panagiotis Astithas. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43840">43840</a>: Include user principal if possible when serializing /
+        de-serializing sessions. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43868">43868</a>: MBean methods getInvoke and getSetter were broken.
+        (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43887">43887</a>: Make error messages much more helpful when illegal
+        Servlet names are used. Based on a patch provided by Mike Baranczak.
+        (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix a bug that causes CGI Servlet to fail when it is included. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Improve the webDAV Servlet Javadocs to make clear that the WebDAV
+        Servlet can not be used as the default servlet. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43993">43993</a>: mime mapping for WS-Policy. Patch by Fabian Ritzmann  (funkman)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44041">44041</a>: Fix duplicate class definition under load. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44084">44084</a>: JASSRealm was broken for application provided
+        Principals. Patch provided by Noah Levitt. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44223">44223</a>: Use the javax.net.ssl.trustStoreType setting if no
+        explicit connector configuration is provided and the property is set.
+        (markt/jim)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44268">44268</a>: Log a warning if a duplicate listener configuration is
+        ignored. (markt/jim)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43622">43622</a>: Don't overwrite the min compression size set by the
+        compression attribute with the default. (markt/jim)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43839">43839</a>: URL based session tracking failed when a session
+        cookie from a parent context was present. Based on a patch by Yuan
+        Qingyun. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43914">43914</a>: URLs in location headers should be encoded. Patch
+        provided by Ivan Todoroski. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43285">43285</a>: Missing EL Coercion causes argument type mismatch.
+        Patch provided by Bernhard Huemer. (funkman/jim)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43675">43675</a>: Fix a possible logging related classloader leak.
+        (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43702">43702</a>: Inner class files have unnecessarily long names.
+        (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43743">43743</a>: Fix NPE when compiling nest tag files packaged in a
+        JAR. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43757">43757</a>: Rather than use string matching to work out the line
+        in the JSP with the error, use the SMAP info and the knowledge that for
+        a scriptlet there is a one to one line mapping. (markt/jim)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43758">43758</a>: Fix NPE when scripting elements are empty. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43909">43909</a>: Make sure locale maps to wrapped ELContext. Patch
+        provided by Tuomas Kiviaho. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43944">43944</a>: Fix a missing resource exception. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Improve docs for Jasper configuration. Put options in alphabetcial
+        order, add some missing options, deprecate an unused one and address
+        feedback about the page provided on the users list.
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43173">43173</a>: Fix typo in logging documentation regarding location
+        of logging.properties. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43344">43344</a>: Fix typo in if.jsp example. Patch provided by Tim
+        Nowaczyk. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43468">43468</a>: Fix possible NPE when listing contexts in the Manager
+        application. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43515">43515</a>: Fix bug in Manager application that may have caused
+        problems when listing contexts. Patch provided by Lucas Galfaso. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43611">43611</a>: Provide an error message if user tries to upload a war
+        for a context defined in server.xml rather than failing silently.
+        (markt/jim)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43800">43800</a>: Make relationship between APR and the native connector
+        clearer. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44088">44088</a>: Fix expire session button in manager. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44094">44094</a>: Add a note about the side effects of configuring a
+        context as privileged. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Update JNDI documentation to refer to configuring contexts via
+        context.xml rather than server.xml. (markt/jim)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+   <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster"><strong>Cluster</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix FarmWarDeployer can be only configured as host subelement (pero)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+      	Fix wrong &amp;&amp; at ReplicationValve (pero)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Add get/set methods for properties in the Tcp Failure detector.
+        (fhanik/jim)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 6.0.15 (remm)"><strong>Tomcat 6.0.15 (remm)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>Fix the MD5 file contents in distribution</td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Add ANT script to be able to publish signed Tomcat JAR's to ASF Maven repo (fhanik)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Use Eclipse JDT 3.3.1. (pero)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>Guess java location from the PATH environment and improve fix for 37284</td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>Add NIO connector to server.xml parsing warning, remove Connector as exception case</td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td><a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43653">43653</a>: Fix SSL buffer mixup when response is unable to write more than socket buffer can handle</td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td><a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43643">43643</a>: If connector doesn't support external executor, display warning</td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td><a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43641">43641</a>: Property bind multicast address for cluster membership</td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td><a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42693">42693</a>: Fix JSP compiler bug</td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>Add mbean descriptor for virtual webapp loader</td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td><a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43487">43487</a>:
+        Fix request processing stats
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43435">43435</a>: Don't iterate and relocate sessions if they are not part of the map.
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43356">43356</a>: Keystore parameter is relative to CATALINA_BASE,
+        Truststore is either defined as parameter, javax.net.ssl.trustStore or if empty
+        defaults to the keystore.
+        SSL Client cert authentication changed from boolean to "true|false|want" (fhanik)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=30949">30949</a>: Improve previous fix. Ensure requests are re-cycled
+        on cross-context includes and forwards when an exception occurs in the
+        target page. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42944">42944</a>: Correctly handle servlet mappings that use a '+'
+        character as part of the url pattern. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+         <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42951">42951</a>: Don't use CATALINA_OPTS when stopping Tomcat. This
+         allows options for starting and stopping to be set on JAVA_OPTS and
+         options for starting only to be set on CATALINA_OPTS. Without this
+         fix, some startup options (eg the port for remote JMX) would cause
+         stop to fail. Based on a fix suggested by Michael Vorburger.
+         Port of r454193 (<a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36976">36976</a>) from Tomcat 5.5.x. (markt,rjung)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+         Validation of attributes and elements used in server.xml. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43175">43175</a>: Fix typos in servlet XSD files. Patch provided by
+        Takayuki Kaneko. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43216">43216</a>: Set correct StandardSession#accessCount as StandardSession.ACTIVITY_CHECK is true.
+        Patch provided by Takayuki Kaneko (pero)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Made session createTime accessible for all SessionManager via JMX (pero)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43129">43129</a>: Support logging of all response header values at AccessLogValve (ex. add %{Set-Cookie}o to your pattern). (pero)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Support logging of all response header values at ExtendedAccessLogValve (ex. add x-O(Set-Cookie) to your pattern). (pero)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Support logging of current thread name at AccessLogValve (ex. add %I to your pattern).
+        Usefull to compare access logging entry later with a stacktraces. (pero)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Improve large-file support (more then 4 Gb) at all AccessLogValves, backport from 5.5.25. (pero)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Optimized JDBCAccessLogValve combined pattern request attribute access. (pero)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        o.a.juli.ClassLoaderLogManager handle more then one system property replacement at file logging.properties. (pero)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43338">43338</a>: Support '*' servlet-name mapping at filter-mapping.
+        Patch provided by Keiichi Fujino. (pero)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41797">41797</a>: CNFE/NPE thrown from function mapper when externalizing
+        Patch by Tuomas Kiviaho- tuomas.kiviahos at ikis fi (funkman)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43453">43453</a>: ClassCastException at
+        org.apache.catalina.core.StandardContext.findStatusPage(int)
+         (funkman)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix important vulnerability when webdav is enabled for write. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Call stopAwait in StandardServer.stop if port == -1. (pero)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43668">43668</a> Fix NPE when the outer most wrapper is a ServletRequest/ResponseWrapper, but not a HttpServletRequest/ResponseWrapper on a Forward. (billbarker)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Harmonize with HTTP java.io code. Otherwise the socket is not closed.
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        In the APR connector, start accepting connections after fully starting
+        the connector, to prevent possible exceptions due to non initialized fields. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Cookie parser refactoring, submitted by John Kew. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Make cookie escaping / unescaping consistent. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43479">43479</a>: Memory leak cleaning up sendfile connections, submitted by Chris Elving. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42925">42925</a>: Add maintain for sendfile. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix explicit flush before response commit in the org.apache.jk AJP connector. (pero)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43621">43621</a> Fix possible Dos condition when using the experimental NIO/AJP Connector (billbarker)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37326">37326</a>: No error reported when an included page does not
+        exist. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix WebDAV Servlet so it works correctly with MS clients. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix CVE-2007-5461, an important information disclosure vulnerability in
+        the WebDAV Servlet. Based on a patch by Marc Schoenefeld. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42979">42979</a>: Update sample.war to include recent security fixes
+        in the source code. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Minor connector doc fix. (jfclere)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+   <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster"><strong>Cluster</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+         Set correct BioReceiver transfer buffer size. (pero)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Other"><strong>Other</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+         Tests for unit tests for the cookie issues. (jfclere)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 6.0.14 (remm)"><strong>Tomcat 6.0.14 (remm)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/docs.gif" class="icon" alt="docs"></td><td>
+        Correct j.u.l log levels in JULI docs. (rjung)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Handle special case of ROOT when re-loading webapp after ROOT.xml has
+        been modified. In some circumstances the reloaded ROOT webapp had no
+        associated resources. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Remove invalid attribute "encoding" of MBean MemoryUserDatabase,
+        which lead to errors in the manager webapp JMXProxy output. (rjung)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33774">33774</a> Retry JNDI authentiction on ServiceUnavailableException
+        as at least one provider throws this after an idle connection has been
+        closed. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+         <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39875">39875</a>: Fix BPE in RealmBase.init(). Port of yoavs's fix from
+         Tomcat 5. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41722">41722</a>: Make the role-link element optional (as required by
+        the spec) when using a security-role-ref element. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+         <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42361">42361</a>: Handle multi-part forms when saving requests during
+         FORM authentication process. Patch provided by Peter Runge. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+         <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42401">42401</a>: Update RUNNING.txt with better JRE/JDK information.
+         (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+         <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42444">42444</a>: prevent NPE for AccessLogValve
+         Patch provided by Nils Hammar (funkman)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+         <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42449">42449</a>:
+         JNDIRealm does not catch NullPointerException for Sun's
+         LDAP provider (See bug for details) (funkman)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+         <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42497">42497</a>: Ensure ETag header is present in a 304 response.
+         Patch provided by Len Popp. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix XSS security vulnerability (CVE-2007-2450) in the Manager and Host
+        Manager. Reported by Daiki Fukumori. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42547">42547</a>: Fix NPE when a ResourceLink in context.xml tries to
+        override an env-entry in web.xml. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Avoid some casting in ErrorReportValve (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix persistence API annotation, submitted by Bill Burke (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        In Comet mode, if bytes are not read, send an error event (otherwise,
+        fields referring to the connection could remain) (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix Comet when running Tomcat with the security manager (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39425">39425</a> Add additional system property permission to
+        catalina.policy for pre-compiled JSPs. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42438">42438</a> Duplicate temporary variables were created when
+        jsp:attribute was used in conjunction with custom tags. Patch provided
+        by Brian Lenz. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42643">42643</a> Prevent creation of duplicate JSP function mapper
+        variables. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Separate sequence increment from getter in ThreadPool to avoid
+        misleading increments during monitoring via JMX. (rjung)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Add back missing socketBuffer attribute in the java.io HTTP connector (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Don't write error on System.out, use log() instead. (rjung)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39813">39813</a>: Correct handling of new line characters in JMX
+        attributes. Patch provided by R Bramley. Ported from tc5.5.x r415029. (markt,rjung)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+         <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42459">42459</a>: Fix Tomcat Web Application Manager table error. (rjung)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix XSS security vulnerabilities (CVE-2007-2449) in the examples.
+        Reported by Toshiharu Sugiyama. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 6.0.13 (remm)"><strong>Tomcat 6.0.13 (remm)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+         More accurate available() method. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+         Add recycle check in the event object, since it is a facade like the others. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+         When processing a read event, enforce that the servlet consumes all available bytes. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+         Add a flag in ContainerBase which could be used in embedded scenarios to avoid a double start
+         of contexts (this problem generally occurs when adding contexts to a started host). (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+         <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42309">42309</a>: Ability to create a connector using a custom protocol specification for embedded.
+         (fhanik)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+         Add SSL engine flag to AprLifecycleListener. (fhanik)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+         Improve event processing, so that an END event is generated when encountering EOF, and an
+         ERROR is always generated on client disconnects. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+         Add declarations for the new XSD files. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+         Add heartbeatBackgroundEnabled flag to SimpleTcpCluster.
+         Enable this flag don't forget to disable the channel heartbeat thread (pero)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+         Possible memory leak when using comet, caused by adding the socket to the poller before
+         cleaning up the connection tracking structure. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+         <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42308">42308</a>: nextRequest recycles the request, which caused issues with statistics. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+         Fix non recycled comet flag in the APR connector. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster"><strong>Cluster</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+         Add heartbeatBackgroundEnabled flag to SimpleTcpCluster.
+         Enable this flag don't forget to disable the channel heartbeat thread (pero)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+         Method name cleanup. (fhanik)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+         Some examples webapp fixes. Submitted by Frank McCown. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 6.0.12 (remm)"><strong>Tomcat 6.0.12 (remm)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        License source headers. Submitted by Niall Pemberton. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42039">42039</a> Log a stack trace if a servlet throws an
+         UnavailableException. Patch provided by Kawasima Kazuh. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41990">41990</a> Add some additional mime-type mappings. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41655">41655</a> Fix message translations. Japanese translations
+        provided by Suzuki Yuichiro. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Add enabled attribute to AccessLogValve (pero)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42085">42085</a>: Avoid adding handlers for the root logger twice when they are explicitly
+        specified. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Reduce thread local manipulation in the request dispatcher. Submitted by
+        Arvind Srinivasan. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Avoid keeping references to loggers tied to the webapp classloaders after a reload in
+        a couple more places. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42202">42202</a>: Fix container parsing of TLDs in webapps when Tomcat is installed in
+        a URL encodable path. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42119">42119</a> Fix return value for request.getCharacterEncoding() when
+        Content-Type headers contain parameters other than charset. Patch by
+        Leigh L Klotz Jr. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Move away from using a thread local processor for the APR and java.io
+        connectors, as this does not work well when using an executor. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Remove Comet timeout hack in the APR connector. Comet connections will now
+        use the regular timeout or the keepalive timeout if specified. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42025">42025</a>: Update valve documentation to refer to correct regular
+        expression implementation. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix various paths in the manager webapps (remm)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Session viewer and editor for the HTML manager. Submitted by C&eacute;drik Lime. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Session handling tools for the manager. Submitted by Rainer Jung. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41869">41869</a> TagData.getAttribute() should return
+        TagData.REQUEST_TIME_VALUE when the attribute value is an EL expression.
+        (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42071">42071</a> Fix IllegalStateException on multiple requests to
+        an unavailable JSP. Patch provided by Kawasima Kazuh. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        After a JSP throws an UnavailableException allow it to be accessed once
+        the unavailable period has expired. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster"><strong>Cluster</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+         Add toString method to better logging session replication message at tribes MESSAGES (pero)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 6.0.11 (remm)"><strong>Tomcat 6.0.11 (remm)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Update DBCP to 1.2.2, pool to 1.3, JDT to 3.2.2 and remove collections
+        build dependency (pero, remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Don't log pattern subtoken at ExtendedAccesLogValve (pero)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Add some missing JMX attributes for new AccessLogValve (pero)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41786  ">41786  </a> Incorrect reference to catalina_home in catalina.sh/bat Patch provided by Mike Hanafey (fhanik)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41703">41703</a> SingleSignOnMessage invalid setter, patch provided by Nils Hammar (fhanik)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41682">41682</a> ClassCastException when logging is turned on (fhanik)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41530  ">41530  </a>Don't log error messages when connector is stopped (fhanik)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41166">41166</a> Invalid handling when using replicated context (fhanik)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Added SENDFILE support for the NIO connector. (fhanik) <br>
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Added support for shared thread pools by adding in the &lt;Executor&gt;
+        element as a nested element to the &lt;Service&gt; element. (fhanik)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41666">41666</a> Correct handling of boundary conditions for
+        If-Unmodified-Since and If-Modified-Since headers. Patch provided by
+        Suzuki Yuichiro. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41739">41739</a> Correct handling of servlets with a load-on-startup
+        value of zero. These are now the first servlets to be started. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41747">41747</a> Correct example ant script for deploy task. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41752">41752</a> Correct error message on exception in MemoryRealm.
+        (markt)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39883">39883</a> Add documentation warning about using antiResourceLocking
+        on a webapp outside the Host's appBase. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40150">40150</a> Ensure user and roll classnames are validated on startup.  Patch by
+          Tom. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Refactor extend access log valve using the optimized access log valve. Submitted by
+        Takayuki Kaneko. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Possible deadlock in classloading when defining packages. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Remove excessive syncing from listener support. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Web services support. The actual factory implementations are implemented in the
+        extras. Submitted by Fabien Carrion. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Add logging to display APR capabilities on the platform. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Expose executors in JMX. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        CRLF inside a URL pattern is always invalid. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Tweak startup time display. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Adjustments to handling exceptions with Comet. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        If the event is closed asynchronously, generate an end event for cleanup on the
+        next event. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Cleanup hello webapp from the docs and fix a XSS issue in the JSP.  (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Examples webapp cleanup. Submitted by Takayuki Kaneko and Markus Sch&ouml;nhaber. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41289">41289</a>: Create configBase, since it is no longer created elsewhere.
+        Submitted by Shiva Kumar H R. (remm)
+      </td></tr>
+     </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Fixed NIO memory leak caused by the NioChannel cache not working properly.
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Added flag to enable/disable the usage of the pollers selector instead of a Selector pool
+        when the serviet is reading/writing from the input/output streams
+        The flag is <code>-Dorg.apache.tomcat.util.net.NioSelectorShared=true</code>
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Requests with multiple content-length headers are now rejected. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41675">41675</a> Add a couple of DEBUG-level logging statements to Http11Processors
+          when sending error responses.  Patch by Ralf Hauser. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Reuse digester used by the modeler. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        When the platform does not support deferred accept, put accepted sockets in the
+        poller. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix problem with blocking reads for keepalive when using an executor (the number
+        of busy threads is always 0). (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        The poller now has good performance, so remove firstReadTimeout. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42119">42119</a> Fix return value for request.getCharacterEncoding() when
+        Content-Type headers contain parameters other than charset. Patch by
+        Leigh L Klotz Jr. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix previous update to servlet 2.5 xsd to use correct declaration.
+        (markt)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Update host configuration document for new behaviour for directories
+        in appBase. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39540">39540</a> Add link to httpd 2.2 mod_proxy_ajp docs in AJP connector doc. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41227">41227</a> Add a bit of DEBUG-level logging to JspC so users know
+          which file is being compiled. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Remove some dead utility code, and refactor stream capture as part of the Ant compiler. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Support the trim directive of JSP 2.1 as an equivalent of Jasper's own parameter. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41790">41790</a>: Close file stream used to read the Java source. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix reporting of errors which do not correspond to a portion of the JSP source. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Remove try/catch usage for annotation processing in classic tags. The usage
+        of the log method might have been questionable as well. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Cleanup of the message that is displayed for compilation errors. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Skip BOM when reading a JSP file. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+ </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 6.0.10 (remm)"><strong>Tomcat 6.0.10 (remm)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Unify usage of security manager flag, submitted by Arvind Srinivasan. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix formatting of CGI variable SCRIPT_NAME. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41521">41521</a>: Support * for servlet-name, submitted by Paul McMahan. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Cache getServletContext value, submitted by Arvind Srinivasan. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Add options for handling special URL characters in paths, and disallow '\' and encoded '/'
+        due to possible differences in behavior between Tomcat and a front end webserver. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix bad comparison for FORM processing, submitted by Anil Saldhana. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41608">41608</a> Make log levels consistent when Servlet.service()
+        throws an exception. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Reduce usage of MessageBytes.getLength(), submitted by Arvind Srinivasan. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41558">41558</a>: Don't call synced method on every request, submitted by Arvind Srinivasan. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Switch to a thread local page context pool. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 6.0.9 (remm)"><strong>Tomcat 6.0.9 (remm)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Use 2.5 xsd in Tomcat webapps. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Compression filter improvements, submitted by Eric Hedstr&ouml;m. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Properly return connector names. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Remove logging of the XML validation flag. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Correct error messages for context.xml. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41217">41217</a>: Set secure flag correctly on SSO cookie, submitted by
+        Chris Halstead. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40524">40524</a>: request.getAuthType() now returns CLIENT_CERT rather
+        than CLIENT-CERT. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40526">40526</a>: Return support for JPDA_OPTS to catalina.bat and add
+        a new option JPDA_SUSPEND, submitted by by Kurt Roy. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41265">41265</a>: In embedded, remove the code that resets checkInterval
+        values of zero to 300. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37869">37869</a>: Fix getting client certificate, submitted by Christophe Pierret. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40960">40960</a>: Throw a timeout exception when getting a timeout rather than a
+        generic IOE, submitted by Christophe Pierret. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        EL validation fixes for attributes. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41327">41327</a>: Show full URI for a 404. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        JspException now uses getCause() as the result for getRootCause(). (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster"><strong>Cluster</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41466">41466</a>: When using the NioChannel and SecureNioChannel its
+        important to use the channels buffers. (fhanik)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 6.0.8 (remm)"><strong>Tomcat 6.0.8 (remm)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Make provided instances of RequestDispatcher thread safe. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Optional development oriented loader implementation. (funkman)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Optimized access log valve, submitted by Takayuki Kaneko. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix error messages when parsing context.xml that incorrectly referred to
+        web.xml. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41217">41217</a>: Set secure attribute on SSO cookie when cookie is
+        created during a secure request. Patch provided by Chris Halstead.
+        (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40524">40524</a>: HttpServletRequest.getAuthType() now returns
+        CLIENT_CERT rather than CLIENT-CERT for certificate authentication
+        as per the spec. Note that web.xml continues to use CLIENT-CERT to
+        specify the certificate authentication should be used. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41401">41401</a>: Add support for JPDA_OPTS to catalina.bat and add a
+        JPDA_SUSPEND environment variable to both startup scripts. Patch
+        provided by Kurt Roy. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Use the tomcat-native-1.1.10 as recommended version.
+        OpenSSL detection on some platforms was broken 1.1.8 will continue to work,
+        although on some platforms there can be JVM crash if IPV6 is enabled and
+        platform doesn't support IPV4 mapped addresses on IPV6 sockets.
+      </td></tr>
+  </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        When displaying JSP source after an exception, handle included files.
+        (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Display the JSP source when a compilation error occurs and display
+        the correct line number rather than start of a scriptlet block. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix NPE when processing dynamic attributes. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        More accurate EL usage validation. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix regression for implicit taglib and page data version numbers. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41265">41265</a>: Allow JspServlet checkInterval init parameter to be
+        explicitly set to the stated default value of zero by removing the
+        code that resets it to 300 if explicitly specified as zero. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41327">41327</a>: Show full URI for a 404. Patch provided by Vijay.
+        (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/docs.gif" class="icon" alt="docs"></td><td>
+        Add a virtual hosting how-to contributed by Hassan Schroeder. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Update all webapps to use the servlet 2.5 xsd. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39572">39572</a>: Improvements to CompressionFilter example provided by
+        Eric Hedstr&ouml;m. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 6.0.7 (remm)"><strong>Tomcat 6.0.7 (remm)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix installer's bitmap (mturk)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Refactor logging of errors which may occur when reading a post body (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37869">37869</a>: Also use the SSL_INFO_CLIENT_CERT field if the chain is empty,
+        submitted by Grzegorz Grzybek (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 6.0.6 (remm)"><strong>Tomcat 6.0.6 (remm)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix tagging which did not include 6.0.5's changelog (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 6.0.5 (remm)"><strong>Tomcat 6.0.5 (remm)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40585">40585</a>: Fix parameterised constructor for o.a.juli.FileHandler
+        so parameters have an effect. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Escape invalid characters from request.getLocale. (markt, remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Update required version for native to 1.1.8. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Do not log broken pipe errors which can occur when flushing the content of an error page. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix firstReadTimeout behavior for the AJP connector. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41057">41057</a>: Make jsp:plugin output XHTML compliant. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster"><strong>Cluster</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Cluster interface cleanup. (fhanik)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Refactoring to allow usage of executors. (fhanik)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 6.0.4 (remm)"><strong>Tomcat 6.0.4 (remm)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Update to NSIS 2.22 (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix regression in 6.0.3 with Windows wrapper (mturk)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 6.0.3 (remm)"><strong>Tomcat 6.0.3 (remm)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37509">37509</a>: Do not remove whitespace from the end of values
+        defined in logging.properties files. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38198">38198</a>: Add reference to Context documentation from Host
+        documentation that explains how Context name is obtained from the
+        Context filename. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40844">40844</a> Missing syncs in JDBCRealm. (markt)
+      </td></tr>
+       <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40901">40901</a>: Encode directory listing output. Based on a patch
+        provided by Chris Halstead. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40929">40929</a>: Correct JavaDoc for StandardClassLoader. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41008">41008</a>: Allow POST to be used for indexed queries with CGI
+        Servlet. Patch provided by Chris Halstead. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix usage of print on the servlet output stream if the processor never used
+        a writer (fhanik)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix logic of sameSameObjects used to determine correct wrapping of request and
+        response objects (fhanik)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Update TLD scan lists, and disable caching for now (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Add system property to WebappClassLoader to allow disabling setting references
+        to null when stopping it (remm)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Add clustered SSO code, submitted by Fabien Carrion (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40860">40860</a>: Log exceptions and other problems during parameter
+        processing. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Enable JMX for trust store attributes for SSL connector. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Port memory usage reduction changes to the java.io HTTP connector. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        MessageBytes.setString(null) will remove the String value. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41057">41057</a>: Caching large strings is not useful and takes too much
+        memory, so don't cache these (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Add keepAliveTimeout attribute to most connectors (mturk, remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Relax EL type validation for litterals. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Update some version numbers to 2.1. (funkman, remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Add xsds for JSP 2.1 (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41106">41106</a>: Update validation checks for EL to also include
+        legacy 1.2 tags (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40677">40677</a>: Update SSL documentation to indicate that PKCS11
+        keystores may be used. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 6.0.2 (remm)"><strong>Tomcat 6.0.2 (remm)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Various tweaks to distribution (remm, funkman)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Update Tomcat native to 1.1.7 (mturk)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Update to JDT 3.2.1 (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix EJB annotation interface (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix passing of the keystore password for the NIO connector (fhanik)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 6.0.1 (remm)"><strong>Tomcat 6.0.1 (remm)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37439">37439</a>, <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40823">40823</a>: Documentation cleanup (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Refactor exception processing using Throwable.getCause to improve exception chaining (remm)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Remove dead code involving the Logger (funkman)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37458">37458</a>: Fix some exceptions which could happen during classloading (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40817">40817</a>: Fix CGI path (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34956">34956</a>: Add the possibility to enforce usage of request and response
+        wrapper objects (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Many fixes for JSP 2.1 compliance, invloving tag files handling, deferred expressions
+        validation, bom encoding support (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Many HTTP NIO connector fixes and refactorings (fhanik)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        HTTP NIO connector performance improvements (fhanik)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Add packetSize option for the classic AJP connector (jfclere)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Implement explicit flushing in AJP (mturk)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 6.0.0 (remm)"><strong>Tomcat 6.0.0 (remm)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        SSLEngine attribute added to the AprLifecycleListener(fhanik)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Add API for Comet IO handling (remm, fhanik)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Servlet 2.5 support (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        JSP 2.1 support (jhook, remm)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Unifed EL 2.1 support (jhook)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        SSLEnabled attribute required for SSL to be turned on, on all HTTP connectors (fhanik)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Memory usage reduction for the HTTP connectors, except java.io (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Modeler update to use dynamic mbeans rather than model mbeans, which consume more
+        resources (costin)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster"><strong>Cluster</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        New cluster configuration and new documentation (fhanik)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/printer/class-loader-howto.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/printer/class-loader-howto.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/printer/class-loader-howto.html	(revision 66)
@@ -0,0 +1,159 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - Class Loader HOW-TO</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"><meta value="Yoav Shapira" name="author"><meta value="yoavs@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>Class Loader HOW-TO</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Overview"><strong>Overview</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Like many server applications, Tomcat 6 installs a variety of class loaders
+(that is, classes that implement <code>java.lang.ClassLoader</code>) to allow
+different portions of the container, and the web applications running on the
+container, to have access to different repositories of available classes and
+resources.  This mechanism is used to provide the functionality defined in the
+Servlet Specification, version 2.4 -- in particular, Sections 9.4 and 9.6.</p>
+
+<p>In a J2SE 2 (that is, J2SE 1.2 or later) environment, class loaders are
+arranged in a parent-child tree.  Normally, when a class loader is asked to
+load a particular class or resource, it delegates the request to a parent
+class loader first, and then looks in its own repositories only if the parent
+class loader(s) cannot find the requested class or resource.  The model for
+web application class loaders differs slightly from this, as discussed below,
+but the main principles are the same.</p>
+
+<p>When Tomcat 6 is started, it creates a set of class loaders that are
+organized into the following parent-child relationships, where the parent
+class loader is above the child class loader:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+      Bootstrap
+          |
+       System
+          |
+       Common
+       /     \
+  Webapp1   Webapp2 ... 
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>The characteristics of each of these class loaders, including the source
+of classes and resources that they make visible, are discussed in detail in
+the following section.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Class Loader Definitions"><strong>Class Loader Definitions</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>As indicated in the diagram above, Tomcat 6 creates the following class
+loaders as it is initialized:</p>
+<ul>
+<li><strong>Bootstrap</strong> - This class loader contains the basic runtime
+    classes provided by the Java Virtual Machine, plus any classes from JAR
+    files present in the System Extensions directory
+    (<code>$JAVA_HOME/jre/lib/ext</code>).  <em>NOTE</em> - Some JVMs may
+    implement this as more than one class loader, or it may not be visible
+    (as a class loader) at all.</li>
+<li><strong>System</strong> - This class loader is normally initialized from
+    the contents of the <code>CLASSPATH</code> environment variable.  All such
+    classes are visible to both Tomcat internal classes, and to web
+    applications.  However, the standard Tomcat 6 startup scripts
+    (<code>$CATALINA_HOME/bin/catalina.sh</code> or
+    <code>%CATALINA_HOME%\bin\catalina.bat</code>) totally ignore the contents
+    of the <code>CLASSPATH</code> environment variable itself, and instead
+    build the System class loader from the following repositories:
+    <ul>
+    <li><em>$CATALINA_HOME/bin/bootstrap.jar</em> - Contains the main() method
+        that is used to initialize the Tomcat 6 server, and the class loader
+        implementation classes it depends on.</li>
+    <li><em>$CATALINA_HOME/bin/tomcat-juli.jar</em> - Package renamed Jakarta commons 
+        logging API, and java.util.logging LogManager.</li>
+    </ul></li>
+<li><strong>Common</strong> - This class loader contains additional classes
+    that are made visible to both Tomcat internal classes and to all web
+    applications.  Normally, application classes should <strong>NOT</strong>
+    be placed here.  All unpacked classes and resources in
+    <code>$CATALINA_HOME/lib</code>, as well as classes and
+    resources in JAR files are made visible through this
+    class loader.  By default, that includes the following:
+    <ul>
+    <li><em>annotations-api.jar</em> - JEE annotations classes.</li>
+    <li><em>catalina.jar</em> - Implementation of the Catalina servlet
+        container portion of Tomcat 6.</li>
+    <li><em>catalina-ant.jar</em> - Tomcat Catalina Ant tasks.</li>
+    <li><em>catalina-ha.jar</em> - High availability package.</li>
+    <li><em>catalina-tribes.jar</em> - Group communication package.</li>
+    <li><em>el-api.jar</em> - EL 2.1 API.</li>
+    <li><em>jasper.jar</em> - Jasper 2 Compiler and Runtime.</li>
+    <li><em>jasper-el.jar</em> - Jasper 2 EL implementation.</li>
+    <li><em>jasper-jdt.jar</em> - Eclipse JDT 3.2 Java compiler.</li>
+    <li><em>jsp-api.jar</em> - JSP 2.1 API.</li>
+    <li><em>servlet-api.jar</em> - Servlet 2.5 API.</li>
+    <li><em>tomcat-coyote.jar</em> - Tomcat connectors and utility classes.</li>
+    <li><em>tomcat-dbcp.jar</em> - package renamed database connection 
+        pool based on Commons DBCP.</li>
+    <li><em>tomcat-i18n-**.jar</em> - Optional JARs containing resource bundles
+        for other languages. As default bundles are also included in each 
+        individual JAR, they can be safely removed if no internationalization
+        of messages is needed.</li>
+    </ul></li>
+<li><strong>WebappX</strong> - A class loader is created for each web
+    application that is deployed in a single Tomcat 6 instance.  All unpacked
+    classes and resources in the <code>/WEB-INF/classes</code> directory of
+    your web application archive, plus classes and resources in JAR files
+    under the <code>/WEB-INF/lib</code> directory of your web application
+    archive, are made visible to the containing web application, but to
+    no others.</li>
+</ul>
+
+<p>As mentioned above, the web application class loader diverges from the
+default Java 2 delegation model (in accordance with the recommendations in the
+Servlet Specification, version 2.3, section 9.7.2 Web Application Classloader).  
+When a request to load a
+class from the web application's <em>WebappX</em> class loader is processed,
+this class loader will look in the local repositories <strong>first</strong>,
+instead of delegating before looking.  There are exceptions. Classes which are
+part of the JRE base classes cannot be overriden. For some classes (such as
+the XML parser components in J2SE 1.4+), the J2SE 1.4 endorsed feature can be 
+used.
+Last, any JAR containing servlet API classes will be ignored by the 
+classloader.
+All other class loaders in Tomcat 6 follow the usual delegation pattern.</p>
+
+<p>Therefore, from the perspective of a web application, class or resource
+loading looks in the following repositories, in this order:</p>
+<ul>
+<li>Bootstrap classes of your JVM</li>
+<li>System class loader classses (described above)</li>
+<li><em>/WEB-INF/classes</em> of your web application</li>
+<li><em>/WEB-INF/lib/*.jar</em> of your web application</li>
+<li><em>$CATALINA_HOME/lib</em></li>
+<li><em>$CATALINA_HOME/lib/*.jar</em></li>
+</ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="XML Parsers and JSE 5"><strong>XML Parsers and JSE 5</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Among many other changes, the JSE 5 release packages the JAXP APIs, and
+a version of Xerces, inside the JRE.  This has impacts on applications that
+wish to use their own XML parser.</p>
+
+<p>In previous versions of Tomcat, you could simply replace the XML parser
+in the <code>$CATALINA_HOME/common/lib</code> directory to change the parser
+used by all web applications.  However, this technique will not be effective
+when you are running on JSE 5, because the usual class loader delegation
+process will always choose the implementation inside the JDK in preference
+to this one.</p>
+
+<p>JDK 1.5 supports a mechanism called the "Endorsed Standards Override
+Mechanism" to allow replacement of APIs created outside of the JCP (i.e.
+DOM and SAX from W3C).  It can also be used to update the XML parser
+implementation.  For more information, see:
+<a href="http://java.sun.com/j2se/1.5/docs/guide/standards/index.html">
+http://java.sun.com/j2se/1.5/docs/guide/standards/index.html</a>.</p>
+
+<p>Tomcat utilizes this mechanism by including the system property setting
+<code>-Djava.endorsed.dirs=$JAVA_ENDORSED_DIRS</code> in the
+command line that starts the container.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Running under a security manager"><strong>Running under a security manager</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>When running under a security manager the locations from which classes
+are permitted to be loaded will also depend on the contents of your policy
+file. See <a href="security-manager-howto.html">Security Manager HOW-TO</a>
+for further information.</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/printer/cluster-howto.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/printer/cluster-howto.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/printer/cluster-howto.html	(revision 66)
@@ -0,0 +1,643 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - Clustering/Session Replication HOW-TO</title><meta value="Filip Hanik" name="author"><meta value="fhanik@apache.org" name="email"><meta value="Peter Rossbach" name="author"><meta value="pero@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>Clustering/Session Replication HOW-TO</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Important Note"><strong>Important Note</strong></a></font></td></tr><tr><td><blockquote>
+<p><b>You can also check the <a href="../config/cluster.html">configuration reference documentation.</a></b>
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="For the impatient"><strong>For the impatient</strong></a></font></td></tr><tr><td><blockquote>
+  <p>
+    Simply add <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>&lt;Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/&gt;</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+    to your <code>&lt;Engine&gt;</code> or your <code>&lt;Host&gt;</code> element to enable clustering.
+  </p>
+  <p>
+    Using the above configuration will enable all-to-all session replication
+    using the <code>DeltaManager</code> to replicate session deltas. By all-to-all we mean that the session gets replicated to all the other 
+    nodes in the cluster. This works great for smaller cluster but we don't recommend it for larger clusters(a lot of tomcat nodes).
+    Also when using the delta manager it will replicate to all nodes, even nodes that don't have the application deployed.<br>
+    To get around this problem, you'll want to use the BackupManager. This manager only replicates the session data to one backup
+    node, and only to nodes that have the application deployed. Downside of the BackupManager: not quite as battle tested as the delta manager.
+    <br>
+    Here are some of the important default values:<br>
+    1. Multicast address is 228.0.0.4<br>
+    2. Multicast port is 45564 (the port and the address together determine cluster membership.<br>
+    3. The IP broadcasted is <code>java.net.InetAddress.getLocalHost().getHostAddress()</code> (make sure you don't broadcast 127.0.0.1, this is a common error)<br>
+    4. The TCP port listening for replication messages is the first available server socket in range <code>4000-4100</code><br>
+    5. Two listeners are configured <code>ClusterSessionListener</code> and <code>JvmRouteSessionIDBinderListener</code><br>
+    6. Two interceptors are configured <code>TcpFailureDetector</code> and <code>MessageDispatch15Interceptor</code><br>
+    The following is the default cluster configuration:<br>
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+        &lt;Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"
+                 channelSendOptions="8"&gt;
+
+          &lt;Manager className="org.apache.catalina.ha.session.DeltaManager"
+                   expireSessionsOnShutdown="false"
+                   notifyListenersOnReplication="true"/&gt;
+
+          &lt;Channel className="org.apache.catalina.tribes.group.GroupChannel"&gt;
+            &lt;Membership className="org.apache.catalina.tribes.membership.McastService"
+                        address="228.0.0.4"
+                        port="45564"
+                        frequency="500"
+                        dropTime="3000"/&gt;
+            &lt;Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
+                      address="auto"
+                      port="4000"
+                      autoBind="100"
+                      selectorTimeout="5000"
+                      maxThreads="6"/&gt;
+
+            &lt;Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter"&gt;
+              &lt;Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/&gt;
+            &lt;/Sender&gt;
+            &lt;Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/&gt;
+            &lt;Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/&gt;
+          &lt;/Channel&gt;
+
+          &lt;Valve className="org.apache.catalina.ha.tcp.ReplicationValve"
+                 filter=""/&gt;
+          &lt;Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/&gt;
+
+          &lt;Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"
+                    tempDir="/tmp/war-temp/"
+                    deployDir="/tmp/war-deploy/"
+                    watchDir="/tmp/war-listen/"
+                    watchEnabled="false"/&gt;
+
+          &lt;ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/&gt;
+          &lt;ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/&gt;
+        &lt;/Cluster&gt;    
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+  </p>
+  <p>Will cover this section in more detail later in this document.</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster Basics"><strong>Cluster Basics</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>To run session replication in your Tomcat 6.0 container, the following steps
+should be completed:</p>
+<ul>
+  <li>All your session attributes must implement <code>java.io.Serializable</code></li>
+  <li>Uncomment the <code>Cluster</code> element in server.xml</li>
+  <li>If you have defined custom cluster valves, make sure you have the <code>ReplicationValve</code>  defined as well under the Cluster element in server.xml</li>
+  <li>If your Tomcat instances are running on the same machine, make sure the <code>tcpListenPort</code>
+      attribute is unique for each instance, in most cases Tomcat is smart enough to resolve this on it's own by autodetecting available ports in the range 4000-4100</li>
+  <li>Make sure your <code>web.xml</code> has the <code>&lt;distributable/&gt;</code> element 
+      or set at your <code>&lt;Context distributable="true" /&gt;</code></li>
+  <li>If you are using mod_jk, make sure that jvmRoute attribute is set at your Engine <code>&lt;Engine name="Catalina" jvmRoute="node01" &gt;</code>
+      and that the jvmRoute attribute value matches your worker name in workers.properties</li>
+  <li>Make sure that all nodes have the same time and sync with NTP service!</li>
+  <li>Make sure that your loadbalancer is configured for sticky session mode.</li>
+</ul>
+<p>Load balancing can be achieved through many techniques, as seen in the
+<a href="balancer-howto.html">Load Balancing</a> chapter.</p>
+<p>Note: Remember that your session state is tracked by a cookie, so your URL must look the same from the out
+   side otherwise, a new session will be created.</p>
+<p>Note: Clustering support currently requires the JDK version 1.5 or later.</p>
+<p>The Cluster module uses the Tomcat JULI logging framework, so you can configure logging 
+   through the regular logging.properties file. To track messages, you can enable logging on the key:<code>org.apache.catalina.tribes.MESSAGES</code></p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Overview"><strong>Overview</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>To enable session replication in Tomcat, three different paths can be followed to achieve the exact same thing:</p>
+<ol>
+  <li>Using session persistence, and saving the session to a shared file system (PersistenceManager + FileStore)</li>
+  <li>Using session persistence, and saving the session to a shared database (PersistenceManager + JDBCStore)</li>
+  <li>Using in-memory-replication, using the SimpleTcpCluster that ships with Tomcat 6 (lib/catalina-tribes.jar + lib/catalina-ha.jar)</li>
+</ol>
+
+<p>In this release of session replication, Tomcat can perform an all-to-all replication of session state using the <code>DeltaManager</code> or 
+   perform backup replication to only one node using the <code>BackupManager</code>.
+   The all-to-all replication is an algorithm that is only efficient when the clusters are small. For larger clusters,  to use 
+   a primary-secondary session replication where the session will only be stored at one backup server simply setup the BackupManager. <br>
+   Currently you can use the domain worker attribute (mod_jk &gt; 1.2.8) to build cluster partitions
+   with the potential of having a more scaleable cluster solution with the DeltaManager(you'll need to configure the domain interceptor for this).
+   In order to keep the network traffic down in an all-to-all environment, you can split your cluster
+   into smaller groups. This can be easily achieved by using different multicast addresses for the different groups.
+   A very simple setup would look like this:
+   </p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+        DNS Round Robin
+               |
+         Load Balancer
+          /           \
+      Cluster1      Cluster2
+      /     \        /     \
+  Tomcat1 Tomcat2  Tomcat3 Tomcat4
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>What is important to mention here, is that session replication is only the beginning of clustering.
+   Another popular concept used to implement clusters is farming, ie, you deploy your apps only to one
+   server, and the cluster will distribute the deployments across the entire cluster.
+   This is all capabilities that can go into with the FarmWarDeployer (s. cluster example at <code>server.xml</code>)</p>
+<p>In the next section will go deeper into how session replication works and how to configure it.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster Information"><strong>Cluster Information</strong></a></font></td></tr><tr><td><blockquote>
+<p>Membership is established using multicast heartbeats. 
+   Hence, if you wish to subdivide your clusters, you can do this by 
+   changing the multicast IP address or port in the <code>&lt;Membership&gt;</code> element.
+</p>
+<p>
+   The heartbeat contains the IP address of the Tomcat node and the TCP port that 
+   Tomcat listens to for replication traffic. All data communication happens over TCP.
+</p>
+<p>
+    The <code>ReplicationValve</code> is used to find out when the request has been completed and initiate the
+    replication, if any. Data is only replicated if the session has changed (by calling setAttribute or removeAttribute
+    on the session).
+</p>
+<p>
+    One of the most important performance considerations is the synchronous versus asynchronous replication.
+    In a synchronous replication mode the request doesn't return until the replicated session has been
+    sent over the wire and reinstantiated on all the other cluster nodes.
+    Synchronous vs asynchronous is configured using the <code>channelSendOptions</code>
+    flag and is an integer value. The default value for the <code>SimpleTcpCluster/DeltaManager</code> combo is
+    8, which is asynchronous. You can read more on the <a href="../tribes/introduction.html">send flag(overview)</a> or the 
+    <a href="http://tomcat.apache.org/tomcat-6.0-doc/api/org/apache/catalina/tribes/Channel.html">send flag(javadoc)</a>.
+    During async replication, the request is returned before the data has been replicated. async replication yields shorter
+    request times, and synchronous replication guarantees the session to be replicated before the request returns.
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Bind session after crash to failover node"><strong>Bind session after crash to failover node</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+    If you are using mod_jk and not using sticky sessions or for some reasons sticky session don't 
+    work, or you are simply failing over, the session id will need to be modified as it previously contained 
+    the worker id of the previous tomcat (as defined by jvmRoute in the Engine element).
+    To solve this, we will use the JvmRouteBinderValve.
+</p>
+<p> 
+    The JvmRouteBinderValve rewrites the session id to ensure that the next request will remain sticky
+    (and not fall back to go to random nodes since the worker is no longer available) after a fail over.
+    The valve rewrites the JSESSIONID value in the cookie with the same name.
+    Not having this valve in place, will make it harder to ensure stickyness in case of a failure for the mod_jk module.
+</p>
+<p>
+    By default, if no valves are configured, the JvmRouteBinderValve is added on.
+    The cluster message listener called JvmRouteSessionIDBinderListener is also defined by default and is used to actually rewrite the 
+    session id on the other nodes in the cluster once a fail over has occurred.
+    Remember, if you are adding your own valves or cluster listeners in server.xml then the defaults are no longer valid,
+    make sure that you add in all the appropriate valves and listeners as defined by the default.
+</p>
+<p>
+    <b>Hint:</b><br>
+    With attribute <i>sessionIdAttribute</i> you can change the request attribute name that included the old session id.
+    Default attribuite name is <i>org.apache.catalina.cluster.session.JvmRouteOrignalSessionID</i>.
+</p>
+<p>
+    <b>Trick:</b><br>
+    You can enable this mod_jk turnover mode via JMX before you drop a node to all backup nodes!
+    Set enable true on all JvmRouteBinderValve backups, disable worker at mod_jk 
+    and then drop node and restart it! Then enable mod_jk Worker and disable JvmRouteBinderValves again. 
+    This use case means that only requested session are migrated.
+</p>
+
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Configuration Example"><strong>Configuration Example</strong></a></font></td></tr><tr><td><blockquote>
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+        &lt;Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"
+                 channelSendOptions="6"&gt;
+
+          &lt;Manager className="org.apache.catalina.ha.session.BackupManager"
+                   expireSessionsOnShutdown="false"
+                   notifyListenersOnReplication="true"
+                   mapSendOptions="6"/&gt;
+          &lt;!--
+          &lt;Manager className="org.apache.catalina.ha.session.DeltaManager"
+                   expireSessionsOnShutdown="false"
+                   notifyListenersOnReplication="true"/&gt;
+          --&gt;        
+          &lt;Channel className="org.apache.catalina.tribes.group.GroupChannel"&gt;
+            &lt;Membership className="org.apache.catalina.tribes.membership.McastService"
+                        address="228.0.0.4"
+                        port="45564"
+                        frequency="500"
+                        dropTime="3000"/&gt;
+            &lt;Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
+                      address="auto"
+                      port="5000"
+                      selectorTimeout="100"
+                      maxThreads="6"/&gt;
+
+            &lt;Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter"&gt;
+              &lt;Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/&gt;
+            &lt;/Sender&gt;
+            &lt;Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/&gt;
+            &lt;Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/&gt;
+            &lt;Interceptor className="org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor"/&gt;
+          &lt;/Channel&gt;
+
+          &lt;Valve className="org.apache.catalina.ha.tcp.ReplicationValve"
+                 filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/&gt;
+
+          &lt;Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"
+                    tempDir="/tmp/war-temp/"
+                    deployDir="/tmp/war-deploy/"
+                    watchDir="/tmp/war-listen/"
+                    watchEnabled="false"/&gt;
+
+          &lt;ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/&gt;
+        &lt;/Cluster&gt;
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+    <p>
+      Break it down!!
+    </p>
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+        &lt;Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"
+                 channelSendOptions="6"&gt;
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+    <p>
+      The main element, inside this element all cluster details can be configured.
+      The <code>channelSendOptions</code> is the flag that is attached to each message sent by the
+      SimpleTcpCluster class or any objects that are invoking the SimpleTcpCluster.send method.
+      The description of the send flags is available at <a href="http://tomcat.apache.org/tomcat-6.0-doc/api/org/apache/catalina/tribes/Channel.html">
+      our javadoc site</a>
+      The <code>DeltaManager</code> sends information using the SimpleTcpCluster.send method, while the backup manager
+      sends it itself directly through the channel.
+      <br>For more info, Please visit the <a href="../config/cluster.html">reference documentation</a>
+    </p>
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+          &lt;Manager className="org.apache.catalina.ha.session.BackupManager"
+                   expireSessionsOnShutdown="false"
+                   notifyListenersOnReplication="true"
+                   mapSendOptions="6"/&gt;
+          &lt;!--
+          &lt;Manager className="org.apache.catalina.ha.session.DeltaManager"
+                   expireSessionsOnShutdown="false"
+                   notifyListenersOnReplication="true"/&gt;
+          --&gt;        
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+    <p>
+        This is a template for the manager configuration that will be used if no manager is defined in the &lt;Context&gt;
+        element. In Tomcat 5.x each webapp marked distributable had to use the same manager, this is no longer the case
+        since Tomcat 6 you can define a manager class for each webapp, so that you can mix managers in your cluster.
+        Obviously the managers on one node's application has to correspond with the same manager on the same application on the other node.
+        If no manager has been specified for the webapp, and the webapp is marked &lt;distributable/&gt; Tomcat will take this manager configuration 
+        and create a manager instance cloning this configuration.
+        <br>For more info, Please visit the <a href="../config/cluster-manager.html">reference documentation</a>
+    </p>
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+          &lt;Channel className="org.apache.catalina.tribes.group.GroupChannel"&gt;
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+    <p>
+        The channel element is <a href="../tribes/introduction.html">Tribes</a>, the group communication framework
+        used inside Tomcat. This element encapsulates everything that has to do with communication and membership logic.
+        <br>For more info, Please visit the <a href="../config/cluster-channel.html">reference documentation</a>
+    </p>
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+            &lt;Membership className="org.apache.catalina.tribes.membership.McastService"
+                        address="228.0.0.4"
+                        port="45564"
+                        frequency="500"
+                        dropTime="3000"/&gt;
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+    <p>
+        Membership is done using multicasting. Please note that Tribes also supports static memberships using the 
+        <code>StaticMembershipInterceptor</code> if you want to extend your membership to points beyond multicasting.
+        The address attribute is the multicast address used and the port is the multicast port. These two together
+        create the cluster separation. If you want a QA cluster and a production cluster, the easiest config is to
+        have the QA cluster be on a separate multicast address/port combination the the production cluster.<br>
+        The membership component broadcasts TCP adress/port of itselt to the other nodes so that communication between
+        nodes can be done over TCP. Please note that the address being broadcasted is the one of the 
+        <code>Receiver.address</code> attribute.
+        <br>For more info, Please visit the <a href="../config/cluster-membership.html">reference documentation</a>
+    </p>
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+            &lt;Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
+                      address="auto"
+                      port="5000"
+                      selectorTimeout="100"
+                      maxThreads="6"/&gt;
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+    <p>
+        In tribes the logic of sending and receiving data has been broken into two functional components. The Receiver, as the name suggests
+        is responsible for receiving messages. Since the Tribes stack is thread less, (a popular improvement now adopted by other frameworks as well),
+        there is a thread pool in this component that has a maxThreads and minThreads setting.<br>
+        The address attribute is the host address that will be broadcasted by the membership component to the other nodes.
+        <br>For more info, Please visit the <a href="../config/cluster-receiver.html">reference documentation</a>
+    </p>
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+
+            &lt;Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter"&gt;
+              &lt;Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/&gt;
+            &lt;/Sender&gt;
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+    <p>
+        The sender component, as the name indicates is responsible for sending messages to other nodes.
+        The sender has a shell component, the <code>ReplicationTransmitter</code> but the real stuff done is done in the 
+        sub component, <code>Transport</code>.
+        Tribes support having a pool of senders, so that messages can be sent in parallel and if using the NIO sender,
+        you can send messages concurrently as well.<br>
+        Concurrently means one message to multiple senders at the same time and Parallel means multiple messages to multiple senders
+        at the same time.
+        <br>For more info, Please visit the <a href="../config/cluster-sender.html">reference documentation</a>
+    </p>
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+            &lt;Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/&gt;
+            &lt;Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/&gt;
+            &lt;Interceptor className="org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor"/&gt;
+          &lt;/Channel&gt;
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+    <p>
+        Tribes uses a stack to send messages through. Each element in the stack is called an interceptor, and works much like the valves do 
+        in the Tomcat servlet container.
+        Using interceptors, logic can be broken into more managable pieces of code. The interceptors configured above are:<br>
+        TcpFailureDetector - verifies crashed members through TCP, if multicast packets get dropped, this interceptor protects against false positives,
+        ie the node marked as crashed even though it still is alive and running.<br>
+        MessageDispatch15Interceptor - dispatches messages to a thread (thread pool) to send message asynchrously.<br>
+        ThroughputInterceptor - prints out simple stats on message traffic.<br>
+        Please note that the order of interceptors is important. the way they are defined in server.xml is the way they are represented in the 
+        channel stack. Think of it as a linked list, with the head being the first most interceptor and the tail the last.
+        <br>For more info, Please visit the <a href="../config/cluster-interceptor.html">reference documentation</a>
+    </p>
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+          &lt;Valve className="org.apache.catalina.ha.tcp.ReplicationValve"
+                 filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/&gt;
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+    <p>
+        The cluster uses valves to track requests to web applications, we've mentioned the ReplicationValve and the JvmRouteBinderValve above.
+        The &lt;Cluster&gt; element itself is not part of the pipeline in Tomcat, instead the cluster adds the valve to its parent container.
+        If the &lt;Cluster&gt; elements is configured in the &lt;Engine&gt; element, the valves get added to the engine and so on.
+        <br>For more info, Please visit the <a href="../config/cluster-valve.html">reference documentation</a>
+    </p>
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+          &lt;Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"
+                    tempDir="/tmp/war-temp/"
+                    deployDir="/tmp/war-deploy/"
+                    watchDir="/tmp/war-listen/"
+                    watchEnabled="false"/&gt;
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+    <p>
+        The default tomcat cluster supports farmed deployment, ie, the cluster can deploy and undeploy applications on the other nodes.
+        The state of this component is currently in flux but will be addressed soon. There was a change in the deployment algorithm 
+        between Tomcat 5.0 and 5.5 and at that point, the logic of this component changed to where the deploy dir has to match the 
+        webapps directory.
+        <br>For more info, Please visit the <a href="../config/cluster-deployer.html">reference documentation</a>
+    </p>
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+          &lt;ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/&gt;
+        &lt;/Cluster&gt;
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+    <p>
+        Since the SimpleTcpCluster itself is a sender and receiver of the Channel object, components can register themselves as listeners to 
+        the SimpleTcpCluster. The listener above <code>ClusterSessionListener</code> listens for DeltaManager replication messages
+        and applies the deltas to the manager that in turn applies it to the session.
+        <br>For more info, Please visit the <a href="../config/cluster-listener.html">reference documentation</a>
+    </p>
+    
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster Architecture"><strong>Cluster Architecture</strong></a></font></td></tr><tr><td><blockquote>
+
+<p><b>Component Levels:</b>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+         Server
+           |
+         Service
+           |
+         Engine
+           |  \ 
+           |  --- Cluster --*
+           |
+         Host
+           |
+         ------
+        /      \
+     Cluster    Context(1-N)                 
+        |             \
+        |             -- Manager
+        |                   \
+        |                   -- DeltaManager
+        |                   -- BackupManager
+        |
+     ---------------------------
+        |                       \
+      Channel                    \
+    ----------------------------- \
+        |                          \
+     Interceptor_1 ..               \
+        |                            \
+     Interceptor_N                    \
+    -----------------------------      \
+     |          |         |             \
+   Receiver    Sender   Membership       \
+                                         -- Valve
+                                         |      \
+                                         |       -- ReplicationValve
+                                         |       -- JvmRouteBinderValve 
+                                         |
+                                         -- LifecycleListener 
+                                         |
+                                         -- ClusterListener 
+                                         |      \
+                                         |       -- ClusterSessionListener
+                                         |       -- JvmRouteSessionIDBinderListener
+                                         |
+                                         -- Deployer 
+                                                \
+                                                 -- FarmWarDeployer
+      
+      
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="How it Works"><strong>How it Works</strong></a></font></td></tr><tr><td><blockquote>
+<p>To make it easy to understand how clustering works, We are gonna take you through a series of scenarios.
+   In the scenario we only plan to use two tomcat instances <code>TomcatA</code> and <code>TomcatB</code>.
+   We will cover the following sequence of events:</p>
+
+<ol>
+<li><code>TomcatA</code> starts up</li>
+<li><code>TomcatB</code> starts up (Wait that TomcatA start is complete)</li>
+<li><code>TomcatA</code> receives a request, a session <code>S1</code> is created.</li>
+<li><code>TomcatA</code> crashes</li>
+<li><code>TomcatB</code> receives a request for session <code>S1</code></li>
+<li><code>TomcatA</code> starts up</li>
+<li><code>TomcatA</code> receives a request, invalidate is called on the session (<code>S1</code>)</li>
+<li><code>TomcatB</code> receives a request, for a new session (<code>S2</code>)</li>
+<li><code>TomcatA</code> The session <code>S2</code> expires due to inactivity.</li>
+</ol>
+
+<p>Ok, now that we have a good sequence, we will take you through exactly what happens in the session repliction code</p>
+
+<ol>
+<li><b><code>TomcatA</code> starts up</b>
+    <p>
+        Tomcat starts up using the standard start up sequence. When the Host object is created, a cluster object is associated with it.
+        When the contexts are parsed, if the distributable element is in place in web.xml
+        Tomcat asks the Cluster class (in this case <code>SimpleTcpCluster</code>) to create a manager
+        for the replicated context. So with clustering enabled, distributable set in web.xml
+        Tomcat will create a <code>DeltaManager</code> for that context instead of a <code>StandardManager</code>.
+        The cluster class will start up a membership service (multicast) and a replication service (tcp unicast).
+        More on the architecture further down in this document.
+    </p><p></p>
+</li>
+<li><b><code>TomcatB</code> starts up</b>
+    <p>
+        When TomcatB starts up, it follows the same sequence as TomcatA did with one exception.
+        The cluster is started and will establish a membership (TomcatA,TomcatB).
+        TomcatB will now request the session state from a server that already exists in the cluster,
+        in this case TomcatA. TomcatA responds to the request, and before TomcatB starts listening
+        for HTTP requests, the state has been transferred from TomcatA to TomcatB.
+        In case TomcatA doesn't respond, TomcatB will time out after 60 seconds, and issue a log
+        entry. The session state gets transferred for each web application that has distributable in
+        its web.xml. Note: To use session replication efficiently, all your tomcat instances should be
+        configured the same.
+    </p><p></p>
+</li>
+<li><B><code>TomcatA</code> receives a request, a session <code>S1</code> is created.</B>
+    <p>
+        The request coming in to TomcatA is treated exactly the same way as without session replication.
+        The action happens when the request is completed, the <code>ReplicationValve</code> will intercept
+        the request before the response is returned to the user.
+        At this point it finds that the session has been modified, and it uses TCP to replicata the
+        session to TomcatB. Once the serialized data has been handed off to the operating systems TCP logic,
+        the request returns to the user, back through the valve pipeline.
+        For each request the entire session is replicated, this allows code that modifies attributes
+        in the session without calling setAttribute or removeAttribute to be replicated.
+        a useDirtyFlag configuration parameter can be used to optimize the number of times
+        a session is replicated.
+    </p><p></p>
+
+</li>
+<li><b><code>TomcatA</code> crashes</b>
+    <p>
+        When TomcatA crashes, TomcatB receives a notification that TomcatA has dropped out
+        of the cluster. TomcatB removes TomcatA from its membership list, and TomcatA will no longer
+        be notified of any changes that occurs in TomcatB.
+        The load balancer will redirect the requests from TomcatA to TomcatB and all the sessions
+        are current.
+    </p><p></p>
+</li>
+<li><b><code>TomcatB</code> receives a request for session <code>S1</code></b>
+    <p>Nothing exciting, TomcatB will process the request as any other request.
+    </p><p></p>
+</li>
+<li><b><code>TomcatA</code> starts up</b>
+    <p>Upon start up, before TomcatA starts taking new request and making itself
+    available to it will follow the start up sequence described above 1) 2).
+    It will join the cluster, contact TomcatB for the current state of all the sessions.
+    And once it receives the session state, it finishes loading and opens its HTTP/mod_jk ports.
+    So no requests will make it to TomcatA until it has received the session state from TomcatB.
+    </p><p></p>
+</li>
+<li><b><code>TomcatA</code> receives a request, invalidate is called on the session (<code>S1</code>)</b>
+    <p>The invalidate is call is intercepted, and the session is queued with invalidated sessions.
+        When the request is complete, instead of sending out the session that has changed, it sends out
+        an "expire" message to TomcatB and TomcatB will invalidate the session as well.
+    </p><p></p>
+
+</li>
+<li><b><code>TomcatB</code> receives a request, for a new session (<code>S2</code>)</b>
+    <p>Same scenario as in step 3)
+    </p><p></p>
+
+
+</li>
+<li><code>TomcatA</code> The session <code>S2</code> expires due to inactivity.
+    <p>The invalidate is call is intercepted the same was as when a session is invalidated by the user,
+       and the session is queued with invalidated sessions.
+       At this point, the invalidet session will not be replicated across until
+       another request comes through the system and checks the invalid queue.
+    </p><p></p>
+</li>
+</ol>
+
+<p>Phuuuhh! :)</p>
+
+<p><b>Membership</b>
+    Clustering membership is established using very simple multicast pings.
+    Each Tomcat instance will periodically send out a multicast ping,
+    in the ping message the instance will broad cast its IP and TCP listen port
+    for replication.
+    If an instance has not received such a ping within a given timeframe, the
+    member is considered dead. Very simple, and very effective!
+    Of course, you need to enable multicasting on your system.
+</p>
+
+<p><b>TCP Replication</b>
+    Once a multicast ping has been received, the member is added to the cluster
+    Upon the next replication request, the sending instance will use the host and
+    port info and establish a TCP socket. Using this socket it sends over the serialized data.
+    The reason I choose TCP sockets is because it has built in flow control and guaranteed delivery.
+    So I know, when I send some data, it will make it there :)
+</p>
+
+<p><b>Distributed locking and pages using frames</b>
+    Tomcat does not keep session instances in sync across the cluster.
+    The implementation of such logic would be to much overhead and cause all
+    kinds of problems. If your client accesses the same session
+    simultanously using multiple requests, then the last request
+    will override the other sessions in the cluster.
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Monitoring your Cluster with JMX"><strong>Monitoring your Cluster with JMX</strong></a></font></td></tr><tr><td><blockquote>
+<p>Monitoring is a very important question when you use a cluster. Some of the cluster objects are JMX MBeans </p>
+<p>Add the following parameter to your startup script with Java 5:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+set CATALINA_OPTS=\
+-Dcom.sun.management.jmxremote \
+-Dcom.sun.management.jmxremote.port=%my.jmx.port% \
+-Dcom.sun.management.jmxremote.ssl=false \
+-Dcom.sun.management.jmxremote.authenticate=false
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+<p>Activate JMX with JDK 1.4:
+<ol>
+<li>Install the compat package</li>
+<li>Install the mx4j-tools.jar at common/lib (use the same mx4j version as your tomcat release)</li>
+<li>Configure a MX4J JMX HTTP Adaptor at your AJP Connector<p></p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Connector port="${AJP.PORT}" 
+   handler.list="mx"
+   mx.enabled="true" 
+   mx.httpHost="${JMX.HOST}" 
+   mx.httpPort="${JMX.PORT}" 
+   protocol="AJP/1.3" /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</li>
+<li>Start your tomcat and look with your browser to http://${JMX.HOST}:${JMX.PORT}</li>
+<li>With the connector parameter <code>mx.authMode="basic" mx.authUser="tomcat" mx.authPassword="strange"</code> you can control the access!</li>
+</ol>
+</p>
+<p>
+List of Cluster Mbeans<br>
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">Name</th>
+    <th align="center" bgcolor="aqua">Description</th>
+    <th align="center" bgcolor="aqua">MBean ObjectName - Engine</th>
+    <th align="center" bgcolor="aqua">MBean ObjectName - Host</th>
+  </tr>
+
+  <tr>
+    <td>Cluster</td>
+    <td>The complete cluster element</td>
+    <td><code>type=Cluster</code></td>
+    <td><code>type=Cluster,host=${HOST}</code></td>
+  </tr>
+ 
+  <tr>
+    <td>DeltaManager</td>
+    <td>This manager control the sessions and handle session replication </td>
+    <td><code>type=Manager,path=${APP.CONTEXT.PATH}, host=${HOST}</code></td>
+    <td><code>type=Manager,path=${APP.CONTEXT.PATH}, host=${HOST}</code></td>
+  </tr>
+
+  <tr>
+    <td>ReplicationValve</td>
+    <td>This valve control the replication to the backup nodes</td>
+    <td><code>type=Valve,name=ReplicationValve</code></td>
+    <td><code>type=Valve,name=ReplicationValve,host=${HOST}</code></td>
+  </tr>
+
+  <tr>
+    <td>JvmRouteBinderValve</td>
+    <td>This is a cluster fallback valve to change the Session ID to the current tomcat jvmroute.</td>
+    <td><code>type=Valve,name=JvmRouteBinderValve,
+              path=${APP.CONTEXT.PATH}</code></td>
+    <td><code>type=Valve,name=JvmRouteBinderValve,host=${HOST},
+              path=${APP.CONTEXT.PATH}</code></td>
+  </tr>
+
+</table>
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="FAQ"><strong>FAQ</strong></a></font></td></tr><tr><td><blockquote>
+<p>Please see <a href="http://tomcat.apache.org/faq/cluster.html">the clustering section of the FAQ</a>.</p>
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/printer/connectors.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/printer/connectors.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/printer/connectors.html	(revision 66)
@@ -0,0 +1,42 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - Connectors How To</title><meta value="Remy Maucherat" name="author"><meta value="remm@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>Connectors How To</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Choosing a connector to use with Tomcat can be difficult. This page will
+list the connectors which are supported with this Tomcat release, and will
+hopefully help you make the right choice according to your needs.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="HTTP"><strong>HTTP</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The HTTP connector is setup by default with Tomcat, and is ready to use. This
+connector features the lowest latency and best overall performance.</p>
+
+<p>For clustering, a HTTP load balancer <b>with support for web sessions stickiness</b>
+must be installed to direct the traffic to the Tomcat servers. Tomcat supports mod_proxy
+(on Apache HTTP Server 2.x, and included by default in Apache HTTP Server 2.2) as the load balancer. 
+It should be noted that the performance of HTTP proxying is usually lower than the 
+performance of AJP, so AJP clustering is often preferable.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="AJP"><strong>AJP</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>When using a single server, the performance when using a native webserver in 
+front of the Tomcat instance is most of the time significantly worse than a
+standalone Tomcat with its default HTTP connector, even if a large part of the web
+application is made of static files. If integration with the native webserver is 
+needed for any reason, an AJP connector will provide faster performance than 
+proxied HTTP. AJP clustering is the most efficient from the Tomcat perspective. 
+It is otherwise functionally equivalent to HTTP clustering.</p>
+
+<p>The native connectors supported with this Tomcat release are:
+<ul>
+<li>JK 1.2.x with any of the supported servers</li>
+<li>mod_proxy on Apache HTTP Server 2.x (included by default in Apache HTTP Server 2.2), 
+with AJP enabled</li>
+</ul>
+</p>
+
+<p><b>Other native connectors supporting AJP may work, but are no longer supported.</b></p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/printer/default-servlet.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/printer/default-servlet.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/printer/default-servlet.html	(revision 66)
@@ -0,0 +1,273 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - Default Servlet Reference</title><meta value="Tim Funk" name="author"><meta value="funkman@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>Default Servlet Reference</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+This discusses different ways to manipulate the default servlet. Topics are
+<ul>
+  <li><a href="#what">What is the DefaultServlet?</a></li>
+  <li><a href="#where">Where is it declared?</a></li>
+  <li><a href="#change">What can I change?</a></li>
+  <li><a href="#dir">How do I customize directory listings?</a></li>
+  <li><a href="#secure">How do I secure directory listings?</a></li>
+
+</ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="What is the DefaultServlet"><strong>What is the DefaultServlet</strong></a></font></td></tr><tr><td><blockquote>
+<a name="what"></a>
+The default servlet is the servlet which serves static resources as well
+as serves the directory listings (if directory listings are enabled).
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Where is it declared?"><strong>Where is it declared?</strong></a></font></td></tr><tr><td><blockquote>
+<a name="where"></a>
+It is declared globally in <i>$CATALINA_BASE/conf/web.xml</i>.
+By default here is it's declaration:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;servlet&gt;
+        &lt;servlet-name&gt;default&lt;/servlet-name&gt;
+        &lt;servlet-class&gt;
+          org.apache.catalina.servlets.DefaultServlet
+        &lt;/servlet-class&gt;
+        &lt;init-param&gt;
+            &lt;param-name&gt;debug&lt;/param-name&gt;
+            &lt;param-value&gt;0&lt;/param-value&gt;
+        &lt;/init-param&gt;
+        &lt;init-param&gt;
+            &lt;param-name&gt;listings&lt;/param-name&gt;
+            &lt;param-value&gt;true&lt;/param-value&gt;
+        &lt;/init-param&gt;
+        &lt;load-on-startup&gt;1&lt;/load-on-startup&gt;
+    &lt;/servlet&gt;
+
+...
+
+    &lt;servlet-mapping&gt;
+        &lt;servlet-name&gt;default&lt;/servlet-name&gt;
+        &lt;url-pattern&gt;/&lt;/url-pattern&gt;
+    &lt;/servlet-mapping&gt;
+
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+So by default, the default servlet is loaded at webapp startup and
+directory listings are enabled and debugging is turned off.
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="What can I change?"><strong>What can I change?</strong></a></font></td></tr><tr><td><blockquote>
+<a name="change"></a>
+The DefaultServlet allows the following initParamters:
+
+<table border="1">
+  <tr>
+    <th valign="top">debug</th>
+    <td valign="top">
+        Debugging level. It is not very useful unless you are a tomcat
+        developer. As
+        of this writing, useful values are 0, 1, 11, 1000.
+    </td>
+  </tr>
+  <tr>
+    <th valign="top">listings</th>
+    <td valign="top">
+        If no welcome file is present, can a directory listing be
+        shown?
+        value may be <b>true</b> or <b>false</b>
+        <br>
+        Welcome files are part of the servlet api.
+        <br>
+        <b>WARNING:</b> Listings of directories containing many entries are
+        expensive. Multiple requests for large directory listings can consume
+        significant proportions of server resources.
+    </td>
+  </tr>
+  <tr>
+    <th valign="top">readmeFile</th>
+    <td valign="top">
+        If a directory listing is presented, a readme file may also
+        be presented with the listing. This file is inserted as is
+        so it may contain HTML. default value is null
+    </td>
+  </tr>
+  <tr>
+    <th valign="top">globalXsltFile</th>
+    <td valign="top">
+        If you wish to customize your directory listing, you
+        can use an XSL transformation. This value is an absolute
+        file name which be used for all direcotory listings.
+        This can be disabled by per webapp by also declaring the
+        default servlet in your local webapp's web.xml. The format
+        of the xml is shown below.
+    </td>
+  </tr>
+  <tr>
+    <th valign="top">localXsltFile</th>
+    <td valign="top">
+        You may also customize your directory listing by directory by
+        configuring <code>localXsltFile</code>. This should be a relative
+        file name in the directory where the listing will take place.
+        This overrides <code>globalXsltFile</code>. If this value
+        is present but a file does not exist, then
+        <code>globalXsltFile</code> will be used. If
+        <code>globalXsltFile</code> does not exist, then the default
+        directory listing will be shown.
+    </td>
+  </tr>
+  <tr>
+    <th valign="top">input</th>
+    <td valign="top">
+        Input buffer size (in bytes) when reading
+        resources to be served.  [2048]
+    </td>
+  </tr>
+  <tr>
+    <th valign="top">output</th>
+    <td valign="top">
+        Output buffer size (in bytes) when writing
+        resources to be served.  [2048]
+    </td>
+  </tr>
+  <tr>
+    <th valign="top">readonly</th>
+    <td valign="top">
+        Is this context "read only", so HTTP commands like PUT and
+        DELETE are rejected?  [true]
+    </td>
+  </tr>
+  <tr>
+    <th valign="top">fileEncoding</th>
+    <td valign="top">
+        File encoding to be used when reading static resources.
+        [platform default]
+    </td>
+  </tr>
+  <tr>
+    <th valign="top">sendfileSize</th>
+    <td valign="top">
+        If the connector used supports sendfile, this represents the minimal 
+        file size in KB for which sendfile will be used. Use a negative value 
+        to always disable sendfile. [48]
+    </td>
+  </tr>
+
+</table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="How do I customize directory listings?"><strong>How do I customize directory listings?</strong></a></font></td></tr><tr><td><blockquote>
+<a name="dir"></a>
+<p>You can override DefaultServlet with you own implementation and use that
+in your web.xml declaration. If you
+can undertand what was just said, we will assume yo can read the code
+to DefaultServlet servlet and make the appropriate adjustments. (If not,
+then that method isn't for you)
+</p>
+<p>
+You can use either  <code>localXsltFile</code> or
+<code>globalXsltFile</code> and DefaultServlet will create
+an xml document and run it through an xsl transformation based
+on the values provided in <code>localXsltFile</code> and
+<code>globalXsltFile</code>. <code>localXsltFile</code> is first
+checked, followed by <code>globalXsltFile</code>, then default
+behaviors takes place.
+</p>
+
+<p>
+Format:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;listing&gt;
+     &lt;entries&gt;
+      &lt;entry type='file|dir' urlPath='aPath' size='###' date='gmt date'&gt;
+        fileName1
+      &lt;/entry&gt;
+      &lt;entry type='file|dir' urlPath='aPath' size='###' date='gmt date'&gt;
+        fileName2
+      &lt;/entry&gt;
+      ...
+     &lt;/entries&gt;
+     &lt;readme&gt;&lt;/readme&gt;
+    &lt;/listing&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+<ul>
+  <li>size will be missing if <code>type='dir'</code></li>
+  <li>Readme is a CDATA entry</li>
+</ul>
+</p>
+The following is a sample xsl file which mimics the default tomcat behavior:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;?xml version="1.0"?&gt;
+
+&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  version="1.0"&gt;
+
+  &lt;xsl:output method="xhtml" encoding="iso-8859-1" indent="no"/&gt;
+
+  &lt;xsl:template match="listing"&gt;
+   &lt;html&gt;
+    &lt;head&gt;
+      &lt;title&gt;
+        Sample Directory Listing For
+        &lt;xsl:value-of select="@directory"/&gt;
+      &lt;/title&gt;
+      &lt;style&gt;
+        h1{color : white;background-color : #0086b2;}
+        h3{color : white;background-color : #0086b2;}
+        body{font-family : sans-serif,Arial,Tahoma;
+             color : black;background-color : white;}
+        b{color : white;background-color : #0086b2;}
+        a{color : black;} HR{color : #0086b2;}
+      &lt;/style&gt;
+    &lt;/head&gt;
+    &lt;body&gt;
+      &lt;h1&gt;Sample Directory Listing For
+            &lt;xsl:value-of select="@directory"/&gt;
+      &lt;/h1&gt;
+      &lt;hr size="1" /&gt;
+      &lt;table cellspacing="0"
+                  width="100%"
+            cellpadding="5"
+                  align="center"&gt;
+        &lt;tr&gt;
+          &lt;th align="left"&gt;Filename&lt;/th&gt;
+          &lt;th align="center"&gt;Size&lt;/th&gt;
+          &lt;th align="right"&gt;Last Modified&lt;/th&gt;
+        &lt;/tr&gt;
+        &lt;xsl:apply-templates select="entries"/&gt;
+        &lt;/table&gt;
+      &lt;xsl:apply-templates select="readme"/&gt;
+      &lt;hr size="1" /&gt;
+      &lt;h3&gt;Apache Tomcat/6.0&lt;/h3&gt;
+    &lt;/body&gt;
+   &lt;/html&gt;
+  &lt;/xsl:template&gt;
+
+
+  &lt;xsl:template match="entries"&gt;
+    &lt;xsl:apply-templates select="entry"/&gt;
+  &lt;/xsl:template&gt;
+
+  &lt;xsl:template match="readme"&gt;
+    &lt;hr size="1" /&gt;
+    &lt;pre&gt;&lt;xsl:apply-templates/&gt;&lt;/pre&gt;
+  &lt;/xsl:template&gt;
+
+  &lt;xsl:template match="entry"&gt;
+    &lt;tr&gt;
+      &lt;td align="left"&gt;
+        &lt;xsl:variable name="urlPath" select="@urlPath"/&gt;
+        &lt;a href="{$urlPath}"&gt;
+          &lt;tt&gt;&lt;xsl:apply-templates/&gt;&lt;/tt&gt;
+        &lt;/a&gt;
+      &lt;/td&gt;
+      &lt;td align="right"&gt;
+        &lt;tt&gt;&lt;xsl:value-of select="@size"/&gt;&lt;/tt&gt;
+      &lt;/td&gt;
+      &lt;td align="right"&gt;
+        &lt;tt&gt;&lt;xsl:value-of select="@date"/&gt;&lt;/tt&gt;
+      &lt;/td&gt;
+    &lt;/tr&gt;
+  &lt;/xsl:template&gt;
+
+&lt;/xsl:stylesheet&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="How do I secure directory listings?"><strong>How do I secure directory listings?</strong></a></font></td></tr><tr><td><blockquote>
+<a name="secure"></a>
+Use web.xml in each individual webapp. See the security section of the
+Servlet specification.
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/printer/deployer-howto.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/printer/deployer-howto.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/printer/deployer-howto.html	(revision 66)
@@ -0,0 +1,299 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - Tomcat Web Application Deployment</title><meta value="Allistair Crossley" name="author"><meta value="" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>Tomcat Web Application Deployment</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Table of Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>
+    <ul>
+        <li><a href="#Introduction">Introduction</a></li>
+        <li><a href="#Installation">Installation</a></li>
+        <li><a href="#A word on Contexts">A word on Contexts</a></li>
+        <li><a href="#Deployment on Tomcat startup">Deployment on Tomcat startup</a></li>
+        <li><a href="#Deploying on a running Tomcat server">Deploying on a running Tomcat server</a></li>
+        <li><a href="#Deploying using the Tomcat Manager">Deploying using the Tomcat Manager</a></li>
+        <li><a href="#Deploying using the Client Deployer Package">Deploying using
+            the Tomcat Client Deployer</a></li>
+    </ul>
+    
+    </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+        <p>
+            Deployment is the term used for the process of installing a web
+            application (either a 3rd party WAR or your own custom web application) 
+            into the Tomcat server. 
+        </p>
+        <p>
+            Web application deployment may be accomplished in a number of ways
+            within the Tomcat server.
+            <ul>
+                <li>Statically; the web application is setup before Tomcat is started</li>
+                <li>
+                    Dynamically; in conjunction with the Tomcat Manager web application or 
+                    manipulating already deployed web applications
+                </li>
+            </ul>
+        </p>
+        <p>
+            The Tomcat Manager is a tool that allows URL-based web application
+            deployment features. There is also a tool called the Client Deployer,
+            which is a command shell based script that interacts with the Tomcat
+            Manager but provides additional functionality such as compiling and
+            validating web applications as well as packaging web application into
+            web application resource (WAR) files.
+        </p>
+    </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Installation"><strong>Installation</strong></a></font></td></tr><tr><td><blockquote>
+        <p>
+            There is no installation required for static deployment of web
+            applications as this is provided out of the box by Tomcat. Nor is any
+            installation required for deployment functions with the Tomcat Manager, 
+            although some configuration is required as detailed in the 
+            Tomcat Manager manual. An installation is however required if you wish
+            to use the Tomcat Client Deployer (TCD). 
+        </p>   
+        <p>
+            The TCD is not packaged with the Tomcat core 
+            distribution, and must therefore be downloaded separately from 
+            the Downloads area. The download is usually labelled 
+            <i>apache-tomcat-6.0.x-deployer</i>.
+        </p>
+        <p>
+            TCD has prerequisites of Apache Ant 1.6.2+ and a Java installation.
+            Your environment should define an ANT_HOME environment value pointing to
+            the root of your Ant installation, and a JAVA_HOME value pointing to
+            your Java installation. Additionally, you should ensure Ant's ant
+            command, and the Java javac compiler command run from the command shell
+            that your operating system provides.
+        </p>
+        <ol>
+            <li>Download the TCD distribution</li>
+            <li>
+                The TCD package need not be extracted into any existing Tomcat
+                installation, it can be extracted to any location.
+            </li>
+            <li>Read Using the <a href="#Deploying using the Client Deployer Package">
+            Tomcat Client Deployer</a></li>
+        </ol>
+    </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="A word on Contexts"><strong>A word on Contexts</strong></a></font></td></tr><tr><td><blockquote>
+        <p>
+            In talking about deployment of web applications, the concept of a
+            <i>Context</i> is required to be understood. A Context is what Tomcat 
+            calls a web application.
+        </p>
+        <p>
+            In order to configure a Context within Tomcat a <i>Context Descriptor</i>
+            is required. A Context Descriptor is simply an XML file that contains
+            Tomcat related configuration for a Context, e.g naming resources or 
+            session manager configuration. In earlier versions of
+            Tomcat the content of a Context Descriptor configuration was often stored within
+            Tomcat's primary configuration file <i>server.xml</i> but this is now
+            discouraged (although it currently still works).
+        </p>
+        <p>        
+            Context Descriptors not only help Tomcat to know how to configure 
+            Contexts but other tools such as the Tomcat Manager and TCD often use 
+            these Context Descriptors to perform their roles properly.
+        </p>
+        <p>
+            The locations for Context Descriptors are;
+            <ol>
+                <li>$CATALINA_BASE/conf/[enginename]/[hostname]/context.xml</li>
+                <li>$CATALINA_BASE/webapps/[webappname]/META-INF/context.xml</li>
+            </ol>
+            Files in (1) are named [webappname].xml but files in (2) are named
+            context.xml. If a Context Descriptor is not provided for a Context,
+            Tomcat configures the Context using default values. 
+        </p>
+    </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Deployment on Tomcat startup"><strong>Deployment on Tomcat startup</strong></a></font></td></tr><tr><td><blockquote>
+        <p>
+            If you are not interested in using the Tomcat Manager, or TCD, 
+            then you'll need to deploy your web applications 
+            statically to Tomcat, followed by a Tomcat startup. The location you
+            deploy web applications to for this type of deployment is called the 
+            <code>appBase</code> which is specified per Host. You either copy a
+            so-called <i>exploded web application</i>, i.e non-compressed, to this
+            location, or a compressed web application resource .WAR file.
+        </p>
+        <p>
+            The web applications present in the location specified by the Host's
+            (default Host is "localhost") <code>appBase</code> attribute (default
+            appBase is "$CATALINA_BASE/webapps") will be deployed on Tomcat startup 
+            only if the Host's <code>deployOnStartup</code> attribute is "true".
+        </p>
+        <p>
+            The following deployment sequence will occur on Tomcat startup in that
+            case:
+        </p>
+        <ol>
+            <li>Any Context Descriptors will be deployed first.</li>
+            <li>
+                Exploded web applications not referenced by any Context
+                Descriptor will then be deployed. If they have an associated 
+                .WAR file in the appBase and it is newer than the exploded web application, 
+                the exploded directory will be removed and the webapp will be 
+                redeployed from the .WAR
+            </li>
+            <li>.WAR files will be deployed</li>
+        </ol>
+        <p>
+            Note again that for each deployed web application, a 
+            Context Descriptor will be created <i>unless one exists already</i>.
+        </p>
+    </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Deploying on a running Tomcat server"><strong>Deploying on a running Tomcat server</strong></a></font></td></tr><tr><td><blockquote>
+        <p>
+            It is possible to deploy web applications to a running Tomcat server.
+        </p>
+        <p>
+            If the Host <code>autoDeploy</code> attribute is "true", the Host will 
+            attempt to deploy and update web applications dynamically, as needed,
+            for example if a new .WAR is dropped into the <code>appBase</code>. 
+            For this to work, the Host needs to have background processing 
+            enabled which is the default configuration.
+        </p>
+        
+        <p>
+            <code>autoDeploy</code> set to "true" and a running Tomcat allows for:
+        </p>
+        <ul>
+            <li>Deployment of .WAR files copied into the Host <code>appBase</code>.</li>
+            <li>
+                Deployment of exploded web applications which are
+                copied into the Host <code>appBase</code>.
+            </li>
+            <li>
+                Re-deployment of a web application which has already been deployed from
+                a .WAR when the new .WAR is provided. In this case the exploded 
+                web application is removed, and the .WAR is expanded again. 
+                Note that the explosion will not occur if the Host is configured 
+                so that .WARs are not exploded with a <code>unpackWARs</code>
+                attribute set to "false", in which case the web application 
+                will be simply redeployed as a compressed archive.
+            </li>
+            <li>
+                Re-deployment of a web application if the /WEB-INF/web.xml file (or any
+                other resource defined as a WatchedResource) is updated.
+            </li>
+            <li>
+                Re-deployment of a web application if the Context Descriptor file from which
+                the web application has been deployed is updated.
+            </li>
+            <li>
+                Re-deployment of a web application if a Context Descriptor file (with a
+                filename corresponding to the Context path of the previously deployed
+                web application) is added to the 
+                <code>$CATALINA_BASE/conf/[enginename]/[hostname]/</code>
+                directory.
+            </li>
+            <li>
+                Undeployment of a web application if its document base (docBase)
+                is deleted. Note that on Windows, this assumes that anti-locking 
+                features (see Context configuration) are enabled, otherwise it is not 
+                possible to delete the resources of a running web application.
+            </li>
+        </ul>
+        <p>
+            Note that web application reloading can also be configured in the loader, in which
+            case loaded classes will be tracked for changes.
+        </p>
+    </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Deploying using the Tomcat Manager"><strong>Deploying using the Tomcat Manager</strong></a></font></td></tr><tr><td><blockquote>
+        <p>
+            The Tomcat Manager is covered in its <a href="manager-howto.html">own manual page</a>. 
+        </p>
+    </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Deploying using the Client Deployer Package"><strong>Deploying using the Client Deployer Package</strong></a></font></td></tr><tr><td><blockquote>
+        <p>
+            Finally, deployment of web application may be achieved using the 
+            Tomcat Client Deployer. This is a package which can be used to 
+            validate, compile, compress to .WAR, and deploy web applications to 
+            production or development Tomcat servers. It should be noted that this feature 
+            uses the Tomcat Manager and as such the target Tomcat server should be
+            running.
+        </p>
+    
+        <p>
+            It is assumed the user will be familar with Apache Ant for using the TCD.
+            Apache Ant is a scripted build tool. The TCD comes pre-packaged with a
+            build script to use. Only a modest understanding of Apache Ant is
+            required (installation as listed earlier in this page, and familiarity
+            with using the operating system command shell and configuring
+            environment variables).
+        </p>
+        
+        <p>
+            The TCD includes Ant tasks, the Jasper page compiler for JSP compilation 
+            before deployment, as well as a task which
+            validates the web application Context Descriptor. The validator task (class
+            <code>org.apache.catalina.ant.ValidatorTask</code>) allows only one parameter:
+            the base path of an exploded web application.
+        </p>
+    
+        <p>
+            The TCD uses an exploded web application as input (see the list of the
+            properties used below). A web application that is programatically 
+            deployed with the deployer may include a Context Desciptor in 
+            <code>/META-INF/context.xml</code>.
+        </p>
+    
+        <p>
+            The TCD includes a ready-to-use Ant script, with the following targets:
+        </p>
+        <ul>
+            <li>
+                <code>compile</code> (default): Compile and validate the web 
+                application. This can be used standalone, and does not need a running
+                Tomcat server. The compiled application will only run on the associated
+                Tomcat 6.0.x server release, and is not guaranteed to work on another
+                Tomcat release, as the code generated by Jasper depends on its runtime
+                component. It should also be noted that this target will also compile
+                automatically any Java source file located in the 
+                <code>/WEB-INF/classes</code> folder of the web application.</li>
+            <li>
+                <code>deploy</code>: Deploy a web application (compiled or not) to 
+                a Tomcat server.
+            </li>
+            <li><code>undeploy</code>: Undeploy a web application</li>
+            <li><code>start</code>: Start web application</li>
+            <li><code>reload</code>: Reload web application</li>
+            <li><code>stop</code>: Stop web application</li>
+        </ul>
+        
+        <p>
+            In order for the deployment to be configured, create a file
+            called <code>deployer.properties</code> in the TCD installation
+            directory root. In this file, add the following name=value pairs per
+            line:
+        </p>
+        
+        <p>
+            Additionally, you will need to ensure that a user has been 
+            setup for the target Tomcat Manager (which TCD uses) otherwise the TCD
+            will not authenticate with the Tomcat Manager and the deployment will
+            fail. To do this, see the Tomcat Manager page.        
+        </p>
+        
+        <ul>
+            <li>
+                <code>build</code>: The build folder used will be, by default, 
+                <code>${build}/webapp/${path}</code>. After the end of the execution
+                of the <code>compile</code> target, the web application .WAR will be
+                located at <code>${build}/webapp/${path}.war</code>.
+            </li>
+            <li>
+                <code>webapp</code>: The directory containing the exploded web application 
+                which will be compiled and validated. By default, the folder is
+                <code>myapp</code>.
+            </li>
+            <li>
+                <code>path</code>: Deployed context path of the web application, 
+                by default <code>/myapp</code>.
+            </li>
+            <li>
+                <code>url</code>: Absolute URL to the Tomcat Manager web application of a 
+                running Tomcat server, which will be used to deploy and undeploy the
+                web application. By default, the deployer will attempt to access 
+                a Tomcat instance running on localhost, at 
+                <code>http://localhost:8080/manager</code>.
+            </li>
+            <li>
+                <code>username</code>: Tomcat Manager username (user should have a role of
+                manager)
+            </li>
+            <li><code>password</code>: Tomcat Manager password.</li>
+        </ul>
+    </blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/printer/developers.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/printer/developers.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/printer/developers.html	(revision 66)
@@ -0,0 +1,42 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - Tomcat Developers</title><meta value="Remy Maucherat" name="author"><meta value="remm@apache.org" name="email"><meta value="Yoav Shapira" name="author"><meta value="yoavs@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>Tomcat Developers</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Active Developers"><strong>Active Developers</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>
+      The list indicates the developers' main areas of interest. Feel free to
+      add to the list :) The developers email addresses are 
+      <code>[login]@apache.org</code>. Please <strong>do not</strong> contact 
+      developers directly for any support issues (please post to the 
+      tomcat-users mailing list instead, or one of the other support 
+      resources; some organizations and individual consultants also offer 
+      for pay Tomcat support, as listed on the 
+      <a href="http://jakarta.apache.org/site/vendors.html">vendors page</a>
+      on the Jakarta website).
+    </p>
+
+    <ul>
+      <li>Amy Roh (amyroh): Catalina, Admin webapp</li>
+      <li>Bill Barker (billbarker): Connectors</li>
+      <li>Costin Manolache (costin): Catalina, Connectors</li>
+      <li>Filip Hanik (fhanik): Clustering</li>
+      <li>Glenn Nielsen (glenn): Catalina, Connectors</li>
+      <li>Henri Gomez (hgomez): Connectors</li>
+      <li>Jan Luehe (luehe): Jasper</li>
+      <li>Jean-Francois Arcand (jfarcand): Catalina</li>
+      <li>Jean-Frederic Clere (jfclere): Connectors</li>
+      <li>Jim Jagielski (jim): Connectors</li>
+      <li>Kin-Man Chung (kinman): Jasper</li>
+      <li>Mladen Turk (mturk): Connectors</li>
+      <li>Peter Rossbach (pero): Catalina, Clustering, JMX</li>
+      <li>Remy Maucherat (remm): Catalina, Connectors, Docs</li>
+      <li>Tim Funk (funkman): Catalina, Docs</li>
+      <li>Yoav Shapira (yoavs): Docs, JMX, Catalina, balancer, Release Manager</li>
+    </ul>
+
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Retired Developers"><strong>Retired Developers</strong></a></font></td></tr><tr><td><blockquote>
+
+
+
+  </blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/printer/extras.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/printer/extras.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/printer/extras.html	(revision 66)
@@ -0,0 +1,64 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - Additional Components</title><meta value="Remy Maucherat" name="author"><meta value="" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>Additional Components</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+  <p>
+    A number of additional third party components may be used with Apache
+    Tomcat, but are not provided directly in the download bundle. These
+    components may be built by users should they need them.
+  </p>
+
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Building"><strong>Building</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>
+      The additional components are built using the <code>extras.xml</code> Ant
+      script which is present in the source bundle of Tomcat.
+    </p>
+    
+    <p>The build process is the following:</p>
+    
+    <ul>
+    <li>Follow the <a href="building.html">build instructions</a> to build a
+        Tomcat binary from the source bundle (note: it will be used by the build
+        process of the additional components, but does not need to be actually
+        used later on)</li>
+    <li>Execute the command <code>ant -f extras.xml</code> to run the build
+        script</li>
+    <li>The additional components JARs will be placed in the
+        <code>output/extras</code> folder</li>
+    <li>Refer to the documentation below about the usage of these JARs</li>
+    </ul>
+	
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Components list"><strong>Components list</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Full commons-logging implementation"><strong>Full commons-logging implementation</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>
+    Tomcat uses a package renamed commons-logging API implementation which is
+    hardcoded to use the java.util.logging API. The commons-logging additional
+    component builds a full fledged package renames commons-logging
+    implementation which can be used to replace the implementation provided with
+    Tomcat. See the <a href="logging.html">logging</a> page for usage
+    instructions.
+  </p>
+
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Web Services support (JSR 109)"><strong>Web Services support (JSR 109)</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>
+    Tomcat provides factories for JSR 109 which may be used to resolve web
+    services references. Place the generated catalina-ws.jar as well as
+    jaxrpc.jar and wsdl4j.jar (or another implementation of JSR 109) in the
+    Tomcat lib folder.
+  </p>
+
+  <p>
+    Users should be aware that wsdl4j.jar is licenced under CPL 1.0 and not the
+    Apache License version 2.0.
+  </p>
+
+  </blockquote></td></tr></table>
+
+  </blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/printer/html-manager-howto.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/printer/html-manager-howto.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/printer/html-manager-howto.html	(revision 66)
@@ -0,0 +1,518 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - Tomcat Web Application Manager How To</title><meta value="Glenn L. Nielsen" name="author"><meta value="glenn@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>Tomcat Web Application Manager How To</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>In many production environments it is very useful to have the capability
+to manage your web applications without having to shut down and restart
+Tomcat.  This document is for the HTML web interface to the web application
+<a href="manager-howto.html">manager</a>.</p>
+
+<p>The interface is divided into five sections:
+<ul>
+  <li><strong>Message</strong> - Displays success and failure messages.</li>
+  <li><strong>Manager</strong> - General manager operations like list and
+      help.</li>
+  <li><strong>Applications</strong> - List of web applications and
+      commands.</li>
+  <li><strong>Deploy</strong> - Deploying web applications.</li>
+  <li><strong>Server Information</strong> - Information about the Tomcat
+      server.</li>
+</ul>
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Message"><strong>Message</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>
+Displays information about the success or failure of the last web application
+manager command you performed. If it succeeded <strong>OK</strong> is displayed
+and may be followed by a success message. If it failed <strong>FAIL</strong>
+is displayed followed by an error message. Common failure messages are
+documented below for each command.  The complete list of failure messages for
+each command can be found in the <a href="manager-howto.html">manager</a> web
+application documentation.
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Manager"><strong>Manager</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The Manager section has three links:
+<ul>
+  <li><strong>List Applications</strong> - Redisplay a list of web
+      applications.</li>
+  <li><strong>HTML Manager Help</strong> - A link to this document.</li>
+  <li><strong>Manager Help</strong> - A link to the comprehensive Manager
+      App HOW TO.</li>
+</ul>
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Applications"><strong>Applications</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The Applications section lists information about all the installed web
+applications and provides links for managing them. For each web application
+the following is displayed:
+<ul>
+  <li><strong>Path</strong> - The web applicaton context path.</li>
+  <li><strong>Display Name</strong> - The display name for the web application
+      if it has one configured in its "web.xml" file.</li>
+  <li><strong>Running</strong> - Whether the web application is running and
+      available (true), or not running and unavailable (false).</li>
+  <li><strong>Sessions</strong> - The number of active sessions for remote
+      users of this web application.  The number of sessions is a link which
+      when submitted displays more details about session usage by the web
+      application in the Message box.</li>
+  <li><strong>Commands</strong> - Lists all commands which can be performed on
+      the web application. Only those commands which can be performed will be
+      listed as a link which can be submitted. No commands can be performed on
+      the manager web application itself. The following commands can be
+      performed:
+      <ul>
+        <li><strong>Start</strong> - Start a web application which had been
+            stopped.</li>
+        <li><strong>Stop</strong> - Stop a web application which is currently
+            running and make it unavailable.</li>
+        <li><strong>Reload</strong> - Reload the web application so that new
+            ".jar" files in <code>/WEB-INF/lib/</code> or new classes in
+            <code>/WEB-INF/classes/</code> can be used.</li>
+        <li><strong>Undeploy</strong> - Stop and then remove this web
+             application from the server.</li>
+      </ul>
+  </li>
+</ul>
+</p>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Start"><strong>Start</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Signal a stopped application to restart, and make itself available again.
+Stopping and starting is useful, for example, if the database required by
+your application becomes temporarily unavailable.  It is usually better to
+stop the web application that relies on this database rather than letting
+users continuously encounter database exceptions.</p>
+
+<p>If this command succeeds, you will see a Message like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Started application at context path /examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>Otherwise, the Message will start with <code>FAIL</code> and include an
+error message.  Possible causes for problems include:
+<ul>
+<li><em>Encountered exception</em>
+    <blockquote>             
+    <p>An exception was encountered trying to start the web application.
+    Check the Tomcat 6 logs for the details.</p>
+    </blockquote></li>       
+<li><em>Invalid context path was specified</em>
+    <blockquote>             
+    <p>The context path must start with a slash character, unless you are
+    referencing the ROOT web application -- in which case the context path
+    must be a zero-length string.</p>
+    </blockquote></li>       
+<li><em>No context exists for path /foo</em>
+    <blockquote>             
+    <p>There is no deployed application on the context path
+    that you specified.</p>  
+    </blockquote></li>       
+<li><em>No context path was specified</em>
+    <blockquote>             
+    The <code>path</code> parameter is required.
+    </blockquote></li>       
+</ul>
+</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Stop"><strong>Stop</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Signal an existing application to make itself unavailable, but leave it
+deployed.  Any request that comes in while an application is
+stopped will see an HTTP error 404, and this application will show as
+"stopped" on a list applications command.</p>
+                             
+<p>If this command succeeds, you will see a Message like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Stopped application at context path /examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+                             
+<p>Otherwise, the Message will start with <code>FAIL</code> and include an
+error message.  Possible causes for problems include:
+<ul>                         
+<li><em>Encountered exception</em>
+    <blockquote>             
+    <p>An exception was encountered trying to stop the web application.
+    Check the Tomcat 6 logs for the details.</p>
+    </blockquote></li>       
+<li><em>Invalid context path was specified</em>
+    <blockquote>             
+    <p>The context path must start with a slash character, unless you are
+    referencing the ROOT web application -- in which case the context path
+    must be a zero-length string.</p>
+    </blockquote></li>       
+<li><em>No context exists for path /foo</em>
+    <blockquote>             
+    <p>There is no deployed application on the context path
+    that you specified.</p>  
+    </blockquote></li>       
+<li><em>No context path was specified</em>
+    <blockquote>             
+    The <code>path</code> parameter is required.
+    </blockquote></li>       
+</ul>
+</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Reload"><strong>Reload</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Signal an existing application to shut itself down and reload.  This can
+be useful when the web application context is not reloadable and you have
+updated classes or property files in the <code>/WEB-INF/classes</code>
+directory or when you have added or updated jar files in the
+<code>/WEB-INF/lib</code> directory.
+</p>
+<p><strong>NOTE:</strong> The <code>/WEB-INF/web.xml</code>
+web application configuration file is not checked on a reload;
+the previous web.xml configuration is used.
+If you have made changes to your web.xml file you must stop
+then start the web application.
+</p>
+
+<p>If this command succeeds, you will see a Message like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Reloaded application at context path /examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>Otherwise, the Message will start with <code>FAIL</code> and include an
+error message.  Possible causes for problems include:
+<ul>
+<li><em>Encountered exception</em>
+    <blockquote>             
+    <p>An exception was encountered trying to restart the web application.
+    Check the Tomcat 6 logs for the details.</p>
+    </blockquote></li>       
+<li><em>Invalid context path was specified</em>
+    <blockquote>             
+    <p>The context path must start with a slash character, unless you are
+    referencing the ROOT web application -- in which case the context path
+    must be a zero-length string.</p>
+    </blockquote></li>       
+<li><em>No context exists for path /foo</em>
+    <blockquote>             
+    <p>There is no deployed application on the context path
+    that you specified.</p>  
+    </blockquote></li>       
+<li><em>No context path was specified</em>
+    <blockquote>             
+    The <code>path</code> parameter is required.
+    </blockquote></li>       
+<li><em>Reload not supported on WAR deployed at path /foo</em>
+    <blockquote>             
+    Currently, application reloading (to pick up changes to the classes or
+    <code>web.xml</code> file) is not supported when a web application is
+    installed directly from a WAR file, which happens when the host is 
+    configured to not unpack WAR files. As it only works when the web 
+    application is installed from an unpacked directory, if you are using 
+    a WAR file, you should <code>undeploy</code> and then <code>deploy</code> 
+    the application again to pick up your changes.
+    </blockquote></li>       
+</ul>
+</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Undeploy"><strong>Undeploy</strong></a></font></td></tr><tr><td><blockquote>
+
+<p><strong><font color="red">WARNING</font> - This command will delete the
+contents of the web application directory and/or ".war" file if it exists within
+the <code>appBase</code> directory (typically "webapps") for this virtual host
+</strong>.  The web application temporary work directory is also deleted.  If
+you simply want to take an application out of service, you should use the
+<code>/stop</code> command instead.</p>
+                             
+<p>Signal an existing application to gracefully shut itself down, and then
+remove it from Tomcat (which also makes this context path available for
+reuse later).  This command is the logical opposite of the
+<code>/deploy</code> Ant command, and the related deploy features available 
+in the HTML manager.</p>
+                             
+<p>If this command succeeds, you will see a Message like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Undeployed application at context path /examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+                             
+<p>Otherwise, the Message will start with <code>FAIL</code> and include an
+error message.  Possible causes for problems include:
+<ul>                         
+<li><em>Encountered exception</em>
+    <blockquote>             
+    <p>An exception was encountered trying to undeploy the web application.
+    Check the Tomcat logs for the details.</p>
+    </blockquote></li>       
+<li><em>Invalid context path was specified</em>
+    <blockquote>             
+    <p>The context path must start with a slash character, unless you are
+    referencing the ROOT web application -- in which case the context path
+    must be a zero-length string.</p>
+    </blockquote></li>       
+<li><em>No context exists for path /foo</em>
+    <blockquote>             
+    <p>There is no deployed application on the context path
+    that you specified.</p>  
+    </blockquote></li>       
+<li><em>No context path was specified</em>
+    <blockquote>             
+    The <code>path</code> parameter is required.
+    </blockquote></li>       
+</ul>
+</p>
+
+</blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Deploy"><strong>Deploy</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Web applications can be deployed using files or directories located
+on the Tomcat server or you can upload a web application archive (WAR)
+file to the server.</p>
+
+<p>To install an application, fill in the appropriate fields for the type
+of install you want to do and then submit it using the <i>Install</i>
+button.</p>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Deploy directory or WAR file located on server"><strong>Deploy directory or WAR file located on server</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Deploy and start a new web application, attached to the specified <i>Context
+Path:</i> (which must not be in use by any other web application).
+This command is the logical opposite of the <em>Undeploy</em> command.</p>
+
+<p>There are a number of different ways the deploy command can be used.</p>
+
+<h3>Deploy a Directory or WAR by URL</h3>
+
+<p>Install a web application directory or ".war" file located on the Tomcat
+server. If no <i>Context Path</i> is specified, the directory name or the
+war file name without the ".war" extension is used as the path. The
+<i>WAR or Directory URL</i> specifies a URL (including the <code>file:</code>
+scheme) for either a directory or a web application archive (WAR) file. The
+supported syntax for a URL referring to a WAR file is described on the Javadocs
+page for the <code>java.net.JarURLConnection</code> class.  Use only URLs that
+refer to the entire WAR file.</p>
+
+<p>In this example the web application located in the directory
+<code>C:\path\to\foo</code> on the Tomcat server (running on Windows)
+is deployed as the web application context named <code>/footoo</code>.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Context Path: /footoo
+WAR or Directory URL: file:C:/path/to/foo
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+
+<p>In this example the ".war" file <code>/path/to/bar.war</code> on the
+Tomcat server (running on Unix) is deployed as the web application
+context named <code>/bar</code>. Notice that there is no <code>path</code>
+parameter so the context path defaults to the name of the web application
+archive file without the ".war" extension.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+WAR or Directory URL: jar:file:/path/to/bar.war!/
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+
+<h3>Deploy a Directory or War from the Host appBase</h3>
+
+<p>Install a web application directory or ".war" file located in your Host
+appBase directory. If no <i>Context Path</i> is specified the directory name
+or the war file name without the ".war" extension is used as the path.</p>
+
+<p>In this example the web application located in a subdirectory named
+<code>foo</code> in the Host appBase directory of the Tomcat server is
+deployed as the web application context named <code>/foo</code>. Notice
+that there is no <code>path</code> parameter so the context path defaults
+to the name of the web application directory.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+WAR or Directory URL: foo
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+
+<p>In this example the ".war" file <code>bar.war</code> located in your
+Host appBase directory on the Tomcat server is deployed as the web
+application context named <code>/bartoo</code>.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Context Path: /bartoo
+WAR or Directory URL: bar.war
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+
+<h3>Deploy using a Context configuration ".xml" file</h3>
+
+<p>If the Host deployXML flag is set to true, you can install a web
+application using a Context configuration ".xml" file and an optional
+".war" file or web application directory. The <i>Context Path</i>
+is not used when installing a web application using a context ".xml"
+configuration file.</p>
+
+<p>A Context configuration ".xml" file can contain valid XML for a
+web application Context just as if it were configured in your
+Tomcat <code>server.xml</code> configuration file. Here is an
+example for Tomcat running on Windows:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context path="/foobar" docBase="C:\path\to\application\foobar"
+         debug="0"&gt;
+
+  &lt;!-- Link to the user database we will get roles from --&gt;
+  &lt;ResourceLink name="users" global="UserDatabase"
+                type="org.apache.catalina.UserDatabase"/&gt;
+
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+
+<p>Use of the <i>WAR or Directory URL</i> is optional. When used
+to select a web application ".war" file or directory it overrides any
+docBase configured in the context configuration ".xml" file.</p>
+
+<p>Here is an example of installing an application using a Context
+configuration ".xml" file for Tomcat running on Windows.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+XML Configuration file URL: file:C:/path/to/context.xml
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+
+<p>Here is an example of installing an application using a Context
+configuration ".xml" file and a web application ".war" file located
+on the server (Tomcat running on Unix).
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+XML Configuration file URL: file:/path/to/context.xml
+WAR or Directory URL: jar:file:/path/to/bar.war!/
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Upload a WAR file to install"><strong>Upload a WAR file to install</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Upload a WAR file from your local system and install it into the
+appBase for your Host. The name of the WAR file without the ".war"
+extension is used as the context path name.</p>
+
+<p>Use the <i>Browse</i> button to select a WAR file to upload to the
+server from your local desktop system.</p>
+
+<p>The .WAR file may include Tomcat specific deployment configuration, by 
+including a Context configuration XML file in 
+<code>/META-INF/context.xml</code>.</p>
+
+<p>Upload of a WAR file could fail for the following reasons:</p>
+<ul>
+<li><em>File uploaded must be a .war</em>
+    <blockquote>
+    <p>The upload install will only accept files which have the filename
+    extension of ".war".</p>
+    </blockquote></li>
+<li><em>War file already exists on server</em>
+    <blockquote>
+    <p>If a war file of the same name already exists in your Host's
+    appBase the upload will fail. Either undeploy the existing war file
+    from your Host's appBase or upload the new war file using a different
+    name.</p>
+    </blockquote></li>
+<li><em>File upload failed, no file</em>
+    <blockquote>
+    <p>The file upload failed, no file was received by the server.</p>
+    </blockquote></li>
+<li><em>Install Upload Failed, Exception:</em>
+    <blockquote>
+    <p>The war file upload or install failed with a Java Exception.
+    The exception message will be listed.</p>
+    </blockquote></li>
+</ul>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Deployment Notes"><strong>Deployment Notes</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>If the Host is configured with unpackWARs=true and you install a war
+file, the war will be unpacked into a directory in your Host appBase
+directory.</p>
+
+<p>If the application war or directory is deployed in your Host appBase
+directory and either the Host is configured with autoDeploy=true or
+liveDeploy=true, the Context path must match the directory name or
+war file name without the ".war" extension.</p>
+
+<p>For security when untrusted users can manage web applications, the
+Host deployXML flag can be set to false.  This prevents untrusted users
+from installing web applications using a configuration XML file and
+also prevents them from installing application directories or ".war"
+files located outside of their Host appBase.</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Deploy Message"><strong>Deploy Message</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>If deployment and startup is successful, you will receive a Message
+like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Deployed application at context path /foo
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>Otherwise, the Message will start with <code>FAIL</code> and include an
+error message.  Possible causes for problems include:</p>
+<ul>
+<li><em>Application already exists at path /foo</em>
+    <blockquote>
+    <p>The context paths for all currently running web applications must be
+    unique.  Therefore, you must either undeploy the existing web
+    application using this context path, or choose a different context path
+    for the new one.</p>
+    </blockquote></li>
+<li><em>Document base does not exist or is not a readable directory</em>
+    <blockquote>
+    <p>The URL specified by the <i>WAR or Directory URL:</i> field must
+    identify a directory on this server that contains the "unpacked" version
+    of a web application, or the absolute URL of a web application archive
+    (WAR) file that contains this application.  Correct the value entered for
+    the <i>WAR or Directory URL:</i> field.</p>
+    </blockquote></li>
+<li><em>Encountered exception</em>
+    <blockquote>
+    <p>An exception was encountered trying to start the new web application.
+    Check the Tomcat 6 logs for the details, but likely explanations include
+    problems parsing your <code>/WEB-INF/web.xml</code> file, or missing
+    classes encountered when initializing application event listeners and
+    filters.</p>
+    </blockquote></li>
+<li><em>Invalid application URL was specified</em>
+    <blockquote>
+    <p>The URL for the <i>WAR or Directory URL:</i> field that you specified
+    was not valid.  Such URLs must start with <code>file:</code>, and URLs
+    for a WAR file must end in ".war".</p>
+    </blockquote></li>
+<li><em>Invalid context path was specified</em>
+    <blockquote>
+    <p>The context path must start with a slash character, unless you are
+    referencing the ROOT web application -- in which case the context path
+    must be a "/" string.</p>
+    </blockquote></li>
+<li><em>Context path must match the directory or WAR file name:</em>
+    <blockquote>
+    If the application war or directory is deployed in your Host appBase
+    directory and either the Host is configured with autoDeploy=true or
+    liveDeploy=true, the Context path must match the directory name or
+    war file name without the ".war" extension.
+    </blockquote></li>
+<li><em>Only web applications in the Host web application directory can
+     be deployed</em>
+     <blockquote>
+     If the Host deployXML flag is set to false this error will happen
+     if an attempt is made to install a web application directory or
+      ".war" file outside of the Host appBase directory.
+     </blockquote></li>
+</ul>
+
+</blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Server Information"><strong>Server Information</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>This section displays information about Tomcat, the operating system of
+the server Tomcat is hosted on, and the Java Virtual Machine Tomcat is
+running in.</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/printer/index.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/printer/index.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/printer/index.html	(revision 66)
@@ -0,0 +1,151 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - Documentation Index</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"><meta value="Remy Maucherat" name="author"><meta value="remm@apache.org" name="email"><meta value="Yoav Shapira" name="author"><meta value="yoavs@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>Documentation Index</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>This is the top-level entry point of the documentation bundle for the
+<strong>Apache Tomcat</strong> Servlet/JSP container.  Apache Tomcat version 6.0
+implements the
+Servlet 2.5 and JavaServer Pages 2.1 specifications from the
+<a href="http://www.jcp.org">Java Community Process</a>, and includes many
+additional features that make it a useful platform for developing and deploying
+web applications and web services.</p>
+
+<p>Select one of the links from the navigation menu (to the left) to drill
+down to the more detailed documentation that is available.  Each available
+manual is described in more detail below.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Apache Tomcat User Guide"><strong>Apache Tomcat User Guide</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The following documents will assist you in downloading, installing
+Apache Tomcat 6, and using many of the Apache Tomcat features.</p>
+
+<ol>
+<li><a href="introduction.html"><strong>Introduction</strong></a> - A
+    brief, high level, overview of Apache Tomcat.</li>
+<li><a href="setup.html"><strong>Setup</strong></a> - How to install and run
+    Apache Tomcat on a variety of platforms.</li>
+<li><a href="../appdev/index.html"><strong>First web application</strong></a>
+    - An introduction to the concepts of a <em>web application</em> as defined
+    in the <a href="http://java.sun.com/products/servlet/download.html">Servlet
+    2.4 Specification</a>.  Covers basic organization of your web application
+    source tree, the structure of a web application archive, and an
+    introduction to the web application deployment descriptor
+    (<code>/WEB-INF/web.xml</code>).</li>
+<li><a href="deployer-howto.html"><strong>Deployer</strong></a> -
+    Operating the Apache Tomcat Deployer to deploy, precompile, and validate web
+    applications.</li>
+<li><a href="manager-howto.html"><strong>Manager</strong></a> -
+    Operating the <code>Manager</code> web app to deploy, undeploy, and
+    redeploy applications while Apache Tomcat is running.</li>
+<li><a href="realm-howto.html"><strong>Realms and Access Control</strong></a>
+    - Description of how to configure <em>Realms</em> (databases of users,
+    passwords, and their associated roles) for use in web applications that
+    utilize <em>Container Managed Security</em>.</li>
+<li><a href="security-manager-howto.html"><strong>Security Manager</strong></a>
+    - Configuring and using a Java Security Manager to
+    support fine-grained control over the behavior of your web applications.
+    </li>
+<li><a href="jndi-resources-howto.html"><strong>JNDI Resources</strong></a>
+    - Configuring standard and custom resources in the JNDI naming context
+    that is provided to each web application.</li>
+<li><a href="jndi-datasource-examples-howto.html">
+    <strong>JDBC DataSource</strong></a>
+    - Configuring a JNDI DataSoure with a DB connection pool.
+    Examples for many popular databases.</li>
+<li><a href="class-loader-howto.html"><strong>Classloading</strong></a>
+    - Information about class loading in Apache Tomcat 6, including where to place
+    your application classes so that they are visible.</li>
+<li><a href="jasper-howto.html"><strong>JSPs</strong></a>
+    - Information about Jasper configuration, as well as the JSP compiler
+    usage.</li>
+<li><a href="ssl-howto.html"><strong>SSL</strong></a> -
+    Installing and
+    configuring SSL support so that your Apache Tomcat will serve requests using
+    the <code>https</code> protocol.</li>
+<li><a href="ssi-howto.html"><strong>SSI</strong></a> -
+    Using Server Side Includes in Apache Tomcat.</li>
+<li><a href="cgi-howto.html"><strong>CGI</strong></a> -
+    Using CGIs with Apache Tomcat.</li>
+<li><a href="proxy-howto.html"><strong>Proxy Support</strong></a> -
+    Configuring Apache Tomcat 6 to run behind a proxy server (or a web server
+    functioning as a proxy server).</li>
+<li><a href="mbeans-descriptor-howto.html"><strong>MBean Descriptor</strong></a> -
+    Configuring MBean descriptors files for custom components.</li>
+<li><a href="default-servlet.html"><strong>Default Servlet</strong></a> -
+    Configuring the default servlet and customizing directory listings.</li>
+<li><a href="cluster-howto.html"><strong>Apache Tomcat Clustering</strong></a> -
+    Enable session replication in a Apache Tomcat environment.</li>
+<li><a href="balancer-howto.html"><strong>Balancer</strong></a> -
+    Configuring, using, and extending the load balancer application.</li>
+<li><a href="connectors.html"><strong>Connectors</strong></a> -
+    Connectors available in Apache Tomcat, and native web server integration.</li>
+<li><a href="monitoring.html"><strong>Monitoring and Management</strong></a> -
+    Enabling JMX Remote support, and using tools to monitor and manage Apache Tomcat.</li>
+<li><a href="logging.html"><strong>Logging</strong></a> -
+    Configuring logging in Apache Tomcat.</li>
+<li><a href="apr.html"><strong>Apache Portable Runtime</strong></a> -
+    Using APR to provide superior performance, scalability and better
+    integration with native server technologies.</li>
+<li><a href="virtual-hosting-howto.html"><strong>Virtual Hosting</strong></a> -
+    Configuring vitual hosting in Apache Tomcat.</li>
+<li><a href="aio.html"><strong>Advanced IO</strong></a> -
+    Extensions available over regular, blocking IO.</li>
+<li><a href="extras.html"><strong>Additional Components</strong></a> -
+    Obtaining additional, optional components.</li>
+
+</ol>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Reference"><strong>Reference</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The following documents are aimed at <em>System Administrators</em> who
+are responsible for installing, configuring, and operating a Apache Tomcat 6 server.
+</p>
+<ul>
+<li><a href="RELEASE-NOTES.txt"><strong>Release notes</strong></a>
+    - Known issues in this Apache Tomcat release.
+    </li>
+<li><a href="../config/index.html"><strong>Apache Tomcat Server Configuration Reference</strong></a>
+    - Reference manual that documents all available elements and attributes
+      that may be placed into a Apache Tomcat 6 <code>conf/server.xml</code> file.
+    </li>
+<li><a href="http://tomcat.apache.org/connectors-doc/index.html"><strong>JK Documentation</strong></a>
+    - Complete documentation and HOWTOs on the JK native webserver connector,
+      used to interface Apache Tomcat with servers like Apache HTTPd, IIS
+      and others.</li>
+<li><a href="http://java.sun.com/products/servlet/2.5/docs/servlet-2_5-mr2/index.html">
+    <strong>Servlet API Javadocs</strong></a> - The Servlet 2.5 API Javadocs.</li>
+<li><a href="http://java.sun.com/products/jsp/2.1/docs/jsp-2_1-pfd2/index.html">
+    <strong>JSP API Javadocs</strong></a> - The JSP 2.1 API Javadocs.</li>
+</ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Apache Tomcat Developers"><strong>Apache Tomcat Developers</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The following documents are for Java developers who wish to contribute to
+the development of the <em>Apache Tomcat</em> project.</p>
+<ul>
+<li><a href="building.html"><strong>Building from Source</strong></a> -
+    Details the steps necessary to download Apache Tomcat 6 source code (and the
+    other packages that it depends on), and build a binary distribution from
+    those sources.
+    </li>
+<li><a href="changelog.html"><strong>Changelog</strong></a> - Details the
+    changes made to Apache Tomcat.
+    </li>
+<li><a href="status.html"><strong>Status</strong></a> - Apache Tomcat development
+    status.
+    </li>
+<li><a href="developers.html"><strong>Developers</strong></a> - List of active
+    Apache Tomcat contributors.
+    </li>
+<li><a href="../funcspecs/index.html"><strong>Functional Specifications</strong></a>
+    - Requirements specifications for features of the <em>Catalina</em> servlet
+    container portion of Apache Tomcat 6.</li>
+<li><a href="../api/index.html"><strong>Javadocs</strong></a>
+    - Javadoc API documentation for Apache Tomcat's internals.</li>
+<li><a href="../architecture/index.html"><strong>Apache Tomcat Architecture</strong></a>
+    - Documentation of the Apache Tomcat Server Architecture.</li>
+</ul>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/printer/introduction.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/printer/introduction.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/printer/introduction.html	(revision 66)
@@ -0,0 +1,104 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - Introduction</title><meta value="Robert Slifka" name="author"><meta value="rslifka@sfu.ca" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>Introduction</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>For administrators and web developers alike, there are some important bits
+of information you should familiarize yourself with before starting out. This
+document serves as a brief introduction to some of the concepts and
+terminology behind the Tomcat container. As well, where to go when you need
+help.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Terminology"><strong>Terminology</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>In the course of reading these documents, you'll run across a number of
+terms; some specific to Tomcat, and others defined by the
+<a href="http://java.sun.com/products/servlet/">Servlet</a> or
+<a href="http://java.sun.com/products/jsp/">JSP</a> specifications.</p>
+
+<ul>
+<li><strong>Context</strong> - In a nutshell, a Context is a
+    web application.</li>
+<li><strong>Term2</strong> - This is it.</li>
+<li><strong>Term3</strong> - This is it!</li>
+</ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Directories and Files"><strong>Directories and Files</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Throughout the docs, you'll notice there are numerous references to
+<strong>$CATALINA_HOME</strong>. This represents the root of your Tomcat
+installation. When we say, "This information can be found in your
+$CATALINA_HOME/README.txt file" we mean to look at the README.txt file at the
+root of your Tomcat install. Optionally, Tomcat may be configured for multiple
+instances by defining <strong>$CATALINA_BASE</strong> for each instance. If
+multiple instances are not configured, <strong>$CATALINA_BASE</strong> is the
+same as <strong>$CATALINA_HOME</strong>.</p>
+
+<p>These are some of the key tomcat directories:</p>
+
+<ul>
+<li><strong>/bin</strong> - Startup, shutdown, and other scripts. The
+    <code>*.sh</code> files (for Unix systems) are functional duplicates of
+    the <code>*.bat</code> files (for Windows systems).  Since the Win32
+    command-line lacks certain functionality, there are some additional
+    files in here.</li>
+<li><strong>/conf</strong> - Configuration files and related DTDs.  The most
+    important file in here is server.xml.  It is the main configuration file
+    for the container.</li>
+<li><strong>/logs</strong> - Log files are here by default.</li>
+<li><strong>/webapps</strong> - This is where your webapps go.</li>
+</ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Configuring Tomcat"><strong>Configuring Tomcat</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>This section will acquaint you with the basic information used during
+the configuration of the container.</p>
+
+<p>All of the information in the configuration files is read at startup,
+meaning that any change to the files necessitates a restart of the container.
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Where to Go for Help"><strong>Where to Go for Help</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>While we've done our best to ensure that these documents are clearly
+written and easy to understand, we may have missed something.  Provided
+below are various web sites and mailing lists in case you get stuck.</p>
+
+<p>As Tomcat 6 is a new release of Tomcat, keep in mind that some of the
+issues and solutions vary between the major versions of Tomcat (4.x versus
+5).  As you search around the web, there will be some documentation that
+is not relevant to Tomcat 6, but 3.x, 4.x and 5.x.  Doing 3.x or 4.x things to 6
+will probably not work in most cases as the server.xml files are very
+different.</p>
+
+<ul>
+<li>Current document - most documents will list potential hangups. Be sure
+    to fully read the relevant documentation as it will save you much time
+    and effort. There's nothing like scouring the web only to find out that
+    the answer was right in front of you all along!</li>
+<li><a href="http://tomcat.apache.org/faq/">Tomcat FAQ</a> as maintained by the developers.</li>
+<li><a href="http://wiki.apache.org/tomcat/">Tomcat WIKI</a></li>
+<li>Tomcat FAQ at <a href="http://www.jguru.com/faq/home.jsp?topic=Tomcat">jGuru</a></li>
+<li>Tomcat mailing list archives - numerous sites archive the Tomcat mailing
+    lists. Since the links change over time, clicking here will search
+    <a href="http://www.google.com/search?q=tomcat+mailing+list+archives">Google</a>.
+    </li>
+<li>The TOMCAT-USER mailing list, which you can subscribe to
+    <a href="http://tomcat.apache.org/lists.html">here</a>. If you don't
+    get a reply, then there's a good chance that your question was probably
+    answered in the list archives or one of the FAQs.  Although questions
+    about web application development in general are sometimes asked and
+    answered, please focus your questions on Tomcat-specific issues.</li>
+<li>The TOMCAT-DEV mailing list, which you can subscribe to
+    <a href="http://tomcat.apache.org/lists.html">here</a>.  This list is
+    <strong>reserved</strong> for discussions about the development of Tomcat
+    itself.  Questions about Tomcat configuration, and the problems you run
+    into while developing and running applications, will normally be more
+    appropriate on the TOMCAT-USER list instead.</li>
+</ul>
+
+<p>And, if you think something should be in the docs, by all means let us know
+on the TOMCAT-DEV list, or send one of the doc authors email.</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/printer/jasper-howto.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/printer/jasper-howto.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/printer/jasper-howto.html	(revision 66)
@@ -0,0 +1,333 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - Jasper 2 JSP Engine How To</title><meta value="Glenn L. Nielsen" name="author"><meta value="glenn@apache.org" name="email"><meta value="Peter Rossbach" name="author"><meta value="pero@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>Jasper 2 JSP Engine How To</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Table of Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+<a href="#Introduction">Introduction</a><br>
+<a href="#Configuration">Configuration</a><br>
+<a href="#Production Configuration">Production Configuration</a><br>
+<a href="#Web Application Compilation">Web Application Compilation</a><br>
+<a href="#Using Jikes">Using Jikes</a><br>
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Tomcat 6.0 uses the Jasper 2 JSP Engine to implement
+the <a href="http://java.sun.com/products/jsp/">JavaServer Pages 2.0</a>
+specification.</p>
+
+<p>Jasper 2 has been redesigned to significantly improve performance over
+the orignal Jasper.  In addition to general code improvements the following
+changes were made:
+<ul>
+<li><strong>JSP Custom Tag Pooling</strong> - The java objects instantiated
+for JSP Custom Tags can now be pooled and reused.  This significantly boosts
+the performance of JSP pages which use custom tags.</li>
+<li><strong>Background JSP compilation</strong> - If you make a change to
+a JSP page which had already been compiled Jasper 2 can recompile that
+page in the background.  The previously compiled JSP page will still be
+available to serve requests.  Once the new page has been compiled
+successfully it will replace the old page.  This helps improve availablity
+of your JSP pages on a production server.</li>
+<li><strong>Recompile JSP when included page changes</strong> - Jasper 2
+can now detect when a page included at compile time from a JSP has changed
+and then recompile the parent JSP.</li>
+<li><strong>JDT used to compile JSP pages</strong> - The
+Eclipse JDT Java compiler is now used to perform JSP java source code
+compilation. This compiler loads source dependencies from the container
+classloader. Ant and javac can still be used.</li>
+</ul>
+</p>
+
+<p>Jasper is implemented using the servlet class
+<code>org.apache.jasper.servlet.JspServlet</code>.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Configuration"><strong>Configuration</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>By default Jasper is configured for use when doing web application
+development.  See the section <a href="#Production Configuration">
+Production Configuration</a> for information on configuring Jasper
+for use on a production Tomcat server.</p>
+
+<p>The servlet which implements Jasper is configured using init parameters
+in your global <code>$CATALINA_BASE/conf/web.xml</code>.
+
+<ul>
+<li><strong>checkInterval</strong> - If development is false and checkInterval
+is greater than zero, background compiles are enabled. checkInterval is the time
+in seconds between checks to see if a JSP page (and its dependent files) needs
+to be recompiled. Default <code>0</code> seconds.</li>
+
+<li><strong>classdebuginfo</strong> - Should the class file be compiled with
+debugging information?  <code>true</code> or <code>false</code>, default
+<code>true</code>.
+</li>
+
+<li><strong>classpath</strong> - Defines the class path to be used to compile
+the generated servlets. This parameter only has an effect if the ServletContext
+attribute org.apache.jasper.Constants.SERVLET_CLASSPATH is not set. This
+attribute is always set when Jasper is used within Tomcat. By default the
+classpath is created dynamically based on the current web application.</li>
+
+<li><strong>compiler</strong> - Which compiler Ant should use to compile JSP
+pages.  See the Ant documentation for more information. If the value is not set,
+then the default Eclipse JDT Java compiler will be used instead of using Ant. 
+No default value.</li>
+
+<li><strong>compilerSourceVM</strong> - What JDK version are the source files
+compatible with? (Default JDK 1.4)</li>
+
+<li><strong>compilerTargetVM</strong> - What JDK version are the generated files
+compatible with? (Default JDK 1.4)</li>
+
+<li><strong>development</strong> - Is Jasper used in development mode? If true,
+the frequency at which JSPs are checked for modification may be specified via
+the modificationTestInterval parameter.<code>true</code> or <code>false</code>,
+default <code>true</code>.</li>
+
+<li><strong>displaySourceFragment</strong> - Should a source fragment be
+included in exception messages? <code>true</code> or <code>false</code>,
+default <code>true</code>.</li>
+
+<li><strong>dumpSmap</strong> - Should the SMAP info for JSR45 debugging be
+dumped to a file? <code>true</code> or <code>false</code>, default
+<code>false</code>. <code>false</code> if suppressSmap is true.</li>
+
+<li><strong>enablePooling</strong> - Determines whether tag handler pooling is
+enabled. <code>true</code> or <code>false</code>, default <code>true</code>.
+</li>
+
+<li><strong>engineOptionsClass</strong> - Allows specifying the Options class
+used to configure Jasper. If not present, the default EmbeddedServletOptions
+will be used.
+</li>
+
+<li><strong>errorOnUseBeanInvalidClassAttribute</strong> - Should Jasper issue
+an error when the value of the class attribute in an useBean action is not a
+valid bean class? <code>true</code> or <code>false</code>, default
+<code>true</code>.</li>
+
+<li><strong>fork</strong> - Have Ant fork JSP page compiles so they are
+performed in a seperate JVM from Tomcat? <code>true</code> or
+<code>false</code>, default <code>true</code>.</li>
+
+<li><strong>genStringAsCharArray</strong> - Should text strings be generated as char
+arrays, to improve performance in some cases? Default <code>false</code>.</li>
+
+<li><strong>ieClassId</strong> - The class-id value to be sent to Internet
+Explorer when using &lt;jsp:plugin&gt; tags.   Default
+<code>clsid:8AD9C840-044E-11D1-B3E9-00805F499D93</code>.</li>
+
+<li><strong>javaEncoding</strong> - Java file encoding to use for generating
+java source files. Default <code>UTF8</code>.</li>
+
+<li><strong>keepgenerated</strong> - Should we keep the generated Java source
+code for each page instead of deleting it? <code>true</code> or
+<code>false</code>, default <code>true</code>.</li>
+
+<li><strong>mappedfile</strong> - Should we generate static content with one 
+print statement per input line, to ease debugging?
+<code>true</code> or <code>false</code>, default <code>true</code>.</li>
+
+<li><strong>modificationTestInterval</strong> - Causes a JSP (and its dependent
+files) to not be checked for modification during the specified time interval
+(in seconds) from the last time the JSP was checked for modification. A value of
+0 will cause the JSP to be checked on every access. Used in development mode
+only. Default is <code>4</code> seconds.</li>
+
+<li><strong>scratchdir</strong> - What scratch directory should we use when
+compiling JSP pages? Default is the work directory for the current web
+application.</li>
+
+<li><strong>suppressSmap</strong> - Should the generation of SMAP info for JSR45
+debugging be suppressed? <code>true</code> or <code>false</code>, default
+<code>false</code>.</li>
+ 
+<li><strong>trimSpaces</strong> - Should white spaces in template text between
+actions or directives be trimmed ?, default <code>false</code>.</li>
+
+<li><strong>xpoweredBy</strong> - Determines whether X-Powered-By response
+header is added by generated servlet. <code>true</code> or <code>false</code>,
+default <code>false</code>.</li>
+</ul>
+</p>
+
+<p>The Java compiler from Eclipse JDT in included as the default compiler. It is
+an advanced Java compiler which will load all dependencies from the Tomcat class
+loader, which will help tremendously when compiling on large installations with
+tens of JARs. On fast servers, this will allow sub-second recompilation cycles
+for even large JSP  pages.</p>
+
+<p>Apache Ant, which was used in previous Tomcat releases, can be used instead
+of the new compiler by simply removing the <code>lib/jasper-jdt.jar</code> file, 
+and placing the <code>ant.jar</code> file from the latest Ant distribution in
+the <code>lib</code> folder.  If you do this, you also need to use the "javac"
+argument to catalina.sh.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Production Configuration"><strong>Production Configuration</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The main JSP optimization which can be done is precompilation of JSPs.
+However, this might not be possible (for example, when using the
+jsp-property-group feature) or practical, in which case the configuration of the
+Jasper servlet becomes critical.</p>
+
+<p>When using Jasper 2 in a production Tomcat server you should consider making
+the following changes from the default configuration.
+<ul>
+<li><strong>development</strong> - To disable on access checks for JSP
+pages compilation set this to <code>false</code>.</li>
+<li><strong>genStringAsCharArray</strong> - To generate slightly more efficient 
+char arrays, set this to <code>true</code>.</li>
+<li><strong>modificationTestInterval</strong> - If development has to be set to
+<code>true</code> for any reason (such as dynamic generation of JSPs), setting
+this to a high value will improve performance a lot.</li>
+<li><strong>trimSpaces</strong> - To remove useless bytes from the response,
+set this to <code>true</code>.</li>
+</ul>
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Web Application Compilation"><strong>Web Application Compilation</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Using Ant is the preferred way to compile web applications using JSPC. 
+Use the script given below (a similar script is included in the "deployer" 
+download) to precompile a webapp:
+</p>
+
+<p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;project name="Webapp Precompilation" default="all" basedir="."&gt; 
+
+   &lt;import file="${tomcat.home}/bin/catalina-tasks.xml"/&gt;
+  
+   &lt;target name="jspc"&gt; 
+
+    &lt;jasper 
+             validateXml="false" 
+             uriroot="${webapp.path}" 
+             webXmlFragment="${webapp.path}/WEB-INF/generated_web.xml" 
+             outputDir="${webapp.path}/WEB-INF/src" /&gt; 
+
+  &lt;/target&gt; 
+
+  &lt;target name="compile"&gt;
+
+    &lt;mkdir dir="${webapp.path}/WEB-INF/classes"/&gt;
+    &lt;mkdir dir="${webapp.path}/WEB-INF/lib"/&gt;
+
+    &lt;javac destdir="${webapp.path}/WEB-INF/classes"
+           optimize="off"
+           debug="on" failonerror="false"
+           srcdir="${webapp.path}/WEB-INF/src" 
+	   excludes="**/*.smap"&gt;
+      &lt;classpath&gt;
+        &lt;pathelement location="${webapp.path}/WEB-INF/classes"/&gt;
+        &lt;fileset dir="${webapp.path}/WEB-INF/lib"&gt;
+          &lt;include name="*.jar"/&gt;
+        &lt;/fileset&gt;
+        &lt;pathelement location="${tomcat.home}/lib"/&gt;
+        &lt;fileset dir="${tomcat.home}/common/lib"&gt;
+          &lt;include name="*.jar"/&gt;
+        &lt;/fileset&gt;
+        &lt;fileset dir="${tomcat.home}/bin"&gt; 
+          &lt;include name="*.jar"/&gt; 
+        &lt;/fileset&gt; 
+      &lt;/classpath&gt;
+      &lt;include name="**" /&gt;
+      &lt;exclude name="tags/**" /&gt;
+    &lt;/javac&gt;
+
+  &lt;/target&gt;
+
+  &lt;target name="all" depends="jspc,compile"&gt;
+  &lt;/target&gt;
+
+  &lt;target name="cleanup"&gt;
+  	&lt;delete&gt;
+        &lt;fileset dir="${webapp.path}/WEB-INF/src"/&gt;
+        &lt;fileset dir="${webapp.path}/WEB-INF/classes/org/apache/jsp"/&gt;
+  	&lt;/delete&gt;
+  &lt;/target&gt;
+
+&lt;/project&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+
+<p>
+The following command line can be used to run the script
+(replacing the tokens with the Tomcat base path and the path to the webapp 
+which should be precompiled):<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+$ANT_HOME/bin/ant -Dtomcat.home=&lt;$TOMCAT_HOME&gt; -Dwebapp.path=&lt;$WEBAPP_PATH&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+
+<p>
+Then, the declarations and mappings for the servlets which were generated 
+during the precompilation must be added to the web application deployment
+descriptor. Insert the <code>${webapp.path}/WEB-INF/generated_web.xml</code>
+at the right place inside the <code>${webapp.path}/WEB-INF/web.xml</code> file.
+Restart the web application (using the manager) and test it to verify it is 
+running fine with precompiled servlets. An appropriate token placed in the
+web application deployment descriptor may also be used to automatically
+insert the generated servlet declarations and mappings using Ant filtering 
+capabilities. This is actually how all the webapps distributed with Tomcat 
+are automatically compiled as part of the build process.
+</p>
+
+<p>
+At the jasper2 task you can use the option <code>addWebXmlMappings</code> for 
+automatic merge the <code>${webapp.path}/WEB-INF/generated_web.xml</code>
+with the current web application deployment descriptor at
+<code>${webapp.path}/WEB-INF/web.xml</code>. When you want to use Java 5
+features inside your jsp's, add the following javac compiler task attributes:
+<code>source="1.5" target="1.5"</code>. For live
+applications you can also compile with <code>optimize="on"</code> and
+without debug info <code>debug="off"</code>.
+</p>
+
+<p>
+When you don't want to stop the jsp generation at first jsp syntax error, use   
+<code>failOnError="false"</code>and with
+<code>showSuccess="true"</code> all successfull <i>jsp to java</i>
+generation are printed out. Sometimes it is very helpfull, when you cleanup the
+generate java source files at <code>${webapp.path}/WEB-INF/src</code>
+and the compile jsp servlet classes at
+<code>${webapp.path}/WEB-INF/classes/org/apache/jsp</code>.
+</p>
+
+<p><strong>Hints:</strong>
+<ul>
+<li> When you switch to another Tomcat release, then regenerate and recompile
+your jsp's with the new Tomcat version.</li>
+<li>Use java system property at server runtime to disable tag pooling
+<code>org.apache.jasper.runtime.JspFactoryImpl.USE_POOL=false</code>.
+and limit the buffering with
+<code>org.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER=true</code>. Note
+that changing from the defaults may affect performance, but it will vary
+depending on the application.</li>
+</ul>
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Using Jikes"><strong>Using Jikes</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>If you wish to use
+<a href="http://oss.software.ibm.com/developerworks/opensource/jikes/">
+Jikes</a> to compile JSP pages:
+<ul>
+<li>From your <a href="ant.apache.org">Ant</a> installation, copy ant.jar
+and (if it's available: Ant 1.5 and later) ant-launcher.jar to 
+<code>$CATALINA_HOME/lib</code>.</li>
+<li>Download and install jikes. jikes must support the -encoding option.
+Execute <code>jikes -help</code> to verify that it was built with support
+for <code>-encoding</code>.</li>
+<li>Set the init parameter <code>compiler</code> to <code>jikes</code>.</li>
+<li>Define the property <code>-Dbuild.compiler.emacs=true</code> when starting
+Tomcat by adding it to your <code>CATALINA_OPTS</code> environment variable.
+This changes how jikes outputs error messages so that it is compatible with
+Jasper.</li>
+<li>If you get an error reporting that jikes can't use UTF8 encoding, try
+setting the init parameter <code>javaEncoding</code> to
+<code>ISO-8859-1</code>.</li>
+</ul>
+</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/printer/jndi-datasource-examples-howto.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/printer/jndi-datasource-examples-howto.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/printer/jndi-datasource-examples-howto.html	(revision 66)
@@ -0,0 +1,618 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - JNDI Datasource HOW-TO</title><meta value="Les Hughes" name="author"><meta value="leslie.hughes@rubus.com" name="email"><meta value="David Haraburda" name="author"><meta value="david-tomcat@haraburda.com" name="email"><meta value="Glenn Nielsen" name="author"><meta value="" name="email"><meta value="Yoav Shapira" name="author"><meta value="yoavs@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>JNDI Datasource HOW-TO</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Table of Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+<a href="#Introduction">Introduction</a><br>
+<a href="#Database Connection Pool (DBCP) Configurations">
+Database Connection Pool (DBCP) Configurations</a><br>
+<a href="#Non DBCP Solutions">Non DBCP Solutions</a><br>
+<a href="#Oracle 8i with OCI client">Oracle 8i with OCI client</a><br>
+<a href="#Common Problems">Common Problems</a><br>
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>JNDI Datasource configuration is covered extensively in the
+JNDI-Resources-HOWTO.  However, feedback from <code>tomcat-user</code> has
+shown that specifics for individual configurations can be rather tricky.</p>
+
+<p>Here then are some example configurations that have been posted to
+tomcat-user for popular databases and some general tips for db useage.</p>
+
+<p>You should be aware that since these notes are derived from configuration
+and/or feedback posted to <code>tomcat-user</code> YMMV :-). Please let us
+know if you have any other tested configurations that you feel may be of use
+to the wider audience, or if you feel we can improve this section in anyway.</p>
+
+<p>
+<b>Please note that JNDI resource configuration changed somewhat between
+Tomcat 5.0.x and Tomcat 5.5.x.</b>  You will most likely need to modify older
+JNDI resource configurations to match the syntax in the example below in order
+to make them work in Tomcat 6.x.x.
+</p>
+
+<p>
+Also, please note that JNDI DataSource configuration in general, and this 
+tutorial in particular, assumes that you have read and understood the 
+<a href="../config/context.html">Context</a> and 
+<a href="../config/host.html">Host</a> configuration references, including
+the section about Automatic Application Deployment in the latter reference.
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Database Connection Pool (DBCP) Configurations"><strong>Database Connection Pool (DBCP) Configurations</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>DBCP provides support for JDBC 2.0.  On systems using a 1.4 JVM DBCP
+will support JDBC 3.0. Please let us know if you have used DBCP and its
+JDBC 3.0 features with a 1.4 JVM.
+</p>
+
+<p>See the <a href="http://jakarta.apache.org/commons/dbcp/configuration.html">
+DBCP documentation</a> for a complete list of configuration parameters.
+</p>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Installation"><strong>Installation</strong></a></font></td></tr><tr><td><blockquote>
+<p>DBCP uses the Jakarta-Commons Database Connection Pool. It relies on
+number of Jakarta-Commons components:
+<ul>
+<li>Jakarta-Commons DBCP</li>
+<li>Jakarta-Commons Collections</li>
+<li>Jakarta-Commons Pool</li>
+</ul>
+These libraries are located in a single JAR at 
+<code>$CATALINA_HOME/lib/tomcat-dbcp.jar</code>. However,
+only the classes needed for connection pooling have been included, and the
+packages have been renamed to avoid interfering with applications.
+</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Preventing dB connection pool leaks"><strong>Preventing dB connection pool leaks</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>
+A database connection pool creates and manages a pool of connections
+to a database. Recycling and reusing already existing connections
+to a dB is more efficient than opening a new connection.
+</p>
+
+<p>
+There is one problem with connection pooling.  A web application has
+to explicetely close ResultSet's, Statement's, and Connection's.
+Failure of a web application to close these resources can result in
+them never being available again for reuse, a db connection pool "leak".
+This can eventually result in your web application db connections failing
+if there are no more available connections.</p>
+
+<p>
+There is a solution to this problem.  The Jakarta-Commons DBCP can be
+configured to track and recover these abandoned dB connections.  Not
+only can it recover them, but also generate a stack trace for the code
+which opened these resources and never closed them.</p>
+
+<p>
+To configure a DBCP DataSource so that abandoned dB connections are
+removed and recycled add the following attribute to the
+<code>Resource</code> configuration for your DBCP DataSource:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+            removeAbandoned="true"
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+When available db connections run low DBCP will recover and recyle
+any abandoned dB connections it finds. The default is <code>false</code>.
+</p>
+
+<p>
+Use the <code>removeAbandonedTimeout</code> attribute to set the number
+of seconds a dB connection has been idle before it is considered abandoned.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+            removeAbandonedTimeout="60"
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+The default timeout for removing abandoned connections is 300 seconds.
+</p>
+
+<p>
+The <code>logAbandoned</code> attribute can be set to <code>true</code>
+if you want DBCP to log a stack trace of the code which abandoned the
+dB connection resources.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+            logAbandoned="true"
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+The default is <code>false</code>.
+</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="MySQL DBCP Example"><strong>MySQL DBCP Example</strong></a></font></td></tr><tr><td><blockquote>
+
+<h3>0. Introduction</h3>
+<p>Versions of <a href="http://www.mysql.com/products/mysql/index.html">MySQL</a> and JDBC drivers that have been reported to work:
+<ul>
+<li>MySQL 3.23.47, MySQL 3.23.47 using InnoDB,, MySQL 3.23.58,  MySQL 4.0.1alpha</li>
+<li><a href="http://www.mysql.com/products/connector-j">Connector/J</a> 3.0.11-stable (the official JDBC Driver)</li>
+<li><a href="http://mmmysql.sourceforge.net">mm.mysql</a> 2.0.14 (an old 3rd party JDBC Driver)</li>
+</ul>
+</p>
+
+<p>Before you proceed, don't forget to copy the JDBC Driver's jar into <code>$CATALINA_HOME/lib</code>.</p>
+
+<h3>1. MySQL configuration</h3>
+<p>
+Ensure that you follow these instructions as variations can cause problems.
+</p>
+
+<p>Create a new test user, a new database and a single test table.
+Your MySQL user <strong>must</strong> have a password assigned. The driver
+will fail if you try to connect with an empty password.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+mysql&gt; GRANT ALL PRIVILEGES ON *.* TO javauser@localhost 
+    -&gt;   IDENTIFIED BY 'javadude' WITH GRANT OPTION;
+mysql&gt; create database javatest;
+mysql&gt; use javatest;
+mysql&gt; create table testdata (
+    -&gt;   id int not null auto_increment primary key,
+    -&gt;   foo varchar(25), 
+    -&gt;   bar int);
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+<blockquote>
+<strong>Note:</strong> the above user should be removed once testing is
+complete!
+</blockquote>
+</p>
+
+<p>Next insert some test data into the testdata table.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+mysql&gt; insert into testdata values(null, 'hello', 12345);
+Query OK, 1 row affected (0.00 sec)
+
+mysql&gt; select * from testdata;
++----+-------+-------+
+| ID | FOO   | BAR   |
++----+-------+-------+
+|  1 | hello | 12345 |
++----+-------+-------+
+1 row in set (0.00 sec)
+
+mysql&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+
+<h3>2. Context configuration</h3>
+<p>Configure the JNDI DataSource in Tomcat by adding a declaration for your
+resource to your <a href="../config/context.html">Context</a>.</p>
+<p>For example:
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context path="/DBTest" docBase="DBTest"
+        debug="5" reloadable="true" crossContext="true"&gt;
+
+    &lt;!-- maxActive: Maximum number of dB connections in pool. Make sure you
+         configure your mysqld max_connections large enough to handle
+         all of your db connections. Set to -1 for no limit.
+         --&gt;
+
+    &lt;!-- maxIdle: Maximum number of idle dB connections to retain in pool.
+         Set to -1 for no limit.  See also the DBCP documentation on this
+         and the minEvictableIdleTimeMillis configuration parameter.
+         --&gt;
+
+    &lt;!-- maxWait: Maximum time to wait for a dB connection to become available
+         in ms, in this example 10 seconds. An Exception is thrown if
+         this timeout is exceeded.  Set to -1 to wait indefinitely.
+         --&gt;
+
+    &lt;!-- username and password: MySQL dB username and password for dB connections  --&gt;
+
+    &lt;!-- driverClassName: Class name for the old mm.mysql JDBC driver is
+         org.gjt.mm.mysql.Driver - we recommend using Connector/J though.
+         Class name for the official MySQL Connector/J driver is com.mysql.jdbc.Driver.
+         --&gt;
+    
+    &lt;!-- url: The JDBC connection url for connecting to your MySQL dB.
+         The autoReconnect=true argument to the url makes sure that the
+         mm.mysql JDBC Driver will automatically reconnect if mysqld closed the
+         connection.  mysqld by default closes idle connections after 8 hours.
+         --&gt;
+
+  &lt;Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource"
+               maxActive="100" maxIdle="30" maxWait="10000"
+               username="javauser" password="javadude" driverClassName="com.mysql.jdbc.Driver"
+               url="jdbc:mysql://localhost:3306/javatest?autoReconnect=true"/&gt;
+
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+
+<h3>3. web.xml configuration</h3>
+
+<p>Now create a <code>WEB-INF/web.xml</code> for this test application.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;web-app xmlns="http://java.sun.com/xml/ns/j2ee"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
+http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
+    version="2.4"&gt;
+  &lt;description&gt;MySQL Test App&lt;/description&gt;
+  &lt;resource-ref&gt;
+      &lt;description&gt;DB Connection&lt;/description&gt;
+      &lt;res-ref-name&gt;jdbc/TestDB&lt;/res-ref-name&gt;
+      &lt;res-type&gt;javax.sql.DataSource&lt;/res-type&gt;
+      &lt;res-auth&gt;Container&lt;/res-auth&gt;
+  &lt;/resource-ref&gt;
+&lt;/web-app&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+
+<h3>4. Test code</h3>
+<p>Now create a simple <code>test.jsp</code> page for use later.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %&gt;
+&lt;%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %&gt;
+
+&lt;sql:query var="rs" dataSource="jdbc/TestDB"&gt;
+select id, foo, bar from testdata
+&lt;/sql:query&gt;
+
+&lt;html&gt;
+  &lt;head&gt;
+    &lt;title&gt;DB Test&lt;/title&gt;
+  &lt;/head&gt;
+  &lt;body&gt;
+
+  &lt;h2&gt;Results&lt;/h2&gt;
+  
+&lt;c:forEach var="row" items="${rs.rows}"&gt;
+    Foo ${row.foo}&lt;br/&gt;
+    Bar ${row.bar}&lt;br/&gt;
+&lt;/c:forEach&gt;
+
+  &lt;/body&gt;
+&lt;/html&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+
+<p>That JSP page makes use of <a href="http://java.sun.com/products/jsp/jstl">JSTL</a>'s SQL and Core taglibs. You can get it from Sun's <a href="http://java.sun.com/webservices/downloads/webservicespack.html">Java Web Services Developer Pack</a> or <a href="http://jakarta.apache.org/taglibs/doc/standard-doc/intro.html">Jakarta Taglib Standard 1.1</a> project - just make sure you get a 1.1.x release. Once you have JSTL, copy <code>jstl.jar</code> and <code>standard.jar</code> to your web app's <code>WEB-INF/lib</code> directory.
+
+</p>
+
+<p>Finally deploy your web app into <code>$CATALINA_BASE/webapps</code> either
+as a warfile called <code>DBTest.war</code> or into a sub-directory called
+<code>DBTest</code></p>
+<p>Once deployed, point a browser at
+<code>http://localhost:8080/DBTest/test.jsp</code> to view the fruits of
+your hard work.</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Oracle 8i, 9i & 10g"><strong>Oracle 8i, 9i &amp; 10g</strong></a></font></td></tr><tr><td><blockquote>
+<h3>0.    Introduction</h3>
+
+<p>Oracle requires minimal changes from the MySQL configuration except for the
+usual gotchas :-)</p>
+<p>Drivers for older Oracle versions may be distributed as *.zip files rather
+than *.jar files. Tomcat will only use <code>*.jar</code> files installed in
+<code>$CATALINA_HOME/lib</code>. Therefore <code>classes111.zip</code>
+or <code>classes12.zip</code> will need to be renamed with a <code>.jar</code>
+extension. Since jarfiles are zipfiles, there is no need to unzip and jar these
+files - a simple rename will suffice.</p>
+
+<p>For Oracle 9i onwards you should use <code>oracle.jdbc.OracleDriver</code>
+rather than <code>oracle.jdbc.driver.OracleDriver</code> as Oracle have stated
+that <code>oracle.jdbc.driver.OracleDriver</code> is deprecated and support
+for this driver class will be discontinued in the next major release.
+</p>
+
+<h3>1. Context configuration</h3>
+<p>In a similar manner to the mysql config above, you will need to define your
+Datasource in your <a href="../config/context.html">Context</a>. Here we define a
+Datasource called myoracle using the thin driver to connect as user scott,
+password tiger to the sid called mysid. (Note: with the thin driver this sid is
+not the same as the tnsname). The schema used will be the default schema for the
+user scott.</p>
+
+<p>Use of the OCI driver should simply involve a changing thin to oci in the URL string.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Resource name="jdbc/myoracle" auth="Container"
+              type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver"
+              url="jdbc:oracle:thin:@127.0.0.1:1521:mysid"
+              username="scott" password="tiger" maxActive="20" maxIdle="10"
+              maxWait="-1"/&gt; 
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+
+<h3>2.    web.xml configuration</h3>
+<p>You should ensure that you respect the element ordering defined by the DTD when you
+create you applications web.xml file.</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;resource-ref&gt;
+ &lt;description&gt;Oracle Datasource example&lt;/description&gt;
+ &lt;res-ref-name&gt;jdbc/myoracle&lt;/res-ref-name&gt;
+ &lt;res-type&gt;javax.sql.DataSource&lt;/res-type&gt;
+ &lt;res-auth&gt;Container&lt;/res-auth&gt;
+&lt;/resource-ref&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+<h3>3.   Code example</h3>
+<p>You can use the same example application as above (asuming you create the required DB
+instance, tables etc.) replacing the Datasource code with something like</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Context initContext = new InitialContext();
+Context envContext  = (Context)initContext.lookup("java:/comp/env");
+DataSource ds = (DataSource)envContext.lookup("jdbc/myoracle");
+Connection conn = ds.getConnection();
+//etc.
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="PostgreSQL"><strong>PostgreSQL</strong></a></font></td></tr><tr><td><blockquote>
+<h3>0.    Introduction</h3>
+<p>PostgreSQL is configured in a similar manner to Oracle.</p>
+
+<h3>1. Required files </h3>
+<p>
+Copy the Postgres JDBC jar to $CATALINA_HOME/lib. As with Oracle, the
+jars need to be in this directory in order for DBCP's Classloader to find
+them. This has to be done regardless of which configuration step you take next.
+</p>
+
+<h3>2. Resource configuration</h3>
+
+<p>
+You have two choices here: define a datasource that is shared across all Tomcat
+applications, or define a datasource specifically for one application.
+</p>
+
+<h4>2a. Shared resource configuration</h4>
+<p>
+Use this option if you wish to define a datasource that is shared across
+multiple Tomcat applications, or if you just prefer defining your datasource
+in this file.
+</p>
+<p><i>This author has not had success here, although others have reported so.
+Clarification would be appreciated here.</i></p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Resource name="jdbc/postgres" auth="Container"
+          type="javax.sql.DataSource" driverClassName="org.postgresql.Driver"
+          url="jdbc:postgresql://127.0.0.1:5432/mydb"
+          username="myuser" password="mypasswd" maxActive="20" maxIdle="10" maxWait="-1"/&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+<h4>2b. Application-specific resource configuration</h4>
+
+<p>
+Use this option if you wish to define a datasource specific to your application,
+not visible to other Tomcat applications. This method is less invasive to your
+Tomcat installation.
+</p>
+
+<p>
+Create a resource definition for your <a href="../config/context.html">Context</a>.
+The Context element should look something like the following.
+</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context path="/someApp" docBase="someApp"
+   crossContext="true" reloadable="true" debug="1"&gt;
+
+&lt;Resource name="jdbc/postgres" auth="Container"
+          type="javax.sql.DataSource" driverClassName="org.postgresql.Driver"
+          url="jdbc:postgresql://127.0.0.1:5432/mydb"
+          username="myuser" password="mypasswd" maxActive="20" maxIdle="10"
+maxWait="-1"/&gt;
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<h3>3. web.xml configuration</h3>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;resource-ref&gt;
+ &lt;description&gt;postgreSQL Datasource example&lt;/description&gt;
+ &lt;res-ref-name&gt;jdbc/postgres&lt;/res-ref-name&gt;
+ &lt;res-type&gt;javax.sql.DataSource&lt;/res-type&gt;
+ &lt;res-auth&gt;Container&lt;/res-auth&gt;
+&lt;/resource-ref&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<h4>4. Accessing the datasource</h4>
+<p>
+When accessing the datasource programmatically, remember to prepend
+<code>java:/comp/env</code> to your JNDI lookup, as in the following snippet of
+code. Note also that "jdbc/postgres" can be replaced with any value you prefer, provided
+you change it in the above resource definition file as well.
+</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+InitialContext cxt = new InitialContext();
+if ( cxt == null ) {
+   throw new Exception("Uh oh -- no context!");
+}
+
+DataSource ds = (DataSource) cxt.lookup( "java:/comp/env/jdbc/postgres" );
+
+if ( ds == null ) {
+   throw new Exception("Data source not found!");
+}
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+</blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Non-DBCP Solutions"><strong>Non-DBCP Solutions</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+These solutions either utilise a single connection to the database (not recommended for anything other
+than testing!) or some other pooling technology.
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Oracle 8i with OCI client"><strong>Oracle 8i with OCI client</strong></a></font></td></tr><tr><td><blockquote>
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+<p>Whilst not strictly addressing the creation of a JNDI DataSource using the OCI client, these notes can be combined with the
+Oracle and DBCP solution above.</p>
+<p>
+In order to use OCI driver, you should have an Oracle client installed. You should have installed
+Oracle8i(8.1.7) client from cd,  and download the suitable JDBC/OCI
+driver(Oracle8i 8.1.7.1 JDBC/OCI Driver) from <a href="http://otn.oracle.com/">otn.oracle.com</a>. 
+</p>
+<p>
+After renaming <code>classes12.zip</code> file to <code>classes12.jar</code>
+for Tomcat, copy it into <code>$CATALINA_HOME/lib</code>. 
+You may also have to remove the <code>javax.sql.*</code> classes
+from this file depending upon the version of Tomcat and JDK you are using.
+</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Putting it all together"><strong>Putting it all together</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+Ensure that you have the <code>ocijdbc8.dll</code> or <code>.so</code> in your <code>$PATH</code> or <code>LD_LIBRARY_PATH</code>
+ (possibly in <code>$ORAHOME\bin</code>) and also confirm that the native library can be loaded by a simple test program 
+using <code>System.loadLibrary("ocijdbc8");</code>
+</p>
+<p>
+You should next create a simple test servlet or jsp that has these
+<strong>critical lines</strong>:
+</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+DriverManager.registerDriver(new
+oracle.jdbc.driver.OracleDriver());
+conn =
+DriverManager.getConnection("jdbc:oracle:oci8:@database","username","password");
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+<p>
+where database is of the form <code>host:port:SID</code> Now if you try to access the URL of your 
+test servlet/jsp and what you get is a 
+<code>ServletException</code> with a root cause of <code>java.lang.UnsatisfiedLinkError:get_env_handle</code>.
+</p>
+<p>
+First, the <code>UnsatisfiedLinkError</code> indicates that you have 
+<ul>
+<li>a mismatch between your JDBC classes file and
+your Oracle client version. The giveaway here is the message stating that a needed library file cannot be
+found. For example, you may be using a classes12.zip file from Oracle Version 8.1.6 with a Version 8.1.5
+Oracle client. The classeXXXs.zip file and Oracle client software versions must match.
+</li>
+<li>A <code>$PATH</code>, <code>LD_LIBRARY_PATH</code> problem.</li>
+<li>It has been reported that ignoring the driver you have downloded from otn and using 
+the classes12.zip file from the directory <code>$ORAHOME\jdbc\lib</code> will also work.
+</li>
+</ul>
+</p>
+<p>
+Next you may experience the error <code>ORA-06401 NETCMN: invalid driver designator</code>
+</p>
+<p>
+The Oracle documentation says : "Cause: The login (connect) string contains an invalid
+driver designator. Action: Correct the string and re-submit."
+
+Change the database connect string (of the form <code>host:port:SID</code>) with this one:
+<code>(description=(address=(host=myhost)(protocol=tcp)(port=1521))(connect_data=(sid=orcl)))</code>
+</p>
+<p>
+<i>Ed. Hmm, I don't think this is really needed if you sort out your TNSNames - but I'm not an Oracle DBA :-)</i>
+</p>
+</blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Problems"><strong>Common Problems</strong></a></font></td></tr><tr><td><blockquote>
+<p>Here are some common problems encountered with a web application which
+uses a database and tips for how to solve them.</p>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Intermittent dB Connection Failures"><strong>Intermittent dB Connection Failures</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+Tomcat runs within a JVM.  The JVM periodically performs garbage collection
+(GC) to remove java objects which are no longer being used.  When the JVM
+performs GC execution of code within Tomcat freezes. If the maximum time
+configured for establishment of a dB connection is less than the amount
+of time garbage collection took you can get a db conneciton failure.
+</p>
+
+<p>To collect data on how long garbage collection is taking add the
+<code>-verbose:gc</code> argument to your <code>CATALINA_OPTS</code>
+environment variable when starting Tomcat.  When verbose gc is enabled
+your <code>$CATALINA_BASE/logs/catalina.out</code> log file will include
+data for every garbage collection including how long it took.</p>
+
+<p>When your JVM is tuned correctly 99% of the time a GC will take less
+than one second.  The remainder will only take a few seconds.  Rarely,
+if ever should a GC take more than 10 seconds.</p>
+
+<p>Make sure that the db connection timeout is set to 10-15 seconds.
+For the DBCP you set this using the parameter <code>maxWait</code>.</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Random Connection Closed Exceptions"><strong>Random Connection Closed Exceptions</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+These can occur when one request gets a db connection from the connection
+pool and closes it twice.  When using a connection pool, closing the
+connection just returns it to the pool for reuse by another request,
+it doesn't close the connection.  And Tomcat uses multiple threads to
+handle concurrent requests. Here is an example of the sequence
+of events which could cause this error in Tomcat:
+<pre>
+  Request 1 running in Thread 1 gets a db connection.
+
+  Request 1 closes the db connection.
+
+  The JVM switches the running thread to Thread 2
+
+  Request 2 running in Thread 2 gets a db connection
+  (the same db connection just closed by Request 1).
+
+  The JVM switches the running thread back to Thread 1
+
+  Request 1 closes the db connection a second time in a finally block.
+
+  The JVM switches the running thread back to Thread 2
+
+  Request 2 Thread 2 tries to use the db connection but fails
+  because Request 1 closed it.
+</pre>
+Here is an example of properly written code to use a db connection
+obtained from a connection pool:
+<pre>
+  Connection conn = null;
+  Statement stmt = null;  // Or PreparedStatement if needed
+  ResultSet rs = null;
+  try {
+    conn = ... get connection from connection pool ...
+    stmt = conn.createStatement("select ...");
+    rs = stmt.executeQuery();
+    ... iterate through the result set ...
+    rs.close();
+    rs = null;
+    stmt.close();
+    stmt = null;
+    conn.close(); // Return to connection pool
+    conn = null;  // Make sure we don't close it twice
+  } catch (SQLException e) {
+    ... deal with errors ...
+  } finally {
+    // Always make sure result sets and statements are closed,
+    // and the connection is returned to the pool
+    if (rs != null) {
+      try { rs.close(); } catch (SQLException e) { ; }
+      rs = null;
+    }
+    if (stmt != null) {
+      try { stmt.close(); } catch (SQLException e) { ; }
+      stmt = null;
+    }
+    if (conn != null) {
+      try { conn.close(); } catch (SQLException e) { ; }
+      conn = null;
+    }
+  }
+</pre>
+</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Context versus GlobalNamingResources"><strong>Context versus GlobalNamingResources</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+  Please note that although the above instructions place the JNDI declarations in a Context
+  element, it is possible and sometimes desirable to place these declarations in the 
+  <a href="../config/globalresources.html">GlobalNamingResources</a> section of the server
+  configuration file.  A resource placed in the GlobalNamingResources section will be shared
+  among the Contexts of the server.
+</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JNDI Resource Naming and Realm Interaction"><strong>JNDI Resource Naming and Realm Interaction</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+  In order to get Realms to work, the realm must refer to the datasource as
+  defined in the &lt;GlobalNamingResources&gt; or &lt;Context&gt; section, not a datasource as renamed
+  using &lt;ResourceLink&gt;.
+</p>
+</blockquote></td></tr></table> 
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/printer/jndi-resources-howto.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/printer/jndi-resources-howto.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/printer/jndi-resources-howto.html	(revision 66)
@@ -0,0 +1,754 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - JNDI Resources HOW-TO</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"><meta value="Yoav Shapira" name="author"><meta value="yoavs@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>JNDI Resources HOW-TO</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Tomcat 6 provides a JNDI <strong>InitialContext</strong> implementation
+instance for each web application running under it, in a manner that is 
+compatible with those provided by a 
+<a href="http://java.sun.com/j2ee">Java2 Enterprise Edition</a> application 
+server. 
+
+The J2EE standard provides a standard set of elements in 
+the <code>/WEB-INF/web.xml</code> file to reference resources; resources 
+referenced in these elements must be defined in an application-server-specific
+configuration. 
+</p>
+
+<p>For Tomcat 6, these entries in per-web-application 
+<code>InitialContext</code> are configured in the 
+<a href="../config/context.html"><code>&lt;Context&gt;</code></a> elements that
+can be specified in either <code>$CATALINA_BASE/conf/server.xml</code> or,
+preferably, the per-web-application context XML file (
+<code>META-INF/context.xml</code>).
+</p>
+
+<p>Tomcat 6 maintains a separate namespace of global resources for the 
+entire server.  These are configured in the 
+<a href="../config/globalresources.html">
+<code><strong>&lt;GlobalNameingResources&gt;</strong></code></a> element of 
+<code>$CATALINA_BASE/conf/server.xml</code>. You may expose these resources to 
+web applications by using 
+<code><strong>&lt;ResourceLink&gt;</strong></code> elements.
+</p>
+
+<p>The resources defined in these elements
+may be referenced by the following elements in the web application deployment
+descriptor (<code>/WEB-INF/web.xml</code>) of your web application:</p>
+<ul>
+<li><code><strong>&lt;env-entry&gt;</strong></code> - Environment entry, a
+    single-value parameter that can be used to configure how the application
+    will operate.</li>
+<li><code><strong>&lt;resource-ref&gt;</strong></code> - Resource reference,
+    which is typically to an object factory for resources such as a JDBC
+    <code>DataSource</code>, a JavaMail <code>Session</code>, or custom
+    object factories configured into Tomcat 6.</li>
+<li><code><strong>&lt;resource-env-ref&gt;</strong></code> - Resource
+    environment reference, a new variation of <code>resource-ref</code>
+    added in Servlet 2.4 that is simpler to configure for resources
+    that do not require authentication information.</li>
+</ul>
+
+<p>The <code>InitialContext</code> is configured as a web application is
+initially deployed, and is made available to web application components (for
+read-only access).  All configured entries and resources are placed in
+the <code>java:comp/env</code> portion of the JNDI namespace, so a typical
+access to a resource - in this case, to a JDBC <code>DataSource</code> -
+would look something like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+// Obtain our environment naming context
+Context initCtx = new InitialContext();
+Context envCtx = (Context) initCtx.lookup("java:comp/env");
+
+// Look up our data source
+DataSource ds = (DataSource)
+  envCtx.lookup("jdbc/EmployeeDB");
+
+// Allocate and use a connection from the pool
+Connection conn = ds.getConnection();
+... use this connection to access the database ...
+conn.close();
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>See the following Specifications for more information about programming APIs
+for JNDI, and for the features supported by Java2 Enterprise Edition (J2EE)
+servers, which Tomcat emulates for the services that it provides:</p>
+<ul>
+<li><a href="http://java.sun.com/products/jndi">Java Naming and Directory
+    Interface</a> (included in JDK 1.4 onwards)</li>
+<li><a href="http://java.sun.com/j2ee/download.html">J2EE Platform
+    Specification</a> (in particular, see Chapter 5 on <em>Naming</em>)</li>
+</ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Configuring JNDI Resources"><strong>Configuring JNDI Resources</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Each available JNDI Resource is configured based on inclusion of the
+following elements in the
+<a href="../config/context.html"><code>&lt;Context&gt;</code></a> element:</p>
+
+<ul>
+<li><a href="../config/context.html#Environment Entries">&lt;Environment&gt;</a> -
+    Configure names and values for scalar environment entries that will be
+    exposed to the web application through the JNDI
+    <code>InitialContext</code> (equivalent to the inclusion of an
+    <code>&lt;env-entry&gt;</code> element in the web application
+    deployment descriptor).</li>
+<li><a href="../config/context.html#Resource Definitions">&lt;Resource&gt;</a> -
+    Configure the name and data type of a resource made available to the
+    application (equivalent to the inclusion of a
+    <code>&lt;resource-ref&gt;</code> element in the web application
+    deployment descriptor).</li>
+<li><a href="../config/context.html#Resource Links">&lt;ResourceLink&gt;</a> -
+    Add a link to a resource defined in the global JNDI context. Use resource 
+    links to give a web application access to a resource defined in 
+    the<a href="../config/globalresources.html">&lt;GlobalNamingResources&gt;</a>
+    child element of the <a href="../config/server.html">&lt;Server&gt;</a>
+    element.</li>
+<li><a href="../config/context.html#Transaction">&lt;Transaction&gt;</a> -
+    Add a resource factory for instantiating the UserTransaction object 
+    instance that is available at <code>java:comp/UserTransaction</code>.</li>
+
+</ul>
+
+<p>Any number of these elements may be nested inside a
+<a href="../config/context.html"><code>&lt;Context&gt;</code></a> element (to be
+associated only with that particular web application).</p>
+
+<p>In addition, the names and values of all <code>&lt;env-entry&gt;</code>
+elements included in the web application deployment descriptor
+(<code>/WEB-INF/web.xml</code>) are configured into the initial context as
+well, overriding corresponding values from the
+<a href="../config/context.html"><code>&lt;Context&gt;</code></a> element
+<strong>only</strong> if allowed by the corresponding
+<code>&lt;Environment&gt;</code> element (by setting the <code>override</code>
+attribute to "true").</p>
+
+<p>Global resources can be defined in the server-wide JNDI context, by adding
+the resource elements described above to the
+<a href="../config/globalresources.html">&lt;GlobalNamingResources&gt;</a>
+child element of the <a href="../config/server.html">&lt;Server&gt;</a>
+element and using a 
+<a href="../config/context.html#Resource Links">&lt;ResourceLink&gt;</a> to
+include it in the per-web-application context.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat Standard Resource Factories"><strong>Tomcat Standard Resource Factories</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>Tomcat 6 includes a series of standard resource factories that can
+  provide services to your web applications, but give you configuration
+  flexibility (via the
+  <a href="../config/context.html"><code>&lt;Context&gt;</code></a> element)
+  without modifying the web application or the deployment descriptor. Each
+  subsection below details the configuration and usage of the standard resource
+  factories.</p>
+
+  <p>See <a href="#Adding Custom Resource Factories">Adding Custom
+  Resource Factories</a> for information about how to create, install,
+  configure, and use your own custom resource factory classes with
+  Tomcat 6.</p>
+
+  <p><em>NOTE</em> - Of the standard resource factories, only the
+  "JDBC Data Source" and "User Transaction" factories are mandated to
+  be available on other platforms, and then they are required only if
+  the platform implements the Java2 Enterprise Edition (J2EE) specs.
+  All other standard resource factories, plus custom resource factories
+  that you write yourself, are specific to Tomcat and cannot be assumed
+  to be available on other containers.</p>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Generic JavaBean Resources"><strong>Generic JavaBean Resources</strong></a></font></td></tr><tr><td><blockquote>
+
+    <h3>0.  Introduction</h3>
+
+    <p>This resource factory can be used to create objects of <em>any</em>
+    Java class that conforms to standard JavaBeans naming conventions (i.e.
+    it has a zero-arguments constructor, and has property setters that
+    conform to the setFoo() naming pattern.  The resource factory will
+    create a new instance of the appropriate bean class every time a
+    <code>lookup()</code> for this entry is made.</p>
+
+    <p>The steps required to use this facility are described below.</p>
+
+    <h3>1.  Create Your JavaBean Class</h3>
+
+    <p>Create the JavaBean class which will be instantiated each time
+    that the resource factory is looked up.  For this example, assume
+    you create a class <code>com.mycompany.MyBean</code>, which looks
+    like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+package com.mycompany;
+
+public class MyBean {
+
+  private String foo = "Default Foo";
+
+  public String getFoo() {
+    return (this.foo);
+  }
+
+  public void setFoo(String foo) {
+    this.foo = foo;
+  }
+
+  private int bar = 0;
+
+  public int getBar() {
+    return (this.bar);
+  }
+
+  public void setBar(int bar) {
+    this.bar = bar;
+  }
+
+
+}
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+  <h3>2.  Declare Your Resource Requirements</h3>
+
+  <p>Next, modify your web application deployment descriptor
+  (<code>/WEB-INF/web.xml</code>) to declare the JNDI name under which
+  you will request new instances of this bean.  The simplest approach is
+  to use a <code>&lt;resource-env-ref&gt;</code> element, like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;resource-env-ref&gt;
+  &lt;description&gt;
+    Object factory for MyBean instances.
+  &lt;/description&gt;
+  &lt;resource-env-ref-name&gt;
+    bean/MyBeanFactory
+  &lt;/resource-env-ref-name&gt;
+  &lt;resource-env-ref-type&gt;
+    com.mycompany.MyBean
+  &lt;/resource-env-ref-type&gt;
+&lt;/resource-env-ref&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+    <p><strong>WARNING</strong> - Be sure you respect the element ordering
+    that is required by the DTD for web application deployment descriptors!
+    See the
+    <a href="http://java.sun.com/products/servlet/download.html">Servlet
+    Specification</a> for details.</p>
+
+  <h3>3.  Code Your Application's Use Of This Resource</h3>
+
+  <p>A typical use of this resource environment reference might look
+  like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Context initCtx = new InitialContext();
+Context envCtx = (Context) initCtx.lookup("java:comp/env");
+MyBean bean = (MyBean) envCtx.lookup("bean/MyBeanFactory");
+
+writer.println("foo = " + bean.getFoo() + ", bar = " +
+               bean.getBar());
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+    <h3>4.  Configure Tomcat's Resource Factory</h3>
+
+    <p>To configure Tomcat's resource factory, add an element like this to the
+    <a href="../config/context.html"><code>&lt;Context&gt;</code></a> element for
+    this web application.</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context ...&gt;
+  ...
+  &lt;Resource name="bean/MyBeanFactory" auth="Container"
+            type="com.mycompany.MyBean"
+            factory="org.apache.naming.factory.BeanFactory"
+            bar="23"/&gt;
+  ...
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+    <p>Note that the resource name (here, <code>bean/MyBeanFactory</code>
+    must match the value specified in the web application deployment
+    descriptor.  We are also initializing the value of the <code>bar</code>
+    property, which will cause <code>setBar(23)</code> to be called before
+    the new bean is returned.  Because we are not initializing the
+    <code>foo</code> property (although we could have), the bean will
+    contain whatever default value is set up by its constructor.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JavaMail Sessions"><strong>JavaMail Sessions</strong></a></font></td></tr><tr><td><blockquote>
+
+    <h3>0.  Introduction</h3>
+
+    <p>In many web applications, sending electronic mail messages is a
+    required part of the system's functionality.  The
+    <a href="http://java.sun.com/products/javamail">Java Mail</a> API
+    makes this process relatively straightforward, but requires many
+    configuration details that the client application must be aware of
+    (including the name of the SMTP host to be used for message sending).</p>
+
+    <p>Tomcat 6 includes a standard resource factory that will create
+    <code>javax.mail.Session</code> session instances for you, already
+    configured to connect to an SMTP server.
+    In this way, the application is totally insulated from changes in the
+    email server configuration environment - it simply asks for, and receives,
+    a preconfigured session whenever needed.</p>
+
+    <p>The steps required for this are outlined below.</p>
+
+    <h3>1.  Declare Your Resource Requirements</h3>
+
+    <p>The first thing you should do is modify the web application deployment
+    descriptor (<code>/WEB-INF/web.xml</code>) to declare the JNDI name under
+    which you will look up preconfigured sessions.  By convention, all such
+    names should resolve to the <code>mail</code> subcontext (relative to the
+    standard <code>java:comp/env</code> naming context that is the root of
+    all provided resource factories.  A typical <code>web.xml</code> entry
+    might look like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;resource-ref&gt;
+  &lt;description&gt;
+    Resource reference to a factory for javax.mail.Session
+    instances that may be used for sending electronic mail
+    messages, preconfigured to connect to the appropriate
+    SMTP server.
+  &lt;/description&gt;
+  &lt;res-ref-name&gt;
+    mail/Session
+  &lt;/res-ref-name&gt;
+  &lt;res-type&gt;
+    javax.mail.Session
+  &lt;/res-type&gt;
+  &lt;res-auth&gt;
+    Container
+  &lt;/res-auth&gt;
+&lt;/resource-ref&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+    <p><strong>WARNING</strong> - Be sure you respect the element ordering
+    that is required by the DTD for web application deployment descriptors!
+    See the
+    <a href="http://java.sun.com/products/servlet/download.html">Servlet
+    Specification</a> for details.</p>
+
+    <h3>2.  Code Your Application's Use Of This Resource</h3>
+
+    <p>A typical use of this resource reference might look like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Context initCtx = new InitialContext();
+Context envCtx = (Context) initCtx.lookup("java:comp/env");
+Session session = (Session) envCtx.lookup("mail/Session");
+
+Message message = new MimeMessage(session);
+message.setFrom(new InternetAddress(request.getParameter("from"));
+InternetAddress to[] = new InternetAddress[1];
+to[0] = new InternetAddress(request.getParameter("to"));
+message.setRecipients(Message.RecipientType.TO, to);
+message.setSubject(request.getParameter("subject"));
+message.setContent(request.getParameter("content"), "text/plain");
+Transport.send(message);
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+    <p>Note that the application uses the same resource reference name
+    that was declared in the web application deployment descriptor.  This
+    is matched up against the resource factory that is configured in the
+    <a href="../config/context.html"><code>&lt;Context&gt;</code></a> element
+    for the web application as described below.</p>
+
+    <h3>3.  Configure Tomcat's Resource Factory</h3>
+
+    <p>To configure Tomcat's resource factory, add an elements like this to the
+    <a href="../config/context.html"><code>&lt;Context&gt;</code></a> element for
+    this web application.</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context ...&gt;
+  ...
+  &lt;Resource name="mail/Session" auth="Container"
+            type="javax.mail.Session"
+            mail.smtp.host="localhost"/&gt;
+  ...
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+    <p>Note that the resource name (here, <code>mail/Session</code>) must
+    match the value specified in the web application deployment descriptor.
+    Customize the value of the <code>mail.smtp.host</code> parameter to
+    point at the server that provides SMTP service for your network.</p>
+
+    <h3>4.  Install the JavaMail libraries</h3>
+
+    <p><a href="http://java.sun.com/products/javamail/downloads/index.html">
+    Download the JavaMail API</a>.  The JavaMail API requires the Java Activation
+    Framework (JAF) API as well.  The Java Activation Framework can be downloaded
+    from <a href="http://java.sun.com/products/javabeans/glasgow/jaf.html">Sun's site</a>.
+    </p>
+
+    <p>This download includes 2 vital libraries for the configuration; 
+    activation.jar and mail.jar. Unpackage both distributions and place 
+    them into $CATALINA_HOME/lib so that they are available to
+    Tomcat during the initialization of the mail Session Resource.
+    <strong>Note:</strong> placing these jars in both $CATALINA_HOME/lib and a 
+    web application's lib folder will cause an error, so ensure you have
+    them in the $CATALINA_HOME/lib location only.
+    </p>
+
+    <h3>Example Application</h3>
+
+    <p>The <code>/examples</code> application included with Tomcat contains
+    an example of utilizing this resource factory.  It is accessed via the
+    "JSP Examples" link.  The source code for the servlet that actually
+    sends the mail message is in
+    <code>/WEB-INF/classes/SendMailServlet.java</code>.</p>
+
+    <p><strong>WARNING</strong> - The default configuration assumes that there
+    is an SMTP server listing on port 25 on <code>localhost</code>. If this is
+    not the case, edit the
+    <a href="../config/context.html"><code>&lt;Context&gt;</code></a> element for
+    this web application and modify the parameter value for the
+    <code>mail.smtp.host</code> parameter to be the host name of an SMTP server
+    on your network.</p>
+
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JDBC Data Sources"><strong>JDBC Data Sources</strong></a></font></td></tr><tr><td><blockquote>
+
+    <h3>0.  Introduction</h3>
+
+    <p>Many web applications need to access a database via a JDBC driver,
+    to support the functionality required by that application.  The J2EE
+    Platform Specification requires J2EE Application Servers to make
+    available a <em>DataSource</em> implementation (that is, a connection
+    pool for JDBC connections) for this purpose.  Tomcat 6 offers exactly
+    the same support, so that database-based applications you develop on
+    Tomcat using this service will run unchanged on any J2EE server.</p>
+
+    <p>For information about JDBC, you should consult the following:</p>
+    <ul>
+    <li><a href="http://java.sun.com/products/jdbc/">http://java.sun.com/products/jdbc/</a> -
+        Home page for information about Java Database Connectivity.</li>
+    <li><a href="http://java.sun.com/j2se/1.3/docs/guide/jdbc/spec2/jdbc2.1.frame.html">http://java.sun.com/j2se/1.3/docs/guide/jdbc/spec2/jdbc2.1.frame.html</a> -
+        The JDBC 2.1 API Specification.</li>
+    <li><a href="http://java.sun.com/products/jdbc/jdbc20.stdext.pdf">http://java.sun.com/products/jdbc/jdbc20.stdext.pdf</a> -
+        The JDBC 2.0 Standard Extension API (including the
+        <code>javax.sql.DataSource</code> API).  This package is now known
+        as the "JDBC Optional Package".</li>
+    <li><a href="http://java.sun.com/j2ee/download.html">http://java.sun.com/j2ee/download.html</a> -
+        The J2EE Platform Specification (covers the JDBC facilities that
+        all J2EE platforms must provide to applications).</li>
+    </ul>
+
+    <p><strong>NOTE</strong> - The default data source support in Tomcat
+    is based on the <strong>DBCP</strong> connection pool from the
+    <a href="http://commons.apache.org/">Commons</a>
+    project.  However, it is possible to use any other connection pool
+    that implements <code>javax.sql.DataSource</code>, by writing your
+    own custom resource factory, as described
+    <a href="#Adding Custom Resource Factories">below</a>.</p>
+
+    <h3>1.  Install Your JDBC Driver</h3>
+
+    <p>Use of the <em>JDBC Data Sources</em> JNDI Resource Factory requires
+    that you make an appropriate JDBC driver available to both Tomcat internal
+    classes and to your web application.  This is most easily accomplished by
+    installing the driver's JAR file(s) into the
+    <code>$CATALINA_HOME/lib</code> directory, which makes the driver
+    available both to the resource factory and to your application.</p>
+
+    <h3>2.  Declare Your Resource Requirements</h3>
+
+    <p>Next, modify the web application deployment descriptor
+    (<code>/WEB-INF/web.xml</code>) to declare the JNDI name under
+    which you will look up preconfigured data source.  By convention, all such
+    names should resolve to the <code>jdbc</code> subcontext (relative to the
+    standard <code>java:comp/env</code> naming context that is the root of
+    all provided resource factories.  A typical <code>web.xml</code> entry
+    might look like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;resource-ref&gt;
+  &lt;description&gt;
+    Resource reference to a factory for java.sql.Connection
+    instances that may be used for talking to a particular
+    database that is configured in the &lt;Context&gt;
+    configurartion for the web application.
+  &lt;/description&gt;
+  &lt;res-ref-name&gt;
+    jdbc/EmployeeDB
+  &lt;/res-ref-name&gt;
+  &lt;res-type&gt;
+    javax.sql.DataSource
+  &lt;/res-type&gt;
+  &lt;res-auth&gt;
+    Container
+  &lt;/res-auth&gt;
+&lt;/resource-ref&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+    <p><strong>WARNING</strong> - Be sure you respect the element ordering
+    that is required by the DTD for web application deployment descriptors!
+    See the
+    <a href="http://java.sun.com/products/servlet/download.html">Servlet
+    Specification</a> for details.</p>
+
+    <h3>3.  Code Your Application's Use Of This Resource</h3>
+
+    <p>A typical use of this resource reference might look like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Context initCtx = new InitialContext();
+Context envCtx = (Context) initCtx.lookup("java:comp/env");
+DataSource ds = (DataSource)
+  envCtx.lookup("jdbc/EmployeeDB");
+
+Connection conn = ds.getConnection();
+... use this connection to access the database ...
+conn.close();
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+    <p>Note that the application uses the same resource reference name that was
+    declared in the web application deployment descriptor. This is matched up
+    against the resource factory that is configured in the
+    <a href="../config/context.html"><code>&lt;Context&gt;</code></a> element for
+    the web application as described below.</p>
+
+    <h3>4.  Configure Tomcat's Resource Factory</h3>
+
+    <p>To configure Tomcat's resource factory, add an element like this to the
+    <a href="../config/context.html"><code>&lt;Context&gt;</code></a> element for
+    the web application.</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context ...&gt;
+  ...
+  &lt;Resource name="jdbc/EmployeeDB"
+            auth="Container"
+            type="javax.sql.DataSource"
+            username="dbusername"
+            password="dbpassword"
+            driverClassName="org.hsql.jdbcDriver"
+            url="jdbc:HypersonicSQL:database"
+            maxActive="8"
+            maxIdle="4"/&gt;
+  ...
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+    <p>Note that the resource name (here, <code>jdbc/EmployeeDB</code>) must
+    match the value specified in the web application deployment descriptor.</p>
+
+    <p>This example assumes that you are using the HypersonicSQL database
+    JDBC driver.  Customize the <code>driverClassName</code> and
+    <code>driverName</code> parameters to match your actual database's
+    JDBC driver and connection URL.</p>
+
+    <p>The configuration properties for Tomcat's standard data source
+    resource factory
+    (<code>org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory</code>) are
+    as follows:</p>
+    <ul>
+    <li><strong>driverClassName</strong> - Fully qualified Java class name
+        of the JDBC driver to be used.</li>
+    <li><strong>maxActive</strong> - The maximum number of active instances
+        that can be allocated from this pool at the same time.</li>
+    <li><strong>maxIdle</strong> - The maximum number of connections that
+        can sit idle in this pool at the same time.</li>
+    <li><strong>maxWait</strong> - The maximum number of milliseconds that the
+        pool will wait (when there are no available connections) for a
+        connection to be returned before throwing an exception.</li>
+    <li><strong>password</strong> - Database password to be passed to our
+        JDBC driver.</li>
+    <li><strong>url</strong> - Connection URL to be passed to our JDBC driver.
+        (For backwards compatibility, the property <code>driverName</code>
+        is also recognized.)</li>
+    <li><strong>user</strong> - Database username to be passed to our
+        JDBC driver.</li>
+    <li><strong>validationQuery</strong> - SQL query that can be used by the
+        pool to validate connections before they are returned to the
+        application.  If specified, this query MUST be an SQL SELECT
+        statement that returns at least one row.</li>
+    </ul>
+    <p>For more details, please refer to the commons-dbcp documentation.</p>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Adding Custom Resource Factories"><strong>Adding Custom Resource Factories</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>If none of the standard resource factories meet your needs, you can write
+  your own factory and integrate it into Tomcat 6, and then configure the use
+  of this factory in the
+  <a href="../config/context.html"><code>&lt;Context&gt;</code></a> element for
+  the web application. In the example below, we will create a factory that only
+  knows how to create <code>com.mycompany.MyBean</code> beans from the
+  <a href="#Generic JavaBean Resources">Generic JavaBean Resources</a> example
+  above.</p>
+
+  <h3>1.  Write A Resource Factory Class</h3>
+
+  <p>You must write a class that implements the JNDI service provider
+  <code>javax.naming.spi.ObjectFactory</code> inteface.  Every time your
+  web application calls <code>lookup()</code> on a context entry that is
+  bound to this factory, the <code>getObjectInstance()</code> method is
+  called, with the following arguments:</p>
+  <ul>
+  <li><strong>Object obj</strong> - The (possibly null) object containing
+      location or reference information that can be used in creating an object.
+      For Tomcat, this will always be an object of type
+      <code>javax.naming.Reference</code>, which contains the class name of
+      this factory class, as well as the configuration properties (from the
+      <a href="../config/context.html"><code>&lt;Context&gt;</code></a> for the
+      web application) to use in creating objects to be returned.</li>
+  <li><strong>Name name</strong> - The name to which this factory is bound
+      relative to <code>nameCtx</code>, or <code>null</code> if no name
+      is specified.</li>
+  <li><strong>Context nameCtx</strong> - The context relative to which the
+      <code>name</code> parameter is specified, or <code>null</code> if
+      <code>name</code> is relative to the default initial context.</li>
+  <li><strong>Hashtable environment</strong> - The (possibly null)
+      environment that is used in creating this object.  This is generally
+      ignored in Tomcat object factories.</li>
+  </ul>
+
+  <p>To create a resource factory that knows how to produce <code>MyBean</code>
+  instances, you might create a class like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+package com.mycompany;
+
+import java.util.Enumeration;
+import java.util.Hashtable;
+import javax.naming.Context;
+import javax.naming.Name;
+import javax.naming.NamingException;
+import javax.naming.RefAddr;
+import javax.naming.Reference;
+import javax.naming.spi.ObjectFactory;
+
+public class MyBeanFactory implements ObjectFactory {
+
+  public Object getObjectInstance(Object obj,
+      Name name, Context nameCtx, Hashtable environment)
+      throws NamingException {
+
+      // Acquire an instance of our specified bean class
+      MyBean bean = new MyBean();
+
+      // Customize the bean properties from our attributes
+      Reference ref = (Reference) obj;
+      Enumeration addrs = ref.getAll();
+      while (addrs.hasMoreElements()) {
+          RefAddr addr = (RefAddr) addrs.nextElement();
+          String name = addr.getType();
+          String value = (String) addr.getContent();
+          if (name.equals("foo")) {
+              bean.setFoo(value);
+          } else if (name.equals("bar")) {
+              try {
+                  bean.setBar(Integer.parseInt(value));
+              } catch (NumberFormatException e) {
+                  throw new NamingException("Invalid 'bar' value " + value);
+              }
+          }
+      }
+
+      // Return the customized instance
+      return (bean);
+
+  }
+
+}
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+  <p>In this example, we are unconditionally creating a new instance of
+  the <code>com.mycompany.MyBean</code> class, and populating its properties
+  based on the parameters included in the <code>&lt;ResourceParams&gt;</code>
+  element that configures this factory (see below).  You should note that any
+  parameter named <code>factory</code> should be skipped - that parameter is
+  used to specify the name of the factory class itself (in this case,
+  <code>com.mycompany.MyBeanFactory</code>) rather than a property of the
+  bean being configured.</p>
+
+  <p>For more information about <code>ObjectFactory</code>, see the
+  <a href="http://java.sun.com/products/jndi/docs.html">JNDI 1.2 Service
+  Provider Interface (SPI) Specification</a>.</p>
+
+  <p>You will need to compile this class against a class path that includes
+  all of the JAR files in the <code>$CATALINA_HOME/lib</code> directory.  When you are through,
+  place the factory class (and the corresponding bean class) unpacked under
+  <code>$CATALINA_HOME/lib</code>, or in a JAR file inside
+  <code>$CATALINA_HOME/lib</code>.  In this way, the required class
+  files are visible to both Catalina internal resources and your web
+  application.</p>
+
+  <h3>2.  Declare Your Resource Requirements</h3>
+
+  <p>Next, modify your web application deployment descriptor
+  (<code>/WEB-INF/web.xml</code>) to declare the JNDI name under which
+  you will request new instances of this bean.  The simplest approach is
+  to use a <code>&lt;resource-env-ref&gt;</code> element, like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;resource-env-ref&gt;
+  &lt;description&gt;
+    Object factory for MyBean instances.
+  &lt;/description&gt;
+  &lt;resource-env-ref-name&gt;
+    bean/MyBeanFactory
+  &lt;/resource-env-ref-name&gt;
+  &lt;resource-env-ref-type&gt;
+    com.mycompany.MyBean
+  &lt;/resource-env-ref-type&gt;
+&lt;resource-env-ref&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+    <p><strong>WARNING</strong> - Be sure you respect the element ordering
+    that is required by the DTD for web application deployment descriptors!
+    See the
+    <a href="http://java.sun.com/products/servlet/download.html">Servlet
+    Specification</a> for details.</p>
+
+  <h3>3.  Code Your Application's Use Of This Resource</h3>
+
+  <p>A typical use of this resource environment reference might look
+  like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Context initCtx = new InitialContext();
+Context envCtx = (Context) initCtx.lookup("java:comp/env");
+MyBean bean = (MyBean) envCtx.lookup("bean/MyBeanFactory");
+
+writer.println("foo = " + bean.getFoo() + ", bar = " +
+               bean.getBar());
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+    <h3>4.  Configure Tomcat's Resource Factory</h3>
+
+    <p>To configure Tomcat's resource factory, add an elements like this to the
+    <a href="../config/context.html"><code>&lt;Context&gt;</code></a> element for
+    this web application.</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context ...&gt;
+  ...
+  &lt;Resource name="bean/MyBeanFactory" auth="Container"
+            type="com.mycompany.MyBean"
+            factory="com.mycompany.MyBeanFactory"
+            bar="23"/&gt;
+  ...
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+    <p>Note that the resource name (here, <code>bean/MyBeanFactory</code>
+    must match the value specified in the web application deployment
+    descriptor.  We are also initializing the value of the <code>bar</code>
+    property, which will cause <code>setBar(23)</code> to be called before
+    the new bean is returned.  Because we are not initializing the
+    <code>foo</code> property (although we could have), the bean will
+    contain whatever default value is set up by its constructor.</p>
+
+    <p>You will also note that, from the application developer's perspective,
+    the declaration of the resource environment reference, and the programming
+    used to request new instances, is identical to the approach used for the
+    <em>Generic JavaBean Resources</em> example.  This illustrates one of the
+    advantages of using JNDI resources to encapsulate functionality - you can
+    change the underlying implementation without necessarily having to
+    modify applications using the resources, as long as you maintain
+    compatible APIs.</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/printer/logging.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/printer/logging.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/printer/logging.html	(revision 66)
@@ -0,0 +1,261 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - Logging in Tomcat</title><meta value="Allistair Crossley" name="author"><meta value="" name="email"><meta value="Yoav Shapira" name="author"><meta value="yoavs@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>Logging in Tomcat</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Important note"><strong>Important note</strong></a></font></td></tr><tr><td><blockquote>
+  <p>
+    By default, only java.util.logging is available for the core Tomcat, as Tomcat uses
+    a package renamed logging implementation which is hardcoded for that logger. Usage of
+    alternate loggers is available after building the extra components (see
+    the <a href="extras.html">extras components</a> documentation), which includes
+    a full commons-logging implementation.
+  </p>
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+  <p>
+    Tomcat 6.0 uses 
+    <a href="http://commons.apache.org/logging">Commons Logging</a>
+    throughout its internal code allowing the 
+    developer to choose a logging configuration that suits their needs, e.g
+    java.util.logging or 
+    <a href="http://logging.apache.org/log4j">Log4J</a>. 
+    Commons Logging provides Tomcat the ability to log
+    hierarchially across various log levels without needing to rely on a particular
+    logging implementation.
+  </p>
+  <p>
+    An important consequence for Tomcat 6.0 is that the &lt;Logger&gt; element found in 
+    previous versions to create a <code>localhost_log</code> is no longer a valid nested element 
+    of &lt;Context&gt;. Instead, the default Tomcat configuration will use java.util.logging. 
+    If the developer wishes to collect detailed internal Tomcat logging (i.e what is happening 
+    within the Tomcat engine), then they should configure a logging system such as java.util.logging 
+    or log4j as detailed next.
+  </p>
+
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="log4j"><strong>log4j</strong></a></font></td></tr><tr><td><blockquote>
+    <p>
+      Tomcat 6.0 has done away with <code>localhost_log</code> which you may be familiar with
+      as the runtime exception/stack trace log. These types of error are usually thrown
+      by uncaught exceptions, but are still valuable to the developer. They can now be
+      found in the <code>stdout</code> log.
+    </p>
+
+    <p>
+      If you need to setup cross-context detailed logging from within Tomcat's code, 
+      then you can use a simple log4j configuration. Note that this logging van be very 
+      verbose depending on the log level you chose to use.  Note also that a log4j logging 
+      configuration is not going to produce stack trace type logging: those stack traces
+      are output to <code>stdout</code> as discussed above.
+    </p>
+
+    <p>
+      Follow the following steps to setup a file named tomcat.log that has internal 
+      Tomcat logging output to it:
+    </p>
+
+    <p>
+      <ol>
+        <li>Create a file called log4j.properties with the following content 
+            and save it into $CATALINA_HOME/lib.
+          <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+            log4j.rootLogger=debug, R 
+            log4j.appender.R=org.apache.log4j.RollingFileAppender 
+            log4j.appender.R.File=${catalina.home}/logs/tomcat.log 
+            log4j.appender.R.MaxFileSize=10MB 
+            log4j.appender.R.MaxBackupIndex=10 
+            log4j.appender.R.layout=org.apache.log4j.PatternLayout 
+            log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n 
+            log4j.logger.org.apache.catalina=DEBUG, R
+          </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+	</li>
+
+	<li><a href="http://logging.apache.org/log4j">Download Log4J</a> 
+            (v1.2 or later) and place the log4j jar in $CATALINA_HOME/lib.</li>
+
+        <li>Build the commons-logging additional component using the extras.xml
+        Ant build script which is part of teh Tomcat source bundle.</li>
+        
+        <li>Replace <code>$CATALINA_HOME/bin/tomcat-juli.jar</code> with
+        <code>output/extras/tomcat-juli.jar</code>.</li>
+
+        <li>Place <code>output/extras/tomcat-juli-adapters.jar</code> in 
+        $CATALINA_HOME/lib.</li>
+
+	<li>Start Tomcat</li>
+      </ol>
+    </p>
+
+    <p>
+      This log4j configuration sets up a file called tomcat.log in your 
+      Tomcat logs folder with a maximum file size of 10MB and
+      up to 10 backups.  DEBUG level is specified which will result in the 
+      most verbose output from Tomcat.
+    </p>
+	
+    <p>
+      You can (and should) be more picky about which packages to include 
+      in the logging. Tomcat 6 uses defines loggers by Engine and Host names.
+      For example, for a default Catalina localhost log, add this to the
+      end of the log4j.properties above. Note that there are known issues with 
+      using this naming convention (with square brackets) in log4j XML based
+      configuration files, so we recommend you use a properties file as described
+      until a future version of log4j allows this convention.
+      
+      <ul>
+        <li>log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost]=DEBUG, R</li>
+	<li>log4j.logger.org.apache.catalina.core=DEBUG, R</li>
+	<li>log4j.logger.org.apache.catalina.session=DEBUG, R</li>
+      </ul>
+
+      Be warned a level of DEBUG will produce megabytes of logging and slow startup
+      of Tomcat. This level should be used sparingly when debugging of internal Tomcat
+      operations is required.
+    </p>
+	
+    <p>
+      Your web applications should certainly use their own log4j configuration. 
+      This is valid <i>with</i> the above configuration.  You would place a similar log4j.properties 
+      file in your web application's WEB-INF/classes folder, and log4j1.2.8.jar into
+      WEB-INF/lib. Then specify your package level logging. This is a basic setup of log4j 
+      which does *not* require Commons-Logging, 
+      and you should consult the 
+      <a href="http://logging.apache.org/log4j/docs/documentation.html">log4j documentation</a> 
+      for more options.  This page is intended only as a bootstrapping guide.
+    </p>
+	
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="java.util.logging"><strong>java.util.logging</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>
+    The default implemenatation of java.util.logging provided in the JDK is too limited to be 
+    useful. A limitation of JDK Logging appears to be the inability to have per-web application logging, 
+    as the configuration is per-VM. As a result, Tomcat will, in the default configuration,
+    replace the default LogManager implementation with a container friendly implementation
+    called JULI, which addresses these shortcomings. It supports the same configuration mechanisms 
+    as the standard JDK java.util.logging, using either a programmatic approach, or properties
+    files. The main difference is that per-classloader properties files can be set (which enables easy
+    redeployment friendly webapp configuration), and the properties files support slightly extended
+    constructs which allows more freedom for defining handlers and assigning them to loggers.
+  </p>
+  <p>
+    JULI is enabled by default in Tomcat 6.0, and supports per classloader configuration, in addition to 
+    the regular global java.util.logging configuration. This means that logging can be configured at 
+    the following layers:
+    <ul>
+      <li>In the JDK's logging.properties file. Check
+      your JAVA_HOME environment setting to see which JDK Tomcat is using. The file will be in 
+      <code>$JAVA_HOME/jre/lib</code>.
+      Alternately, it can also use a global configuration file located elsewhere by using the 
+      system property <code>java.util.logging.config.file</code>, or programmatic configuration using
+      <code>java.util.logging.config.class</code>.</li>
+      <li>In each classloader using a logging.properties file. This means that it is possible to have a
+      configuration for the Tomcat core, as well as separate configurations for each webapps which will 
+      have the same lifecycle as the webapps.</li>
+    </ul>
+  </p>
+  <p>
+    The default logging.properties specifies a ConsoleHandler for routing logging to stdout and
+    also a FileHandler. A handler's log level threshold can be set using SEVERE, WARNING, INFO,
+    CONFIG, FINE, FINER, FINEST or ALL. The logging.properties shipped with JDK is set to INFO. You
+    can also target specific packages to collect logging from and specify a level. Here is how
+    you would set debugging from Tomcat. You would need to ensure the ConsoleHandler's level is also
+    set to collect this threshold, so FINEST or ALL should be set. Please refer to Sun's java.util.logging
+    documentation for the complete details.
+  </p>
+  <p>
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>org.apache.catalina.level=FINEST</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+  </p>
+  <p>
+    The configuration used by JULI is extremely similar, but uses a few extensions to allow better 
+    flexibility in assigning loggers. The main differences are:
+    <ul>
+      <li>A prefix may be added to handler names, so that multiple handlers of a single class may be 
+      instantiated. A prefix is a String which starts with a digit, and ends with '.'. For example, 
+      <code>22foobar.</code> is a valid prefix.</li>
+      <li>As in Java 5.0, loggers can define a list of handlers using the <code>loggerName.handlers</code>
+      property.</li>
+      <li>By default, loggers will not delegate to their parent if they have associated handlers. This
+      may be changed per logger using the <code>loggerName.useParentHandlers</code> property, which accepts 
+      a boolean value.</li>
+      <li>The root logger can define its set of handlers using a <code>.handlers</code> property.</li>
+      <li>System property replacement for property values which start with ${systemPropertyName}.</li>
+    </ul>
+  </p>
+  <p>
+    Example logging.properties file to be placed in $CATALINA_BASE/conf:
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+handlers = 1catalina.org.apache.juli.FileHandler, 2localhost.org.apache.juli.FileHandler, \
+           3manager.org.apache.juli.FileHandler, 4admin.org.apache.juli.FileHandler, \
+           java.util.logging.ConsoleHandler
+
+.handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
+
+############################################################
+# Handler specific properties.
+# Describes specific configuration info for Handlers.
+############################################################
+
+1catalina.org.apache.juli.FileHandler.level = FINE
+1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
+1catalina.org.apache.juli.FileHandler.prefix = catalina.
+
+2localhost.org.apache.juli.FileHandler.level = FINE
+2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
+2localhost.org.apache.juli.FileHandler.prefix = localhost.
+
+3manager.org.apache.juli.FileHandler.level = FINE
+3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
+3manager.org.apache.juli.FileHandler.prefix = manager.
+
+4admin.org.apache.juli.FileHandler.level = FINE
+4admin.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
+4admin.org.apache.juli.FileHandler.prefix = admin.
+
+java.util.logging.ConsoleHandler.level = FINE
+java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
+
+
+############################################################
+# Facility specific properties.
+# Provides extra control for each logger.
+############################################################
+
+org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO
+org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = \
+   2localhost.org.apache.juli.FileHandler
+
+org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = INFO
+org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers = \
+   3manager.org.apache.juli.FileHandler
+
+org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/admin].level = INFO
+org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/admin].handlers = \
+   4admin.org.apache.juli.FileHandler
+
+# For example, set the com.xyz.foo logger to only log SEVERE
+# messages:
+#org.apache.catalina.startup.ContextConfig.level = FINE
+#org.apache.catalina.startup.HostConfig.level = FINE
+#org.apache.catalina.session.ManagerBase.level = FINE
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+    </p>
+    
+    <p>
+      Example logging.properties for the servlet-examples web application to be placed
+      in WEB-INF/classes inside the web application:
+      <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+handlers = org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
+
+############################################################
+# Handler specific properties.
+# Describes specific configuration info for Handlers.
+############################################################
+
+org.apache.juli.FileHandler.level = FINE
+org.apache.juli.FileHandler.directory = ${catalina.base}/logs
+org.apache.juli.FileHandler.prefix = servlet-examples.
+
+java.util.logging.ConsoleHandler.level = FINE
+java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
+      </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+    </p>
+
+  </blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/printer/manager-howto.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/printer/manager-howto.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/printer/manager-howto.html	(revision 66)
@@ -0,0 +1,1235 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - Manager App HOW-TO</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>Manager App HOW-TO</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Table of Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>
+<a href="#Introduction">Introduction</a><br>
+<a href="#Configuring Manager Application Access">
+Configuring Manager Application Access</a><br>
+<a href="#Supported Manager Commands">Supported Manager Commands</a><br>
+<blockquote>
+<a href="#Deploy A New Application Remotely">Deploy A New Application Remotely</a><br>
+<a href="#Deploy A New Application from a Local Path">Deploy A New Application from a Local Path</a><br>
+<a href="#List Currently Deployed Applications">
+List Currently Deployed Applications</a><br>
+<a href="#Reload An Existing Application">Reload An Existing Application</a><br>
+<a href="#List OS and JVM Properties">List OS and JVM Properties</a><br>
+<a href="#List Available Global JNDI Resources">
+List Available Global JNDI Resources</a><br>
+<a href="#List Available Security Roles">List Available Security Roles</a><br>
+<a href="#Session Statistics">Session Statistics</a><br>
+<a href="#Start an Existing Application">Start an Existing Application</a><br>
+<a href="#Stop an Existing Application">Stop an Existing Application</a><br>
+<a href="#Undeploy an Existing Application">
+Undeploy an Existing Application</a><br>
+</blockquote>
+<a href="#Executing Manager Commands With Ant">
+Executing Manager Commands With Ant</a><br>
+<a href="#Using the JMX Proxy Servlet">
+Using the JMX Proxy Servlet</a><br>
+<blockquote>
+<a href="#What is JMX Proxy Servlet">What is JMX Proxy Servlet?</a><br>
+<a href="#JMX Query command">Query command</a><br>
+<a href="#JMX Set command">Set command</a><br>
+</blockquote>
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>In many production environments, it is very useful to have the capability
+to deploy a new web application, or undeploy an existing one, without having
+to shut down and restart the entire container.  In addition, you can request
+an existing application to reload itself, even if you have not declared it
+to be <code>reloadable</code> in the Tomcat 6 server
+configuration file.</p>
+
+<p>To support these capabilities, Tomcat 6 includes a web application
+(installed by default on context path <code>/manager</code>) that supports
+the following functions:</p>
+<ul>
+<li>Deploy a new web application from the uploaded contents of a WAR file.</li>
+<li>Deploy a new web application, on a specified context path, from the
+    server file system.</li>
+<li>List the currently deployed web applications, as well as the
+    sessions that are currently active for those web apps.</li>
+<li>Reload an existing web application, to reflect changes in the
+    contents of <code>/WEB-INF/classes</code> or <code>/WEB-INF/lib</code>.
+    </li>
+<li>List the OS and JVM property values.</li>
+<li>List the available global JNDI resources, for use in deployment
+    tools that are preparing <code>&lt;ResourceLink&gt;</code> elements
+    nested in a <code>&lt;Context&gt;</code> deployment description.</li>
+<li>List the available security roles defined in the user database.</li>
+<li>Start a stopped application (thus making it available again).</li>
+<li>Stop an existing application (so that it becomes unavailable), but
+    do not undeploy it.</li>
+<li>Undeploy a deployed web application and delete its document base
+    directory (unless it was deployed from file system).</li>
+</ul>
+
+<p>A default Tomcat installation includes the manager. To add an instance of the
+Manager web application <code>Context</code> to a new host install the
+<code>manager.xml</code> context configuration file in the
+<code>$CATALINA_BASE/conf/[enginename]/[hostname]</code> folder. Here is an
+example:
+<pre>
+&lt;Context path="/manager" debug="0" privileged="true"
+         docBase="/usr/local/kinetic/tomcat6/server/webapps/manager"&gt;
+&lt;/Context&gt;
+</pre>
+</p>
+
+<p>If you have Tomcat configured to support multiple virtual hosts
+(websites) you would need to configure a Manager for each.</p>
+
+<p>There are three ways to use the <code>Manager</code> web application.
+<ul>
+<li>As an application with a user interface you use in your browser.
+Here is an example URL where you can replace <code>localhost</code> with
+your website host name:  <code>http://localhost/manager/html/</code> .</li>
+<li>A minimal version using HTTP requests only which is suitable for use
+by scripts setup by system administrators.  Commands are given as part of the
+request URI, and responses are in the form of simple text that can be easily
+parsed and processed.  See <a href="#Supported Manager Commands">
+Supported Manager Commands</a> for more information.</li>
+<li>A convenient set of task definitions for the <em>Ant</em>
+(version 1.4 or later) build tool.  See
+<a href="#Executing Manager Commands With Ant">Executing Manager Commands
+With Ant</a> for more information.</li>
+</ul>
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Configuring Manager Application Access"><strong>Configuring Manager Application Access</strong></a></font></td></tr><tr><td><blockquote>
+
+    <blockquote><em>
+    <p>The description below uses the variable name $CATALINA_BASE to refer the
+    base directory against which most relative paths are resolved. If you have
+    not configured Tomcat 6 for multiple instances by setting a CATALINA_BASE
+    directory, then $CATALINA_BASE will be set to the value of $CATALINA_HOME,
+    the directory into which you have installed Tomcat 6.</p>
+    </em></blockquote>
+
+<p>It would be quite unsafe to ship Tomcat with default settings that allowed
+anyone on the Internet to execute the Manager application on your server.
+Therefore, the Manager application is shipped with the requirement that anyone
+who attempts to use it must authenticate themselves, using a username and
+password that have the role <strong>manager</strong> associated with them.
+Further, there is no username in the default users file
+(<conf>$CATALINA_BASE/conf/tomcat-users.xml</conf>) that is assigned this
+role.  Therefore, access to the Manager application is completely disabled
+by default.</p>
+
+<p>To enable access to the Manager web application, you must either create
+a new username/password combination and associate the role name
+<strong>manager</strong> with it, or add the <strong>manager</strong> role
+to some existing username/password combination.  Exactly where this is done
+depends on which <code>Realm</code> implementation you are using:</p>
+<ul>
+<li><em>MemoryRealm</em> - If you have not customized your
+    <code>$CATALINA_BASE/conf/server.xml</code> to select a different one,
+    Tomcat 6 defaults to an XML-format file stored at
+    <code>$CATALINA_BASE/conf/tomcat-users.xml</code>, which can be
+    edited with any text editor.  This file contains an XML
+    <code>&lt;user&gt;</code> for each individual user, which might
+    look something like this:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;user name="craigmcc" password="secret" roles="standard,manager" /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+    which defines the username and password used by this individual to
+    log on, and the role names he or she is associated with.  You can
+    add the <strong>manager</strong> role to the comma-delimited
+    <code>roles</code> attribute for one or more existing users, and/or
+    create new users with that assigned role.</li>
+<li><em>JDBCRealm</em> - Your user and role information is stored in
+    a database accessed via JDBC.  Add the <strong>manager</strong> role
+    to one or more existing users, and/or create one or more new users
+    with this role assigned, following the standard procedures for your
+    environment.</li>
+<li><em>JNDIRealm</em> - Your user and role information is stored in
+    a directory server accessed via LDAP.  Add the <strong>manager</strong>
+    role to one or more existing users, and/or create one or more new users
+    with this role assigned, following the standard procedures for your
+    environment.</li>
+</ul>
+
+<p>The first time you attempt to issue one of the Manager commands
+described in the next section, you will be challenged to log on using
+BASIC authentication.  The username and password you enter do not matter,
+as long as they identify a valid user in the users database who possesses
+the role <strong>manager</strong>.</p>
+
+<p>In addition to the password restrictions the manager web application
+could be restricted by the remote IP address or host by adding a
+<code>RemoteAddrValve</code> or <code>RemoteHostValve</code>.  Here is
+an example of restricting access to the localhost by IP address:
+<pre>
+&lt;Context path="/manager" privileged="true"
+         docBase="/usr/local/kinetic/tomcat6/server/webapps/manager"&gt;
+         &lt;Valve className="org.apache.catalina.valves.RemoteAddrValve"
+                allow="127\.0\.0\.1"/&gt;
+&lt;/Context&gt;
+</pre>
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Supported Manager Commands"><strong>Supported Manager Commands</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>All commands that the Manager application knows how to process are
+specified in a single request URI like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://{host}:{port}/manager/{command}?{parameters}
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+<p>where <code>{host}</code> and <code>{port}</code> represent the hostname
+and port number on which Tomcat is running, <code>{command}</code>
+represents the Manager command you wish to execute, and
+<code>{parameters}</code> represents the query parameters
+that are specific to that command.  In the illustrations below, customize
+the host and port appropriately for your installation.</p>
+
+<p>Most commands accept one or more of the following query parameters:</p>
+<ul>
+<li><strong>path</strong> - The context path (including the leading slash)
+    of the web application you are dealing with.  To select the ROOT web
+    application, specify "/".  <strong>NOTE</strong> -
+    It is not possible to perform administrative commands on the
+    Manager application itself.</li>
+<li><strong>war</strong> - URL of a web application archive (WAR) file,
+    pathname of a directory which contains the web application, or a
+    Context configuration ".xml" file.  You can use URLs in any of the
+    following formats:
+    <ul>
+    <li><strong>file:/absolute/path/to/a/directory</strong> - The absolute
+        path of a directory that contains the unpacked version of a web
+        application.  This directory will be attached to the context path
+        you specify without any changes.</li>
+    <li><strong>file:/absolute/path/to/a/webapp.war</strong> - The absolute
+        path of a web application archive (WAR) file.  This is valid
+        <strong>only</strong> for the <code>/deploy</code> command, and is
+        the only acceptable format to that command.</li>
+    <li><strong>jar:file:/absolute/path/to/a/warfile.war!/</strong> - The
+        URL to a local web application archive (WAR) file.  You can use any
+        syntax that is valid for the <code>JarURLConnection</code> class
+        for reference to an entire JAR file.</li>
+    <li><strong>file:/absolute/path/to/a/context.xml</strong> - The
+        absolute path of a web application Context configuration ".xml"
+        file which contains the Context configuration element.</li>
+    <li><strong>directory</strong> - The directory name for the web
+        applciation context in the Host's application base directory.</li>
+    <li><strong>webapp.war</strong> - The name of a web application war file
+        located in the Host's application base directory.</li>
+    </ul></li>
+</ul>
+
+<p>Each command will return a response in <code>text/plain</code> format
+(i.e. plain ASCII with no HTML markup), making it easy for both humans and
+programs to read).  The first line of the response wil begin with either
+<code>OK</code> or <code>FAIL</code>, indicating whether the requested
+command was successful or not.  In the case of failure, the rest of the first
+line will contain a description of the problem that was encountered.  Some
+commands include additional lines of information as described below.</p>
+
+<p><em>Internationalization Note</em> - The Manager application looks up
+its message strings in resource bundles, so it is possible that the strings
+have been translated for your platform.  The examples below show the English
+version of the messages.</p>
+
+<blockquote><em>
+<p><strong>WARNING:</strong>  the legacy commands <code>/install</code> and 
+<code>/remove</code> are deprecated.
+They are presently equivalent to <code>/deploy</code> and <code>/undeploy</code>,
+but could be removed in a future release.</p>
+</em></blockquote>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Deploy A New Application Remotely"><strong>Deploy A New Application Remotely</strong></a></font></td></tr><tr><td><blockquote>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/deploy?path=/foo
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>Upload the web application archive (WAR) file that is specified as the
+request data in this HTTP PUT request, install it into the <code>appBase</code>
+directory of our corresponding virtual host, and start , using the directory
+name or the war file name without the .war extension as the path.  The
+application can later be undeployed (and the corresponding application directory
+removed) by use of the <code>/undeploy</code> command.</p>
+
+<p>The .WAR file may include Tomcat specific deployment configuration, by 
+including a Context configuration XML file in 
+<code>/META-INF/context.xml</code>.</p>
+
+<p>URL parameters include:
+<ul>
+<li><code>update</code>: When set to true, any existing update will be
+    undeployed first. The default value is set to false.</li>
+<li><code>tag</code>: Specifying a tag name, this allows associating the
+    deployed webapp with a version number. The application version can
+    be later redeployed when needed using only the tag.</li>
+</ul>
+</p>
+
+<p><strong>NOTE</strong> - This command is the logical
+opposite of the <code>/undeploy</code> command.</p>
+
+<p>If installation and startup is successful, you will receive a response
+like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Deployed application at context path /foo
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>Otherwise, the response will start with <code>FAIL</code> and include an
+error message.  Possible causes for problems include:</p>
+<ul>
+<li><em>Application already exists at path /foo</em>
+    <blockquote>
+    <p>The context paths for all currently running web applications must be
+    unique.  Therefore, you must undeploy the existing web
+    application using this context path, or choose a different context path
+    for the new one. The <code>update</code> parameter may be specified as
+    a parameter on the URL, with a value of <code>true</code> to avoid this
+    error. In that case, an undeploy will be performed on an existing
+    application before performing the deployment.</p>
+    </blockquote></li>
+<li><em>Encountered exception</em>
+    <blockquote>
+    <p>An exception was encountered trying to start the new web application.
+    Check the Tomcat 6 logs for the details, but likely explanations include
+    problems parsing your <code>/WEB-INF/web.xml</code> file, or missing
+    classes encountered when initializing application event listeners and
+    filters.</p>
+    </blockquote></li>
+</ul>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Deploy A New Application from a Local Path"><strong>Deploy A New Application from a Local Path</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Deploy and start a new web application, attached to the specified context
+<code>path</code> (which must not be in use by any other web application).
+This command is the logical opposite of the <code>/undeploy</code> command.</p>
+
+<p>There are a number of different ways the deploy command can be used.</p>
+
+<h3>Deploy a version of a previously deployed webapp</h3>
+
+<p>This can be used to deploy a previous version of a web application, which
+has been deployed using the <code>tag</code> attribute. Note that the work
+directory for the manager webapp will contain the previously deployed WARs;
+removing it would make the deployment fail.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/deploy?path=/footoo&amp;tag=footag
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+
+<h3>Deploy a Directory or WAR by URL</h3>
+
+<p>Deploy a web application directory or ".war" file located on the Tomcat
+server. If no <code>path</code> is specified, the directory name or the war file
+name without the ".war" extension is used as the path. The <code>war</code>
+parameter specifies a URL (including the <code>file:</code> scheme) for either
+a directory or a web application archive (WAR) file. The supported syntax for
+a URL referring to a WAR file is described on the Javadocs page for the
+<code>java.net.JarURLConnection</code> class.  Use only URLs that refer to
+the entire WAR file.</p>
+
+<p>In this example the web application located in the directory
+<code>/path/to/foo</code> on the Tomcat server is deployed as the
+web application context named <code>/footoo</code>.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/deploy?path=/footoo&amp;war=file:/path/to/foo
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+
+<p>In this example the ".war" file <code>/path/to/bar.war</code> on the
+Tomcat server is deployed as the web application context named
+<code>/bar</code>. Notice that there is no <code>path</code> parameter
+so the context path defaults to the name of the web application archive
+file without the ".war" extension.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/deploy?war=jar:file:/path/to/bar.war!/
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+
+<h3>Deploy a Directory or War from the Host appBase</h3>
+
+<p>Deploy a web application directory or ".war" file located in your Host
+appBase directory. The directory name or the war file name without the ".war"
+extension is used as the path.</p>
+
+<p>In this example the web application located in a sub directory named
+<code>foo</code> in the Host appBase directory of the Tomcat server is
+deployed as the web application context named <code>/foo</code>. Notice
+that the context path used is the name of the web application directory.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/deploy?war=foo
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+
+<p>In this example the ".war" file <code>bar.war</code> located in your
+Host appBase directory on the Tomcat server is deployed as the web
+application context named <code>/bar</code>.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/deploy?war=bar.war
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+
+<h3>Deploy using a Context configuration ".xml" file</h3>
+
+<p>If the Host deployXML flag is set to true you can deploy a web
+application using a Context configuration ".xml" file and an optional
+".war" file or web application directory. The context <code>path</code>
+is not used when deploying a web application using a context ".xml"
+configuration file.</p>
+
+<p>A Context configuration ".xml" file can contain valid XML for a
+web application Context just as if it were configured in your
+Tomcat <code>server.xml</code> configuration file. Here is an
+example:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context path="/foobar" docBase="/path/to/application/foobar"
+         debug="0"&gt;
+
+  &lt;!-- Link to the user database we will get roles from --&gt;
+  &lt;ResourceLink name="users" global="UserDatabase"
+                type="org.apache.catalina.UserDatabase"/&gt;
+
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+
+<p>When the optional <code>war</code> parameter is set to the URL
+for a web application ".war" file or directory it overrides any
+docBase configured in the context configuration ".xml" file.</p>
+
+<p>Here is an example of deploying an application using a Context
+configuration ".xml" file.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/deploy?config=file:/path/context.xml
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+
+<p>Here is an example of deploying an application using a Context
+configuration ".xml" file and a web application ".war" file located
+on the server.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/deploy?config=file:/path/context.xml&amp;war=jar:file:/path/bar.war!/
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+
+<h3>Deployment Notes</h3>
+
+<p>If the Host is configured with unpackWARs=true and you deploy a war
+file, the war will be unpacked into a directory in your Host appBase
+directory.</p>
+
+<p>If the application war or directory is installed in your Host appBase
+directory and either the Host is configured with autoDeploy=true or
+liveDeploy=true, the Context path must match the directory name or
+war file name without the ".war" extension.</p>
+
+<p>For security when untrusted users can manage web applications, the
+Host deployXML flag can be set to false.  This prevents untrusted users
+from deploying web applications using a configuration XML file and
+also prevents them from deploying application directories or ".war"
+files located outside of their Host appBase.</p>
+
+
+<h3>Deploy Response</h3>
+
+<p>If installation and startup is successful, you will receive a response
+like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Deployed application at context path /foo
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>Otherwise, the response will start with <code>FAIL</code> and include an
+error message.  Possible causes for problems include:</p>
+<ul>
+<li><em>Application already exists at path /foo</em>
+    <blockquote>
+    <p>The context paths for all currently running web applications must be
+    unique.  Therefore, you must undeploy the existing web
+    application using this context path, or choose a different context path
+    for the new one. The <code>update</code> parameter may be specified as
+    a parameter on the URL, with a value of <code>true</code> to avoid this
+    error. In that case, an undeploy will be performed on an existing
+    application before performing the deployment.</p>
+    </blockquote></li>
+<li><em>Document base does not exist or is not a readable directory</em>
+    <blockquote>
+    <p>The URL specified by the <code>war</code> parameter must identify a
+    directory on this server that contains the "unpacked" version of a
+    web application, or the absolute URL of a web application archive (WAR)
+    file that contains this application.  Correct the value specified by
+    the <code>war</code> parameter.</p>
+    </blockquote></li>
+<li><em>Encountered exception</em>
+    <blockquote>
+    <p>An exception was encountered trying to start the new web application.
+    Check the Tomcat 6 logs for the details, but likely explanations include
+    problems parsing your <code>/WEB-INF/web.xml</code> file, or missing
+    classes encountered when initializing application event listeners and
+    filters.</p>
+    </blockquote></li>
+<li><em>Invalid application URL was specified</em>
+    <blockquote>
+    <p>The URL for the directory or web application that you specified
+    was not valid.  Such URLs must start with <code>file:</code>, and URLs
+    for a WAR file must end in ".war".</p>
+    </blockquote></li>
+<li><em>Invalid context path was specified</em>
+    <blockquote>
+    <p>The context path must start with a slash character. To reference the
+    ROOT web application use "/".</p>
+    </blockquote></li>
+<li><em>Context path must match the directory or WAR file name:</em>
+    <blockquote>
+    If the application war or directory is installed in your Host appBase
+    directory and either the Host is configured with autoDeploy=true or
+    liveDeploy=true, the Context path must match the directory name or
+    war file name without the ".war" extension.
+    </blockquote></li>
+<li><em>Only web applications in the Host web application directory can
+     be installed</em>
+     <blockquote>
+     If the Host deployXML flag is set to false this error will happen
+     if an attempt is made to deploy a web application directory or
+      ".war" file outside of the Host appBase directory.
+     </blockquote></li>
+</ul>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="List Currently Deployed Applications"><strong>List Currently Deployed Applications</strong></a></font></td></tr><tr><td><blockquote>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/list
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>List the context paths, current status (<code>running</code> or
+<code>stopped</code>), and number of active sessions for all currently
+deployed web applications.  A typical response immediately
+after starting Tomcat might look like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Listed applications for virtual host localhost
+/webdav:running:0
+/examples:running:0
+/manager:running:0
+/:running:0
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Reload An Existing Application"><strong>Reload An Existing Application</strong></a></font></td></tr><tr><td><blockquote>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/reload?path=/examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>Signal an existing application to shut itself down and reload.  This can
+be useful when the web application context is not reloadable and you have
+updated classes or property files in the <code>/WEB-INF/classes</code>
+directory or when you have added or updated jar files in the
+<code>/WEB-INF/lib</code> directory.
+</p>
+<p><strong>NOTE:</strong> The <code>/WEB-INF/web.xml</code>
+web application configuration file is not reread on a reload.
+If you have made changes to your web.xml file you must stop
+then start the web application.
+</p>
+
+<p>If this command succeeds, you will see a response like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Reloaded application at context path /examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>Otherwise, the response will start with <code>FAIL</code> and include an
+error message.  Possible causes for problems include:</p>
+<ul>
+<li><em>Encountered exception</em>
+    <blockquote>
+    <p>An exception was encountered trying to restart the web application.
+    Check the Tomcat 6 logs for the details.</p>
+    </blockquote></li>
+<li><em>Invalid context path was specified</em>
+    <blockquote>
+    <p>The context path must start with a slash character. To reference the
+    ROOT web application use "/".</p>
+    </blockquote></li>
+<li><em>No context exists for path /foo</em>
+    <blockquote>
+    <p>There is no deployed application on the context path
+    that you specified.</p>
+    </blockquote></li>
+<li><em>No context path was specified</em>
+    <blockquote>
+    The <code>path</code> parameter is required.
+    </blockquote></li>
+<li><em>Reload not supported on WAR deployed at path /foo</em>
+    <blockquote>
+    Currently, application reloading (to pick up changes to the classes or
+    <code>web.xml</code> file) is not supported when a web application is
+    deployed directly from a WAR file.  It only works when the web application
+    is deployed from an unpacked directory.  If you are using a WAR file,
+    you should <code>undeploy</code> and then <code>deploy</code> or
+    <code>deploy</code> with the <code>update</code> parameter the
+    application again to pick up your changes.
+    </blockquote></li>
+</ul>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="List OS and JVM Properties"><strong>List OS and JVM Properties</strong></a></font></td></tr><tr><td><blockquote>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/serverinfo
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>Lists information about the Tomcat version, OS, and JVM properties.</p>
+
+<p>If an error occurs, the response will start with <code>FAIL</code> and
+include an error message.  Possible causes for problems include:</p>
+<ul>
+<li><em>Encountered exception</em>
+    <blockquote>
+    <p>An exception was encountered trying to enumerate the system properties.
+    Check the Tomcat 6 logs for the details.</p>
+    </blockquote></li>
+</ul>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="List Available Global JNDI Resources"><strong>List Available Global JNDI Resources</strong></a></font></td></tr><tr><td><blockquote>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/resources[?type=xxxxx]
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>List the global JNDI resources that are available for use in resource
+links for context configuration files.  If you specify the <code>type</code>
+request parameter, the value must be the fully qualified Java class name of
+the resource type you are interested in (for example, you would specify
+<code>javax.sql.DataSource</code> to acquire the names of all available
+JDBC data sources).  If you do not specify the <code>type</code> request
+parameter, resources of all types will be returned.</p>
+
+<p>Depending on whether the <code>type</code> request parameter is specfied
+or not, the first line of a normal response will be:</p>
+<pre>
+  OK - Listed global resources of all types
+</pre>
+<p>or</p>
+<pre>
+  OK - Listed global resources of type xxxxx
+</pre>
+<p>followed by one line for each resource.  Each line is composed of fields
+delimited by colon characters (":"), as follows:</p>
+<ul>
+<li><em>Global Resource Name</em> - The name of this global JNDI resource,
+    which would be used in the <code>global</code> attribute of a
+    <code>&lt;ResourceLink&gt;</code> element.</li>
+<li><em>Global Resource Type</em> - The fully qualified Java class name of
+    this global JNDI resource.</li>
+</ul>
+
+<p>If an error occurs, the response will start with <code>FAIL</code> and
+include an error message.  Possible causes for problems include:</p>
+<ul>
+<li><em>Encountered exception</em>
+    <blockquote>
+    <p>An exception was encountered trying to enumerate the global JNDI
+    resources.  Check the Tomcat 6 logs for the details.</p>
+    </blockquote></li>
+<li><em>No global JNDI resources are available</em>
+    <blockquote>
+    <p>The Tomcat server you are running has been configured without
+    global JNDI resources.</p>
+    </blockquote></li>
+</ul>
+
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="List Available Security Roles"><strong>List Available Security Roles</strong></a></font></td></tr><tr><td><blockquote>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/roles
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>List the security role names (and corresponding descriptions) that are
+available in the <code>org.apache.catalina.UserDatabase</code> resource that
+is linked to the <code>users</code> resource reference in the web.xml file
+for the Manager web application.  This would typically be used, for example,
+by a deployment tool that wanted to create
+<code>&lt;security-role-ref&gt;</code> elements to map security role names
+used in a web application to the role names actually defined within the
+container.</p>
+
+<p>By default, the <code>users</code> resource reference is pointed at the
+global <code>UserDatabase</code> resource.  If you choose to utilize a
+different user database per virtual host, you should modify the
+<code>&lt;ResourceLink&gt;</code> element in the default
+<code>manager.xml</code> context configuration file to point at the global
+user database resource for this virtual host.</p>
+
+<p>When this command is executed, the first line of the response will be:</p>
+<pre>
+  OK - Listed security roles
+</pre>
+<p>followed by one line for each security role.  Each line is composed of
+fields delimited by colon characters (":") as follows:</p>
+<ul>
+<li><em>Security Role Name</em> - A security role name that is known to Tomcat
+    in the user database.</li>
+<li><em>Description</em> - Description of this security role (useful in
+    creating user interfaces for selecting roles.</li>
+</ul>
+
+<p>If an error occurs, the response will start with <code>FAIL</code> and
+include an error message.  Possible causes for problems include:</p>
+<ul>
+<li><em>Cannot resolve user database reference</em> - A JNDI error prevented
+    the successful lookup of the <code>org.apache.catalina.UserDatabase</code>
+    resource.  Check the Tomcat log files for a stack trace associated with
+    this error.</li>
+<li><em>No user database is available</em> - You have not configured a resource
+    reference for the <code>users</code> resource that points at an
+    appropriate user database instance.  Check your <code>manager.xml</code>
+    file and ensure that you have created an appropriate
+    <code>&lt;ResourceLink&gt;</code> or
+    <code>&lt;ResourceParams&gt;</code> element for this resource.</li>
+</ul>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Session Statistics"><strong>Session Statistics</strong></a></font></td></tr><tr><td><blockquote>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/sessions?path=/examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>Display the default session timeout for a web application, and the
+number of currently active sessions that fall within ten-minute ranges of
+their actual timeout times.  For example, after restarting Tomcat and then
+executing one of the JSP samples in the <code>/examples</code> web app,
+you might get something like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Session information for application at context path /examples
+Default maximum session inactive interval 30 minutes
+30 - &lt;40 minutes:1 sessions
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Start an Existing Application"><strong>Start an Existing Application</strong></a></font></td></tr><tr><td><blockquote>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/start?path=/examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>Signal a stopped application to restart, and make itself available again.
+Stopping and starting is useful, for example, if the database required by
+your application becomes temporarily unavailable.  It is usually better to
+stop the web application that relies on this database rather than letting
+users continuously encounter database exceptions.</p>
+
+<p>If this command succeeds, you will see a response like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Started application at context path /examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>Otherwise, the response will start with <code>FAIL</code> and include an
+error message.  Possible causes for problems include:</p>
+<ul>
+<li><em>Encountered exception</em>
+    <blockquote>
+    <p>An exception was encountered trying to start the web application.
+    Check the Tomcat 6 logs for the details.</p>
+    </blockquote></li>
+<li><em>Invalid context path was specified</em>
+    <blockquote>
+    <p>The context path must start with a slash character. To reference the
+    ROOT web application use "/".</p>
+    </blockquote></li>
+<li><em>No context exists for path /foo</em>
+    <blockquote>
+    <p>There is no deployed application on the context path
+    that you specified.</p>
+    </blockquote></li>
+<li><em>No context path was specified</em>
+    <blockquote>
+    The <code>path</code> parameter is required.
+    </blockquote></li>
+</ul>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Stop an Existing Application"><strong>Stop an Existing Application</strong></a></font></td></tr><tr><td><blockquote>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/stop?path=/examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>Signal an existing application to make itself unavailable, but leave it
+deployed.  Any request that comes in while an application is
+stopped will see an HTTP error 404, and this application will show as
+"stopped" on a list applications command.</p>
+
+<p>If this command succeeds, you will see a response like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Stopped application at context path /examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>Otherwise, the response will start with <code>FAIL</code> and include an
+error message.  Possible causes for problems include:</p>
+<ul>
+<li><em>Encountered exception</em>
+    <blockquote>
+    <p>An exception was encountered trying to stop the web application.
+    Check the Tomcat 6 logs for the details.</p>
+    </blockquote></li>
+<li><em>Invalid context path was specified</em>
+    <blockquote>
+    <p>The context path must start with a slash character. To reference the
+    ROOT web application use "/".</p>
+    </blockquote></li>
+<li><em>No context exists for path /foo</em>
+    <blockquote>
+    <p>There is no deployed application on the context path
+    that you specified.</p>
+    </blockquote></li>
+<li><em>No context path was specified</em>
+    <blockquote>
+    The <code>path</code> parameter is required.
+    </blockquote></li>
+</ul>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Undeploy an Existing Application"><strong>Undeploy an Existing Application</strong></a></font></td></tr><tr><td><blockquote>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/undeploy?path=/examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p><strong><font color="red">WARNING</font> - This command will delete any web 
+application artifacts that exist within <code>appBase</code> directory 
+(typically "webapps") for this virtual host</strong>.
+This will delete the the application .WAR, if present, 
+the application directory resulting either from a deploy in unpacked form 
+or from .WAR expansion as well as the XML Context definition from
+<code>$CATALINA_BASE/conf/[enginename]/[hostname]/</code> directory. 
+If you simply want to take an application
+out of service, you should use the <code>/stop</code> command instead.</p>
+
+<p>Signal an existing application to gracefully shut itself down, and
+remove it from Tomcat (which also makes this context path available for
+reuse later).  In addition, the document root directory is removed, if it
+exists in the <code>appBase</code> directory (typically "webapps") for
+this virtual host.  This command is the logical opposite of the
+<code>/deploy</code> command.</p>
+
+<p>If this command succeeds, you will see a response like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Undeployed application at context path /examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>Otherwise, the response will start with <code>FAIL</code> and include an
+error message.  Possible causes for problems include:</p>
+<ul>
+<li><em>Encountered exception</em>
+    <blockquote>
+    <p>An exception was encountered trying to undeploy the web application.
+    Check the Tomcat 6 logs for the details.</p>
+    </blockquote></li>
+<li><em>Invalid context path was specified</em>
+    <blockquote>
+    <p>The context path must start with a slash character. To reference the
+    ROOT web application use "/".</p>
+    </blockquote></li>
+<li><em>No context exists for path /foo</em>
+    <blockquote>
+    <p>There is no deployed application on the context path
+    that you specified.</p>
+    </blockquote></li>
+<li><em>No context path was specified</em>
+    <blockquote>
+    The <code>path</code> parameter is required.
+    </blockquote></li>
+</ul>
+
+</blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Executing Manager Commands With Ant"><strong>Executing Manager Commands With Ant</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>In addition to the ability to execute Manager commands via HTTP requests,
+as documented above, Tomcat 6 includes a convenient set of Task definitions
+for the <em>Ant</em> (version 1.4 or later) build tool.  In order to use these
+commands, you must perform the following setup operations:</p>
+<ul>
+<li>Download the binary distribution of Ant from
+    <a href="http://ant.apache.org">http://ant.apache.org</a>.
+    You must use version <strong>1.4</strong> or later.</li>
+<li>Install the Ant distribution in a convenient directory (called
+    ANT_HOME in the remainder of these instructions).</li>
+<li>Copy the file <code>server/lib/catalina-ant.jar</code> from your Tomcat 6
+    installation into Ant's library directory (<code>$ANT_HOME/lib</code>).
+    </li>
+<li>Add the <code>$ANT_HOME/bin</code> directory to your <code>PATH</code>
+    environment variable.</li>
+<li>Configure at least one username/password combination in your Tomcat
+    user database that includes the <code>manager</code> role.</li>
+</ul>
+
+<p>To use custom tasks within Ant, you must declare them first with a
+<code>&lt;taskdef&gt;</code> element.  Therefore, your <code>build.xml</code>
+file might look something like this:</p>
+
+<table border="1">
+<tr><td><pre>
+&lt;project name="My Application" default="compile" basedir="."&gt;
+
+  &lt;!-- Configure the directory into which the web application is built --&gt;
+  &lt;property name="build"    value="${basedir}/build"/&gt;
+
+  &lt;!-- Configure the context path for this application --&gt;
+  &lt;property name="path"     value="/myapp"/&gt;
+
+  &lt;!-- Configure properties to access the Manager application --&gt;
+  &lt;property name="url"      value="http://localhost:8080/manager"/&gt;
+  &lt;property name="username" value="myusername"/&gt;
+  &lt;property name="password" value="mypassword"/&gt;
+
+  &lt;!-- Configure the custom Ant tasks for the Manager application --&gt;
+  &lt;taskdef name="deploy"    classname="org.apache.catalina.ant.DeployTask"/&gt;
+  &lt;taskdef name="list"      classname="org.apache.catalina.ant.ListTask"/&gt;
+  &lt;taskdef name="reload"    classname="org.apache.catalina.ant.ReloadTask"/&gt;
+  &lt;taskdef name="resources" classname="org.apache.catalina.ant.ResourcesTask"/&gt;
+  &lt;taskdef name="roles"     classname="org.apache.catalina.ant.RolesTask"/&gt;
+  &lt;taskdef name="start"     classname="org.apache.catalina.ant.StartTask"/&gt;
+  &lt;taskdef name="stop"      classname="org.apache.catalina.ant.StopTask"/&gt;
+  &lt;taskdef name="undeploy"  classname="org.apache.catalina.ant.UndeployTask"/&gt;
+
+  &lt;!-- Executable Targets --&gt;
+  &lt;target name="compile" description="Compile web application"&gt;
+    &lt;!-- ... construct web application in ${build} subdirectory, and
+            generated a ${path}.war ... --&gt;
+  &lt;/target&gt;
+
+  &lt;target name="deploy" description="Install web application"
+          depends="compile"&gt;
+    &lt;deploy url="${url}" username="${username}" password="${password}"
+            path="${path}" war="file:${build}${path}.war"/&gt;
+  &lt;/target&gt;
+
+  &lt;target name="reload" description="Reload web application"
+          depends="compile"&gt;
+    &lt;reload  url="${url}" username="${username}" password="${password}"
+            path="${path}"/&gt;
+  &lt;/target&gt;
+
+  &lt;target name="undeploy" description="Remove web application"&gt;
+    &lt;undeploy url="${url}" username="${username}" password="${password}"
+            path="${path}"/&gt;
+  &lt;/target&gt;
+
+&lt;/project&gt;
+</pre></td></tr>
+</table>
+
+<p>Now, you can execute commands like <code>ant deploy</code> to deploy the
+application to a running instance of Tomcat, or <code>ant reload</code> to
+tell Tomcat to reload it.  Note also that most of the interesting values in
+this <code>build.xml</code> file are defined as replaceable properties, so
+you can override their values from the command line.  For example, you might
+consider it a security risk to include the real manager password in your
+<code>build.xml</code> file's source code.  To avoid this, omit the password
+property, and specify it from the command line:</p>
+<pre>
+  ant -Dpassword=secret deploy
+</pre>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tasks output capture"><strong>Tasks output capture</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Using <em>Ant</em> version <strong>1.6.2</strong> or later,
+the Catalina tasks offer the option to capture their output in 
+properties or external files. They support directly the following subset of the 
+<code>&lt;redirector&gt;</code> type attributes:
+</p>
+
+<table border="1" cellpadding="2" cellspacing="0">
+<tbody>
+<tr>
+<td valign="top"><b>Attribute</b></td>
+<td valign="top"><b>Description</b></td>
+<td align="center" valign="top"><b>Required</b></td>
+</tr>
+<tr>
+<td valign="top">output</td>
+<td valign="top">Name of a file to which to write the output. If
+the error stream is not also redirected to a file or property, it will
+appear in this output.</td>
+<td align="center" valign="top">No</td>
+</tr>
+<tr>
+<td valign="top">error</td>
+<td valign="top">The file to which the standard error of the
+command should be redirected.</td>
+<td align="center" valign="top">No</td>
+</tr>
+<tr>
+<td valign="top">logError</td>
+<td valign="top">This attribute is used when you wish to see
+error output in Ant's log and you are redirecting output to a
+file/property. The error output will not be included in the output
+file/property. If you redirect error with the <i>error</i> or <i>errorProperty</i>
+attributes, this will have no effect.</td>
+<td align="center" valign="top">No</td>
+</tr>
+<tr>
+<td valign="top">append</td>
+<td valign="top">Whether output and error files should be
+appended to or overwritten. Defaults to <code>false</code>.</td>
+<td align="center" valign="top">No</td>
+</tr>
+<tr>
+<td valign="top">createemptyfiles</td>
+<td valign="top">Whether output and error files should be created
+even when empty. Defaults to <code>true</code>.</td>
+<td align="center" valign="top">No</td>
+</tr>
+<tr>
+<td valign="top">outputproperty</td>
+<td valign="top">The name of a property in which the output of
+the command should be stored. Unless the error stream is redirected to
+a separate file or stream, this property will include the error output.</td>
+<td align="center" valign="top">No</td>
+</tr>
+<tr>
+<td valign="top">errorproperty</td>
+<td valign="top">The name of a property in which the standard
+error of the command should be stored.</td>
+<td align="center" valign="top">No</td>
+</tr>
+</tbody>
+</table>
+
+<p>A couple of additional attributes can also be specified:
+</p>
+<table border="1" cellpadding="2" cellspacing="0">
+<tbody>
+<tr>
+<td valign="top"><b>Attribute</b></td>
+<td valign="top"><b>Description</b></td>
+<td align="center" valign="top"><b>Required</b></td>
+</tr>
+<tr>
+<td valign="top">alwaysLog</td>
+<td valign="top">This attribute is used when you wish to see the
+output you are capturing, appearing also in the Ant's log. It must not be
+used unless you are capturing task output.
+Defaults to <code>false</code>.
+<em>This attribute will be supported directly by <code>&lt;redirector&gt;</code>
+in Ant 1.6.3</em></td>
+<td align="center" valign="top">No</td>
+</tr>
+<tr>
+<td valign="top">failonerror</td>
+<td valign="top">This attribute is used when you wish to avoid that
+any manager command processing error terminates the ant execution. Defaults to <code>true</code>.
+It must be set to <code>false</code>, if you want to capture error output,
+otherwise execution will terminate before anything can be captured.
+<br>
+This attribute acts only on manager command execution,
+any wrong or missing command attribute will still cause Ant execution termination.
+</td>
+<td align="center" valign="top">No</td>
+</tr>
+</tbody>
+</table>
+
+<p>They also support the embedded <code>&lt;redirector&gt;</code> element
+in which you can specify
+its full set of attributes, but <code>input</code>, <code>inputstring</code> and 
+<code>inputencoding</code> that, even if accepted, are not used because they have
+no meaning in this context.
+Refer to <a href="http://ant.apache.org">ant manual</a> for details on 
+<code>&lt;redirector&gt;</code> element attributes.
+</p>
+
+<p>
+Here is a sample build file extract that shows how this output redirection support
+can be used:
+</p>
+
+<table border="1">
+<tr><td><pre>
+	&lt;target name="manager.deploy"
+		depends="context.status"
+		if="context.notInstalled"&gt;
+		&lt;deploy url="${mgr.url}"
+			username="${mgr.username}"
+			password="${mgr.password}"
+			path="${mgr.context.path}"
+			config="${mgr.context.descriptor}"/&gt;
+	&lt;/target&gt;
+
+	&lt;target name="manager.deploy.war"
+		depends="context.status"
+		if="context.deployable"&gt;
+		&lt;deploy url="${mgr.url}"
+			username="${mgr.username}"
+			password="${mgr.password}"
+			update="${mgr.update}"
+			path="${mgr.context.path}"
+			war="${mgr.war.file}"/&gt;
+	&lt;/target&gt;
+	
+	&lt;target name="context.status"&gt;
+		&lt;property name="running" value="${mgr.context.path}:running"/&gt;
+		&lt;property name="stopped" value="${mgr.context.path}:stopped"/&gt;
+	
+		&lt;list url="${mgr.url}"
+			outputproperty="ctx.status"
+			username="${mgr.username}"
+			password="${mgr.password}"&gt;
+		&lt;/list&gt;
+		
+		&lt;condition property="context.running"&gt;
+			&lt;contains string="${ctx.status}" substring="${running}"/&gt;
+		&lt;/condition&gt;
+		&lt;condition property="context.stopped"&gt;
+			&lt;contains string="${ctx.status}" substring="${stopped}"/&gt;
+		&lt;/condition&gt;
+		&lt;condition property="context.notInstalled"&gt;
+			&lt;and&gt;
+				&lt;isfalse value="${context.running}"/&gt;
+				&lt;isfalse value="${context.stopped}"/&gt;
+			&lt;/and&gt;
+		&lt;/condition&gt;
+		&lt;condition property="context.deployable"&gt;
+			&lt;or&gt;
+				&lt;istrue value="${context.notInstalled}"/&gt;
+				&lt;and&gt;
+					&lt;istrue value="${context.running}"/&gt;
+					&lt;istrue value="${mgr.update}"/&gt;
+				&lt;/and&gt;
+				&lt;and&gt;
+					&lt;istrue value="${context.stopped}"/&gt;
+					&lt;istrue value="${mgr.update}"/&gt;
+				&lt;/and&gt;
+			&lt;/or&gt;
+		&lt;/condition&gt;
+		&lt;condition property="context.undeployable"&gt;
+			&lt;or&gt;
+				&lt;istrue value="${context.running}"/&gt;
+				&lt;istrue value="${context.stopped}"/&gt;
+			&lt;/or&gt;
+		&lt;/condition&gt;
+	&lt;/target&gt;
+</pre></td></tr>
+</table>
+
+<p><strong>WARNING:</strong> even if it doesn't make many sense, and is always a bad idea,
+calling a Catalina task more than once,
+badly set Ant tasks depends chains may cause that a task be called
+more than once in the same Ant run, even if not intended to. A bit of caution should be exercised when you are
+capturing output from that task, because this could lead to something unexpected:
+<ul>
+<li>when capturing in a property you will find in it only the output from the <em>first</em> call, because
+Ant properties are immutable and once set they cannot be changed,
+</li>
+<li>when capturing in a file, each run will overwrite it and you will find in it only the <em>last</em> call
+output, unless you are using the <code>append="true"</code> attribute, in which case you will
+see the output of each task call appended to the file.
+</li>
+</ul>
+</p>
+
+</blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Using the JMX Proxy Servlet"><strong>Using the JMX Proxy Servlet</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="What is JMX Proxy Servlet"><strong>What is JMX Proxy Servlet</strong></a></font></td></tr><tr><td><blockquote>
+    The JMX Proxy Servlet is a lightweight proxy to get and set the
+    tomcat internals. (Or any class that has been exposed via an MBean)
+    Its usage is not very user friendly but the UI is
+    extremely help for integrating command line scripts for monitoring
+    and changing the internals of tomcat. You can do two things with the proxy:
+    get information and set information. For you to really understand the
+    JMX Proxy Servlet, you should have a general understanding of JMX.
+    If you don't know what JMX is, then prepare to be confused.
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JMX Query command"><strong>JMX Query command</strong></a></font></td></tr><tr><td><blockquote>
+    This takes the form:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://webserver/manager/jmxproxy/?qry=STUFF
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+    Where <code>STUFF</code> is the JMX query you wish to perform. For example,
+    here are some queries you might wish to run:
+    <ul>
+      <li>
+        <code>qry=*%3Atype%3DRequestProcessor%2C* --&gt;
+         type=RequestProcessor</code> which will locate all
+         workers which can process requests and report
+         their state.
+      </li>
+      <li>
+        <code>qry=*%3Aj2eeType=Servlet%2c* --&gt;
+            j2eeType=Servlet</code> which return all loaded servlets.
+      </li>
+      <li>
+        <code>qry=Catalina%3Atype%3DEnvironment%2Cresourcetype%3DGlobal%2Cname%3DsimpleValue --&gt;
+            Catalina:type=Environment,resourcetype=Global,name=simpleValue</code>
+            which look for a specific MBean by the given name.
+      </li>
+    </ul>
+    You'll need to experiment with this to really understand its capabilites.
+    If you provide no <code>qry</code> parameter, then all of the MBeans will
+    be displayed. We really recommend looking at the tomcat source code and
+    understand the JMX spec to get a better understanding of all the queries
+    you may run.
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JMX Set command"><strong>JMX Set command</strong></a></font></td></tr><tr><td><blockquote>
+    Now that you can query an MBean, its time to muck with Tomcat's internals!
+    The general form of the set command is :
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://webserver/manager/jmxproxy/?set=BEANNAME&amp;att=MYATTRIBUTE&amp;val=NEWVALUE
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+    So you need to provide 3 request parameters:
+    <ol>
+      <li><code>set</code>: The full bean name</li>
+      <li><code>att</code>: The attribute you wish to alter</li>
+      <li><code>val</code>: The new value </li>
+    </ol>
+    If all goes ok, then it will say OK, otherwise an error message will be
+    shown. For example, lets say we wish to turn up debugging on the fly for the
+    <code>ErrorReportValve</code>. The following will set debugging to 10.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/jmxproxy/
+?set=Catalina%3Atype%3DValve%2Cname%3DErrorReportValve%2Chost%3Dlocalhost&amp;att=debug&amp;val=10
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+    and my result is (YMMV):
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Result: ok
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+    Here is what I see if I pass in a bad value. Here is the URL I used,
+    I try set debugging equal to 'cowbell':
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/jmxproxy/
+?set=Catalina%3Atype%3DValve%2Cname%3DErrorReportValve%2Chost%3Dlocalhost&amp;att=debug&amp;val=cowbell
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+    When I try that, my result is
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Error: java.lang.NumberFormatException: For input string: "cowbell"
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/printer/maven-jars.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/printer/maven-jars.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/printer/maven-jars.html	(revision 66)
@@ -0,0 +1,22 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - Apache Tomcat - Using Tomcat libraries with Maven</title><meta value="Filip Hanik" name="author"><meta value="fhanik@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>Apache Tomcat - Using Tomcat libraries with Maven</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Using Tomcat libraries With Maven"><strong>Using Tomcat libraries With Maven</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat Snapshots"><strong>Tomcat Snapshots</strong></a></font></td></tr><tr><td><blockquote>
+      Tomcat snapshots are located in the 
+      <a href="http://people.apache.org/repo/m2-snapshot-repository/org/apache/tomcat/">Apache Snapshot Repository</a>.
+      The official URL is <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>http://people.apache.org/repo/m2-snapshot-repository/org/apache/tomcat/</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div><br>
+      Snapshots are done periodically, not on a regular basis, but when changes happen and the Tomcat team deams a new snapshot might 
+      useful.
+    </blockquote></td></tr></table>
+    <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat Releases"><strong>Tomcat Releases</strong></a></font></td></tr><tr><td><blockquote>
+      At every release, be it alpha, beta or stable, we will publish the JARs to 
+      <a href="http://tomcat.apache.org/dev/dist/m2-repository/org/apache/tomcat/">Tomcat's Staging Repository</a>.
+      The URL for this is <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>http://tomcat.apache.org/dev/dist/m2-repository/org/apache/tomcat/</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>.<br>
+      At some point, this URL will change over to ASF's main repository that synchronizes with IBiblio.<br>
+      When that happens, all releases will be moved over, and this repository will stick around for a while, but no
+      new releases will be published to the staging repository.
+    </blockquote></td></tr></table>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/printer/mbeans-descriptor-howto.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/printer/mbeans-descriptor-howto.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/printer/mbeans-descriptor-howto.html	(revision 66)
@@ -0,0 +1,46 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - MBean Descriptor How To</title><meta value="Amy Roh" name="author"><meta value="amyroh@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>MBean Descriptor How To</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Tomcat 6 uses JMX MBeans as the technology for implementing 
+manageability of Tomcat.</p>
+
+<p>The descriptions of JMX MBeans for Catalina are in the mbeans-descriptor.xml 
+file in each package.</p>
+
+<p>You will need to add MBean descriptions for your custom components 
+in order to avoid a "ManagedBean is not found" exception.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Adding MBean descriptions"><strong>Adding MBean descriptions</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>You may also add MBean descriptions for custom components in 
+a mbeans-descriptor.xml file, located in the same package as the class files
+it describes.</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+  &lt;mbean         name="LDAPRealm"
+            className="org.apache.catalina.mbeans.ClassNameMBean"
+          description="Custom LDAPRealm"
+               domain="Catalina"
+                group="Realm"
+                 type="com.myfirm.mypackage.LDAPRealm"&gt;
+
+    &lt;attribute   name="className"
+          description="Fully qualified class name of the managed object"
+                 type="java.lang.String"
+            writeable="false"/&gt;
+
+    &lt;attribute   name="debug"
+          description="The debugging detail level for this component"
+                 type="int"/&gt;
+    .
+    .
+    .
+
+  &lt;/mbean&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/printer/monitoring.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/printer/monitoring.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/printer/monitoring.html	(revision 66)
@@ -0,0 +1,1072 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - Monitoring and Managing Tomcat</title><meta value="Peter Rossbach" name="author"><meta value="pero@apache.org" name="email"><meta value="Remy Maucherat" name="author"><meta value="remm@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>Monitoring and Managing Tomcat</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>Monitoring is a very important question today. Looking inside the running
+        server, grab some statistic data or reconfigure some aspects are 
+        daliy adminstration tasks.</p>  
+  
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Enabling JMX Remote"><strong>Enabling JMX Remote</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The Sun website includes the list of options and how to configure JMX Remote on Java 5:
+        <a href="http://java.sun.com/j2se/1.5.0/docs/guide/management/agent.html">
+        http://java.sun.com/j2se/1.5.0/docs/guide/management/agent.html</a>.
+    </p>
+    <p>For quick installation you find here a short installation guide:</p>
+    <p>Add the following parameters to your tomcat startup script:
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    set CATALINA_OPTS="-Dcom.sun.management.jmxremote \
+    -Dcom.sun.management.jmxremote.port=%my.jmx.port% \
+    -Dcom.sun.management.jmxremote.ssl=false \
+    -Dcom.sun.management.jmxremote.authenticate=false"
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+    </p>
+    <p>
+    <ol>
+    <li>When you think authorisation is a good, add and change this :
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    -Dcom.sun.management.jmxremote.authenticate=true \
+    -Dcom.sun.management.jmxremote.password.file=../conf/jmxremote.password \
+    -Dcom.sun.management.jmxremote.access.file=../conf/jmxremote.access \
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+    </li>
+    <li>edit the access allow file <em>$CATALINA_BASE/conf/jmxremote.access</em> :
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+monitorRole readonly
+controlRole readwrite
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+    </li>
+    <li>edit the password file <em>$CATALINA_BASE/conf/jmxremote.password</em> :
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+monitorRole tomcat
+controlRole tomcat
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+    <b>Tipp</b>: Password File must be readonly and not accessable from every 
+    other user! Remove all other users under windows to access this file.
+    </li>
+    </ol>
+    <b>Note:</b>The JSR 160 JMX-Adaptor opens a second data protocol port. That is a problem
+    when you have installed a local firewall.<br>
+    </p>
+    <p>Activate JMX MX4J Http Adaptor with Java 1.4:
+    <ol>
+      <li>Install the tomcat compat package</li>
+      <li>Install the mx4j-tools.jar at common/lib. Please, use the same MX4j 
+          version as your tomcat release</li>
+      <li>Configure a MX4J JMX HTTP Adaptor at your AJP Connector
+      <p>
+      <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+      &lt;Connector port="${AJP.PORT}" 
+            handler.list="mx" 
+            mx.enabled="true" 
+            mx.httpHost="${JMX.HOST}"
+            mx.httpPort="${JMX.PORT}"
+            protocol="AJP/1.3" /&gt;
+      </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+      </p>
+      <p><b>Tipp</b>: With <em>${AJP.PORT}=0</em> no ajp connection where started. 
+      </p>
+      <p><b>Note</b>: MX4J JSR 160 RMI Adaptor to support JDK 1.4 currently not integrated.
+      </p>
+      </li>
+      <li>Start your tomcat and look with a browser at http://${JMX.HOST}:${JMX.PORT}</li>
+      <li>With the mx connector parameter <code>mx.authMode="basic" mx.authUser="tomcat" mx.authPassword="strange"</code> 
+          you can control the access!</li>
+      <li>A complete list of all tomcat core MBeans can you find at <a href="../funcspecs/mbean-names.html">
+        funcspecs/mbean-names.html</a>.</li>
+    </ol>
+    </p>
+
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Manage Tomcat with JMX remote Ant Tasks"><strong>Manage Tomcat with JMX remote Ant Tasks</strong></a></font></td></tr><tr><td><blockquote>
+   <p>For simple tomcat ant task usage with ant 1.6.x we have integrate import and antlib support.</p>   
+   <p><b>antlib</b>Copy your catalina-ant.jar from $CATALINA_HOME/lib to $ANT_HOME/lib.</p>
+   <p>Following example show the JMX Accessor usage:</p>
+   <table border="1">
+   <tr><td><p><pre>
+&lt;project name="Catalina Ant JMX" 
+        xmlns:jmx="antlib:org.apache.catalina.ant.jmx" 
+        default="state"
+        basedir="."&gt;
+    &lt;property name="jmx.server.name" value="localhost" /&gt;
+    &lt;property name="jmx.server.port" value="9012" /&gt;
+    &lt;property name="cluster.server.address" value="192.168.1.75" /&gt;
+    &lt;property name="cluster.server.port" value="9025" /&gt;
+ 
+    &lt;target name="state" description="Show JMX Cluster state"&gt;
+        &lt;jmx:open
+            host="${jmx.server.name}"
+            port="${jmx.server.port}"
+            username="controlRole"
+            password="tomcat"/&gt;
+        &lt;jmx:get
+            name="Catalina:type=IDataSender,host=localhost,senderAddress=${cluster.server.address},senderPort=${cluster.server.port}" 
+            attribute="connected"
+            resultproperty="IDataSender.backup.connected"
+            echo="false"
+        /&gt;
+       &lt;jmx:get
+            name="Catalina:type=ClusterSender,host=localhost" 
+            attribute="senderObjectNames"
+            resultproperty="senderObjectNames"
+            echo="false"
+        /&gt;
+        &lt;!-- get current maxActiveSession from ClusterTest application
+             echo it to ant output and store at 
+             property &lt;em&gt;clustertest.maxActiveSessions.orginal&lt;/em&gt;
+        --&gt;
+       &lt;jmx:get
+            name="Catalina:type=Manager,path=/ClusterTest,host=localhost" 
+            attribute="maxActiveSessions"
+            resultproperty="clustertest.maxActiveSessions.orginal"
+            echo="true"
+        /&gt;
+        &lt;!-- set maxActiveSession to 100
+        --&gt;
+        &lt;jmx:set
+            name="Catalina:type=Manager,path=/ClusterTest,host=localhost" 
+            attribute="maxActiveSessions"
+            value="100"
+            type="int"
+        /&gt;
+        &lt;!-- get all sessions and split result as delimiter &lt;em&gt;SPACE&lt;/em&gt; for easy
+             access all session ids directly with ant property sessions.[0..n].
+        --&gt;
+        &lt;jmx:invoke
+            name="Catalina:type=Manager,path=/ClusterTest,host=localhost" 
+            operation="listSessionIds"
+            resultproperty="sessions"
+            echo="false"
+            delimiter=" "
+        /&gt;
+        &lt;!-- Access session attribute &lt;em&gt;Hello&lt;/em&gt; from first session.
+        --&gt;
+        &lt;jmx:invoke
+            name="Catalina:type=Manager,path=/ClusterTest,host=localhost" 
+            operation="getSessionAttribute"
+            resultproperty="Hello"
+            echo="false"
+        &gt;
+          &lt;arg value="${sessions.0}"/&gt;
+          &lt;arg value="Hello"/&gt;
+        &lt;/jmx:invoke&gt; 
+        &lt;!-- Query for all application manager.of the server from all hosts
+             and bind all attributes from all found manager mbeans.
+        --&gt;
+        &lt;jmx:query
+            name="Catalina:type=Manager,*" 
+            resultproperty="manager"
+            echo="true"
+            attributebinding="true"
+        /&gt;
+        &lt;!-- echo the create properties --&gt;
+        &lt;echo&gt;
+           senderObjectNames: ${senderObjectNames.0}
+           IDataSender.backup.connected: ${IDataSender.backup.connected}
+           session: ${sessions.0}
+           manager.length: ${manager.length}
+           manager.0.name: ${manager.0.name}
+           manager.1.name: ${manager.1.name}
+           hello: ${Hello}
+           manager.ClusterTest.0.name: ${manager.ClusterTest.0.name}
+           manager.ClusterTest.0.activeSessions: ${manager.ClusterTest.0.activeSessions}
+           manager.ClusterTest.0.counterSend_EVT_SESSION_EXPIRED: ${manager.ClusterTest.0.counterSend_EVT_SESSION_EXPIRED}
+           manager.ClusterTest.0.counterSend_EVT_GET_ALL_SESSIONS: ${manager.ClusterTest.0.counterSend_EVT_GET_ALL_SESSIONS}
+        &lt;/echo&gt;   
+
+    &lt;/target&gt;
+ 
+&lt;/project&gt;
+   </pre></p>
+   </td></tr>
+</table>
+   <p><b>import:</b> Import the JMX Accessor Projekt with 
+   <em>&lt;import file="${CATALINA.HOME}/bin/jmxaccessor-tasks.xml" /&gt;</em> and
+   reference the tasks with <em>jmxOpen</em>, <em>jmxSet</em>, <em>jmxGet</em>,
+    <em>jmxQuery</em>, <em>jmxInvoke</em>,<em>jmxEquals</em> and <em>jmxCondition</em>. </p>
+
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JMXAccessorOpenTask - jmx open connection task"><strong>JMXAccessorOpenTask - jmx open connection task</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+List of Attributes<br>
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">Attribute</th>
+    <th align="center" bgcolor="aqua">Description</th>
+    <th align="center" bgcolor="aqua">Default value</th>
+  </tr>
+
+  <tr>
+    <td>url</td>
+    <td>Set jmx connection url - <em>service:jmx:rmi:///jndi/rmi://localhost:8050/jmxrmi</em>
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>host</td>
+    <td>Set the host, shortcut the very long url syntax.
+    </td>
+    <td><code>localhost</code></td>
+  </tr>
+
+  <tr>
+    <td>port</td>
+    <td>Set the remote connection port 
+    </td>
+    <td><code>8050</code></td>
+  </tr>
+
+  <tr>
+    <td>username</td>
+    <td>remote jmx connection user name.
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>password</td>
+    <td>remote jmx connection password.
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>ref</td>
+    <td>Name of the internal connection referenz. With this attribute you can
+        configure more the one connection inside the same ant projekt.
+    </td>
+    <td><code>jmx.server</code></td>
+  </tr>
+
+  <tr>
+    <td>echo</td>
+    <td>Echo the command usage (for analyse access or debugging)
+    </td>
+    <td><code>false</code></td>
+  </tr>
+  
+  <tr>
+    <td>if</td>
+    <td>Only execute if a property of the given name <b>exists</b> in the current project.
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>unless</td>
+    <td>Only execute if a property of the given name <b>not exists</b> in the current project.
+    </td>
+    <td></td>
+  </tr>
+
+</table>
+</p>
+<p>
+Example to open a new jmx connection<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;jmx:open
+            host="${jmx.server.name}"
+            port="${jmx.server.port}"
+    /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>  
+<p>
+Example to open a jmx connection from url, with authorisation and 
+store at other reference <br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;jmx:open
+            url="service:jmx:rmi:///jndi/rmi://localhost:9024/jmxrmi"
+            ref="jmx.server.9024"
+            username="controlRole"
+            password="tomcat"    
+    /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>  
+
+<p>
+Example to open a jmx connection from url, with authorisation and 
+store at other reference, but only when property <em>jmx.if</em> exists and 
+<em>jmx.unless</em> not exists<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;jmx:open
+            url="service:jmx:rmi:///jndi/rmi://localhost:9024/jmxrmi"
+            ref="jmx.server.9024"
+            username="controlRole"
+            password="tomcat"    
+            if="jmx.if"    
+            unless="jmx.unless"    
+    /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p> 
+<p><b>Note</b>: All properties from <em>jmxOpen</em> task also exists at all 
+other tasks and conditions. 
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JMXAccessorGetTask:  get attribute value ant task"><strong>JMXAccessorGetTask:  get attribute value ant task</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+List of Attributes<br>
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">Attribute</th>
+    <th align="center" bgcolor="aqua">Description</th>
+    <th align="center" bgcolor="aqua">Default value</th>
+  </tr>
+
+  <tr>
+    <td>name</td>
+    <td>Full qualified JMX ObjectName -- <em>Catalina:type=Server</em>
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>attribute</td>
+    <td>Existing Mbean attribute (see Tomcat mbean description above)
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>ref</td>
+    <td>JMX Connection reference
+    </td>
+    <td><code>jmx.server</code></td>
+  </tr>
+
+  <tr>
+    <td>echo</td>
+    <td>Echo command usage (access and result)
+    </td>
+    <td><code>false</code></td>
+  </tr>
+
+  <tr>
+    <td>resultproperty</td>
+    <td>Save result at this project property
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>delimiter</td>
+    <td>Split result with delimiter (java.util.StringTokenizier) 
+        and use resultproperty as prefix to store tokens.
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>separatearrayresults</td>
+    <td>When return value is an array, save result as property list 
+    (<em>$resultproperty.[0..N]</em> and <em>$resultproperty.lenght</em>) 
+    </td>
+    <td><code>true</code></td>
+  </tr>
+
+</table>
+</p>
+<p>
+Example to get remote mbean attribute from default jmx connection <br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;jmx:get
+        name="Catalina:type=Manager,path=/servlets-examples,host=localhost" 
+        attribute="maxActiveSessions"
+        resultproperty="servlets-examples.maxActiveSessions"
+    /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>  
+<p>
+Example to get and result array and split it at separate properties<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;jmx:get
+        name="Catalina:type=ClusterSender,host=localhost" 
+        attribute="senderObjectNames"
+        resultproperty="senderObjectNames"
+    /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+Access the senderObjectNames properties with:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    ${senderObjectNames.lenght} give the number of returned sender list.
+    ${senderObjectNames.[0..N]} found all sender object names
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>  
+
+<p>
+Example to get IDataSender attribute connected only when cluster is configured.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;jmx:query
+    failonerror="false"
+    name="Catalina:type=Cluster,host=${tomcat.application.host}"
+    resultproperty="cluster"
+/&gt;
+&lt;jmx:get
+    name="Catalina:type=IDataSender,host=${tomcat.application.host},senderAddress=${cluster.backup.address},senderPort=${cluster.backup.port}" 
+    attribute="connected"
+    resultproperty="datasender.connected"
+    if="cluster.0.name" /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>  
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JMXAccessorSetTask:  set attribute value ant task"><strong>JMXAccessorSetTask:  set attribute value ant task</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+List of Attributes<br>
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">Attribute</th>
+    <th align="center" bgcolor="aqua">Description</th>
+    <th align="center" bgcolor="aqua">Default value</th>
+  </tr>
+
+  <tr>
+    <td>name</td>
+    <td>Full qualified JMX ObjectName -- <em>Catalina:type=Server</em>
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>attribute</td>
+    <td>Existing Mbean attribute (see Tomcat mbean description above)
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>value</td>
+    <td>value that set to attribute 
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>type</td>
+    <td>type of the attribute.
+    </td>
+    <td>java.lang.String</td>
+  </tr>
+
+  <tr>
+    <td>ref</td>
+    <td>JMX Connection reference
+    </td>
+    <td><code>jmx.server</code></td>
+  </tr>
+
+  <tr>
+    <td>echo</td>
+    <td>Echo command usage (access and result)
+    </td>
+    <td><code>false</code></td>
+  </tr>
+
+</table>
+</p>
+<p>
+Example to set remote mbean attribute value<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;jmx:set
+        name="Catalina:type=Manager,path=/servlets-examples,host=localhost" 
+        attribute="maxActiveSessions"
+        value="500"
+        type="int"
+    /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>  
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JMXAccessorInvokeTask:  invoke Mbean operation ant task"><strong>JMXAccessorInvokeTask:  invoke Mbean operation ant task</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+List of Attributes<br>
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">Attribute</th>
+    <th align="center" bgcolor="aqua">Description</th>
+    <th align="center" bgcolor="aqua">Default value</th>
+  </tr>
+
+  <tr>
+    <td>name</td>
+    <td>Full qualified JMX ObjectName -- <em>Catalina:type=Server</em>
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>operation</td>
+    <td>Existing Mbean operation (see Tomcat 
+        <a href="../funcspecs/fs-admin-opers.html">funcspecs/fs-admin-opers.html</a>.
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>ref</td>
+    <td>JMX Connection reference
+    </td>
+    <td><code>jmx.server</code></td>
+  </tr>
+
+  <tr>
+    <td>echo</td>
+    <td>Echo command usage (access and result)
+    </td>
+    <td><code>false</code></td>
+  </tr>
+
+  <tr>
+    <td>resultproperty</td>
+    <td>Save result at this project property
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>delimiter</td>
+    <td>Split result with delimiter (java.util.StringTokenizier) 
+        and use resultproperty as prefix to store tokens.
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>separatearrayresults</td>
+    <td>When return value is an array, save result as property list 
+    (<em>$resultproperty.[0..N]</em> and <em>$resultproperty.lenght</em>) 
+    </td>
+    <td><code>true</code></td>
+  </tr>
+
+</table>
+</p>
+<p>
+stop an application <br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;jmx:invoke
+        name="Catalina:type=Manager,path=/servlets-examples,host=localhost" 
+        operation="stop"/&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+Now you can find the sessionid at <em>${sessions.[0..N}</em> properties and access the count
+with ${sessions.lenght} property.
+</p>  
+<p>
+Example to get all sessionids <br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;jmx:invoke
+        name="Catalina:type=Manager,path=/servlets-examples,host=localhost" 
+        operation="listSessionIds"
+        resultproperty="sessions"
+        delimiter=" "        
+    /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+Now you can find the sessionid at <em>${sessions.[0..N}</em> properties and access the count
+with ${sessions.lenght} property.
+</p>  
+<p>
+Example to get remote mbean session attribute from session ${sessionid.0}<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;jmx:invoke
+        name="Catalina:type=Manager,path=/ClusterTest,host=localhost" 
+        operation="getSessionAttribute"
+        resultproperty="hello"&gt;
+         &lt;arg value="${sessionid.0}"/&gt;
+         &lt;arg value="Hello" /&gt;
+ &lt;/jmx:invoke&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+<p>
+Example to create a new access logger valve at vhost <em>localhost</em>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+ &lt;jmx:invoke
+         name="Catalina:type=MBeanFactory" 
+         operation="createAcccesLoggerValve"
+         resultproperty="acccesLoggerObjectName"
+ &gt;
+     &lt;arg value="Catalina:type=Host,host=localhost"/&gt;
+ &lt;/jmx:invoke&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+Now you can find new Mbean with name stored at <em>${acccesLoggerObjectName}</em>
+proeprty.
+</p>  
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JMXAccessorQueryTask:  query Mbean ant task"><strong>JMXAccessorQueryTask:  query Mbean ant task</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+List of Attributes<br>
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">Attribute</th>
+    <th align="center" bgcolor="aqua">Description</th>
+    <th align="center" bgcolor="aqua">Default value</th>
+  </tr>
+
+  <tr>
+    <td>name</td>
+    <td>JMX  ObjectName query string -- <em>Catalina:type=Manager,*</em>
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>ref</td>
+    <td>JMX Connection reference
+    </td>
+    <td><code>jmx.server</code></td>
+  </tr>
+
+  <tr>
+    <td>echo</td>
+    <td>Echo command usage (access and result)
+    </td>
+    <td><code>false</code></td>
+  </tr>
+
+  <tr>
+    <td>resultproperty</td>
+    <td>Prefix project property name to all founded Mbeans (<em>mbeans.[0..N].objectname</em>)
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>attributebinduing</td>
+    <td>bind ALL MBean attributes in addition to <em>name</em>
+    </td>
+    <td><code>false</code></td>
+  </tr>
+
+  <tr>
+    <td>delimiter</td>
+    <td>Split result with delimiter (java.util.StringTokenizier) 
+        and use resultproperty as prefix to store tokens.
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>separatearrayresults</td>
+    <td>When return value is an array, save result as property list 
+    (<em>$resultproperty.[0..N]</em> and <em>$resultproperty.lenght</em>) 
+    </td>
+    <td><code>true</code></td>
+  </tr>
+
+</table>
+</p>
+<p>
+Get all Manager ObjectNames from all services and Hosts <br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+  &lt;jmx:query
+           name="Catalina:type=Manager,* 
+           resultproperty="manager" /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+Now you can find the Session Manager at <em>${manager.[0..N].name}</em> 
+properties and access the result object counter with ${manager.length} property.
+</p>  
+<p>
+Example to get the Manager from <em>servlet-examples</em> application an bind all mbean properties<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+  &lt;jmx:query
+           name="Catalina:type=Manager,path=/servlet-examples,host=localhost*" 
+           attributebinding="true"
+           resultproperty="manager.servletExamples" /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+Now you can find the manager at <em>${manager.servletExamples.0.name}</em> property
+and can access all properties from this manager with <em>${manager.servletExamples.0.[manager attribute names]</em>}.
+The result object counter from MBeans is stored ad ${manager.length} property.
+</p>  
+
+<p>
+Example to get all MBeans from a server and store inside an external xml property file<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;project name="jmx.query"         
+            xmlns:jmx="antlib:org.apache.catalina.ant.jmx"
+            default="query-all" basedir="."&gt;
+&lt;property name="jmx.host" value="localhost"/&gt;
+&lt;property name="jmx.port" value="8050"/&gt;
+&lt;property name="jmx.username" value="controlRole"/&gt;
+&lt;property name="jmx.password" value="tomcat"/&gt;
+
+&lt;target name="query-all" description="Query all MBeans of a server"&gt;
+&lt;!-- Configure connection --&gt;
+&lt;jmx:open 
+    host="${jmx.host}"
+    port="${jmx.port}"
+    ref="jmx.server"
+    username="${jmx.username}"
+    password="${jmx.password}"/&gt;
+&lt;!-- Query MBean list --&gt;
+&lt;jmx:query 
+    name="*:*"
+    resultproperty="mbeans"
+    attributebinding="false"/&gt;
+    
+&lt;echoproperties
+    destfile="mbeans.properties"
+    prefix="mbeans."
+    format="xml"/&gt;
+    
+&lt;!-- Print results --&gt;
+&lt;echo
+    message="Number of MBeans in server ${jmx.host}:${jmx.port} is ${mbeans.length}"/&gt;
+&lt;/target&gt;
+&lt;/project&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+Now you can find all MBeans inside the file <em>mbeans.properties</em>.
+</p>  
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JMXAccessorCreateTask:  remote create mbean ant task"><strong>JMXAccessorCreateTask:  remote create mbean ant task</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+List of Attributes<br>
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">Attribute</th>
+    <th align="center" bgcolor="aqua">Description</th>
+    <th align="center" bgcolor="aqua">Default value</th>
+  </tr>
+
+  <tr>
+    <td>name</td>
+    <td>Full qualified JMX ObjectName -- <em>Catalina:type=MBeanFactory</em>
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>className</td>
+    <td>Existing MBean full qualified classname (see Tomcat mbean description above)
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>classLoader</td>
+    <td>ObjectName of server or web application classloader <br>
+    ( <em>Catalina:type=ServerClassLoader,name=[server,common,shared]</em> or<br>
+     <em>Catalina:type=WebappClassLoader,path=/myapps,host=localhost</em>) 
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>ref</td>
+    <td>JMX Connection reference
+    </td>
+    <td><code>jmx.server</code></td>
+  </tr>
+
+  <tr>
+    <td>echo</td>
+    <td>Echo command usage (access and result)
+    </td>
+    <td><code>false</code></td>
+  </tr>
+
+</table>
+</p>
+<p>
+Example to create remote mbean<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;jmx:create
+             ref="${jmx.reference}"
+             name="Catalina:type=MBeanFactory"
+             className="org.apache.commons.modeler.BaseModelMBean"
+             classLoader="Catalina:type=ServerClassLoader,name=server"&gt;             
+             &lt;Arg value="org.apache.catalina.mbeans.MBeanFactory" /&gt;
+    &lt;/jmx:create&gt; 
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>  
+<p>
+    <b>Warning</b>: A lot of tomcat mbeans can't be really create and connect with <br>
+    the parent. The valve, cluster or realm Mbeans are not autconnect with there parent.<br> 
+    Use <em>MBeanFacrory</em> create operation instead.
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JMXAccessorUnregisterTask:  remote unregister mbean ant task"><strong>JMXAccessorUnregisterTask:  remote unregister mbean ant task</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+List of Attributes<br>
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">Attribute</th>
+    <th align="center" bgcolor="aqua">Description</th>
+    <th align="center" bgcolor="aqua">Default value</th>
+  </tr>
+
+  <tr>
+    <td>name</td>
+    <td>Full qualified JMX ObjectName -- <em>Catalina:type=MBeanFactory</em>
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>ref</td>
+    <td>JMX Connection reference
+    </td>
+    <td><code>jmx.server</code></td>
+  </tr>
+
+  <tr>
+    <td>echo</td>
+    <td>Echo command usage (access and result)
+    </td>
+    <td><code>false</code></td>
+  </tr>
+
+</table>
+</p>
+<p>
+Example to unregister remote mbean<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;jmx:unregister
+        name="Catalina:type=MBeanFactory" 
+    /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>  
+<p>
+    <b>Warning</b>: A lot of tomcat mbeans can't be really unregister. <br>
+    The Mbeans are not deregister from parent. Use <em>MBeanFacrory</em> <br>
+    remove operation instead.
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JMXAccessorCondition:  express condition"><strong>JMXAccessorCondition:  express condition</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+List of Attributes<br>
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">Attribute</th>
+    <th align="center" bgcolor="aqua">Description</th>
+    <th align="center" bgcolor="aqua">Default value</th>
+  </tr>
+
+ <tr>
+    <td>url</td>
+    <td>Set jmx connection url - <em>service:jmx:rmi:///jndi/rmi://localhost:8050/jmxrmi</em>
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>host</td>
+    <td>Set the host, shortcut the very long url syntax.
+    </td>
+    <td><code>localhost</code></td>
+  </tr>
+
+  <tr>
+    <td>port</td>
+    <td>Set the remote connection port 
+    </td>
+    <td><code>8050</code></td>
+  </tr>
+
+  <tr>
+    <td>username</td>
+    <td>remote jmx connection user name.
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>password</td>
+    <td>remote jmx connection password.
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>ref</td>
+    <td>Name of the internal connection reference. With this attribute you can
+        configure more the one connection inside the same ant projekt.
+    </td>
+    <td><code>jmx.server</code></td>
+  </tr>
+
+  <tr>
+    <td>name</td>
+    <td>Full qualified JMX ObjectName -- <em>Catalina:type=Server</em>
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>echo</td>
+    <td>Echo condition usage (access and result)
+    </td>
+    <td><code>false</code></td>
+  </tr>
+
+  <tr>
+    <td>if</td>
+    <td>Only execute if a property of the given name <b>exists</b> in the current project.
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>unless</td>
+    <td>Only execute if a property of the given name <b>not exists</b> in the current project.
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>value (requiered)</td>
+    <td>Second arg for operation
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>type</td>
+    <td>Value type to express operation (support <em>long</em> and <em>double</em>)
+    </td>
+    <td><code>long</code></td>
+  </tr>
+
+  <tr>
+    <td>operation</td>
+    <td> express one 
+    <ul>
+    <li>==  equals</li>
+    <li>!=  not equals</li>
+    <li>&gt; greater than (&amp;gt;)</li>
+    <li>&gt;= greater than or equals (&amp;gt;=)</li>
+    <li>&lt; lesser than (&amp;lt;)</li>
+    <li>&lt;= lesser than or equals (&amp;lt;=)</li>
+    </ul>         
+    </td>
+    <td><code>==</code></td>
+  </tr>
+
+</table>
+</p>
+<p>
+Wait for server connection and that cluster backup node is accessable<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+      &lt;target name="wait"&gt;
+         &lt;waitfor maxwait="${maxwait}" maxwaitunit="second" timeoutproperty="server.timeout" &gt;
+            &lt;and&gt;
+                &lt;socket server="${server.name}" port="${server.port}"/&gt;
+                &lt;http url="${url}"/&gt;
+                &lt;jmx:condition
+                    operation="==" 
+                    host="localhost" 
+                    port="9014"
+                    username="controlRole"
+                    password="tomcat"
+                    name="Catalina:type=IDataSender,host=localhost,senderAddress=192.168.111.1,senderPort=9025"
+                    attribute="connected"
+                    value="true"
+                /&gt;
+            &lt;/and&gt;
+        &lt;/waitfor&gt;
+        &lt;fail if="server.timeout" message="Server ${url} don't answer inside ${maxwait} sec" /&gt;
+        &lt;echo message="Server ${url} alive" /&gt;
+    &lt;/target&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>  
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JMXAccessorEqualsCondition:  equals Mbean ant condition"><strong>JMXAccessorEqualsCondition:  equals Mbean ant condition</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+List of Attributes<br>
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">Attribute</th>
+    <th align="center" bgcolor="aqua">Description</th>
+    <th align="center" bgcolor="aqua">Default value</th>
+  </tr>
+
+ <tr>
+    <td>url</td>
+    <td>Set jmx connection url - <em>service:jmx:rmi:///jndi/rmi://localhost:8050/jmxrmi</em>
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>host</td>
+    <td>Set the host, shortcut the very long url syntax.
+    </td>
+    <td><code>localhost</code></td>
+  </tr>
+
+  <tr>
+    <td>port</td>
+    <td>Set the remote connection port 
+    </td>
+    <td><code>8050</code></td>
+  </tr>
+
+  <tr>
+    <td>username</td>
+    <td>remote jmx connection user name.
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>password</td>
+    <td>remote jmx connection password.
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>ref</td>
+    <td>Name of the internal connection referenz. With this attribute you can
+        configure more the one connection inside the same ant projekt.
+    </td>
+    <td><code>jmx.server</code></td>
+  </tr>
+
+  <tr>
+    <td>name</td>
+    <td>Full qualified JMX ObjectName -- <em>Catalina:type=Server</em>
+    </td>
+    <td></td>
+  </tr>
+
+
+  <tr>
+    <td>echo</td>
+    <td>Echo condition usage (access and result)
+    </td>
+    <td><code>false</code></td>
+  </tr>
+
+</table>
+</p>
+<p>
+Wait for server connection and that cluster backup node is accessable<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+      &lt;target name="wait"&gt;
+         &lt;waitfor maxwait="${maxwait}" maxwaitunit="second" timeoutproperty="server.timeout" &gt;
+            &lt;and&gt;
+                &lt;socket server="${server.name}" port="${server.port}"/&gt;
+                &lt;http url="${url}"/&gt;
+                &lt;jmx:equals 
+                    host="localhost" 
+                    port="9014"
+                    username="controlRole"
+                    password="tomcat"
+                    name="Catalina:type=IDataSender,host=localhost,senderAddress=192.168.111.1,senderPort=9025"
+                    attribute="connected"
+                    value="true"
+                /&gt;
+            &lt;/and&gt;
+        &lt;/waitfor&gt;
+        &lt;fail if="server.timeout" message="Server ${url} don't answer inside ${maxwait} sec" /&gt;
+        &lt;echo message="Server ${url} alive" /&gt;
+    &lt;/target&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>  
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/printer/proxy-howto.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/printer/proxy-howto.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/printer/proxy-howto.html	(revision 66)
@@ -0,0 +1,116 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - Proxy Support HOW-TO</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>Proxy Support HOW-TO</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Using standard configurations of Tomcat, web applications can ask for
+the server name and port number to which the request was directed for
+processing.  When Tomcat is running standalone with the
+<a href="../config/coyote.html">Coyote HTTP/1.1 Connector</a>, it will generally
+report the server name specified in the request, and the port number on
+which the <strong>Connector</strong> is listening.  The servlet API
+calls of interest, for this purpose, are:</p>
+<ul>
+<li><code>ServletRequest.getServerName()</code>: Returns the host name of the server to which the request was sent.</li>
+<li><code>ServletRequest.getServerPort()</code>: Returns the host name of the server to which the request was sent.</li>
+<li><code>ServletRequest.getLocalName()</code>: Returns the host name of the Internet Protocol (IP) interface on which the request was received.</li>
+<li><code>ServletRequest.getLocalPort()</code>:  Returns the Internet Protocol (IP) port number of the interface on which the request was received.</li>
+</ul>
+
+<p>When you are running behind a proxy server (or a web server that is
+configured to behave like a proxy server), you will sometimes prefer to
+manage the values returned by these calls.  In particular, you will
+generally want the port number to reflect that specified in the original
+request, not the one on which the <strong>Connector</strong> itself is
+listening.  You can use the <code>proxyName</code> and <code>proxyPort</code>
+attributes on the <code>&lt;Connector&gt;</code> element to configure
+these values.</p>
+
+<p>Proxy support can take many forms.  The following sections describe
+proxy configurations for several common cases.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Apache 1.3 Proxy Support"><strong>Apache 1.3 Proxy Support</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Apache 1.3 supports an optional module (<code>mod_proxy</code>) that
+configures the web server to act as a proxy server.  This can be used to
+forward requests for a particular web application to a Tomcat 6 instance,
+without having to configure a web connector such as <code>mod_jk</code>.
+To accomplish this, you need to perform the following tasks:</p>
+<ol>
+<li>Configure your copy of Apache so that it includes the
+    <code>mod_proxy</code> module.  If you are building from source,
+    the easiest way to do this is to include the
+    <code>--enable-module=proxy</code> directive on the
+    <code>./configure</code> command line.</li>
+<li>If not already added for you, make sure that you are loading the
+    <code>mod_proxy</code> module at Apache startup time, by using the
+    following directives in your <code>httpd.conf</code> file:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+LoadModule proxy_module  {path-to-modules}/mod_proxy.so
+AddModule  mod_proxy.c
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div></li>
+<li>Include two directives in your <code>httpd.conf</code> file for
+    each web application that you wish to forward to Tomcat 6.  For
+    example, to forward an application at context path <code>/myapp</code>:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+ProxyPass         /myapp  http://localhost:8081/myapp
+ProxyPassReverse  /myapp  http://localhost:8081/myapp
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+    which tells Apache to forward URLs of the form
+    <code>http://localhost/myapp/*</code> to the Tomcat 6 connector
+    listening on port 8081.</li>
+<li>Configure your copy of Tomcat 6 to include a special
+    <code>&lt;Connector&gt;</code> element, with appropriate
+    proxy settings, for example:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Connector port="8081" ...
+              proxyName="www.mycompany.com"
+              proxyPort="80"/&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+    which will cause servlets inside this web application to think that
+    all proxied requests were directed to <code>www.mycompany.com</code>
+    on port 80.</li>
+<li>It is legal to omit the <code>proxyName</code> attribute from the
+    <code>&lt;Connector&gt;</code> element.  If you do so, the value
+    returned by <code>request.getServerName()</code> will by the host
+    name on which Tomcat is running.  In the example above, it would be
+    <code>localhost</code>.</li>
+<li>If you also have a <code>&lt;Connector&gt;</code> listening on port
+    8080 (nested within the same <a href="../config/service.html">Service</a>
+    element), the requests to either port will share the same set of
+    virtual hosts and web applications.</li>
+<li>You might wish to use the IP filtering features of your operating
+    system to restrict connections to port 8081 (in this example) to
+    be allowed <strong>only</strong> from the server that is running
+    Apache.</li>
+<li>Alternatively, you can set up a series of web applications that are
+    only available via proxying, as follows:
+    <ul>
+    <li>Configure another <code>&lt;Service&gt;</code> that contains
+        only a <code>&lt;Connector&gt;</code> for the proxy port.</li>
+    <li>Configure appropriate <a href="../config/engine.html">Engine</a>,
+        <a href="../config/host.html">Host</a>, and
+        <a href="../config/context.html">Context</a> elements for the virtual hosts
+        and web applications accessible via proxying.</li>
+    <li>Optionally, protect port 8081 with IP filters as described
+        earlier.</li>
+    </ul></li>
+<li>When requests are proxied by Apache, the web server will be recording
+    these requests in its access log.  Therefore, you will generally want to
+    disable any access logging performed by Tomcat itself.</li>
+</ol>
+
+<p>When requests are proxied in this manner, <strong>all</strong> requests
+for the configured web applications will be processed by Tomcat (including
+requests for static content).  You can improve performance by using the
+<code>mod_jk</code> web connector instead of <code>mod_proxy</code>. 
+<code>mod_jk</code> can be configured so that the web server serves static
+content that is not processed by filters or security constraints defined
+within the web application's deployment descriptor
+(<code>/WEB-INF/web.xml</code>).</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Apache 2.0 Proxy Support"><strong>Apache 2.0 Proxy Support</strong></a></font></td></tr><tr><td><blockquote>
+The same instructions hold true as for 1.3. (Except in Apache 2.0,
+you may omit <code>AddModule  mod_proxy.c</code>)
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/printer/realm-howto.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/printer/realm-howto.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/printer/realm-howto.html	(revision 66)
@@ -0,0 +1,1294 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - Realm Configuration HOW-TO</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"><meta value="Yoav Shapira" name="author"><meta value="yoavs@apache.org" name="email"><meta value="Andrew R. Jaquith" name="author"><meta value="arjaquith@mindspring.com" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>Realm Configuration HOW-TO</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Table of Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>
+<a href="#Quick Start">Quick Start</a><br>
+<blockquote>
+<a href="#What is a Realm?">What is a Realm?</a><br>
+<a href="#Configuring a Realm">Configuring a Realm</a><br>
+</blockquote>
+<a href="#Common Features">Common Features</a><br>
+<blockquote>
+<a href="#Digested Passwords">Digested Passwords</a><br>
+<a href="#Example Application">Example Application</a><br>
+<a href="#Manager Application">Manager Application</a><br>
+<a href="#Realm Logging">Logging Within Realms</a><br>
+</blockquote>
+<a href="#Standard Realm Implementations">
+Standard Realm Implementations</a><br>
+<blockquote>
+<a href="#JDBCRealm">JDBCRealm</a><br>
+<a href="#DataSourceRealm">DataSourceRealm</a><br>
+<a href="#JNDIRealm">JNDIRealm</a><br>
+<a href="#MemoryRealm">MemoryRealm</a><br>
+<a href="#JAASRealm">JAASRealm</a><br>
+</blockquote>
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Quick Start"><strong>Quick Start</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>This document describes how to configure Tomcat to support <em>container
+managed security</em>, by connecting to an existing "database" of usernames,
+passwords, and user roles.  You only need to care about this if you are using
+a web application that includes one or more
+<code>&lt;security-constraint&gt;</code> elements, and a
+<code>&lt;login-config&gt;</code> element defining how users are required
+to authenticate themselves.  If you are not utilizing these features, you can
+safely skip this document.</p>
+
+<p>For fundamental background information about container managed security,
+see the <a href="http://java.sun.com/products/servlet/download.html">Servlet
+Specification (Version 2.4)</a>, Section 12.</p>
+
+<p>For information about utilizing the <em>Single Sign On</em> feature of
+Tomcat 6 (allowing a user to authenticate themselves once across the entire
+set of web applications associated with a virtual host), see
+<a href="../config/host.html#Single Sign On">here</a>.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Overview"><strong>Overview</strong></a></font></td></tr><tr><td><blockquote>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="What is a Realm?"><strong>What is a Realm?</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>A <strong>Realm</strong> is a "database" of usernames and passwords that
+identify valid users of a web application (or set of web applications), plus
+an enumeration of the list of <em>roles</em> associated with each valid user.
+You can think of roles as similar to <em>groups</em> in Unix-like operating
+systems, because access to specific web application resources is granted to
+all users possessing a particular role (rather than enumerating the list of
+associated usernames).  A particular user can have any number of roles
+associated with their username.</p>
+
+<p>Although the Servlet Specification describes a portable mechanism for
+applications to <em>declare</em> their security requirements (in the
+<code>web.xml</code> deployment descriptor), there is no portable API
+defining the interface between a servlet container and the associated user
+and role information.  In many cases, however, it is desireable to "connect"
+a servlet container to some existing authentication database or mechanism
+that already exists in the production environment.  Therefore, Tomcat 6
+defines a Java interface (<code>org.apache.catalina.Realm</code>) that
+can be implemented by "plug in" components to establish this connection.
+Five standard plug-ins are provided, supporting connections to various
+sources of authentication information:</p>
+<ul>
+<li><a href="#JDBCRealm">JDBCRealm</a> - Accesses authentication information
+    stored in a relational database, accessed via a JDBC driver.</li>
+<li><a href="#DataSourceRealm">DataSourceRealm</a> - Accesses authentication
+    information stored in a relational database, accessed via a named JNDI
+    JDBC DataSource.</li>
+<li><a href="#JNDIRealm">JNDIRealm</a> - Accesses authentication information
+    stored in an LDAP based directory server, accessed via a JNDI provider.
+    </li>
+<li><a href="#MemoryRealm">MemoryRealm</a> - Accesses authentication
+    information stored in an in-memory object collection, which is initialized
+    from an XML document (<code>conf/tomcat-users.xml</code>).</li>
+<li><a href="#JAASRealm">JAASRealm</a> - Accesses authentication information
+    through the Java Authentication &amp; Authorization Service (JAAS)
+    framework.</li>
+</ul>
+
+<p>It is also possible to write your own <code>Realm</code> implementation,
+and integrate it with Tomcat 6.  To do so, you need to:
+<ul>
+  <li>Implement <code>org.apache.catalina.Realm</code>,</li>
+  <li>Place your compiled realm in $CATALINA_HOME/lib,</li>
+  <li>Declare your realm as described in the "Configuring a Realm" section below,</li>
+  <li>Declare your realm to the <a href="mbeans-descriptor-howto.html">MBeans Descriptor</a>.</li>
+</ul>
+</p>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Configuring a Realm"><strong>Configuring a Realm</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Before getting into the details of the standard Realm implementations, it is
+important to understand, in general terms, how a Realm is configured.  In
+general, you will be adding an XML element to your <code>conf/server.xml</code>
+configuration file, that looks something like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Realm className="... class name for this implementation"
+       ... other attributes for this implementation .../&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>The <code>&lt;Realm&gt;</code> element can be nested inside any one of 
+of the following <code>Container</code> elements.  The location of the
+Realm element has a direct impact on the "scope" of that Realm
+(i.e. which web applications will share the same authentication information):
+</p>
+<ul>
+<li><em>Inside an &lt;Engine&gt; element</em> - This Realm will be shared
+    across ALL web applications on ALL virtual hosts, UNLESS it is overridden
+    by a Realm element nested inside a subordinate <code>&lt;Host&gt;</code>
+    or <code>&lt;Context&gt;</code> element.</li>
+<li><em>Inside a &lt;Host&gt; element</em> - This Realm will be shared across
+    ALL web applications for THIS virtual host, UNLESS it is overridden
+    by a Realm element nested inside a subordinate <code>&lt;Context&gt;</code>
+    element.</li>
+<li><em>Inside a &lt;Context&gt; element</em> - This Realm will be used ONLY
+    for THIS web application.</li>
+</ul>
+
+
+</blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Features"><strong>Common Features</strong></a></font></td></tr><tr><td><blockquote>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Digested Passwords"><strong>Digested Passwords</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>For each of the standard <code>Realm</code> implementations, the
+user's password (by default) is stored in clear text.  In many
+environments, this is undesireable because casual observers of the
+authentication data can collect enough information to log on
+successfully, and impersonate other users.  To avoid this problem, the
+standard implementations support the concept of <em>digesting</em>
+user passwords.  This allows the stored version of the passwords to be
+encoded (in a form that is not easily reversible), but that the
+<code>Realm</code> implementation can still utilize for
+authentication.</p>
+
+<p>When a standard realm authenticates by retrieving the stored
+password and comparing it with the value presented by the user, you
+can select digested passwords by specifying the <code>digest</code>
+attribute on your <code>&lt;Realm&gt;</code> element.  The value for
+this attribute must be one of the digest algorithms supported by the
+<code>java.security.MessageDigest</code> class (SHA, MD2, or MD5).
+When you select this option, the contents of the password that is
+stored in the <code>Realm</code> must be the cleartext version of the
+password, as digested by the specified algorithm.</p>
+
+<p>When the <code>authenticate()</code> method of the Realm is called, the
+(cleartext) password specified by the user is itself digested by the same
+algorithm, and the result is compared with the value returned by the
+<code>Realm</code>.  An equal match implies that the cleartext version of the
+original password is the same as the one presented by the user, so that this
+user should be authorized.</p>
+
+<p>To calculate the digested value of a cleartext password, two convenience
+techniques are supported:</p>
+<ul>
+<li>If you are writing an application that needs to calculate digested
+    passwords dynamically, call the static <code>Digest()</code> method of the
+    <code>org.apache.catalina.realm.RealmBase</code> class, passing the
+    cleartext password and the digest algorithm name as arguments.  This
+    method will return the digested password.</li>
+<li>If you want to execute a command line utility to calculate the digested
+    password, simply execute
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+java org.apache.catalina.realm.RealmBase \
+    -a {algorithm} {cleartext-password}
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+    and the digested version of this cleartext password will be returned to
+    standard output.</li>
+</ul>
+
+<p>If using digested passwords with DIGEST authentication, the cleartext used
+   to generate the digest is different. In the examples above
+   <code>{cleartext-password}</code> must be replaced with 
+   <code>{username}:{realm}:{cleartext-password}</code>. For example, in a
+   development environment this might take the form
+   <code>testUser:localhost:8080:testPassword</code>.</p>
+
+<p>To use either of the above techniques, the
+<code>$CATALINA_HOME/lib/catalina.jar</code> and 
+<code>$CATALINA_HOME/bin/tomcat-juli.jar</code> files will need to be
+on your class path to make the <code>RealmBase</code> class available.
+</p>
+
+<p>Non-ASCII usernames and/or passwords are supported using
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>java org.apache.catalina.realm.RealmBase \
+    -a {algorithm} -e {encoding} {input}
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+but care is required to ensure that the non-ASCII input is
+correctly passed to the digester.
+The digester returns <code>{input}:{digest}</code>. If the input appears
+corrupted in the return, the digest will be invalid.</p>
+
+</blockquote></td></tr></table>
+
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Example Application"><strong>Example Application</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The example application shipped with Tomcat 6 includes an area that is
+protected by a security constraint, utilizing form-based login.  To access it,
+point your browser at
+<a href="http://localhost:8080/examples/jsp/security/protected/">http://localhost:8080/examples/jsp/security/protected/</a>
+and log on with one of the usernames and passwords described for the default
+<a href="#MemoryRealm">MemoryRealm</a>.</p>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Manager Application"><strong>Manager Application</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>If you wish to use the <a href="manager-howto.html">Manager Application</a>
+to deploy and undeploy applications in a running Tomcat 6 installation, you
+MUST add the "manager" role to at least one username in your selected Realm
+implementation.  This is because the manager web application itself uses a
+security constraint that requires role "manager" to access ANY request URI
+within that application.</p>
+
+<p>For security reasons, no username in the default Realm (i.e. using
+<code>conf/tomcat-users.xml</code> is assigned the "manager" role.  Therfore,
+no one will be able to utilize the features of this application until the
+Tomcat administrator specifically assigns this role to one or more users.</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Realm Logging"><strong>Realm Logging</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Debugging and exception messages logged by a <code>Realm</code> will
+   be recorded by the logging configuration associated with the container
+   for the realm: its surrounding <a href="../config/context.html">Context</a>,
+   <a href="../config/host.html">Host</a>, or
+   <a href="../config/engine.html">Engine</a>.</p>
+
+</blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Standard Realm Implementations"><strong>Standard Realm Implementations</strong></a></font></td></tr><tr><td><blockquote>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JDBCRealm"><strong>JDBCRealm</strong></a></font></td></tr><tr><td><blockquote>
+
+<h3>Introduction</h3>
+
+<p><strong>JDBCRealm</strong> is an implementation of the Tomcat 6
+<code>Realm</code> interface that looks up users in a relational database
+accessed via a JDBC driver.  There is substantial configuration flexibility
+that lets you adapt to existing table and column names, as long as your
+database structure conforms to the following requirements:</p>
+<ul>
+<li>There must be a table, referenced below as the <em>users</em> table,
+    that contains one row for every valid user that this <code>Realm</code>
+    should recognize.</li>
+<li>The <em>users</em> table must contain at least two columns (it may
+    contain more if your existing applications required it):
+    <ul>
+    <li>Username to be recognized by Tomcat when the user logs in.</li>
+    <li>Password to be recognized by Tomcat when the user logs in.
+        This value may in cleartext or digested - see below for more
+        information.</li>
+    </ul></li>
+<li>There must be a table, referenced below as the <em>user roles</em> table,
+    that contains one row for every valid role that is assigned to a
+    particular user.  It is legal for a user to have zero, one, or more than
+    one valid role.</li>
+<li>The <em>user roles</em> table must contain at least two columns (it may
+    contain more if your existing applications required it):
+    <ul>
+    <li>Username to be recognized by Tomcat (same value as is specified
+        in the <em>users</em> table).</li>
+    <li>Role name of a valid role associated with this user.</li>
+    </ul></li>
+</ul>
+
+<h3>Quick Start</h3>
+
+<p>To set up Tomcat to use JDBCRealm, you will need to follow these steps:</p>
+<ol>
+<li>If you have not yet done so, create tables and columns in your database
+    that conform to the requirements described above.</li>
+<li>Configure a database username and password for use by Tomcat, that has
+    at least read only access to the tables described above.  (Tomcat will
+    never attempt to write to these tables.)</li>
+<li>Place a copy of the JDBC driver you will be using inside the
+    <code>$CATALINA_HOME/lib</code> directory.
+    Note that <strong>only</strong> JAR files are recognized!</li>
+<li>Set up a <code>&lt;Realm&gt;</code> element, as described below, in your
+    <code>$CATALINA_BASE/conf/server.xml</code> file.</li>
+<li>Restart Tomcat 6 if it is already running.</li>
+</ol>
+
+<h3>Realm Element Attributes</h3>
+
+<p>To configure JDBCRealm, you will create a <code>&lt;Realm&gt;</code>
+element and nest it in your <code>$CATALINA_BASE/conf/server.xml</code> file,
+as described <a href="#Configuring a Realm">above</a>.  The following
+attributes are supported by this implementation:</p>
+
+<table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+    <p>The fully qualified Java class name of this Realm implementation.
+    You <strong>MUST</strong> specify the value
+    "<code>org.apache.catalina.realm.JDBCRealm</code>" here.</p>
+  </td></tr><tr><td valign="center" align="left"><strong><code>connectionName</code></strong></td><td valign="center" align="left">
+    <p>The database username used to establish a JDBC connection.</p>
+  </td></tr><tr><td valign="center" align="left"><strong><code>connectionPassword</code></strong></td><td valign="center" align="left">
+    <p>The database password used to establish a JDBC connection.</p>
+  </td></tr><tr><td valign="center" align="left"><strong><code>connectionURL</code></strong></td><td valign="center" align="left">
+    <p>The database URL used to establish a JDBC connection.</p>
+  </td></tr><tr><td valign="center" align="left"><code>digest</code></td><td valign="center" align="left">
+    <p>The digest algorithm used to store passwords in non-plaintext formats.
+    Valid values are those accepted for the algorithm name by the
+    <code>java.security.MessageDigest</code> class.  See
+    <a href="#Digested Passwords">Digested Passwords</a> for more
+    information.  If not specified, passwords are stored in clear text.</p>
+  </td></tr><tr><td valign="center" align="left"><strong><code>driverName</code></strong></td><td valign="center" align="left">
+    <p>The fully qualified Java class name of the JDBC driver to be used.
+    Consult the documentation for your JDBC driver for the appropriate
+    value.</p>
+  </td></tr><tr><td valign="center" align="left"><strong><code>roleNameCol</code></strong></td><td valign="center" align="left">
+    <p>The name of the column, in the <em>user roles</em> table, that
+    contains the name of a role assigned to this user.</p>
+  </td></tr><tr><td valign="center" align="left"><strong><code>userCredCol</code></strong></td><td valign="center" align="left">
+    <p>The name of the column, in the <em>users</em> table, that contains
+    the password for this user (either in clear text, or digested if the
+    <code>digest</code> attribute is set).</p>
+  </td></tr><tr><td valign="center" align="left"><strong><code>userNameCol</code></strong></td><td valign="center" align="left">
+    <p>The name of the column, in the <em>users</em> and <em>user roles</em>
+    tables, that contains the username of this user.</p>
+  </td></tr><tr><td valign="center" align="left"><strong><code>userRoleTable</code></strong></td><td valign="center" align="left">
+    <p>The name of the table that contains one row for each <em>role</em>
+    assigned to a particular <em>username</em>.  This table must include at
+    least the columns named by the <code>userNameCol</code> and
+    <code>roleNameCol</code> attributes.</p>
+  </td></tr><tr><td valign="center" align="left"><strong><code>userTable</code></strong></td><td valign="center" align="left">
+    <p>The name of the table that contains one row for each <em>username</em>
+    to be recognized by Tomcat.  This table must include at least the columns
+    named by the <code>userNameCol</code> and <code>userCredCol</code>
+    attributes.</p>
+  </td></tr></table>
+
+<h3>Example</h3>
+
+<p>An example SQL script to create the needed tables might look something
+like this (adapt the syntax as required for your particular database):</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+create table users (
+  user_name         varchar(15) not null primary key,
+  user_pass         varchar(15) not null
+);
+
+create table user_roles (
+  user_name         varchar(15) not null,
+  role_name         varchar(15) not null,
+  primary key (user_name, role_name)
+);
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>Example <code>Realm</code> elements are included (commented out) in the
+default <code>$CATALINA_BASE/conf/server.xml</code> file.  Here's an example
+for using a MySQL database called "authority", configured with the tables
+described above, and accessed with username "dbuser" and password "dbpass":</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Realm className="org.apache.catalina.realm.JDBCRealm" debug="99"
+      driverName="org.gjt.mm.mysql.Driver"
+   connectionURL="jdbc:mysql://localhost/authority?user=dbuser&amp;amp;password=dbpass"
+       userTable="users" userNameCol="user_name" userCredCol="user_pass"
+   userRoleTable="user_roles" roleNameCol="role_name"/&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<h3>Additional Notes</h3>
+
+<p>JDBCRealm operates according to the following rules:</p>
+<ul>
+<li>When a user attempts to access a protected resource for the first time,
+    Tomcat 6 will call the <code>authenticate()</code> method of this
+    <code>Realm</code>.  Thus, any changes you have made to the database
+    directly (new users, changed passwords or roles, etc.) will be immediately
+    reflected.</li>
+<li>Once a user has been authenticated, the user (and his or her associated
+    roles) are cached within Tomcat for the duration of the user's login.
+    (For FORM-based authentication, that means until the session times out or
+    is invalidated; for BASIC authentication, that means until the user
+    closes their browser).  The cached user is <strong>not</strong> saved and
+    restored across sessions serialisations. Any changes to the database
+    information for an already authenticated user will <strong>not</strong> be
+    reflected until the next time that user logs on again.</li>
+<li>Administering the information in the <em>users</em> and <em>user roles</em>
+    table is the responsibility of your own applications.  Tomcat does not
+    provide any built-in capabilities to maintain users and roles.</li>
+</ul>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="DataSourceRealm"><strong>DataSourceRealm</strong></a></font></td></tr><tr><td><blockquote>
+
+<h3>Introduction</h3>
+
+<p><strong>DataSourceRealm</strong> is an implementation of the Tomcat 6
+<code>Realm</code> interface that looks up users in a relational database
+accessed via a JNDI named JDBC DataSource.  There is substantial configuration
+flexibility that lets you adapt to existing table and column names, as long
+as your database structure conforms to the following requirements:</p>
+<ul>
+<li>There must be a table, referenced below as the <em>users</em> table,
+    that contains one row for every valid user that this <code>Realm</code>
+    should recognize.</li>
+<li>The <em>users</em> table must contain at least two columns (it may
+    contain more if your existing applications required it):
+    <ul>
+    <li>Username to be recognized by Tomcat when the user logs in.</li>
+    <li>Password to be recognized by Tomcat when the user logs in.
+        This value may in cleartext or digested - see below for more
+        information.</li>
+    </ul></li>    
+<li>There must be a table, referenced below as the <em>user roles</em> table,
+    that contains one row for every valid role that is assigned to a
+    particular user.  It is legal for a user to have zero, one, or more than
+    one valid role.</li>
+<li>The <em>user roles</em> table must contain at least two columns (it may
+    contain more if your existing applications required it):
+    <ul>
+    <li>Username to be recognized by Tomcat (same value as is specified
+        in the <em>users</em> table).</li>
+    <li>Role name of a valid role associated with this user.</li>
+    </ul></li>
+</ul>
+
+<h3>Quick Start</h3>
+                  
+<p>To set up Tomcat to use DataSourceRealm, you will need to follow these steps:</p>
+<ol>              
+<li>If you have not yet done so, create tables and columns in your database
+    that conform to the requirements described above.</li>
+<li>Configure a database username and password for use by Tomcat, that has
+    at least read only access to the tables described above.  (Tomcat will
+    never attempt to write to these tables.)</li>
+<li>Configure a JNDI named JDBC DataSource for your database.  Refer to the
+    <a href="jndi-datasource-examples-howto.html">JNDI DataSource Example HOW-TO</a>
+    for information on how to configure a JNDI named JDBC DataSource.</li>
+<li>Set up a <code>&lt;Realm&gt;</code> element, as described below, in your
+    <code>$CATALINA_BASE/conf/server.xml</code> file.</li>
+<li>Restart Tomcat 6 if it is already running.</li>
+</ol>
+
+<h3>Realm Element Attributes</h3>
+
+<p>To configure DataSourceRealm, you will create a <code>&lt;Realm&gt;</code>
+element and nest it in your <code>$CATALINA_BASE/conf/server.xml</code> file,
+as described <a href="#Configuring a Realm">above</a>.  The following
+attributes are supported by this implementation:</p>
+
+<table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+    <p>The fully qualified Java class name of this Realm implementation.
+    You <strong>MUST</strong> specify the value
+    "<code>org.apache.catalina.realm.DataSourceRealm</code>" here.</p>
+  </td></tr><tr><td valign="center" align="left"><strong><code>dataSourceName</code></strong></td><td valign="center" align="left">
+    <p>The JNDI named JDBC DataSource for your database. If the DataSource is
+    local to the context, the name is relative to <code>java:/comp/env</code>,
+    and otherwise the name should match the name used to define the global
+    DataSource.</p>
+  </td></tr><tr><td valign="center" align="left"><code>digest</code></td><td valign="center" align="left">
+    <p>The digest algorithm used to store passwords in non-plaintext formats.
+    Valid values are those accepted for the algorithm name by the
+    <code>java.security.MessageDigest</code> class.  See
+    <a href="#Digested Passwords">Digested Passwords</a> for more
+    information.  If not specified, passwords are stored in clear text.</p>
+  </td></tr><tr><td valign="center" align="left"><code>localDataSource</code></td><td valign="center" align="left">
+    <p>When the realm is nested inside a Context element, this allows the 
+    realm to use a DataSource defined for the Context rather than a global
+    DataSource.  If not specified, the default is <code>false</code>: use a 
+    global DataSource.</p>
+  </td></tr><tr><td valign="center" align="left"><strong><code>roleNameCol</code></strong></td><td valign="center" align="left">
+    <p>The name of the column, in the <em>user roles</em> table, that
+    contains the name of a role assigned to this user.</p>
+  </td></tr><tr><td valign="center" align="left"><strong><code>userCredCol</code></strong></td><td valign="center" align="left">
+    <p>The name of the column, in the <em>users</em> table, that contains
+    the password for this user (either in clear text, or digested if the
+    <code>digest</code> attribute is set).</p>
+  </td></tr><tr><td valign="center" align="left"><strong><code>userNameCol</code></strong></td><td valign="center" align="left">
+    <p>The name of the column, in the <em>users</em> and <em>user roles</em>
+    tables, that contains the username of this user.</p>
+  </td></tr><tr><td valign="center" align="left"><strong><code>userRoleTable</code></strong></td><td valign="center" align="left">
+    <p>The name of the table that contains one row for each <em>role</em>
+    assigned to a particular <em>username</em>.  This table must include at
+    least the columns named by the <code>userNameCol</code> and
+    <code>roleNameCol</code> attributes.</p>
+  </td></tr><tr><td valign="center" align="left"><strong><code>userTable</code></strong></td><td valign="center" align="left">
+    <p>The name of the table that contains one row for each <em>username</em>
+    to be recognized by Tomcat.  This table must include at least the columns
+    named by the <code>userNameCol</code> and <code>userCredCol</code>
+    attributes.</p>
+  </td></tr></table>
+
+<h3>Example</h3>
+
+<p>An example SQL script to create the needed tables might look something
+like this (adapt the syntax as required for your particular database):</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+create table users (
+  user_name         varchar(15) not null primary key,
+  user_pass         varchar(15) not null
+);
+
+create table user_roles (
+  user_name         varchar(15) not null,
+  role_name         varchar(15) not null,
+  primary key (user_name, role_name)
+);
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>Here is an example for using a MySQL database called "authority", configured
+with the tables described above, and accessed with the JNDI JDBC DataSource with
+name "java:/comp/env/jdbc/authority".</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Realm className="org.apache.catalina.realm.DataSourceRealm" debug="99"
+   dataSourceName="jdbc/authority"
+   userTable="users" userNameCol="user_name" userCredCol="user_pass"
+   userRoleTable="user_roles" roleNameCol="role_name"/&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<h3>Additional Notes</h3>
+
+<p>DataSourceRealm operates according to the following rules:</p>
+<ul>
+<li>When a user attempts to access a protected resource for the first time,
+    Tomcat 6 will call the <code>authenticate()</code> method of this
+    <code>Realm</code>.  Thus, any changes you have made to the database
+    directly (new users, changed passwords or roles, etc.) will be immediately
+    reflected.</li>
+<li>Once a user has been authenticated, the user (and his or her associated
+    roles) are cached within Tomcat for the duration of the user's login.
+    (For FORM-based authentication, that means until the session times out or
+    is invalidated; for BASIC authentication, that means until the user
+    closes their browser).  The cached user is <strong>not</strong> saved and
+    restored across sessions serialisations. Any changes to the database
+    information for an already authenticated user will <strong>not</strong> be
+    reflected until the next time that user logs on again.</li>
+<li>Administering the information in the <em>users</em> and <em>user roles</em>
+    table is the responsibility of your own applications.  Tomcat does not
+    provide any built-in capabilities to maintain users and roles.</li>
+</ul>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JNDIRealm"><strong>JNDIRealm</strong></a></font></td></tr><tr><td><blockquote>
+
+<h3>Introduction</h3>
+
+<p><strong>JNDIRealm</strong> is an implementation of the Tomcat 6
+<code>Realm</code> interface that looks up users in an LDAP directory
+server accessed by a JNDI provider (typically, the standard LDAP
+provider that is available with the JNDI API classes). The realm
+supports a variety of approaches to using a directory for
+authentication.</p>
+
+<h4>Connecting to the directory</h4>
+
+<p>The realm's connection to the directory is defined by the
+<strong>connectionURL</strong> configuration attribute. This is a URL
+whose format is defined by the JNDI provider. It is usually an LDAP
+URL that specifies the domain name of the directory server to connect
+to, and optionally the port number and distinguished name (DN) of the
+required root naming context.</p>
+
+<p>If you have more than one provider you can configure an
+<strong>alternateURL</strong>.  If a socket connection can not be
+made to the provider at the <strong>connectionURL</strong> an
+attempt will be made to use the <strong>alternateURL</strong>.</p>
+
+<p>When making a connection in order to search the directory and
+retrieve user and role information, the realm authenticates itself to
+the directory with the username and password specified by the
+<strong>connectionName</strong> and
+<strong>connectionPassword</strong> properties. If these properties
+are not specified the connection is anonymous. This is sufficient in
+many cases.
+</p>
+
+
+<h4>Selecting the user's directory entry</h4>
+
+<p>Each user that can be authenticated must be represented in the
+directory by an individual entry that corresponds to an element in the
+initial <code>DirContext</code> defined by the
+<strong>connectionURL</strong> attribute. This user entry must have an
+attribute containing the username that is presented for
+authentication.</p>
+
+<p>Often the distinguished name of the user's entry contains the
+username presented for authentication but is otherwise the same for
+all users. In this case the <strong>userPattern</strong> attribute may
+be used to specify the DN, with "{0}" marking where
+the username should be substituted.</p>
+
+<p>Otherwise the realm must search the directory to find a unique entry
+containing the username. The following attributes configure this
+search:
+
+     <ul>
+     <li><strong>userBase</strong> - the entry that is the base of
+         the subtree containing users.  If not specified, the search
+         base is the top-level context.</li>
+
+     <li><strong>userSubtree</strong> - the search scope. Set to
+         <code>true</code> if you wish to search the entire subtree
+         rooted at the <strong>userBase</strong> entry. The default value
+         of <code>false</code> requests a single-level search
+         including only the top level.</li>
+
+     <li><strong>userSearch</strong> - pattern specifying the LDAP
+         search filter to use after substitution of the username.</li>
+
+    </ul>
+</p>
+
+
+<h4>Authenticating the user</h4>
+
+<ul>
+<li>
+<p><b>Bind mode</b></p>
+
+<p>By default the realm authenticates a user by binding to
+the directory with the DN of the entry for that user and the password
+presented by the user. If this simple bind succeeds the user is considered to
+be authenticated.</p>
+
+<p>For security reasons a directory may store a digest of the user's
+password rather than the clear text version (see <a href="#Digested Passwords">Digested Passwords</a> for more information). In that case,
+as part of the simple bind operation the directory automatically
+computes the correct digest of the plaintext password presented by the
+user before validating it against the stored value. In bind mode,
+therefore, the realm is not involved in digest processing. The
+<strong>digest</strong> attribute is not used, and will be ignored if
+set.</p>
+</li>
+
+<li>
+<p><b>Comparison mode</b></p>
+<p>Alternatively, the realm may retrieve the stored
+password from the directory and compare it explicitly with the value
+presented by the user. This mode is configured by setting the
+<strong>userPassword</strong> attribute to the name of a directory
+attribute in the user's entry that contains the password.</p>
+
+<p>Comparison mode has some disadvantages. First, the
+<strong>connectionName</strong> and
+<strong>connectionPassword</strong> attributes must be configured to
+allow the realm to read users' passwords in the directory. For
+security reasons this is generally undesirable; indeed many directory
+implementations will not allow even the directory manager to read
+these passwords. In addition, the realm must handle password digests
+itself, including variations in the algorithms used and ways of
+representing password hashes in the directory. However, the realm may
+sometimes need access to the stored password, for example to support
+HTTP Digest Access Authentication (RFC 2069). (Note that HTTP digest
+authentication is different from the storage of password digests in
+the repository for user information as discussed above).
+</p>
+</li>
+</ul>
+
+<h4>Assigning roles to the user</h4>
+
+<p>The directory realm supports two approaches to the representation
+of roles in the directory:</p>
+
+<ul>
+<li>
+<p><b>Roles as explicit directory entries</b></p>
+
+<p>Roles may be represented by explicit directory entries. A role
+entry is usually an LDAP group entry with one attribute
+containing the name of the role and another whose values are the
+distinguished names or usernames of the users in that role.  The
+following attributes configure a directory search to
+find the names of roles associated with the authenticated user:</p>
+
+<ul>
+<li><strong>roleBase</strong> - the base entry for the role search.
+    If not specified, the search base is the top-level directory
+    context.</li>
+
+<li><strong>roleSubtree</strong> - the search
+    scope. Set to <code>true</code> if you wish to search the entire
+    subtree rooted at the <code>roleBase</code> entry. The default
+    value of <code>false</code> requests a single-level search
+    including the top level only.</li>
+
+<li><strong>roleSearch</strong> - the LDAP search filter for
+    selecting role entries. It optionally includes pattern
+    replacements "{0}" for the distinguished name and/or "{1}" for the
+    username of the authenticated user.</li>
+
+<li><strong>roleName</strong> - the attribute in a role entry
+     containing the name of that role.</li>
+
+</ul>
+
+</li>
+</ul>
+
+<ul>
+<li>
+<p><b>Roles as an attribute of the user entry</b></p>
+
+<p>Role names may also be held as the values of an attribute in the
+user's directory entry. Use <strong>userRoleName</strong> to specify
+the name of this attribute.</p>
+
+</li>
+</ul>
+<p>A combination of both approaches to role representation may be used.</p>
+
+<h3>Quick Start</h3>
+
+<p>To set up Tomcat to use JNDIRealm, you will need to follow these steps:</p>
+<ol>
+<li>Make sure your directory server is configured with a schema that matches
+    the requirements listed above.</li>
+<li>If required, configure a username and password for use by Tomcat, that has
+    read only access to the information described above.  (Tomcat will
+    never attempt to modify this information.)</li>
+<li>Place a copy of the JNDI driver you will be using (typically
+    <code>ldap.jar</code> available with JNDI) inside the
+    <code>$CATALINA_HOME/lib</code> directory.</li>
+<li>Set up a <code>&lt;Realm&gt;</code> element, as described below, in your
+    <code>$CATALINA_BASE/conf/server.xml</code> file.</li>
+<li>Restart Tomcat 6 if it is already running.</li>
+</ol>
+
+<h3>Realm Element Attributes</h3>
+
+<p>To configure JNDIRealm, you will create a <code>&lt;Realm&gt;</code>
+element and nest it in your <code>$CATALINA_BASE/conf/server.xml</code> file,
+as described <a href="#Configuring a Realm">above</a>.  The following
+attributes are supported by this implementation:</p>
+
+<table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+    <p>The fully qualified Java class name of this Realm implementation.
+    You <strong>MUST</strong> specify the value
+    "<code>org.apache.catalina.realm.JNDIRealm</code>" here.</p>
+  </td></tr><tr><td valign="center" align="left"><code>alternateURL</code></td><td valign="center" align="left">
+        <p>If a socket connection can not be made to the provider at
+        the <code>connectionURL</code> an attempt will be made to use the
+        <code>alternateURL</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>authentication</code></td><td valign="center" align="left">
+        <p>A string specifying the type of authentication to use.
+        "none", "simple", "strong" or a provider specific definition
+        can be used. If no value is given the providers default is used.</p>
+      </td></tr><tr><td valign="center" align="left"><code>connectionName</code></td><td valign="center" align="left">
+        <p>The directory username to use when establishing a
+        connection to the directory for LDAP search operations. If not
+        specified an anonymous connection is made, which is often
+        sufficient unless you specify the <code>userPassword</code>
+        property.</p>
+      </td></tr><tr><td valign="center" align="left"><code>connectionPassword</code></td><td valign="center" align="left">
+        <p>The directory password to use when establishing a
+        connection to the directory for LDAP search operations. If not
+        specified an anonymous connection is made, which is often
+        sufficient unless you specify the <code>userPassword</code>
+        property.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>connectionURL</code></strong></td><td valign="center" align="left">
+        <p>The connection URL to be passed to the JNDI driver when
+        establishing a connection to the directory.</p>
+      </td></tr><tr><td valign="center" align="left"><code>contextFactory</code></td><td valign="center" align="left">
+        <p>The fully qualified Java class name of the JNDI context
+        factory to be used for this connection.  By default, the standard
+        JNDI LDAP provider is used
+        (<code>com.sun.jndi.ldap.LdapCtxFactory</code>).</p>
+      </td></tr><tr><td valign="center" align="left"><code>digest</code></td><td valign="center" align="left">
+        <p>The digest algorithm to apply to the plaintext password offered
+        by the user before comparing it with the value retrieved from the
+        directory.  Valid values are those accepted for the algorithm name
+        by the <code>java.security.MessageDigest</code> class.  See <a href="#Digested Passwords">Digested Passwords</a> for more
+        information. If not specified the plaintext password is assumed to
+        be retrieved. Not required unless <code>userPassword</code> is
+        specified</p>
+      </td></tr><tr><td valign="center" align="left"><code>protocol</code></td><td valign="center" align="left">
+         <p>A string specifying the security protocol to use. If not given
+         the providers default is used.</p>
+      </td></tr><tr><td valign="center" align="left"><code>roleBase</code></td><td valign="center" align="left">
+        <p>The base directory entry for performing role searches. If
+        not specified, the top level element in the directory context
+        will be used.</p>
+      </td></tr><tr><td valign="center" align="left"><code>roleName</code></td><td valign="center" align="left">
+        <p>The name of the attribute that contains role names in the
+        directory entries found by a role search. In addition you can
+        use the <code>userRoleName</code> property to specify the name
+        of an attribute, in the user's entry, containing additional
+        role names.  If <code>roleName</code> is not specified a role
+        search does not take place, and roles are taken only from the
+        user's entry.</p>
+      </td></tr><tr><td valign="center" align="left"><code>roleSearch</code></td><td valign="center" align="left">
+        <p>The LDAP filter expression used for performing role
+        searches, following the syntax supported by the
+        <code>java.text.MessageFormat</code> class.  Use
+        <code>{0}</code> to substitute the distinguished name (DN) of
+        the user, and/or <code>{1}</code> to substitute the
+        username. If not specified a role search does not take place
+        and roles are taken only from the attribute in the user's
+        entry specified by the <code>userRoleName</code> property.</p>
+      </td></tr><tr><td valign="center" align="left"><code>roleSubtree</code></td><td valign="center" align="left">
+        <p>Set to <code>true</code> if you want to search the entire
+        subtree of the element specified by the <code>roleBase</code>
+        property for role entries associated with the user. The
+        default value of <code>false</code> causes only the top level
+        to be searched.</p>
+      </td></tr><tr><td valign="center" align="left"><code>userBase</code></td><td valign="center" align="left">
+        <p>The base element for user searches performed using the
+        <code>userSearch</code> expression.  If not specified, the top
+        level element in the directory context will be used. Not used
+        if you are using the <code>userPattern</code> expression.</p>
+      </td></tr><tr><td valign="center" align="left"><code>userPassword</code></td><td valign="center" align="left">
+        <p>Name of the attribute in the user's entry containing the
+        user's password.  If you specify this value, JNDIRealm will
+        bind to the directory using the values specified by
+        <code>connectionName</code> and
+        <code>connectionPassword</code> properties, and retrieve the
+        corresponding attribute for comparison to the value specified
+        by the user being authenticated.  If the <code>digest</code>
+        attribute is set, the specified digest algorithm is applied to
+        the password offered by the user before comparing it with the
+        value retrieved from the directory.  If you do
+        <strong>not</strong> specify this value, JNDIRealm will
+        attempt a simple bind to the directory using the DN of the
+        user's entry and password specified by the user, with a
+        successful bind being interpreted as an authenticated
+        user.</p>
+      </td></tr><tr><td valign="center" align="left"><code>userPattern</code></td><td valign="center" align="left">
+        <p>A pattern for the distinguished name (DN) of the user's
+        directory entry, following the syntax supported by the
+        <code>java.text.MessageFormat</code> class with
+        <code>{0}</code> marking where the actual username should be
+        inserted. You can use this property instead of
+        <code>userSearch</code>, <code>userSubtree</code> and
+        <code>userBase</code> when the distinguished name contains the
+        username and is otherwise the same for all users.</p>
+      </td></tr><tr><td valign="center" align="left"><code>userRoleName</code></td><td valign="center" align="left">
+        <p>The name of an attribute in the user's directory entry
+        containing zero or more values for the names of roles assigned
+        to this user.  In addition you can use the
+        <code>roleName</code> property to specify the name of an
+        attribute to be retrieved from individual role entries found
+        by searching the directory. If <code>userRoleName</code> is
+        not specified all the roles for a user derive from the role
+        search.</p>
+      </td></tr><tr><td valign="center" align="left"><code>userSearch</code></td><td valign="center" align="left">
+        <p>The LDAP filter expression to use when searching for a
+        user's directory entry, with <code>{0}</code> marking where
+        the actual username should be inserted.  Use this property
+        (along with the <code>userBase</code> and
+        <code>userSubtree</code> properties) instead of
+        <code>userPattern</code> to search the directory for the
+        user's entry.</p>
+      </td></tr><tr><td valign="center" align="left"><code>userSubtree</code></td><td valign="center" align="left">
+        <p>Set to <code>true</code> if you want to search the entire
+        subtree of the element specified by the <code>userBase</code>
+        property for the user's entry. The default value of
+        <code>false</code> causes only the top level to be searched.
+        Not used if you are using the <code>userPattern</code>
+        expression.</p>
+      </td></tr></table>
+
+<h3>Example</h3>
+
+<p>Creation of the appropriate schema in your directory server is beyond the
+scope of this document, because it is unique to each directory server
+implementation.  In the examples below, we will assume that you are using a
+distribution of the OpenLDAP directory server (version 2.0.11 or later), which
+can be downloaded from
+<a href="http://www.openldap.org">http://www.openldap.org</a>.  Assume that
+your <code>slapd.conf</code> file contains the following settings
+(among others):</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+database ldbm
+suffix dc="mycompany",dc="com"
+rootdn "cn=Manager,dc=mycompany,dc=com"
+rootpw secret
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>We will assume for <code>connectionURL</code> that the directory
+server runs on the same machine as Tomcat.  See <a href="http://java.sun.com/products/jndi/docs.html">http://java.sun.com/products/jndi/docs.html</a>
+for more information about configuring and using the JNDI LDAP
+provider.</p>
+
+<p>Next, assume that this directory server has been populated with elements
+as shown below (in LDIF format):</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+
+# Define top-level entry
+dn: dc=mycompany,dc=com
+objectClass: dcObject
+dc:mycompany
+
+# Define an entry to contain people
+# searches for users are based on this entry
+dn: ou=people,dc=mycompany,dc=com
+objectClass: organizationalUnit
+ou: people
+
+# Define a user entry for Janet Jones
+dn: uid=jjones,ou=people,dc=mycompany,dc=com
+objectClass: inetOrgPerson
+uid: jjones
+sn: jones
+cn: janet jones
+mail: j.jones@mycompany.com
+userPassword: janet
+
+# Define a user entry for Fred Bloggs
+dn: uid=fbloggs,ou=people,dc=mycompany,dc=com
+objectClass: inetOrgPerson
+uid: fbloggs
+sn: bloggs
+cn: fred bloggs
+mail: f.bloggs@mycompany.com
+userPassword: fred
+
+# Define an entry to contain LDAP groups
+# searches for roles are based on this entry
+dn: ou=groups,dc=mycompany,dc=com
+objectClass: organizationalUnit
+ou: groups
+
+# Define an entry for the "tomcat" role
+dn: cn=tomcat,ou=groups,dc=mycompany,dc=com
+objectClass: groupOfUniqueNames
+cn: tomcat
+uniqueMember: uid=jjones,ou=people,dc=mycompany,dc=com
+uniqueMember: uid=fbloggs,ou=people,dc=mycompany,dc=com
+
+# Define an entry for the "role1" role
+dn: cn=role1,ou=groups,dc=mycompany,dc=com
+objectClass: groupOfUniqueNames
+cn: role1
+uniqueMember: uid=fbloggs,ou=people,dc=mycompany,dc=com
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>An example <code>Realm</code> element for the OpenLDAP directory
+server configured as described above might look like this, assuming
+that users use their uid (e.g. jjones) to login to the
+application and that an anonymous connection is sufficient to search
+the directory and retrieve role information:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Realm   className="org.apache.catalina.realm.JNDIRealm" debug="99"
+     connectionURL="ldap://localhost:389"
+       userPattern="uid={0},ou=people,dc=mycompany,dc=com"
+          roleBase="ou=groups,dc=mycompany,dc=com"
+          roleName="cn"
+        roleSearch="(uniqueMember={0})"
+/&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>With this configuration, the realm will determine the user's
+distinguished name by substituting the username into the
+<code>userPattern</code>, authenticate by binding to the directory
+with this DN and the password received from the user, and search the
+directory to find the user's roles.</p>
+
+<p>Now suppose that users are expected to enter their email address
+rather than their userid when logging in. In this case the realm must
+search the directory for the user's entry. (A search is also necessary
+when user entries are held in multiple subtrees corresponding perhaps
+to different organizational units or company locations).</p>
+
+<p>Further, suppose that in addition to the group entries you want to
+use an attribute of the user's entry to hold roles. Now the entry for
+Janet Jones might read as follows:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+dn: uid=jjones,ou=people,dc=mycompany,dc=com
+objectClass: inetOrgPerson
+uid: jjones
+sn: jones
+cn: janet jones
+mail: j.jones@mycompany.com
+memberOf: role2
+memberOf: role3
+userPassword: janet
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p> This realm configuration would satisfy the new requirements:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Realm   className="org.apache.catalina.realm.JNDIRealm" debug="99"
+     connectionURL="ldap://localhost:389"
+          userBase="ou=people,dc=mycompany,dc=com"
+        userSearch="(mail={0})"
+      userRoleName="memberOf"
+          roleBase="ou=groups,dc=mycompany,dc=com"
+          roleName="cn"
+        roleSearch="(uniqueMember={0})"
+/&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>Now when Janet Jones logs in as "j.jones@mycompany.com", the realm
+searches the directory for a unique entry with that value as its mail
+attribute and attempts to bind to the directory as
+<code>uid=jjones,ou=people,dc=mycompany,dc=com</code> with the given
+password. If authentication succeeds, she is assigned three roles:
+"role2" and "role3", the values of the "memberOf" attribute in her
+directory entry, and "tomcat", the value of the "cn" attribute in the
+only group entry of which she is a member.</p>
+
+<p>Finally, to authenticate the user by retrieving
+the password from the directory and making a local comparison in the
+realm, you might use a realm configuration like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Realm   className="org.apache.catalina.realm.JNDIRealm" debug="99"
+    connectionName="cn=Manager,dc=mycompany,dc=com"
+connectionPassword="secret"
+     connectionURL="ldap://localhost:389"
+      userPassword="userPassword"
+       userPattern="uid={0},ou=people,dc=mycompany,dc=com"
+          roleBase="ou=groups,dc=mycompany,dc=com"
+          roleName="cn"
+        roleSearch="(uniqueMember={0})"
+/&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>However, as discussed above, the default bind mode for
+authentication is usually to be preferred.</p>
+
+<h3>Additional Notes</h3>
+
+<p>JNDIRealm operates according to the following rules:</p>
+<ul>
+<li>When a user attempts to access a protected resource for the first time,
+    Tomcat 6 will call the <code>authenticate()</code> method of this
+    <code>Realm</code>.  Thus, any changes you have made to the directory
+    (new users, changed passwords or roles, etc.) will be immediately
+    reflected.</li>
+<li>Once a user has been authenticated, the user (and his or her associated
+    roles) are cached within Tomcat for the duration of the user's login.
+    (For FORM-based authentication, that means until the session times out or
+    is invalidated; for BASIC authentication, that means until the user
+    closes their browser).  The cached user is <strong>not</strong> saved and
+    restored across sessions serialisations. Any changes to the directory
+    information for an already authenticated user will <strong>not</strong> be
+    reflected until the next time that user logs on again.</li>
+<li>Administering the information in the directory server
+    is the responsibility of your own applications.  Tomcat does not
+    provide any built-in capabilities to maintain users and roles.</li>
+</ul>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="MemoryRealm"><strong>MemoryRealm</strong></a></font></td></tr><tr><td><blockquote>
+
+<h3>Introduction</h3>
+
+<p><strong>MemoryRealm</strong> is a simple demonstration implementation of the
+Tomcat 6 <code>Realm</code> interface.  It is not designed for production use.
+At startup time, MemoryRealm loads information about all users, and their
+corresponding roles, from an XML document (by default, this document is loaded from <code>$CATALINA_BASE/conf/tomcat-users.xml</code>).  Changes to the data
+in this file are not recognized until Tomcat is restarted.</p>
+
+<h3>Realm Element Attributes</h3>
+
+<p>To configure MemoryRealm, you will create a <code>&lt;Realm&gt;</code>
+element and nest it in your <code>$CATALINA_BASE/conf/server.xml</code> file,
+as described <a href="#Configuring a Realm">above</a>.  The following
+attributes are supported by this implementation:</p>
+
+<table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+    <p>The fully qualified Java class name of this Realm implementation.
+    You <strong>MUST</strong> specify the value
+    "<code>org.apache.catalina.realm.MemoryRealm</code>" here.</p>
+  </td></tr><tr><td valign="center" align="left"><code>digest</code></td><td valign="center" align="left">
+    <p>The digest algorithm used to store passwords in non-plaintext formats.
+    Valid values are those accepted for the algorithm name by the
+    <code>java.security.MessageDigest</code> class.  See
+    <a href="#Digested Passwords">Digested Passwords</a> for more
+    information.  If not specified, passwords are stored in clear text.</p>
+  </td></tr><tr><td valign="center" align="left"><code>pathname</code></td><td valign="center" align="left">
+    <p>Absolute or relative (to $CATALINA_BASE) pathname of the XML document
+    containing our valid usernames, passwords, and roles.  See below for more
+    information on the format of this file.  If not specified, the value
+    <code>conf/tomcat-users.xml</code> is used.</p>
+  </td></tr></table>
+
+<h3>User File Format</h3>
+
+<p>The users file (by default, <code>conf/tomcat-users.xml</code> must be an
+XML document, with a root element <code>&lt;tomcat-users&gt;</code>.  Nested
+inside the root element will be a <code>&lt;user&gt;</code> element for each
+valid user, consisting of the following attributes:</p>
+<ul>
+<li><strong>name</strong> - Username this user must log on with.</li>
+<li><strong>password</strong> - Password this user must log on with (in
+    clear text if the <code>digest</code> attribute was not set on the
+    <code>&lt;Realm&gt;</code> element, or digested appropriately as
+    described <a href="#Digested Passwords">here</a> otherwise).</li>
+<li><strong>roles</strong> - Comma-delimited list of the role names
+    associated with this user.</li>
+</ul>
+
+<h3>Example</h3>
+
+<p>The default installation of Tomcat 6 is configured with a MemoryRealm
+nested inside the <code>&lt;Engine&gt;</code> element, so that it applies
+to all virtual hosts and web applications.  The default contents of the
+<code>conf/tomcat-users.xml</code> file is:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;tomcat-users&gt;
+  &lt;user name="tomcat" password="tomcat" roles="tomcat" /&gt;
+  &lt;user name="role1"  password="tomcat" roles="role1"  /&gt;
+  &lt;user name="both"   password="tomcat" roles="tomcat,role1" /&gt;
+&lt;/tomcat-users&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<h3>Additional Notes</h3>
+
+<p>MemoryRealm operates according to the following rules:</p>
+<ul>
+<li>When Tomcat first starts up, it loads all defined users and their
+    associated information from the users file.  Changes to the data in
+    this file will <strong>not</strong> be recognized until Tomcat is
+    restarted.</li>
+<li>When a user attempts to access a protected resource for the first time,
+    Tomcat 6 will call the <code>authenticate()</code> method of this
+    <code>Realm</code>.</li>
+<li>Once a user has been authenticated, the user (and his or her associated
+    roles) are cached within Tomcat for the duration of the user's login.
+    (For FORM-based authentication, that means until the session times out or
+    is invalidated; for BASIC authentication, that means until the user
+    closes their browser).  The cached user is <strong>not</strong> saved and
+    restored across sessions serialisations.</li>
+<li>Administering the information in the users file is the responsibility
+    of your application.  Tomcat does not
+    provide any built-in capabilities to maintain users and roles.</li>
+</ul>
+
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JAASRealm"><strong>JAASRealm</strong></a></font></td></tr><tr><td><blockquote>
+
+<h3>Introduction</h3>
+
+        <p><strong>JAASRealm</strong> is an implementation of the Tomcat
+6 <code>Realm</code> interface that authenticates users through the Java
+Authentication &amp; Authorization Service (JAAS) framework which is now
+provided as part of the standard J2SE API.</p>
+        <p>Using JAASRealm gives the developer the ability to combine
+practically any conceivable security realm with Tomcat's CMA. </p>
+        <p>JAASRealm is prototype for Tomcat of the JAAS-based
+J2EE authentication framework for J2EE v1.4, based on the <a href="http://www.jcp.org/en/jsr/detail?id=196">JCP Specification
+Request 196</a> to enhance container-managed security and promote
+'pluggable' authentication mechanisms whose implementations would be
+container-independent.
+        </p>
+        <p>Based on the JAAS login module and principal (see <code>javax.security.auth.spi.LoginModule</code>
+and <code>javax.security.Principal</code>), you can develop your own
+security mechanism or wrap another third-party mechanism for
+integration with the CMA as implemented by Tomcat.
+        </p>
+
+        <h3>Quick Start</h3>
+        <p>To set up Tomcat to use JAASRealm with your own JAAS login module,
+ you will need to follow these steps:</p>
+        <ol>
+          <li>Write your own LoginModule, User and Role classes based
+on JAAS (see 
+<a href="http://java.sun.com/j2se/1.4.1/docs/guide/security/jaas/tutorials/GeneralAcnOnly.html">the
+JAAS Authentication Tutorial</a> and 
+<a href="http://java.sun.com/j2se/1.4.1/docs/guide/security/jaas/JAASLMDevGuide.html">the JAAS Login Module 
+Developer's Guide</a>) to be managed by the JAAS Login
+Context (<code>javax.security.auth.login.LoginContext</code>)
+When developing your LoginModule, note that JAASRealm's built-in <code>CallbackHandler</code>
++only recognizes the <code>NameCallback</code> and <code>PasswordCallback</code> at present.
+          </li>
+          <li>Although not specified in JAAS, you should create
+seperate classes to distinguish between users and roles, extending <code>javax.security.Principal</code>,
+so that Tomcat can tell which Principals returned from your login
+module are users and which are roles (see <code>org.apache.catalina.realm.JAASRealm</code>).
+Regardless, the first Principal returned is <em>always</em> treated as the user Principal.
+          </li>
+          <li>Place the compiled classes on Tomcat's classpath
+          </li>
+          <li>Set up a login.config file for Java (see <a href="http://java.sun.com/j2se/1.4.1/docs/guide/security/jaas/tutorials/LoginConfigFile.html">JAAS
+LoginConfig file</a>) and tell Tomcat where to find it by specifying
+its location to the JVM, for instance by setting the environment
+variable: <code>JAVA_OPTS=-DJAVA_OPTS=-Djava.security.auth.login.config==$CATALINA_BASE/conf/jaas.config</code></li>
+
+          <li>Configure your security-constraints in your web.xml for
+the resources you want to protect</li>
+          <li>Configure the JAASRealm module in your server.xml </li>
+          <li>Restart Tomcat 6 if it is already running.</li>
+        </ol>
+        <h3>Realm Element Attributes</h3>
+        <p>To configure JAASRealm as for step 6 above, you create
+a <code>&lt;Realm&gt;</code> element and nest it in your 
+<code>$CATALINA_BASE/conf/server.xml</code>
+file within your <code>&lt;Engine&gt;</code> node. The following attributes 
+are supported by this implementation:</p>
+
+<table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+    <p>The fully qualified Java class name of this Realm implementation.
+    You <strong>MUST</strong> specify the value
+    "<code>org.apache.catalina.realm.JAASRealm</code>" here.</p>
+  </td></tr><tr><td valign="center" align="left"><strong><code>appName</code></strong></td><td valign="center" align="left">
+    <p>The name of the application as configured in your login configuration file 
+    (<a href="http://java.sun.com/j2se/1.4.1/docs/guide/security/jaas/tutorials/LoginConfigFile.html">JAAS LoginConfig</a>).</p>
+  </td></tr><tr><td valign="center" align="left"><strong><code>userClassNames</code></strong></td><td valign="center" align="left">
+    <p>A comma-seperated list of the names of the classes that you have made 
+    for your user <code>Principals</code>.</p>
+  </td></tr><tr><td valign="center" align="left"><code>roleClassNames</code></td><td valign="center" align="left">
+    <p>A comma-seperated list of the names of the classes that you have made 
+    for your role <code>Principals</code>.</p>
+  </td></tr><tr><td valign="center" align="left"><code>useContextClassLoader</code></td><td valign="center" align="left">
+    <p>Instructs JAASRealm to use the context class loader for loading the user-specified
+    <code>LoginModule</code> class and associated <code>Principal</code> classes. The
+    default value is <code>true</code>, which is backwards-compatible with the way 
+    Tomcat 4 works. To load classes using the container's classloader, specify
+    <code>false</code>.</p>
+  </td></tr></table>
+
+<h3>Example</h3>
+
+<p>Here is an example of how your server.xml snippet should look.</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Realm className="org.apache.catalina.realm.JAASRealm"                 
+                appName="MyFooRealm"       
+    userClassNames="org.foobar.realm.FooUser"       
+     roleClassNames="org.foobar.realm.FooRole" 
+                      debug="99"/&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>It is the responsibility of your login module to create and save User and 
+Role objects representing Principals for the user 
+(<code>javax.security.auth.Subject</code>). If your login module doesn't 
+create a user object but also doesn't throw a login exception, then the 
+Tomcat CMA will break and you will be left at the 
+http://localhost:8080/myapp/j_security_check URI or at some other 
+unspecified location.</p>
+
+        <p>The flexibility of the JAAS approach is two-fold: </p>
+        <ul>
+          <li>you can carry out whatever processing you require behind
+the scenes in your own login module.</li>
+          <li>you can plug in a completely different LoginModule by changing the configuration 
+and restarting the server, without any code changes to your application.</li>
+        </ul>
+
+        <h3>Additional Notes</h3>
+        <ul>
+          <li>When a user attempts to access a protected resource for
+              the first time, Tomcat 6 will call the <code>authenticate()</code>
+              method of this <code>Realm</code>.  Thus, any changes you have made in
+              the security mechanism directly (new users, changed passwords or
+              roles, etc.) will be immediately reflected.</li>
+          <li>Once a user has been authenticated, the user (and his or
+              her associated roles) are cached within Tomcat for the duration of
+              the user's login.  For FORM-based authentication, that means until
+              the session times out or is invalidated; for BASIC authentication,
+              that means until the user closes their browser.  Any changes to the
+              security information for an already authenticated user will <strong>not</strong>
+              be reflected until the next time that user logs on again.</li>
+          <li>As with other <code>Realm</code> implementations, digested passwords
+              are supported if the <code>&lt;Realm&gt;</code> element in <code>server.xml</code>
+              contains a <code>digest</code> attribute; JAASRealm's <code>CallbackHandler</code>
+              will digest the password prior to passing it back to the <code>LoginModule</code></li>  
+        </ul>
+
+</blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/printer/security-manager-howto.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/printer/security-manager-howto.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/printer/security-manager-howto.html	(revision 66)
@@ -0,0 +1,359 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - Security Manager HOW-TO</title><meta value="Glenn Nielsen" name="author"><meta value="glenn@voyager.apg.more.net" name="email"><meta value="Jean-Francois Arcand" name="author"><meta value="jeanfrancois.arcand@sun.com" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>Security Manager HOW-TO</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Background"><strong>Background</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The Java <strong>SecurityManager</strong> is what allows a web browser
+  to run an applet in its own sandbox to prevent untrusted code from
+  accessing files on the local file system, connecting to a host other
+  than the one the applet was loaded from, and so on.  In the same way
+  the SecurityManager protects you from an untrusted applet running in
+  your browser, use of a SecurityManager while running Tomcat can protect
+  your server from trojan servlets, JSPs, JSP beans, and tag libraries.
+  Or even inadvertent mistakes.</p>
+
+  <p>Imagine if someone who is authorized to publish JSPs on your site
+  inadvertently included the following in their JSP:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;% System.exit(1); %&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+  <p>Every time this JSP was executed by Tomcat, Tomcat would exit.
+  Using the Java SecurityManager is just one more line of defense a
+  system administrator can use to keep the server secure and reliable.</p>
+
+  <p><strong>WARNING</strong> - A security audit
+  have been conducted using the Tomcat 6 codebase. Most of the critical
+  package have been protected and a new security package protection mechanism 
+  has been implemented. Still, make sure that you are satisfied with your SecurityManager 
+  configuration before allowing untrusted users to publish web applications, 
+  JSPs, servlets, beans, or tag libraries.  <strong>However, running with a 
+  SecurityManager is definitely better than running without one.</strong></p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Permissions"><strong>Permissions</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>Permission classes are used to define what Permissions a class loaded
+  by Tomcat will have.  There are a number of Permission classes that are
+  a standard part of the JDK, and you can create your own Permission class
+  for use in your own web applications.  Both techniques are used in
+  Tomcat 6.</p>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Standard Permissions"><strong>Standard Permissions</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>This is just a short summary of the standard system SecurityManager
+    Permission classes applicable to Tomcat.  See
+    <a href="http://java.sun.com/security/">http://java.sun.com/security/</a>
+    for more information.</p>
+
+    <ul>
+    <li><strong>java.util.PropertyPermission</strong> - Controls read/write
+        access to JVM properties such as <code>java.home</code>.</li>
+    <li><strong>java.lang.RuntimePermission</strong> - Controls use of
+        some System/Runtime functions like <code>exit()</code> and
+        <code>exec()</code>. Also control the package access/definition.</li>
+    <li><strong>java.io.FilePermission</strong> - Controls read/write/execute
+        access to files and directories.</li>
+    <li><strong>java.net.SocketPermission</strong> - Controls use of
+        network sockets.</li>
+    <li><strong>java.net.NetPermission</strong> - Controls use of
+        multicast network connections.</li>
+    <li><strong>java.lang.reflect.ReflectPermission</strong> - Controls
+        use of reflection to do class introspection.</li>
+    <li><strong>java.security.SecurityPermission</strong> - Controls access
+        to Security methods.</li>
+    <li><strong>java.security.AllPermission</strong> - Allows access to all
+        permissions, just as if you were running Tomcat without a
+        SecurityManager.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat Custom Permissions"><strong>Tomcat Custom Permissions</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>Tomcat utilizes a custom permission class called
+    <strong>org.apache.naming.JndiPermission</strong>.  This permission
+    controls read access to JNDI named file based resources.  The permission
+    name is the JNDI name and there are no actions.  A trailing "*" can be
+    used to do wild card matching for a JNDI named file resource when
+    granting permission.  For example, you might include the following
+    in your policy file:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+permission  org.apache.naming.JndiPermission  "jndi://localhost/examples/*";
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+    <p>A Permission entry like this is generated dynamically for each web
+    application that is deployed, to allow it to read its own static resources
+    but disallow it from using file access to read any other files (unless
+    permissions for those files are explicitly granted).</p>
+
+    <p>Also, Tomcat always dynamically creates the following file permission:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>  
+permission java.io.FilePermission "** your application context**", "read";
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>  
+    <p>Where **your application context** equals the folder(or WAR file) under which 
+    your application has been deployed. </p>  
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Configuring Tomcat With A SecurityManager"><strong>Configuring Tomcat With A SecurityManager</strong></a></font></td></tr><tr><td><blockquote>
+
+  <h3>Policy File Format</h3>
+
+  <p>The security policies implemented by the Java SecurityManager are
+  configured in the <code>$CATALINA_BASE/conf/catalina.policy</code> file.
+  This file completely replaces the <code>java.policy</code> file present
+  in your JDK system directories.  The <code>catalina.policy</code> file
+  can be edited by hand, or you can use the
+  <a href="http://java.sun.com/products/jdk/1.2/docs/tooldocs/solaris/policytool.html">policytool</a>
+  application that comes with Java 1.2 or later.</p>
+
+  <p>Entries in the <code>catalina.policy</code> file use the standard
+  <code>java.policy</code> file format, as follows:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+// Example policy file entry
+
+grant [signedBy &lt;signer&gt;,] [codeBase &lt;code source&gt;] {
+  permission  &lt;class&gt;  [&lt;name&gt; [, &lt;action list&gt;]];
+};
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+  <p>The <strong>signedBy</strong> and <strong>codeBase</strong> entries are
+  optional when granting permissions.  Comment lines begin with "//" and
+  end at the end of the current line.  The <code>codeBase</code> is in the
+  form of a URL, and for a file URL can use the <code>${java.home}</code>
+  and <code>${catalina.home}</code> properties (which are expanded out to
+  the directory paths defined for them by the <code>JAVA_HOME</code>,
+  <code>CATALINA_HOME</code> and <code>CATALINA_BASE</code> environment
+  variables).</p>
+
+  <h3>The Default Policy File</h3>
+
+  <p>The default <code>$CATALINA_BASE/conf/catalina.policy</code> file
+  looks like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+// ============================================================================
+// catalina.corepolicy - Security Policy Permissions for Tomcat 6
+//
+// This file contains a default set of security policies to be enforced (by the
+// JVM) when Catalina is executed with the "-security" option.  In addition
+// to the permissions granted here, the following additional permissions are
+// granted to the codebase specific to each web application:
+//
+// * Read access to the document root directory
+//
+// $Id: security-manager-howto.xml 633912 2008-03-05 16:24:07Z jim $
+// ============================================================================
+
+
+// ========== SYSTEM CODE PERMISSIONS =========================================
+
+
+// These permissions apply to javac
+grant codeBase "file:${java.home}/lib/-" {
+        permission java.security.AllPermission;
+};
+
+// These permissions apply to all shared system extensions
+grant codeBase "file:${java.home}/jre/lib/ext/-" {
+        permission java.security.AllPermission;
+};
+
+// These permissions apply to javac when ${java.home] points at $JAVA_HOME/jre
+grant codeBase "file:${java.home}/../lib/-" {
+        permission java.security.AllPermission;
+};
+
+// These permissions apply to all shared system extensions when
+// ${java.home} points at $JAVA_HOME/jre
+grant codeBase "file:${java.home}/lib/ext/-" {
+        permission java.security.AllPermission;
+};
+
+
+// ========== CATALINA CODE PERMISSIONS =======================================
+
+
+// These permissions apply to the daemon code
+grant codeBase "file:${catalina.home}/bin/commons-daemon.jar" {
+        permission java.security.AllPermission;
+};
+
+// These permissions apply to the logging API
+grant codeBase "file:${catalina.home}/bin/tomcat-juli.jar" {
+        permission java.security.AllPermission;
+};
+
+// These permissions apply to the server startup code
+grant codeBase "file:${catalina.home}/bin/bootstrap.jar" {
+        permission java.security.AllPermission;
+};
+
+// These permissions apply to the servlet API classes
+// and those that are shared across all class loaders
+// located in the "lib" directory
+grant codeBase "file:${catalina.home}/lib/-" {
+        permission java.security.AllPermission;
+};
+
+
+// ========== WEB APPLICATION PERMISSIONS =====================================
+
+
+// These permissions are granted by default to all web applications
+// In addition, a web application will be given a read FilePermission
+// and JndiPermission for all files and directories in its document root.
+grant { 
+    // Required for JNDI lookup of named JDBC DataSource's and
+    // javamail named MimePart DataSource used to send mail
+    permission java.util.PropertyPermission "java.home", "read";
+    permission java.util.PropertyPermission "java.naming.*", "read";
+    permission java.util.PropertyPermission "javax.sql.*", "read";
+
+    // OS Specific properties to allow read access
+    permission java.util.PropertyPermission "os.name", "read";
+    permission java.util.PropertyPermission "os.version", "read";
+    permission java.util.PropertyPermission "os.arch", "read";
+    permission java.util.PropertyPermission "file.separator", "read";
+    permission java.util.PropertyPermission "path.separator", "read";
+    permission java.util.PropertyPermission "line.separator", "read";
+
+    // JVM properties to allow read access
+    permission java.util.PropertyPermission "java.version", "read";
+    permission java.util.PropertyPermission "java.vendor", "read";
+    permission java.util.PropertyPermission "java.vendor.url", "read";
+    permission java.util.PropertyPermission "java.class.version", "read";
+	permission java.util.PropertyPermission "java.specification.version", "read";
+	permission java.util.PropertyPermission "java.specification.vendor", "read";
+	permission java.util.PropertyPermission "java.specification.name", "read";
+
+	permission java.util.PropertyPermission "java.vm.specification.version", "read";
+	permission java.util.PropertyPermission "java.vm.specification.vendor", "read";
+	permission java.util.PropertyPermission "java.vm.specification.name", "read";
+	permission java.util.PropertyPermission "java.vm.version", "read";
+	permission java.util.PropertyPermission "java.vm.vendor", "read";
+	permission java.util.PropertyPermission "java.vm.name", "read";
+
+    // Required for OpenJMX
+    permission java.lang.RuntimePermission "getAttribute";
+
+	// Allow read of JAXP compliant XML parser debug
+	permission java.util.PropertyPermission "jaxp.debug", "read";
+
+    // Precompiled JSPs need access to this package.
+    permission java.lang.RuntimePermission "accessClassInPackage.org.apache.jasper.runtime";
+    permission java.lang.RuntimePermission "accessClassInPackage.org.apache.jasper.runtime.*";
+    
+};
+
+
+// You can assign additional permissions to particular web applications by
+// adding additional "grant" entries here, based on the code base for that
+// application, /WEB-INF/classes/, or /WEB-INF/lib/ jar files.
+//
+// Different permissions can be granted to JSP pages, classes loaded from
+// the /WEB-INF/classes/ directory, all jar files in the /WEB-INF/lib/
+// directory, or even to individual jar files in the /WEB-INF/lib/ directory.
+//
+// For instance, assume that the standard "examples" application
+// included a JDBC driver that needed to establish a network connection to the
+// corresponding database and used the scrape taglib to get the weather from
+// the NOAA web server.  You might create a "grant" entries like this:
+//
+// The permissions granted to the context root directory apply to JSP pages.
+// grant codeBase "file:${catalina.home}/webapps/examples/-" {
+//      permission java.net.SocketPermission "dbhost.mycompany.com:5432", "connect";
+//      permission java.net.SocketPermission "*.noaa.gov:80", "connect";
+// };
+//
+// The permissions granted to the context WEB-INF/classes directory
+// grant codeBase "file:${catalina.home}/webapps/examples/WEB-INF/classes/-" {
+// };
+//
+// The permission granted to your JDBC driver
+// grant codeBase "jar:file:${catalina.home}/webapps/examples/WEB-INF/lib/driver.jar!/-" {
+//      permission java.net.SocketPermission "dbhost.mycompany.com:5432", "connect";
+// };
+// The permission granted to the scrape taglib
+// grant codeBase "jar:file:${catalina.home}/webapps/examples/WEB-INF/lib/scrape.jar!/-" {
+//      permission java.net.SocketPermission "*.noaa.gov:80", "connect";
+// };
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+  <h3>Starting Tomcat With A SecurityManager</h3>
+
+  <p>Once you have configured the <code>catalina.policy</code> file for use
+  with a SecurityManager, Tomcat can be started with a SecurityManager in
+  place by using the "-security" option:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+$CATALINA_HOME/bin/catalina.sh start -security    (Unix)
+%CATALINA_HOME%\bin\catalina start -security      (Windows)
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Configuring Package Protection in Tomcat"><strong>Configuring Package Protection in Tomcat</strong></a></font></td></tr><tr><td><blockquote>
+  <p>Starting with Tomcat 5, it is now possible to configure which Tomcat
+  internal package are protected againts package definition and access. See
+  <a href="http://java.sun.com/security/seccodeguide.html">
+    http://java.sun.com/security/seccodeguide.html</a>
+    for more information.</p>    
+
+  
+  <p><strong>WARNING</strong>: Be aware that removing the default package protection 
+  could possibly open a security hole</p>
+
+  <h3>The Default Properties File</h3>
+
+  <p>The default <code>$CATALINA_BASE/conf/catalina.properties</code> file
+  looks like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>  
+#
+# List of comma-separated packages that start with or equal this string
+# will cause a security exception to be thrown when
+# passed to checkPackageAccess unless the
+# corresponding RuntimePermission ("accessClassInPackage."+package) has
+# been granted.
+package.access=sun.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,
+org.apache.jasper.
+#
+# List of comma-separated packages that start with or equal this string
+# will cause a security exception to be thrown when
+# passed to checkPackageDefinition unless the
+# corresponding RuntimePermission ("defineClassInPackage."+package) has
+# been granted.
+#
+# by default, no packages are restricted for definition, and none of
+# the class loaders supplied with the JDK call checkPackageDefinition.
+#
+package.definition=sun.,java.,org.apache.catalina.,org.apache.coyote.,
+org.apache.tomcat.,org.apache.jasper.
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+  <p>Once you have configured the <code>catalina.properties</code> file for use
+  with a SecurityManager, remember to re-start Tomcat.</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Troubleshooting"><strong>Troubleshooting</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>If your web application attempts to execute an operation that is
+  prohibited by lack of a required Permission, it will throw an
+  <code>AccessControLException</code> or a <code>SecurityException</code>
+  when the SecurityManager detects the violation.  Debugging the permission
+  that is missing can be challenging, and one option is to turn on debug
+  output of all security decisions that are made during execution.  This
+  is done by setting a system property before starting Tomcat.  The easiest
+  way to do this is via the <code>CATALINA_OPTS</code> environment variable.
+  Execute this command:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+export CATALINA_OPTS=-Djava.security.debug=all    (Unix)
+set CATALINA_OPTS=-Djava.security.debug=all       (Windows)
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+  <p>before starting Tomcat.</p>
+
+  <p><strong>WARNING</strong> - This will generate <em>many megabytes</em>
+  of output!  However, it can help you track down problems by searching
+  for the word "FAILED" and determining which permission was being checked
+  for.  See the Java security documentation for more options that you can
+  specify here as well.</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/printer/setup.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/printer/setup.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/printer/setup.html	(revision 66)
@@ -0,0 +1,117 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - Tomcat Setup</title><meta value="Remy Maucherat" name="author"><meta value="remm@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>Tomcat Setup</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+    <p>
+      This document introduces several ways to set up Tomcat for running
+      on different platforms.  Please note that some advanced setup issues
+      are not covered here: the full distribution (ZIP file or tarball) 
+      includes a file called
+      RUNNING.txt which discusses these issues.  We encourage you to refer
+      to it if the information below does not answer some of your questions.
+    </p>
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Windows"><strong>Windows</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>
+      Installing Tomcat on Windows can be done easily using the Windows 
+      installer. Its interface and functionality is similar to other wizard
+      based installers, with only a few items of interest.
+    </p>
+
+    <p>
+      <ul>
+        <li><strong>Installation as a service</strong>: Tomcat will be 
+            installed as a Windows
+            NT/2k/XP service no matter what setting is selected. Using the
+            checkbox on the component page sets the service as "auto"
+            startup, so that Tomcat is automatically started when Windows
+            starts. For optimal security, the service should be run as a
+            separate user, with reduced permissions (see the Windows Services
+            administration tool and its documentation).</li>
+        <li><strong>Java location</strong>: The installer will use the registry
+            or the JAVA_HOME environment variable to determine the base path
+            of a J2SE 5 JRE.
+            </li>
+        <li><strong>Tray icon</strong>: When Tomcat is run as a service, there
+            will not be any tray icon present when Tomcat is running. Note that
+            when choosing to run Tomcat at the end of installation, the tray
+            icon will be used even if Tomcat was installed as a service.</li>
+        <li>Refer to the
+            <a href="windows-service-howto.html">Windows Service HOW-TO</a>
+            for information on how to manage Tomcat as Windows NT service.
+            </li>            
+      </ul>
+    </p>
+
+    <p>The installer will create shortcuts allowing starting and configuring 
+       Tomcat. It is important to note that the Tomcat administration web 
+       application can only be used when Tomcat is running.</p>
+
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Unix daemon"><strong>Unix daemon</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>Tomcat can be run as a daemon using the jsvc tool from the 
+       commons-daemon project. Source tarballs for jsvc are included with the
+       Tomcat binaries, and need to be compiled. Building jsvc requires
+       a C ANSI compiler (such as GCC), GNU Autoconf, and a JDK.</p>
+
+    <p>Before running the script, the <code>JAVA_HOME</code> environment
+       variable should be set to the base path of the JDK. Alternately, when
+       calling the <code>./configure</code> script, the path of the JDK may
+       be specified using the <code>--with-java</code> parameter, such as
+       <code>./configure --with-java=/usr/java</code>.</p>
+
+    <p>Using the following commands should result in a compiled jsvc binary,
+       located in the <code>$CATALINA_HOME/bin</code> folder. This assumes
+       that GNU TAR is used, and that <code>CATALINA_HOME</code> is an 
+       environment variable pointing to the base path of the Tomcat 
+       installation.</p>
+  
+    <p>Please note that you should use the GNU make (gmake) instead of
+       the native BSD make on FreeBSD systems.</p>
+
+    <p>Download a commons-daemon binary from the Jakarta Commons download page, 
+       and place jsvc.tar.gz and commons-daemon.jar in the 
+       <code>$CATALINA_HOME/bin</code> folder.</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    cd $CATALINA_HOME/bin
+    tar xvfz jsvc.tar.gz
+    cd jsvc-src
+    autoconf
+    ./configure
+    make
+    cp jsvc ..
+    cd ..
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+    <p>Tomcat can then be run as a daemon using the following commands.</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    cd $CATALINA_HOME
+    ./bin/jsvc -cp ./bin/bootstrap.jar \
+        -outfile ./logs/catalina.out -errfile ./logs/catalina.err \
+        org.apache.catalina.startup.Bootstrap
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+    <p>jsvc has other useful parameters, such as <code>-user</code> which 
+       causes it to switch to another user after the daemon initialization is
+       complete. This allows, for example, running Tomcat as a non privileged
+       user while still being able to use privileged ports. 
+       <code>jsvc --help</code> will return the full jsvc usage 
+       information. In particular, the <code>-debug</code> option is useful
+       to debug issues running jsvc.</p>
+
+    <p>The file <code>$CATALINA_HOME/bin/jsvc/native/tomcat.sh</code> can be 
+       used as a template for starting Tomcat automatically at boot time from 
+       <code>/etc/init.d</code>.  The file is currently setup for running 
+       Tomcat 4.1.x, so it is necessary to edit it and change the classname 
+       from <code>BootstrapService</code> to <code>Bootstrap</code>.</p>
+
+    <p>Note that the Commons-Daemon JAR file must be on your runtime classpath 
+       to run Tomcat in this manner.  The Commons-Daemon JAR file is in the Class-Path 
+       entry of the bootstrap.jar manifest, but if you get a ClassNotFoundException 
+       or a NoClassDefFoundError for a Commons-Daemon class, add the Commons-Daemon 
+       JAR to the -cp argument when launching jsvc.</p> 
+
+  </blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/printer/ssi-howto.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/printer/ssi-howto.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/printer/ssi-howto.html	(revision 66)
@@ -0,0 +1,348 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - SSI How To</title><meta value="Glenn L. Nielsen" name="author"><meta value="glenn@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>SSI How To</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>SSI (Server Side Includes) are directives that are placed in HTML pages,
+and evaluated on the server while the pages are being served. They let you
+add dynamically generated content to an existing HTML page, without having
+to serve the entire page via a CGI program, or other dynamic technology.
+</p>
+
+<p>Within Tomcat SSI support can be added when using Tomcat as your
+HTTP server and you require SSI support.  Typically this is done
+during development when you don't want to run a web server like Apache.</p>
+
+<p>Tomcat SSI support implements the same SSI directives as Apache.  See the
+<a href="http://httpd.apache.org/docs/howto/ssi.html#basicssidirectives">
+Apache Introduction to SSI</a> for information on using SSI directives.</p>
+
+<p>SSI support is available as a servlet and as a filter. You should use one
+or the other to provide SSI support but not both.</p>
+
+<p>Servlet based SSI support is implemented using the class
+<code>org.apache.catalina.ssi.SSIServlet</code>.  Traditionally, this servlet
+is mapped to the URL pattern "*.shtml".</p>
+
+<p>Filter based SSI support is implemented using the class
+<code>org.apache.catalina.ssi.SSIFilter</code>.  Traditionally, this filter
+is mapped to the URL pattern "*.shtml", though it can be mapped to "*" as
+it will selectively enable/disable SSI processing based on mime types.  The
+contentType init param allows you to apply SSI processing to JSP pages,
+javascript, or any other content you wish.</p>
+<p>By default SSI support is disabled in Tomcat.</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Installation"><strong>Installation</strong></a></font></td></tr><tr><td><blockquote>
+
+<p><strong>CAUTION</strong> - SSI directives can be used to execute programs
+external to the Tomcat JVM. If you are using the Java SecurityManager this
+will bypass your security policy configuration in <code>catalina.policy.</code>
+</p>
+
+<p>To use the SSI servlet, remove the XML comments from around the SSI servlet
+and servlet-mapping configuration in
+<code>$CATALINA_BASE/conf/web.xml</code>.</p>
+
+<p>To use the SSI filter, remove the XML comments from around the SSI filter
+and filter-mapping configuration in
+<code>$CATALINA_BASE/conf/web.xml</code>.</p>
+
+<p>Only Contexts which are marked as privileged may use SSI features (see the
+privileged property of the Context element).</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Servlet Configuration"><strong>Servlet Configuration</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>There are several servlet init parameters which can be used to
+configure the behaviour of the SSI servlet.
+<ul>
+<li><strong>buffered</strong> - Should output from this servlet be buffered?
+(0=false, 1=true) Default 0 (false).</li>
+<li><strong>debug</strong> - Debugging detail level for messages logged
+by this servlet. Default 0.</li>
+<li><strong>expires</strong> - The number of seconds before a page with SSI
+directives will expire. Default behaviour is for all SSI directives to be
+evaluated for every request.</li>
+<li><strong>isVirtualWebappRelative</strong> - Should "virtual" SSI directive
+paths be interpreted as relative to the context root, instead of the server
+root? (0=false, 1=true) Default 0 (false).</li>
+<li><strong>inputEncoding</strong> - The encoding to be assumed for SSI
+resources if one cannot be determined from the resource itself. Default is
+the default platform encoding.</li>
+<li><strong>outputEncoding</strong> - The encoding to be used for the result
+of the SSI processing. Default is UTF-8.</li>
+</ul>
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Filter Configuration"><strong>Filter Configuration</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>There are several filter init parameters which can be used to
+configure the behaviour of the SSI filter.
+<ul>
+<li><strong>contentType</strong> - A regex pattern that must be matched before
+SSI processing is applied. When crafting your own pattern, don't forget that a
+mime content type may be followed by an optional character set in the form
+"mime/type; charset=set" that you must take into account.  Default is
+"text/x-server-parsed-html(;.*)?".</li>
+<li><strong>debug</strong> - Debugging detail level for messages logged
+by this servlet. Default 0.</li>
+<li><strong>expires</strong> - The number of seconds before a page with SSI
+directives will expire. Default behaviour is for all SSI directives to be
+evaluated for every request.</li>
+<li><strong>isVirtualWebappRelative</strong> - Should "virtual" SSI directive
+paths be interpreted as relative to the context root, instead of the server
+root? (0=false, 1=true) Default 0 (false).</li>
+</ul>
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Directives"><strong>Directives</strong></a></font></td></tr><tr><td><blockquote>
+<p>Server Side Includes are invoked by embedding SSI directives in an HTML document
+ whose type will be processed by the SSI servlet. The directives take the form of an HTML
+ comment. The directive is replaced by the results of interpreting it before sending the
+ page to the client. The general form of a directive is: </p>
+<p> <code>&lt;!--#directive [parm=value] --&gt;</code></p>
+<p>The directives are:
+<ul>
+<li>
+<strong>config</strong> - <code>&lt;!--#config timefmt="%B %Y" --&gt;</code>
+Used to set the format of dates and other items processed by SSI
+</li>
+<li>
+<strong>echo</strong> -   <code>&lt;!--#echo var="VARIABLE_NAME" --&gt;</code>
+will be replaced bt the value of the variable.
+</li>
+<li>
+<strong>exec</strong> -  Used to run commands on the host system.
+</li>
+<li>
+<strong>include</strong> -  <code>&lt;!--#include virtual="file-name" --&gt;</code>
+inserts the contents
+</li>
+<li>
+<strong>flastmod</strong> - <code>&lt;!--#flastmod file="filename.shtml" --&gt;</code>
+Returns the time that a file was lost modified.
+</li>
+<li>
+<strong>fsize</strong> - <code>&lt;!--#fsize file="filename.shtml" --&gt;</code>
+Returns the size of a file.
+</li>
+<li>
+<strong>printenv</strong> - <code>&lt;!--#printenv --&gt;</code>
+Returns the list of all the defined variables.
+</li>
+<li>
+<strong>set</strong> - <code>&lt;!--#set var="foo" value="Bar" --&gt;</code>
+is used to assign a value to a user-defind variable.
+</li>
+<li>
+<strong>if elif endif else</strong> - Used to create conditional sections. For example:</li>
+<code>&lt;!--#config timefmt="%A" --&gt;<br>
+  &lt;!--#if expr="$DATE_LOCAL = /Monday/" --&gt;<br>
+  &lt;p&gt;Meeting at 10:00 on Mondays&lt;/p&gt;<br>
+  &lt;!--#elif expr="$DATE_LOCAL = /Friday/" --&gt;<br>
+  &lt;p&gt;Turn in your time card&lt;/p&gt;<br>
+  &lt;!--#else --&gt;<br>
+  &lt;p&gt;Yoga class at noon.&lt;/p&gt;<br>
+  &lt;!--#endif --&gt;</code>
+ </ul>
+</p>
+See the
+<p> <a href="http://httpd.apache.org/docs/howto/ssi.html#basicssidirectives">
+Apache Introduction to SSI</a> for more information on using SSI directives.</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Variables"><strong>Variables</strong></a></font></td></tr><tr><td><blockquote>
+<p>The SSI servlet currently implements the following variables:
+</p>
+<table border="1">
+<tr>
+<th>Variable Name</th>
+<th>Description</th>
+</tr>
+
+<tr>
+<td>AUTH_TYPE</td>
+<td>
+  The type of authentication used for this user: BASIC, FORM, etc.</td>
+</tr>
+
+<tr>
+<td>CONTENT_LENGTH</td>
+<td>
+  The length of the data (in bytes or the number of 
+  characters) passed from a form.</td>
+</tr>
+
+<tr>
+<td>CONTENT_TYPE</td>
+<td>
+  The MIME type of the query data, such as "text/html".</td>
+</tr>
+
+<tr>
+<td>DATE_GMT</td>
+<td>
+Current date and time in GMT</td>
+</tr>
+
+<tr>
+<td>DATE_LOCAL</td>
+<td>
+Current date and time in the local time zone</td>
+</tr>
+<tr>
+<td>DOCUMENT_NAME</td>
+<td>
+The current file</td>
+</tr>
+<tr>
+<td>DOCUMENT_URI</td>
+<td>
+Virtual path to the file</td>
+</tr>
+
+<tr>
+<td>GATEWAY_INTERFACE</td>
+<td>
+  The revision of the Common Gateway Interface that the 
+  server uses if enabled: "CGI/1.1".</td>
+</tr>
+
+<tr>
+<td>HTTP_ACCEPT</td>
+<td>
+  A list of the MIME types that the client can accept.</td>
+</tr>
+
+<tr>
+<td>HTTP_ACCEPT_ENCODING</td>
+<td>
+  A list of the compression types that the client can accept.</td>
+</tr>
+
+<tr>
+<td>HTTP_ACCEPT_LANGUAGE</td>
+<td>
+  A list of the laguages that the client can accept.</td>
+</tr>
+<tr>
+<td>HTTP_CONNECTION</td>
+<td>
+  The way that the connection from the client is being managed:
+  "Close" or "Keep-Alive".</td>
+</tr>
+<tr>
+<td>HTTP_HOST</td>
+<td>
+  The web site that the client requested.</td>
+</tr>
+<tr>
+<td>HTTP_REFERER</td>
+<td>
+  The URL of the document that the client linked from.</td>
+</tr>
+<tr>
+<td>HTTP_USER_AGENT</td>
+<td>
+  The browser the client is using to issue the request.</td>
+</tr>
+<tr>
+<td>LAST_MODIFIED</td>
+<td>
+Last modification date and time for current file</td>
+</tr>
+<tr>
+<td>PATH_INFO</td>
+<td>
+  Extra path information passed to a servlet.</td>
+</tr>
+<tr>
+<td>PATH_TRANSLATED</td>
+<td>
+  The translated version of the path given by the
+  variable PATH_INFO.</td>
+</tr>
+<tr>
+<td>QUERY_STRING</td>
+<td>
+The query string that follows the "?" in the URL.
+</td>
+</tr>
+<tr>
+<td>QUERY_STRING_UNESCAPED</td>
+<td>
+Undecoded query string with all shell metacharacters escaped 
+with "\"</td>
+</tr>
+<tr>
+<td>REMOTE_ADDR</td>
+<td>
+  The remote IP address of the user making the request.</td>
+</tr>
+<tr>
+<td>REMOTE_HOST</td>
+<td>
+  The remote hostname of the user making the request.</td>
+</tr>
+<tr>
+<td>REMOTE_PORT</td>
+<td>
+  The port number at remote IP address of the user making the request.</td>
+</tr>
+<tr>
+<td>REMOTE_USER</td>
+<td>
+  The authenticated name of the user.</td>
+</tr>
+<tr>
+<td>REQUEST_METHOD</td>
+<td>
+  The method with which the information request was
+  issued: "GET", "POST" etc.</td>
+</tr>
+<tr>
+<td>REQUEST_URI</td>
+<td>
+  The web page originally requested by the client.</td>
+</tr>
+<tr>
+<td>SCRIPT_FILENAME</td>
+<td>
+  The location of the current web page on the server.</td>
+</tr>
+<tr>
+<td>SCRIPT_NAME</td>
+<td>
+  The name of the web page.</td>
+</tr>
+<tr>
+<td>SERVER_ADDR</td>
+<td>
+  The server's IP address.</td>
+</tr>
+<tr>
+<td>SERVER_NAME</td>
+<td>
+  The server's hostname or IP address.</td>
+</tr>
+<tr>
+<td>SERVER_PORT</td>
+<td>
+  The port on which the server received the request.</td>
+</tr>
+<tr>
+<td>SERVER_PROTOCOL</td>
+<td>
+  The protocol used by the server. E.g. "HTTP/1.1".</td>
+</tr>
+<tr>
+<td>SERVER_SOFTWARE</td>
+<td>
+  The name and version of the server software that is 
+  answering the client request.</td>
+</tr>
+<tr>
+<td>UNIQUE_ID</td>
+<td>
+  A token used to identify the current session if one
+  has been established.</td>
+</tr>
+</table>
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/printer/ssl-howto.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/printer/ssl-howto.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/printer/ssl-howto.html	(revision 66)
@@ -0,0 +1,599 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - SSL Configuration HOW-TO</title><meta value="Christopher Cain" name="author"><meta value="ccain@apache.org" name="email"><meta value="Yoav Shapira" name="author"><meta value="yoavs@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>SSL Configuration HOW-TO</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Quick Start"><strong>Quick Start</strong></a></font></td></tr><tr><td><blockquote>
+
+   <p><b>IMPORTANT NOTE: This Howto refers to usage of JSSE, that comes included with
+    jdk 1.5 and higher. When using APR, Tomcat will
+    use OpenSSL, which uses a different configuration.</b></p>
+
+    <blockquote><em>
+    <p>The description below uses the variable name $CATALINA_BASE to refer the
+    base directory against which most relative paths are resolved. If you have
+    not configured Tomcat 6 for multiple instances by setting a CATALINA_BASE
+    directory, then $CATALINA_BASE will be set to the value of $CATALINA_HOME,
+    the directory into which you have installed Tomcat 6.</p>
+    </em></blockquote>
+
+<p>To install and configure SSL support on Tomcat 6, you need to follow
+these simple steps.  For more information, read the rest of this HOW-TO.</p>
+<ol>
+<li>Create a certificate keystore by executing the following command:
+<p>Windows:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+<p>Unix:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+$JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+<p></p>
+    and specify a password value of "changeit".</li><br><br>
+<li>Uncomment the "SSL HTTP/1.1 Connector" entry in
+    <code>$CATALINA_BASE/conf/server.xml</code> and tweak as necessary.</li>
+    <br><br>
+</ol>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction to SSL"><strong>Introduction to SSL</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>SSL, or Secure Socket Layer, is a technology which allows web browsers and
+web servers to communicate over a secured connection.  This means that the data
+being sent is encrypted by one side, transmitted, then decrypted by the other
+side before processing.  This is a two-way process, meaning that both the
+server AND the browser encrypt all traffic before sending out data.</p>
+
+<p>Another important aspect of the SSL protocol is Authentication.  This means
+that during your initial attempt to communicate with a web server over a secure
+connection, that server will present your web browser with a set of
+credentials, in the form of a "Certificate", as proof the site is who and what
+it claims to be.  In certain cases, the server may also request a Certificate
+from your web browser, asking for proof that <em>you</em> are who you claim
+to be.  This is known as "Client Authentication," although in practice this is
+used more for business-to-business (B2B) transactions than with individual
+users.  Most SSL-enabled web servers do not request Client Authentication.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="SSL and Tomcat"><strong>SSL and Tomcat</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>It is important to note that configuring Tomcat to take advantage of
+secure sockets is usually only necessary when running it as a stand-alone
+web server.  When running Tomcat primarily as a Servlet/JSP container behind
+another web server, such as Apache or Microsoft IIS, it is usually necessary
+to configure the primary web server to handle the SSL connections from users.
+Typically, this server will negotiate all SSL-related functionality, then
+pass on any requests destined for the Tomcat container only after decrypting
+those requests.  Likewise, Tomcat will return cleartext responses, that will
+be encrypted before being returned to the user's browser.  In this environment,
+Tomcat knows that communications between the primary web server and the
+client are taking place over a secure connection (because your application
+needs to be able to ask about this), but it does not participate in the
+encryption or decryption itself.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Certificates"><strong>Certificates</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>In order to implement SSL, a web server must have an associated Certificate
+for each external interface (IP address) that accepts secure connections.
+The theory behind this design is that a server should provide some kind of
+reasonable assurance that its owner is who you think it is, particularly
+before receiving any sensitive information.  While a broader explanation of
+Certificates is beyond the scope of this document, think of a Certificate
+as a "digital driver's license" for an Internet address.  It states what
+company the site is associated with, along with some basic contact
+information about the site owner or administrator.</p>
+
+<p>This "driver's license" is cryptographically signed by its owner, and is
+therefore extremely difficult for anyone else to forge.  For sites involved
+in e-commerce, or any other business transaction in which authentication of
+identity is important, a Certificate is typically purchased from a well-known
+<em>Certificate Authority</em> (CA) such as VeriSign or Thawte.  Such
+certificates can be electronically verified -- in effect, the Certificate
+Authority will vouch for the authenticity of the certificates that it grants,
+so you can believe that that Certificate is valid if you trust the Certificate
+Authority that granted it.</p>
+
+<p>In many cases, however, authentication is not really a concern.  An
+administrator may simply want to ensure that the data being transmitted and
+received by the server is private and cannot be snooped by anyone who may be
+eavesdropping on the connection.  Fortunately, Java provides a relatively
+simple command-line tool, called <code>keytool</code>, which can easily create
+a "self-signed" Certificate.  Self-signed Certificates are simply user
+generated Certificates which have not been officially registered with any
+well-known CA, and are therefore not really guaranteed to be authentic at all.
+Again, this may or may not even be important, depending on your needs.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General Tips on Running SSL"><strong>General Tips on Running SSL</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The first time a user attempts to access a secured page on your site,
+he or she is typically presented with a dialog containing the details of
+the certificate (such as the company and contact name), and asked if he or she
+wishes to accept the Certificate as valid and continue with the transaction.
+Some browsers will provide an option for permanently accepting a given
+Certificate as valid, in which case the user will not be bothered with a
+prompt each time they visit your site.  Other browsers do not provide this
+option.  Once approved by the user, a Certificate will be considered valid
+for at least the entire browser session.</p>
+
+<p>Also, while the SSL protocol was designed to be as efficient as securely
+possible, encryption/decryption is a computationally expensive process from
+a performance standpoint.  It is not strictly necessary to run an entire
+web application over SSL, and indeed a developer can pick and choose which
+pages require a secure connection and which do not.  For a reasonably busy
+site, it is customary to only run certain pages under SSL, namely those
+pages where sensitive information could possibly be exchanged.  This would
+include things like login pages, personal information pages, and shopping
+cart checkouts, where credit card information could possibly be transmitted.
+Any page within an application can be requested over a secure socket by
+simply prefixing the address with <code>https:</code> instead of
+<code>http:</code>.  Any pages which absolutely <strong>require</strong>
+a secure connection should check the protocol type associated with the
+page request and take the appropriate action if <code>https</code> is not
+specified.</p>
+
+<p>Finally, using name-based virtual hosts on a secured connection can be
+problematic.  This is a design limitation of the SSL protocol itself.  The SSL
+handshake, where the client browser accepts the server certificate, must occur
+before the HTTP request is accessed.  As a result, the request information
+containing the virtual host name cannot be determined prior to authentication,
+and it is therefore not possible to assign multiple certificates to a single
+IP address.  If all virtual hosts on a single IP address need to authenticate
+against the same certificate, the addition of multiple virtual hosts should not
+interfere with normal SSL operations on the server.  Be aware, however, that
+most client browsers will compare the server's domain name against the domain
+name listed in the certificate, if any (applicable primarily to official,
+CA-signed certificates).  If the domain names do not match, these browsers will
+display a warning to the client user.  In general, only address-based virtual
+hosts are commonly used with SSL in a production environment.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Configuration"><strong>Configuration</strong></a></font></td></tr><tr><td><blockquote>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Prepare the Certificate Keystore"><strong>Prepare the Certificate Keystore</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Tomcat currently operates only on <code>JKS</code>, <code>PKCS11</code> or
+<code>PKCS12</code> format keystores.  The <code>JKS</code> format
+is Java's standard "Java KeyStore" format, and is the format created by the
+<code>keytool</code> command-line utility.  This tool is included in the JDK.
+The <code>PKCS12</code> format is an internet standard, and can be manipulated
+via (among other things) OpenSSL and Microsoft's Key-Manager.
+</p>
+
+<p>Each entry in a keystore is identified by an alias string. Whilst many
+keystore implementations treat aliases in a case insensitive manner, case
+sensitive implementations are available. The <code>PKCS11</code> specification,
+for example, requires that aliases are case sensitive. To avoid issues related
+to the case sensitivity of aliases, it is not recommended to use aliases that
+differ only in case.
+</p>
+
+<p>To import an existing certificate into a JKS keystore, please read the
+documentation (in your JDK documentation package) about <code>keytool</code>.
+Note that OpenSSL often adds readable comments before the key,
+<code>keytool</code>does not support that, so remove the OpenSSL comments if
+they exist before importing the key using <code>keytool</code>.
+</p>
+<p>To import an existing certificate signed by your own CA into a PKCS12 
+keystore using OpenSSL you would execute a command like:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>openssl pkcs12 -export -in mycert.crt -inkey mykey.key \
+                        -out mycert.p12 -name tomcat -CAfile myCA.crt \
+                        -caname root -chain
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+For more advanced cases, consult the <a href="http://www.openssl.org/">OpenSSL
+documentation</a>.
+</p>
+<p>To create a new keystore from scratch, containing a single self-signed
+Certificate, execute the following from a terminal command line:</p>
+<p>Windows:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+<p>Unix:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+$JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>(The RSA algorithm should be preferred as a secure algorithm, and this
+also ensures general compatibility with other servers and components.)</p>
+
+<p>This command will create a new file, in the home directory of the user
+under which you run it, named "<code>.keystore</code>".  To specify a
+different location or filename, add the <code>-keystore</code> parameter,
+followed by the complete pathname to your keystore file,
+to the <code>keytool</code> command shown above.  You will also need to
+reflect this new location in the <code>server.xml</code> configuration file,
+as described later.  For example:</p>
+<p>Windows:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA \
+  -keystore \path\to\my\keystore
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+<p>Unix:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+$JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA \
+  -keystore /path/to/my/keystore
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>After executing this command, you will first be prompted for the keystore
+password.  The default password used by Tomcat is "<code>changeit</code>"
+(all lower case), although you can specify a custom password if you like.
+You will also need to specify the custom password in the
+<code>server.xml</code> configuration file, as described later.</p>
+
+<p>Next, you will be prompted for general information about this Certificate,
+such as company, contact name, and so on.  This information will be displayed
+to users who attempt to access a secure page in your application, so make
+sure that the information provided here matches what they will expect.</p>
+
+<p>Finally, you will be prompted for the <em>key password</em>, which is the
+password specifically for this Certificate (as opposed to any other
+Certificates stored in the same keystore file).  You <strong>MUST</strong>
+use the same password here as was used for the keystore password itself.
+(Currently, the <code>keytool</code> prompt will tell you that pressing the
+ENTER key does this for you automatically.)</p>
+
+<p>If everything was successful, you now have a keystore file with a
+Certificate that can be used by your server.</p>
+
+<p><strong>Note:</strong> your private key password and keystore password
+should be the same.  If they differ, you will get an error along the lines
+of <code>java.io.IOException: Cannot recover key</code>, as documented in 
+<a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38217">Bugzilla issue 38217</a>, 
+which contains further references for this issue.</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Edit the Tomcat Configuration File"><strong>Edit the Tomcat Configuration File</strong></a></font></td></tr><tr><td><blockquote>
+<p>If you are using APR, you have the option of configuring an alternative engine to OpenSSL.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="someengine" SSLRandomSeed="somedevice" /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+The default value is
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" SSLRandomSeed="builtin" /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+So to use SSL under APR, make sure the SSLEngine attribute is set to something other than <code>off</code>.
+The default value is <code>on</code> and if you specify another value, it has to be a valid engine name.
+<br>
+If you haven't compiled in SSL support into your Tomcat Native library, then you can turn this initialization off
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="off" /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+SSLRandomSeed allows to specify a source of entropy. Productive system needs a reliable source of entropy
+but entropy may need a lot of time to be collected therefore test systems could use no blocking entropy
+sources like "/dev/urandom" that will allow quicker starts of Tomcat.
+
+</p>
+
+<p>The final step is to configure your secure socket in the
+<code>$CATALINA_BASE/conf/server.xml</code> file, where
+<code>$CATALINA_BASE</code> represents the base directory for the
+Tomcat 6 instance.  An example <code>&lt;Connector&gt;</code> element
+for an SSL connector is included in the default <code>server.xml</code>
+file installed with Tomcat.  It will look something like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 --&gt;
+&lt;!--
+&lt;Connector 
+           port="8443" minSpareThreads="5" maxSpareThreads="75"
+           enableLookups="true" disableUploadTimeout="true" 
+           acceptCount="100"  maxThreads="200"
+           scheme="https" secure="true" SSLEnabled="true"
+           keystoreFile="${user.home}/.keystore" keystorePass="changeit"
+           clientAuth="false" sslProtocol="TLS"/&gt;
+--&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+<p>
+  The example above will throw an error if you have the APR and the Tomcat Native libraries in your path,
+  as tomcat will try to autoload the APR connector. The APR connector uses different attributes for 
+  SSL keys and certificates. An example of such configuration would be
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 --&gt;
+&lt;!--
+&lt;Connector 
+           port="8443" minSpareThreads="5" maxSpareThreads="75"
+           enableLookups="true" disableUploadTimeout="true" 
+           acceptCount="100"  maxThreads="200"
+           scheme="https" secure="true" SSLEnabled="true"
+           SSLCertificateFile="/usr/local/ssl/server.crt" 
+           SSLCertificateKeyFile="/usr/local/ssl/server.pem"
+           clientAuth="false" sslProtocol="TLS"/&gt;
+--&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+
+<p>
+  To avoid auto configuration you can define which connector to use by specifying a classname 
+  in the protocol attribute.<br>
+  To define a Java connector, regardless if the APR library is loaded or not do:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;-- Define a blocking Java SSL Coyote HTTP/1.1 Connector on port 8443 --&gt;
+&lt;!--
+&lt;Connector protocol="org.apache.coyote.http11.Http11Protocol"
+           port="8443" minSpareThreads="5" maxSpareThreads="75"
+           enableLookups="true" disableUploadTimeout="true" 
+           acceptCount="100"  maxThreads="200"
+           scheme="https" secure="true" SSLEnabled="true"
+           keystoreFile="${user.home}/.keystore" keystorePass="changeit"
+           clientAuth="false" sslProtocol="TLS"/&gt;
+--&gt;
+&lt;-- Define a non-blocking Java SSL Coyote HTTP/1.1 Connector on port 8443 --&gt;
+&lt;!--
+&lt;Connector protocol="org.apache.coyote.http11.Http11NioProtocol"
+           port="8443" minSpareThreads="5" maxSpareThreads="75"
+           enableLookups="true" disableUploadTimeout="true" 
+           acceptCount="100"  maxThreads="200"
+           scheme="https" secure="true" SSLEnabled="true"
+           keystoreFile="${user.home}/.keystore" keystorePass="changeit"
+           clientAuth="false" sslProtocol="TLS"/&gt;
+--&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+and to specify an APR connector
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;-- Define a APR SSL Coyote HTTP/1.1 Connector on port 8443 --&gt;
+&lt;!--
+&lt;Connector protocol="org.apache.coyote.http11.Http11AprProtocol"
+           port="8443" minSpareThreads="5" maxSpareThreads="75"
+           enableLookups="true" disableUploadTimeout="true" 
+           acceptCount="100"  maxThreads="200"
+           scheme="https" secure="true" SSLEnabled="true"
+           SSLCertificateFile="/usr/local/ssl/server.crt" 
+           SSLCertificateKeyFile="/usr/local/ssl/server.pem"
+           clientAuth="false" sslProtocol="TLS"/&gt;
+--&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+</p>
+
+<p>You will note that the Connector element itself is commented out by default,
+so you will need to remove the comment tags around it.  Then, you can
+customize the specified attributes as necessary.  For detailed information
+about the various options, consult the
+<a href="../config/index.html">Server Configuration Reference</a>.  The
+following discussion covers only those attributes of most interest when
+setting up SSL communication.</p>
+
+<p>The <code>port</code> attribute (default value is 8443) is the TCP/IP
+port number on which Tomcat will listen for secure connections.  You can
+change this to any port number you wish (such as to the default port for
+<code>https</code> communications, which is 443).  However, special setup
+(outside the scope of this document) is necessary to run Tomcat on port
+numbers lower than 1024 on many operating systems.</p>
+
+  <blockquote><em>
+  <p>If you change the port number here, you should also change the
+  value specified for the <code>redirectPort</code> attribute on the
+  non-SSL connector.  This allows Tomcat to automatically redirect
+  users who attempt to access a page with a security constraint specifying
+  that SSL is required, as required by the Servlet 2.4 Specification.</p>
+  </em></blockquote>
+
+<p>There are additional options used to configure the SSL protocol.
+  You may need to add or change the following attribute
+values, depending on how you configured your keystore earlier:</p>
+
+<table border="1">
+  <tr>
+    <th>Attribute</th>
+    <th>Description</th>
+  </tr>
+  <tr>
+    <td><code>clientAuth</code></td>
+    <td>Set this value to <code>true</code> if you want Tomcat to require
+        all SSL clients to present a client Certificate in order to use
+        this socket.  Set this value to <code>want</code> if you want Tomcat
+        to request a client Certificate, but not fail if one isn't presented.
+    </td>
+  </tr>
+  <tr><td><code>SSLEnabled</code></td>
+    <td>
+      Use this attribute to enable SSL traffic on a connector.
+      To turn on SSL handshake/encryption/decryption on a connector
+      set this value to <code>true</code>.
+      The default value is <code>false</code>.
+      When turning this value <code>true</code> you will want to set the 
+      <code>scheme</code> and the <code>secure</code> attributes as well
+      to pass the correct <code>request.getScheme()</code> and 
+      <code>request.isSecure()</code> values to the servlets
+    </td>
+  </tr>  
+  <tr>
+    <td><code>keystoreFile</code></td>
+    <td>Add this attribute if the keystore file you created is not in
+        the default place that Tomcat expects (a file named
+        <code>.keystore</code> in the user home directory under
+        which Tomcat is running).  You can specify an absolute pathname,
+        or a relative pathname that is resolved against the
+        <code>$CATALINA_BASE</code> environment variable.</td>
+  </tr>
+  <tr>
+    <td><code>keystorePass</code></td>
+    <td>Add this element if you used a different keystore (and Certificate)
+        password than the one Tomcat expects (<code>changeit</code>).</td>
+  </tr>
+  <tr>
+    <td><code>keystoreType</code></td>
+    <td>Add this element if using a keystore type other than <code>JKS</code>.
+    For example the *.p12 files from OpenSSL can be used using <code>PKCS12</code>.</td>
+  </tr>
+  <tr>
+    <td><code>sslProtocol</code></td>
+    <td>The encryption/decryption protocol to be used on this socket.
+        It is not recommended to change this value if you are using Sun's
+        JVM.  It is reported that IBM's 1.4.1 implementation
+        of the TLS protocol is not compatible with some popular browsers.
+        In this case, use the value <code>SSL</code>.</td>
+  </tr>
+  <tr>
+    <td><code>ciphers</code></td>
+    <td>The comma separated list of encryption ciphers that this socket is 
+        allowed to use.  By default, any available cipher is allowed.</td>
+  </tr>
+  <tr>
+    <td><code>algorithm</code></td>
+    <td>The <code>X509</code> algorithm to use.  This defaults to the Sun 
+        implementation (<code>SunX509</code>).  For IBM JVMs you should use
+        the value <code>IbmX509</code>.  For other vendors, consult the JVM
+        documentation for the correct value.
+    </td>
+  </tr>
+  <tr>
+   <td><code>truststoreFile</code></td>
+   <td>The TrustStore file to use to validate client certificates.</td>
+  </tr>
+  <tr>
+   <td><code>truststorePass</code></td>
+   <td>The password to access the TrustStore.  This defaults to the value
+       of <code>keystorePass</code>.</td>
+  </tr>
+  <tr>
+   <td><code>truststoreType</code></td>
+    <td>Add this element if your are using a different format for the 
+        TrustStore then you are using for the KeyStore.</td>
+  </tr>
+  <tr>
+   <td><code>keyAlias</code></td>
+    <td>Add this element if your have more than one key in the KeyStore.
+        If the element is not present the first key read in the KeyStore
+        will be used.</td>
+  </tr>
+</table>
+
+<p>After completing these configuration changes, you must restart Tomcat as
+you normally do, and you should be in business.  You should be able to access
+any web application supported by Tomcat via SSL.  For example, try:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+https://localhost:8443
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>and you should see the usual Tomcat splash page (unless you have modified
+the ROOT web application).  If this does not work, the following section
+contains some troubleshooting tips.</p>
+
+</blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Installing a Certificate from a Certificate Authority"><strong>Installing a Certificate from a Certificate Authority</strong></a></font></td></tr><tr><td><blockquote>
+<p>To obtain and install a Certificate from a Certificate Authority (like verisign.com, thawte.com 
+or trustcenter.de), read the previous section and then follow these instructions:</p>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Create a local Certificate Signing Request (CSR)"><strong>Create a local Certificate Signing Request (CSR)</strong></a></font></td></tr><tr><td><blockquote>
+<p>In order to obtain a Certificate from the Certificate Authority of your choice 
+you have to create a so called Certificate Signing Request (CSR). That CSR will be used 
+by the Certificate Authority to create a Certificate that will identify your website 
+as "secure". To create a CSR follow these steps:</p>
+<ul>
+<li>Create a local Certificate (as described in the previous section):
+	<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>keytool -genkey -alias tomcat -keyalg RSA \
+	-keystore &lt;your_keystore_filename&gt;</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+	Note: In some cases you will have to enter the domain of your website (i.e. <code>www.myside.org</code>)
+	in the field "first- and lastname" in order to create a working Certificate. 
+</li>
+<li>The CSR is then created with:
+	<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>keytool -certreq -keyalg RSA -alias tomcat -file certreq.csr \
+	-keystore &lt;your_keystore_filename&gt;</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</li>
+</ul>
+<p>Now you have a file called <code>certreq.csr</code> that you can submit to the Certificate Authority (look at the
+documentation of the Certificate Authority website on how to do this). In return you get a Certificate.</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Importing the Certificate"><strong>Importing the Certificate</strong></a></font></td></tr><tr><td><blockquote>
+<p>Now that you have your Certificate you can import it into you local keystore. 
+First of all you have to import a so called Chain Certificate or Root Certificate into your keystore. 
+After that you can proceed with importing your Certificate.</p>
+
+<ul>
+<li>Download a Chain Certificate from the Certificate Authority you obtained the Certificate from.<br>
+	For Verisign.com commercial certificates go to:
+            http://www.verisign.com/support/install/intermediate.html<br>
+        For Verisign.com trial certificates go to:
+            http://www.verisign.com/support/verisign-intermediate-ca/Trial_Secure_Server_Root/index.html<br>
+	For Trustcenter.de go to:
+            http://www.trustcenter.de/certservices/cacerts/en/en.htm#server<br>
+	For Thawte.com go to:
+            http://www.thawte.com/certs/trustmap.html<br>
+</li>
+<li>Import the Chain Certificate into your keystore
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>keytool -import -alias root -keystore &lt;your_keystore_filename&gt; \
+	-trustcacerts -file &lt;filename_of_the_chain_certificate&gt;</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</li>
+<li>And finally import your new Certificate
+	<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>keytool -import -alias tomcat -keystore &lt;your_keystore_filename&gt; \
+	-file &lt;your_certificate_filename&gt;</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</li>
+</ul>
+</blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Troubleshooting"><strong>Troubleshooting</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Here is a list of common problems that you may encounter when setting up
+SSL communications, and what to do about them.</p>
+
+<ul>
+
+<li>I get "java.security.NoSuchAlgorithmException" errors in my
+    log files.
+    <blockquote>
+    <p>The JVM cannot find the JSSE JAR files.  Follow all of the directions to
+    <a href="#Download and Install JSSE">download and install JSSE</a>.</p>
+    </blockquote></li>
+
+<li>When Tomcat starts up, I get an exception like
+    "java.io.FileNotFoundException: {some-directory}/{some-file} not found".
+    <blockquote>
+    <p>A likely explanation is that Tomcat cannot find the keystore file
+    where it is looking.  By default, Tomcat expects the keystore file to
+    be named <code>.keystore</code> in the user home directory under which
+    Tomcat is running (which may or may not be the same as yours :-).  If
+    the keystore file is anywhere else, you will need to add a
+    <code>keystoreFile</code> attribute to the <code>&lt;Factory&gt;</code>
+    element in the <a href="#Edit the Tomcat Configuration File">Tomcat
+    configuration file</a>.</p>
+    </blockquote></li>
+
+<li>When Tomcat starts up, I get an exception like
+    "java.io.FileNotFoundException:  Keystore was tampered with, or
+    password was incorrect".
+    <blockquote>
+    <p>Assuming that someone has not <em>actually</em> tampered with
+    your keystore file, the most likely cause is that Tomcat is using
+    a different password than the one you used when you created the
+    keystore file.  To fix this, you can either go back and
+    <a href="#Prepare the Certificate Keystore">recreate the keystore
+    file</a>, or you can add or update the <code>keystorePass</code>
+    attribute on the <code>&lt;Connector&gt;</code> element in the
+    <a href="#Edit the Tomcat Configuration File">Tomcat configuration
+    file</a>.  <strong>REMINDER</strong> - Passwords are case sensitive!</p>
+    </blockquote></li>
+
+<li>When Tomcat starts up, I get an exception like
+    "java.net.SocketException: SSL handshake errorjavax.net.ssl.SSLException: No
+    available certificate or key corresponds to the SSL cipher suites which are
+    enabled."
+    <blockquote>
+    <p>A likely explanation is that Tomcat cannot find the alias for the server
+    key withinthe specified keystore. Check that the correct
+    <code>keystoreFile</code> and <code>keyAlias</code> are specified in the
+    <code>&lt;Connector&gt;</code> element in the
+    <a href="#Edit the Tomcat Configuration File">Tomcat configuration file</a>.
+    <strong>REMINDER</strong> - <code>keyAlias</code> values may be case
+    sensitive!</p>
+    </blockquote></li>
+
+</ul>
+
+<p>If you are still having problems, a good source of information is the
+<strong>TOMCAT-USER</strong> mailing list.  You can find pointers to archives
+of previous messages on this list, as well as subscription and unsubscription
+information, at
+<a href="http://tomcat.apache.org/lists.html">http://tomcat.apache.org/lists.html</a>.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Miscellaneous Tips and Bits"><strong>Miscellaneous Tips and Bits</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>To access the SSL session ID from the request, use:<br>
+
+  <code>
+    String sslID = (String)request.getAttribute("javax.servlet.request.ssl_session");
+  </code>
+<br>
+For additional discussion on this area, please see
+<a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=22679">Bugzilla</a>.
+</p>
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/printer/virtual-hosting-howto.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/printer/virtual-hosting-howto.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/printer/virtual-hosting-howto.html	(revision 66)
@@ -0,0 +1,105 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - Virtual Hosting and Tomcat</title></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>Virtual Hosting and Tomcat</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Assumptions"><strong>Assumptions</strong></a></font></td></tr><tr><td><blockquote>
+    <p>
+      For the sake of this how-to, assume you have a development host with two
+      host names, <code>ren</code> and <code>stimpy</code>. Let's also assume
+      one instance of Tomcat running, so <code>$CATALINA_HOME</code> refers to
+      wherever it's installed, perhaps <code>/usr/local/tomcat</code>.
+    </p>
+    <p>
+      Also, this how-to uses Unix-style path separators and commands; if you're
+      on Windows modify accordingly. 
+    </p>
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="server.xml"><strong>server.xml</strong></a></font></td></tr><tr><td><blockquote>
+    <p>
+      At the simplest, edit the <a href="../config/engine.html">Engine</a> portion
+      of your <code>server.xml</code> file to look like this:
+    </p>
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Engine name="Catalina" defaultHost="ren"&gt;
+    &lt;Host name="ren"    appBase="renapps"/&gt;
+    &lt;Host name="stimpy" appBase="stimpyapps"/&gt;
+&lt;/Engine&gt;
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+    <p>
+      Note that the directory structures under the appBase for each host should
+      not overlap each other.
+    </p>
+    <p>
+      Consult the configuration documentation for other attributes of the
+      <a href="../config/engine.html">Engine</a> and <a href="../config/host.html">
+      Host</a> elements.
+    </p>
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps Directory"><strong>Webapps Directory</strong></a></font></td></tr><tr><td><blockquote>
+    <p>
+      Create directories for each of the virtual hosts:
+    </p>
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+mkdir $CATALINA_HOME/renapps
+mkdir $CATALINA_HOME/stimpyapps
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Configuring Your Contexts"><strong>Configuring Your Contexts</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+      <p>Contexts are normally located underneath the appBase directory. For
+       example, to deploy the <code>foobar</code> context as a war file in
+       the <code>ren</code> host, use
+       <code>$CATALINA_HOME/renapps/foobar.war</code>. Note that the
+       default or ROOT context for <code>ren</code> would be deployed as
+       <code>$CATALINA_HOME/renapps/ROOT.war</code> (WAR) or
+       <code>$CATALINA_HOME/renapps/ROOR</code> (directory).
+      </p>
+      <p><strong>NOTE: The <code>docBase</code> for a context should never be
+        the same as the <code>appBase</code> for a host.</strong>
+      </p>
+    </blockquote></td></tr></table>
+    <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="context.xml - approach #1"><strong>context.xml - approach #1</strong></a></font></td></tr><tr><td><blockquote>
+      <p>
+        Within your Context, create a <code>META-INF</code> directory and then
+        place your Context definition in it in a file named
+        <code>context.xml</code>. i.e.
+        <code>$CATALINA_HOME/renapps/ROOT/META-INF/context.xml</code>
+        This makes deployment easier, particularly if you're distributing a WAR
+        file.
+      </p>
+    </blockquote></td></tr></table>
+    <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="context.xml - approach #2"><strong>context.xml - approach #2</strong></a></font></td></tr><tr><td><blockquote>
+      <p>
+        Create a structure under <code>$CATALINA_HOME/conf/Catalina</code>
+        corresponding to your virtual hosts, e.g.:
+      </p>
+      <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+mkdir $CATALINA_HOME/conf/Catalina/ren
+mkdir $CATALINA_HOME/conf/Catalina/stimpy
+      </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+      <p>
+        Note that the ending directory name "Catalina" represents the
+        <code>name</code> attribute of the
+        <a href="../config/engine.html">Engine</a> element as shown above.
+      </p>
+      <p>
+        Now, for your default webapps, add:
+      </p>
+      <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+$CATALINA_HOME/conf/Catalina/ren/ROOT.xml
+$CATALINA_HOME/conf/Catalina/stimpy/ROOT.xml
+      </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+      <p>
+        If you want to use the Tomcat manager webapp for each host, you'll also
+        need to add it here:
+      </p>
+      <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+cd $CATALINA_HOME/conf/Catalina
+cp localhost/manager.xml ren/
+cp localhost/manager.xml stimpy/
+      </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+    </blockquote></td></tr></table>
+    <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Further Information"><strong>Further Information</strong></a></font></td></tr><tr><td><blockquote>
+      <p>
+        Consult the configuration documentation for other attributes of the
+        <a href="../config/context.html">Context</a> element.
+      </p>
+    </blockquote></td></tr></table>
+  </blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/printer/windows-service-howto.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/printer/windows-service-howto.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/printer/windows-service-howto.html	(revision 66)
@@ -0,0 +1,331 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - Windows service HOW-TO</title><meta value="Mladen Turk" name="author"><meta value="mturk@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>Windows service HOW-TO</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="NOTICE"><strong>NOTICE</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+    <b>This section of the documentation applies to procrun 1.0, and is now obsolete.</b>
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat6 service application"><strong>Tomcat6 service application</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+    <b>Tomcat6</b> is a service application for running Tomcat6 as NT service.
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat6w monitor application"><strong>Tomcat6w monitor application</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+    <b>Tomcat6w</b> is a GUI application for monitoring and configuring Tomcat
+    services.
+</p>    
+    <p>The available command line options are:</p>
+<p> 
+    <table>
+    <tr><th>//ES//</th>
+        <td>Edit service configuration</td>
+        <td>This is the default operation. It is called if the no option is
+            provided but the executable is renamed to <b>servicenameW.exe</b></td>
+    </tr>
+    <tr><th>//MS//</th>
+        <td>Monitor service</td>
+        <td>Put the icon in the system try</td>
+    </tr>
+    </table>
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Command line arguments"><strong>Command line arguments</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+    Each command line directive is in the form of <b>//XX//ServiceName</b>
+</p>
+    <p>The available command line options are:</p>
+<p> 
+    <table>
+    <tr><th>//TS//</th>
+        <td>Run the service as console application</td>
+        <td>This is the default operation. It is called if the no option is
+            provided. The ServiceName is the name of the executable without
+            exe sufix, meaning Tomcat6</td>
+    </tr>
+    <tr><th>//RS//</th>
+        <td>Run the service</td>
+        <td>Called only from ServiceManager</td>
+    </tr>
+    <tr><th>//SS//</th>
+        <td>Stop the service</td>
+        <td></td>
+    </tr>
+    <tr><th>//US//</th>
+        <td>Update service parameters</td>
+        <td></td>
+    </tr>
+    <tr><th>//IS//</th>
+        <td>Install service</td>
+        <td></td>
+    </tr>
+    <tr><th>//DS//</th>
+        <td>Delete service</td>
+        <td>Stops the service if running</td>
+    </tr>        
+    </table>
+</p> 
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Command line parameters"><strong>Command line parameters</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+    Each command parameter is prefixed with <b>--</b>.
+    If the command line is prefixed with <b>++</b> then it's value will
+    be appended to the existing option.
+    If the environment variable with the same name as command line parameter but
+    prefixed with <code>PR_</code> exists it will take precedence.
+    For example:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>set PR_CLASSPATH=xx.jar</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>    
+<p>is equivalent to providing
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>--Classpath=xx.jar</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+<p> as command line parameter.</p>
+<p> 
+    <table>
+    <tr>
+    <th>ParameterName</th>
+	<th>Default</th>
+	<th>Description</th>
+	</tr> 
+    <tr>
+    <td>--Description</td>
+    <td></td>
+    <td>Service name description (maximum 1024 characters)</td>
+    </tr>
+    <tr>
+    <td>--DisplayName</td>
+    <td>ServiceName</td>
+    <td>Service display name</td>
+    </tr>
+    <tr>
+    <td>--Install</td>
+    <td>procrun.exe //RS//ServiceName</td>
+    <td>Install image</td>
+    </tr>
+    <tr>
+    <td>--Startup</td>
+    <td>manual</td>
+    <td>Service startup mode can be either <b>auto</b> or <b>manual</b></td>
+    </tr>
+    <tr>
+    <td>--DependsOn</td>
+    <td></td>
+    <td>List of services that this service depend on. Dependent services
+        are separated using either <b>#</b> or <b>;</b> characters</td>
+    </tr>
+    <tr>
+    <td>--Environment</td>
+    <td></td>
+    <td>List of environment variables that will be provided to the service
+        in the form <b>key=value</b>. They are separated using either
+        <b>#</b> or <b>;</b> characters</td>
+    </tr>
+    <tr>
+    <td>--User</td>
+    <td></td>
+    <td>User account used for running executable. It is used only for
+    	StartMode <b>java</b> or <b>exe</b> and enables running applications
+    	as service under account without LogonAsService privilege.</td>
+    </tr>
+    <tr>
+    <td>--Password</td>
+    <td></td>
+    <td>Password for user account set by --User parameter</td>
+    </tr>
+    <tr>
+    <td>--JavaHome</td>
+    <td>JAVA_HOME</td>
+    <td>Set a different JAVA_HOME then defined by JAVA_HOME environment
+        variable</td>
+    </tr>
+    <tr>
+    <td>--Jvm</td>
+    <td>auto</td>
+    <td>Use either <b>auto</b> or specify the full path to the <b>jvm.dll</b>.
+        You can use the environment variable expansion here.</td>
+    </tr>
+    <tr>
+    <td>--JvmOptions</td>
+    <td>-Xrs</td>
+    <td>List of options in the form of <b>-D</b> or <b>-X</b> that will be
+        passed to the JVM. The options are separated using either
+        <b>#</b> or <b>;</b> characters.</td>
+    </tr>
+    <tr>
+    <td>--Classpath</td>
+    <td></td>
+    <td>Set the Java classpath</td>
+    </tr>
+    <tr>
+    <td>--JvmMs</td>
+    <td></td>
+    <td>Initial memory pool size in MB</td>
+    </tr>
+    <tr>
+    <td>--JvmMx</td>
+    <td></td>
+    <td>Maximum memory pool size in MB</td>
+    </tr>
+    <tr>
+    <td>--JvmSs</td>
+    <td></td>
+    <td>Thread stack size in KB</td>
+    </tr>
+    <tr>
+    <tr>
+    <td>--StartImage</td>
+    <td></td>
+    <td>Executable that will be run.</td>
+    </tr>
+    <tr>
+    <td>--StartPath</td>
+    <td></td>
+    <td>Working path for the start image executable.</td>
+    </tr>
+    <tr>
+    <td>--StartClass</td>
+    <td></td>
+    <td>Class that will be used for startup.</td>
+    </tr>
+    <tr>
+    <td>--StartParams</td>
+    <td></td>
+    <td>List of parameters that will be passed to either StartImage or
+        StartClass. Parameters are separated using either <b>#</b> or
+        <b>;</b> character.</td>
+    </tr>
+    <tr>
+    <td>--StartMethod</td>
+    <td>Main</td>
+    <td>Method name if differs then main</td>
+    </tr>
+    <tr>
+    <td>--StartMode</td>
+    <td>executable</td>
+    <td>Can one of <b>jvm</b> <b>java</b> or <b>exe</b></td>
+    </tr>
+    <td>--StopImage</td>
+    <td></td>
+    <td>Executable that will be run on Stop service signal.</td>
+    </tr>
+    <tr>
+    <td>--StopPath</td>
+    <td></td>
+    <td>Working path for the stop image executable.</td>
+    </tr>
+    <tr>
+    <td>--StopClass</td>
+    <td></td>
+    <td>Class that will be used on Stop service signal.</td>
+    </tr>
+    <tr>
+    <td>--StopParams</td>
+    <td></td>
+    <td>List of parameters that will be passed to either StopImage or
+        StopClass. Parameters are separated using either <b>#</b> or
+        <b>;</b> character.</td>
+    </tr>
+    <tr>
+    <td>--StopMethod</td>
+    <td>Main</td>
+    <td>Method name if differs then main</td>
+    </tr>
+    <tr>
+    <td>--StopMode</td>
+    <td>executable</td>
+    <td>Can one of <b>jvm</b> <b>java</b> or <b>exe</b></td>
+    </tr>
+    <tr>
+    <td>--StopTimeout</td>
+    <td>No Timeout</td>
+    <td>Defines the timeout in seconds that procrun waits for service to
+        exit gracefully.</td>
+    </tr>
+    <tr>
+    <td>--LogPath</td>
+    <td>working path</td>
+    <td>Defines the path for logging</td>
+    </tr>
+    <tr>
+    <td>--LogPrefix</td>
+    <td>jakarta_service</td>
+    <td>Defines the service log filename</td>
+    </tr>
+    <tr>
+    <td>--LogLevel</td>
+    <td>INFO</td>
+    <td>Defines the logging level and can be either <b>error</b>,
+        <b>info</b>, <b>warn</b> or <b>debug</b></td>
+    </tr>
+    <tr>
+    <td>--StdOutput</td>
+    <td></td>
+    <td>Redirected stdout filename</td>
+    </tr>
+    <tr>
+    <td>--StdError</td>
+    <td></td>
+    <td>Redirected stderr filename</td>
+    </tr>    
+    </table>
+</p> 
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Installing services"><strong>Installing services</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+The safest way to manually install the service is to use the provided <b>service.bat</b> script.
+</p>
+<p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Install the service named 'Tomcat6'
+C:\&gt; service.bat install
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+<p>
+If using tomcat6.exe, you need to use the <b>//IS//</b> parameter.
+</p>
+<p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Install the service named 'Tomcat6'
+C:\&gt; tomcat6 //IS//Tomcat6 --DisplayName="Apache Tomcat 6" \
+C:\&gt; --Install="C:\Program Files\Tomcat\bin\tomcat6.exe" --Jvm=auto \
+C:\&gt; --StartMode=jvm --StopMode=jvm \
+C:\&gt; --StartClass=org.apache.catalina.startup.Bootstrap --StartParams=start \
+C:\&gt; --StopClass=org.apache.catalina.startup.Bootstrap --StopParams=stop
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Updating services"><strong>Updating services</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+To update the service parameters, you need to use the <b>//US//</b> parameter.
+</p>
+<p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Update the service named 'Tomcat6
+C:\&gt; tomcat6 //US//Tomcat6 --Description="Apache Tomcat Server - http://tomcat.apache.org/ " \
+C:\&gt; --Startup=auto --Classpath=%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\bin\bootstrap.jar
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Removing services"><strong>Removing services</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+To remove the service, you need to use the <b>//DS//</b> parameter.<br>
+If the service is running it will be stopped and then deleted.
+</p>
+<p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Remove the service named 'Tomcat6'
+C:\&gt; tomcat6 //DS//Tomcat6
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Debugging services"><strong>Debugging services</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+To run the service in console mode, you need to use the <b>//TS//</b> parameter.
+The service shutdown can be initiated by pressing <b>CTRL+C</b> or
+<b>CTRL+BREAK</b>.
+If you rename the tomcat6.exe to testservice.exe then you can just execute the
+testservice.exe and this command mode will be executed by default.
+</p>
+<p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Run the service named 'Tomcat6' in console mode
+C:\&gt; tomcat6 //TS//Tomcat6 [additional arguments]
+Or simply execute:
+C:\&gt; tomcat6
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/proxy-howto.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/proxy-howto.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/proxy-howto.html	(revision 66)
@@ -0,0 +1,117 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - Proxy Support HOW-TO</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://wiki.apache.org/tomcat/FAQ">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR/Native</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li><li><a href="aio.html">25) Advanced IO</a></li><li><a href="extras.html">26) Additional Components</a></li><li><a href="maven-jars.html">27) Mavenized</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Configuration</a></li><li><a href="api/index.html">Javadocs</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="http://wiki.apache.org/tomcat/TomcatVersions">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="architecture/index.html">Architecture</a></li><li><a href="funcspecs/index.html">Functional Specs.</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>Proxy Support HOW-TO</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/proxy-howto.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Using standard configurations of Tomcat, web applications can ask for
+the server name and port number to which the request was directed for
+processing.  When Tomcat is running standalone with the
+<a href="config/coyote.html">Coyote HTTP/1.1 Connector</a>, it will generally
+report the server name specified in the request, and the port number on
+which the <strong>Connector</strong> is listening.  The servlet API
+calls of interest, for this purpose, are:</p>
+<ul>
+<li><code>ServletRequest.getServerName()</code>: Returns the host name of the server to which the request was sent.</li>
+<li><code>ServletRequest.getServerPort()</code>: Returns the host name of the server to which the request was sent.</li>
+<li><code>ServletRequest.getLocalName()</code>: Returns the host name of the Internet Protocol (IP) interface on which the request was received.</li>
+<li><code>ServletRequest.getLocalPort()</code>:  Returns the Internet Protocol (IP) port number of the interface on which the request was received.</li>
+</ul>
+
+<p>When you are running behind a proxy server (or a web server that is
+configured to behave like a proxy server), you will sometimes prefer to
+manage the values returned by these calls.  In particular, you will
+generally want the port number to reflect that specified in the original
+request, not the one on which the <strong>Connector</strong> itself is
+listening.  You can use the <code>proxyName</code> and <code>proxyPort</code>
+attributes on the <code>&lt;Connector&gt;</code> element to configure
+these values.</p>
+
+<p>Proxy support can take many forms.  The following sections describe
+proxy configurations for several common cases.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Apache 1.3 Proxy Support"><strong>Apache 1.3 Proxy Support</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Apache 1.3 supports an optional module (<code>mod_proxy</code>) that
+configures the web server to act as a proxy server.  This can be used to
+forward requests for a particular web application to a Tomcat 6 instance,
+without having to configure a web connector such as <code>mod_jk</code>.
+To accomplish this, you need to perform the following tasks:</p>
+<ol>
+<li>Configure your copy of Apache so that it includes the
+    <code>mod_proxy</code> module.  If you are building from source,
+    the easiest way to do this is to include the
+    <code>--enable-module=proxy</code> directive on the
+    <code>./configure</code> command line.</li>
+<li>If not already added for you, make sure that you are loading the
+    <code>mod_proxy</code> module at Apache startup time, by using the
+    following directives in your <code>httpd.conf</code> file:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+LoadModule proxy_module  {path-to-modules}/mod_proxy.so
+AddModule  mod_proxy.c
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div></li>
+<li>Include two directives in your <code>httpd.conf</code> file for
+    each web application that you wish to forward to Tomcat 6.  For
+    example, to forward an application at context path <code>/myapp</code>:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+ProxyPass         /myapp  http://localhost:8081/myapp
+ProxyPassReverse  /myapp  http://localhost:8081/myapp
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+    which tells Apache to forward URLs of the form
+    <code>http://localhost/myapp/*</code> to the Tomcat 6 connector
+    listening on port 8081.</li>
+<li>Configure your copy of Tomcat 6 to include a special
+    <code>&lt;Connector&gt;</code> element, with appropriate
+    proxy settings, for example:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Connector port="8081" ...
+              proxyName="www.mycompany.com"
+              proxyPort="80"/&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+    which will cause servlets inside this web application to think that
+    all proxied requests were directed to <code>www.mycompany.com</code>
+    on port 80.</li>
+<li>It is legal to omit the <code>proxyName</code> attribute from the
+    <code>&lt;Connector&gt;</code> element.  If you do so, the value
+    returned by <code>request.getServerName()</code> will by the host
+    name on which Tomcat is running.  In the example above, it would be
+    <code>localhost</code>.</li>
+<li>If you also have a <code>&lt;Connector&gt;</code> listening on port
+    8080 (nested within the same <a href="config/service.html">Service</a>
+    element), the requests to either port will share the same set of
+    virtual hosts and web applications.</li>
+<li>You might wish to use the IP filtering features of your operating
+    system to restrict connections to port 8081 (in this example) to
+    be allowed <strong>only</strong> from the server that is running
+    Apache.</li>
+<li>Alternatively, you can set up a series of web applications that are
+    only available via proxying, as follows:
+    <ul>
+    <li>Configure another <code>&lt;Service&gt;</code> that contains
+        only a <code>&lt;Connector&gt;</code> for the proxy port.</li>
+    <li>Configure appropriate <a href="config/engine.html">Engine</a>,
+        <a href="config/host.html">Host</a>, and
+        <a href="config/context.html">Context</a> elements for the virtual hosts
+        and web applications accessible via proxying.</li>
+    <li>Optionally, protect port 8081 with IP filters as described
+        earlier.</li>
+    </ul></li>
+<li>When requests are proxied by Apache, the web server will be recording
+    these requests in its access log.  Therefore, you will generally want to
+    disable any access logging performed by Tomcat itself.</li>
+</ol>
+
+<p>When requests are proxied in this manner, <strong>all</strong> requests
+for the configured web applications will be processed by Tomcat (including
+requests for static content).  You can improve performance by using the
+<code>mod_jk</code> web connector instead of <code>mod_proxy</code>. 
+<code>mod_jk</code> can be configured so that the web server serves static
+content that is not processed by filters or security constraints defined
+within the web application's deployment descriptor
+(<code>/WEB-INF/web.xml</code>).</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Apache 2.0 Proxy Support"><strong>Apache 2.0 Proxy Support</strong></a></font></td></tr><tr><td><blockquote>
+The same instructions hold true as for 1.3. (Except in Apache 2.0,
+you may omit <code>AddModule  mod_proxy.c</code>)
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/realm-howto.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/realm-howto.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/realm-howto.html	(revision 66)
@@ -0,0 +1,1295 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - Realm Configuration HOW-TO</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc@apache.org" name="email"><meta value="Yoav Shapira" name="author"><meta value="yoavs@apache.org" name="email"><meta value="Andrew R. Jaquith" name="author"><meta value="arjaquith@mindspring.com" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://wiki.apache.org/tomcat/FAQ">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR/Native</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li><li><a href="aio.html">25) Advanced IO</a></li><li><a href="extras.html">26) Additional Components</a></li><li><a href="maven-jars.html">27) Mavenized</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Configuration</a></li><li><a href="api/index.html">Javadocs</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="http://wiki.apache.org/tomcat/TomcatVersions">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="architecture/index.html">Architecture</a></li><li><a href="funcspecs/index.html">Functional Specs.</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>Realm Configuration HOW-TO</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/realm-howto.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Table of Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>
+<a href="#Quick Start">Quick Start</a><br>
+<blockquote>
+<a href="#What is a Realm?">What is a Realm?</a><br>
+<a href="#Configuring a Realm">Configuring a Realm</a><br>
+</blockquote>
+<a href="#Common Features">Common Features</a><br>
+<blockquote>
+<a href="#Digested Passwords">Digested Passwords</a><br>
+<a href="#Example Application">Example Application</a><br>
+<a href="#Manager Application">Manager Application</a><br>
+<a href="#Realm Logging">Logging Within Realms</a><br>
+</blockquote>
+<a href="#Standard Realm Implementations">
+Standard Realm Implementations</a><br>
+<blockquote>
+<a href="#JDBCRealm">JDBCRealm</a><br>
+<a href="#DataSourceRealm">DataSourceRealm</a><br>
+<a href="#JNDIRealm">JNDIRealm</a><br>
+<a href="#MemoryRealm">MemoryRealm</a><br>
+<a href="#JAASRealm">JAASRealm</a><br>
+</blockquote>
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Quick Start"><strong>Quick Start</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>This document describes how to configure Tomcat to support <em>container
+managed security</em>, by connecting to an existing "database" of usernames,
+passwords, and user roles.  You only need to care about this if you are using
+a web application that includes one or more
+<code>&lt;security-constraint&gt;</code> elements, and a
+<code>&lt;login-config&gt;</code> element defining how users are required
+to authenticate themselves.  If you are not utilizing these features, you can
+safely skip this document.</p>
+
+<p>For fundamental background information about container managed security,
+see the <a href="http://java.sun.com/products/servlet/download.html">Servlet
+Specification (Version 2.4)</a>, Section 12.</p>
+
+<p>For information about utilizing the <em>Single Sign On</em> feature of
+Tomcat 6 (allowing a user to authenticate themselves once across the entire
+set of web applications associated with a virtual host), see
+<a href="config/host.html#Single Sign On">here</a>.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Overview"><strong>Overview</strong></a></font></td></tr><tr><td><blockquote>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="What is a Realm?"><strong>What is a Realm?</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>A <strong>Realm</strong> is a "database" of usernames and passwords that
+identify valid users of a web application (or set of web applications), plus
+an enumeration of the list of <em>roles</em> associated with each valid user.
+You can think of roles as similar to <em>groups</em> in Unix-like operating
+systems, because access to specific web application resources is granted to
+all users possessing a particular role (rather than enumerating the list of
+associated usernames).  A particular user can have any number of roles
+associated with their username.</p>
+
+<p>Although the Servlet Specification describes a portable mechanism for
+applications to <em>declare</em> their security requirements (in the
+<code>web.xml</code> deployment descriptor), there is no portable API
+defining the interface between a servlet container and the associated user
+and role information.  In many cases, however, it is desireable to "connect"
+a servlet container to some existing authentication database or mechanism
+that already exists in the production environment.  Therefore, Tomcat 6
+defines a Java interface (<code>org.apache.catalina.Realm</code>) that
+can be implemented by "plug in" components to establish this connection.
+Five standard plug-ins are provided, supporting connections to various
+sources of authentication information:</p>
+<ul>
+<li><a href="#JDBCRealm">JDBCRealm</a> - Accesses authentication information
+    stored in a relational database, accessed via a JDBC driver.</li>
+<li><a href="#DataSourceRealm">DataSourceRealm</a> - Accesses authentication
+    information stored in a relational database, accessed via a named JNDI
+    JDBC DataSource.</li>
+<li><a href="#JNDIRealm">JNDIRealm</a> - Accesses authentication information
+    stored in an LDAP based directory server, accessed via a JNDI provider.
+    </li>
+<li><a href="#MemoryRealm">MemoryRealm</a> - Accesses authentication
+    information stored in an in-memory object collection, which is initialized
+    from an XML document (<code>conf/tomcat-users.xml</code>).</li>
+<li><a href="#JAASRealm">JAASRealm</a> - Accesses authentication information
+    through the Java Authentication &amp; Authorization Service (JAAS)
+    framework.</li>
+</ul>
+
+<p>It is also possible to write your own <code>Realm</code> implementation,
+and integrate it with Tomcat 6.  To do so, you need to:
+<ul>
+  <li>Implement <code>org.apache.catalina.Realm</code>,</li>
+  <li>Place your compiled realm in $CATALINA_HOME/lib,</li>
+  <li>Declare your realm as described in the "Configuring a Realm" section below,</li>
+  <li>Declare your realm to the <a href="mbeans-descriptor-howto.html">MBeans Descriptor</a>.</li>
+</ul>
+</p>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Configuring a Realm"><strong>Configuring a Realm</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Before getting into the details of the standard Realm implementations, it is
+important to understand, in general terms, how a Realm is configured.  In
+general, you will be adding an XML element to your <code>conf/server.xml</code>
+configuration file, that looks something like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Realm className="... class name for this implementation"
+       ... other attributes for this implementation .../&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>The <code>&lt;Realm&gt;</code> element can be nested inside any one of 
+of the following <code>Container</code> elements.  The location of the
+Realm element has a direct impact on the "scope" of that Realm
+(i.e. which web applications will share the same authentication information):
+</p>
+<ul>
+<li><em>Inside an &lt;Engine&gt; element</em> - This Realm will be shared
+    across ALL web applications on ALL virtual hosts, UNLESS it is overridden
+    by a Realm element nested inside a subordinate <code>&lt;Host&gt;</code>
+    or <code>&lt;Context&gt;</code> element.</li>
+<li><em>Inside a &lt;Host&gt; element</em> - This Realm will be shared across
+    ALL web applications for THIS virtual host, UNLESS it is overridden
+    by a Realm element nested inside a subordinate <code>&lt;Context&gt;</code>
+    element.</li>
+<li><em>Inside a &lt;Context&gt; element</em> - This Realm will be used ONLY
+    for THIS web application.</li>
+</ul>
+
+
+</blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Features"><strong>Common Features</strong></a></font></td></tr><tr><td><blockquote>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Digested Passwords"><strong>Digested Passwords</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>For each of the standard <code>Realm</code> implementations, the
+user's password (by default) is stored in clear text.  In many
+environments, this is undesireable because casual observers of the
+authentication data can collect enough information to log on
+successfully, and impersonate other users.  To avoid this problem, the
+standard implementations support the concept of <em>digesting</em>
+user passwords.  This allows the stored version of the passwords to be
+encoded (in a form that is not easily reversible), but that the
+<code>Realm</code> implementation can still utilize for
+authentication.</p>
+
+<p>When a standard realm authenticates by retrieving the stored
+password and comparing it with the value presented by the user, you
+can select digested passwords by specifying the <code>digest</code>
+attribute on your <code>&lt;Realm&gt;</code> element.  The value for
+this attribute must be one of the digest algorithms supported by the
+<code>java.security.MessageDigest</code> class (SHA, MD2, or MD5).
+When you select this option, the contents of the password that is
+stored in the <code>Realm</code> must be the cleartext version of the
+password, as digested by the specified algorithm.</p>
+
+<p>When the <code>authenticate()</code> method of the Realm is called, the
+(cleartext) password specified by the user is itself digested by the same
+algorithm, and the result is compared with the value returned by the
+<code>Realm</code>.  An equal match implies that the cleartext version of the
+original password is the same as the one presented by the user, so that this
+user should be authorized.</p>
+
+<p>To calculate the digested value of a cleartext password, two convenience
+techniques are supported:</p>
+<ul>
+<li>If you are writing an application that needs to calculate digested
+    passwords dynamically, call the static <code>Digest()</code> method of the
+    <code>org.apache.catalina.realm.RealmBase</code> class, passing the
+    cleartext password and the digest algorithm name as arguments.  This
+    method will return the digested password.</li>
+<li>If you want to execute a command line utility to calculate the digested
+    password, simply execute
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+java org.apache.catalina.realm.RealmBase \
+    -a {algorithm} {cleartext-password}
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+    and the digested version of this cleartext password will be returned to
+    standard output.</li>
+</ul>
+
+<p>If using digested passwords with DIGEST authentication, the cleartext used
+   to generate the digest is different. In the examples above
+   <code>{cleartext-password}</code> must be replaced with 
+   <code>{username}:{realm}:{cleartext-password}</code>. For example, in a
+   development environment this might take the form
+   <code>testUser:localhost:8080:testPassword</code>.</p>
+
+<p>To use either of the above techniques, the
+<code>$CATALINA_HOME/lib/catalina.jar</code> and 
+<code>$CATALINA_HOME/bin/tomcat-juli.jar</code> files will need to be
+on your class path to make the <code>RealmBase</code> class available.
+</p>
+
+<p>Non-ASCII usernames and/or passwords are supported using
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>java org.apache.catalina.realm.RealmBase \
+    -a {algorithm} -e {encoding} {input}
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+but care is required to ensure that the non-ASCII input is
+correctly passed to the digester.
+The digester returns <code>{input}:{digest}</code>. If the input appears
+corrupted in the return, the digest will be invalid.</p>
+
+</blockquote></td></tr></table>
+
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Example Application"><strong>Example Application</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The example application shipped with Tomcat 6 includes an area that is
+protected by a security constraint, utilizing form-based login.  To access it,
+point your browser at
+<a href="http://localhost:8080/examples/jsp/security/protected/">http://localhost:8080/examples/jsp/security/protected/</a>
+and log on with one of the usernames and passwords described for the default
+<a href="#MemoryRealm">MemoryRealm</a>.</p>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Manager Application"><strong>Manager Application</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>If you wish to use the <a href="manager-howto.html">Manager Application</a>
+to deploy and undeploy applications in a running Tomcat 6 installation, you
+MUST add the "manager" role to at least one username in your selected Realm
+implementation.  This is because the manager web application itself uses a
+security constraint that requires role "manager" to access ANY request URI
+within that application.</p>
+
+<p>For security reasons, no username in the default Realm (i.e. using
+<code>conf/tomcat-users.xml</code> is assigned the "manager" role.  Therfore,
+no one will be able to utilize the features of this application until the
+Tomcat administrator specifically assigns this role to one or more users.</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Realm Logging"><strong>Realm Logging</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Debugging and exception messages logged by a <code>Realm</code> will
+   be recorded by the logging configuration associated with the container
+   for the realm: its surrounding <a href="config/context.html">Context</a>,
+   <a href="config/host.html">Host</a>, or
+   <a href="config/engine.html">Engine</a>.</p>
+
+</blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Standard Realm Implementations"><strong>Standard Realm Implementations</strong></a></font></td></tr><tr><td><blockquote>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JDBCRealm"><strong>JDBCRealm</strong></a></font></td></tr><tr><td><blockquote>
+
+<h3>Introduction</h3>
+
+<p><strong>JDBCRealm</strong> is an implementation of the Tomcat 6
+<code>Realm</code> interface that looks up users in a relational database
+accessed via a JDBC driver.  There is substantial configuration flexibility
+that lets you adapt to existing table and column names, as long as your
+database structure conforms to the following requirements:</p>
+<ul>
+<li>There must be a table, referenced below as the <em>users</em> table,
+    that contains one row for every valid user that this <code>Realm</code>
+    should recognize.</li>
+<li>The <em>users</em> table must contain at least two columns (it may
+    contain more if your existing applications required it):
+    <ul>
+    <li>Username to be recognized by Tomcat when the user logs in.</li>
+    <li>Password to be recognized by Tomcat when the user logs in.
+        This value may in cleartext or digested - see below for more
+        information.</li>
+    </ul></li>
+<li>There must be a table, referenced below as the <em>user roles</em> table,
+    that contains one row for every valid role that is assigned to a
+    particular user.  It is legal for a user to have zero, one, or more than
+    one valid role.</li>
+<li>The <em>user roles</em> table must contain at least two columns (it may
+    contain more if your existing applications required it):
+    <ul>
+    <li>Username to be recognized by Tomcat (same value as is specified
+        in the <em>users</em> table).</li>
+    <li>Role name of a valid role associated with this user.</li>
+    </ul></li>
+</ul>
+
+<h3>Quick Start</h3>
+
+<p>To set up Tomcat to use JDBCRealm, you will need to follow these steps:</p>
+<ol>
+<li>If you have not yet done so, create tables and columns in your database
+    that conform to the requirements described above.</li>
+<li>Configure a database username and password for use by Tomcat, that has
+    at least read only access to the tables described above.  (Tomcat will
+    never attempt to write to these tables.)</li>
+<li>Place a copy of the JDBC driver you will be using inside the
+    <code>$CATALINA_HOME/lib</code> directory.
+    Note that <strong>only</strong> JAR files are recognized!</li>
+<li>Set up a <code>&lt;Realm&gt;</code> element, as described below, in your
+    <code>$CATALINA_BASE/conf/server.xml</code> file.</li>
+<li>Restart Tomcat 6 if it is already running.</li>
+</ol>
+
+<h3>Realm Element Attributes</h3>
+
+<p>To configure JDBCRealm, you will create a <code>&lt;Realm&gt;</code>
+element and nest it in your <code>$CATALINA_BASE/conf/server.xml</code> file,
+as described <a href="#Configuring a Realm">above</a>.  The following
+attributes are supported by this implementation:</p>
+
+<table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+    <p>The fully qualified Java class name of this Realm implementation.
+    You <strong>MUST</strong> specify the value
+    "<code>org.apache.catalina.realm.JDBCRealm</code>" here.</p>
+  </td></tr><tr><td valign="center" align="left"><strong><code>connectionName</code></strong></td><td valign="center" align="left">
+    <p>The database username used to establish a JDBC connection.</p>
+  </td></tr><tr><td valign="center" align="left"><strong><code>connectionPassword</code></strong></td><td valign="center" align="left">
+    <p>The database password used to establish a JDBC connection.</p>
+  </td></tr><tr><td valign="center" align="left"><strong><code>connectionURL</code></strong></td><td valign="center" align="left">
+    <p>The database URL used to establish a JDBC connection.</p>
+  </td></tr><tr><td valign="center" align="left"><code>digest</code></td><td valign="center" align="left">
+    <p>The digest algorithm used to store passwords in non-plaintext formats.
+    Valid values are those accepted for the algorithm name by the
+    <code>java.security.MessageDigest</code> class.  See
+    <a href="#Digested Passwords">Digested Passwords</a> for more
+    information.  If not specified, passwords are stored in clear text.</p>
+  </td></tr><tr><td valign="center" align="left"><strong><code>driverName</code></strong></td><td valign="center" align="left">
+    <p>The fully qualified Java class name of the JDBC driver to be used.
+    Consult the documentation for your JDBC driver for the appropriate
+    value.</p>
+  </td></tr><tr><td valign="center" align="left"><strong><code>roleNameCol</code></strong></td><td valign="center" align="left">
+    <p>The name of the column, in the <em>user roles</em> table, that
+    contains the name of a role assigned to this user.</p>
+  </td></tr><tr><td valign="center" align="left"><strong><code>userCredCol</code></strong></td><td valign="center" align="left">
+    <p>The name of the column, in the <em>users</em> table, that contains
+    the password for this user (either in clear text, or digested if the
+    <code>digest</code> attribute is set).</p>
+  </td></tr><tr><td valign="center" align="left"><strong><code>userNameCol</code></strong></td><td valign="center" align="left">
+    <p>The name of the column, in the <em>users</em> and <em>user roles</em>
+    tables, that contains the username of this user.</p>
+  </td></tr><tr><td valign="center" align="left"><strong><code>userRoleTable</code></strong></td><td valign="center" align="left">
+    <p>The name of the table that contains one row for each <em>role</em>
+    assigned to a particular <em>username</em>.  This table must include at
+    least the columns named by the <code>userNameCol</code> and
+    <code>roleNameCol</code> attributes.</p>
+  </td></tr><tr><td valign="center" align="left"><strong><code>userTable</code></strong></td><td valign="center" align="left">
+    <p>The name of the table that contains one row for each <em>username</em>
+    to be recognized by Tomcat.  This table must include at least the columns
+    named by the <code>userNameCol</code> and <code>userCredCol</code>
+    attributes.</p>
+  </td></tr></table>
+
+<h3>Example</h3>
+
+<p>An example SQL script to create the needed tables might look something
+like this (adapt the syntax as required for your particular database):</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+create table users (
+  user_name         varchar(15) not null primary key,
+  user_pass         varchar(15) not null
+);
+
+create table user_roles (
+  user_name         varchar(15) not null,
+  role_name         varchar(15) not null,
+  primary key (user_name, role_name)
+);
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>Example <code>Realm</code> elements are included (commented out) in the
+default <code>$CATALINA_BASE/conf/server.xml</code> file.  Here's an example
+for using a MySQL database called "authority", configured with the tables
+described above, and accessed with username "dbuser" and password "dbpass":</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Realm className="org.apache.catalina.realm.JDBCRealm" debug="99"
+      driverName="org.gjt.mm.mysql.Driver"
+   connectionURL="jdbc:mysql://localhost/authority?user=dbuser&amp;amp;password=dbpass"
+       userTable="users" userNameCol="user_name" userCredCol="user_pass"
+   userRoleTable="user_roles" roleNameCol="role_name"/&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<h3>Additional Notes</h3>
+
+<p>JDBCRealm operates according to the following rules:</p>
+<ul>
+<li>When a user attempts to access a protected resource for the first time,
+    Tomcat 6 will call the <code>authenticate()</code> method of this
+    <code>Realm</code>.  Thus, any changes you have made to the database
+    directly (new users, changed passwords or roles, etc.) will be immediately
+    reflected.</li>
+<li>Once a user has been authenticated, the user (and his or her associated
+    roles) are cached within Tomcat for the duration of the user's login.
+    (For FORM-based authentication, that means until the session times out or
+    is invalidated; for BASIC authentication, that means until the user
+    closes their browser).  The cached user is <strong>not</strong> saved and
+    restored across sessions serialisations. Any changes to the database
+    information for an already authenticated user will <strong>not</strong> be
+    reflected until the next time that user logs on again.</li>
+<li>Administering the information in the <em>users</em> and <em>user roles</em>
+    table is the responsibility of your own applications.  Tomcat does not
+    provide any built-in capabilities to maintain users and roles.</li>
+</ul>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="DataSourceRealm"><strong>DataSourceRealm</strong></a></font></td></tr><tr><td><blockquote>
+
+<h3>Introduction</h3>
+
+<p><strong>DataSourceRealm</strong> is an implementation of the Tomcat 6
+<code>Realm</code> interface that looks up users in a relational database
+accessed via a JNDI named JDBC DataSource.  There is substantial configuration
+flexibility that lets you adapt to existing table and column names, as long
+as your database structure conforms to the following requirements:</p>
+<ul>
+<li>There must be a table, referenced below as the <em>users</em> table,
+    that contains one row for every valid user that this <code>Realm</code>
+    should recognize.</li>
+<li>The <em>users</em> table must contain at least two columns (it may
+    contain more if your existing applications required it):
+    <ul>
+    <li>Username to be recognized by Tomcat when the user logs in.</li>
+    <li>Password to be recognized by Tomcat when the user logs in.
+        This value may in cleartext or digested - see below for more
+        information.</li>
+    </ul></li>    
+<li>There must be a table, referenced below as the <em>user roles</em> table,
+    that contains one row for every valid role that is assigned to a
+    particular user.  It is legal for a user to have zero, one, or more than
+    one valid role.</li>
+<li>The <em>user roles</em> table must contain at least two columns (it may
+    contain more if your existing applications required it):
+    <ul>
+    <li>Username to be recognized by Tomcat (same value as is specified
+        in the <em>users</em> table).</li>
+    <li>Role name of a valid role associated with this user.</li>
+    </ul></li>
+</ul>
+
+<h3>Quick Start</h3>
+                  
+<p>To set up Tomcat to use DataSourceRealm, you will need to follow these steps:</p>
+<ol>              
+<li>If you have not yet done so, create tables and columns in your database
+    that conform to the requirements described above.</li>
+<li>Configure a database username and password for use by Tomcat, that has
+    at least read only access to the tables described above.  (Tomcat will
+    never attempt to write to these tables.)</li>
+<li>Configure a JNDI named JDBC DataSource for your database.  Refer to the
+    <a href="jndi-datasource-examples-howto.html">JNDI DataSource Example HOW-TO</a>
+    for information on how to configure a JNDI named JDBC DataSource.</li>
+<li>Set up a <code>&lt;Realm&gt;</code> element, as described below, in your
+    <code>$CATALINA_BASE/conf/server.xml</code> file.</li>
+<li>Restart Tomcat 6 if it is already running.</li>
+</ol>
+
+<h3>Realm Element Attributes</h3>
+
+<p>To configure DataSourceRealm, you will create a <code>&lt;Realm&gt;</code>
+element and nest it in your <code>$CATALINA_BASE/conf/server.xml</code> file,
+as described <a href="#Configuring a Realm">above</a>.  The following
+attributes are supported by this implementation:</p>
+
+<table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+    <p>The fully qualified Java class name of this Realm implementation.
+    You <strong>MUST</strong> specify the value
+    "<code>org.apache.catalina.realm.DataSourceRealm</code>" here.</p>
+  </td></tr><tr><td valign="center" align="left"><strong><code>dataSourceName</code></strong></td><td valign="center" align="left">
+    <p>The JNDI named JDBC DataSource for your database. If the DataSource is
+    local to the context, the name is relative to <code>java:/comp/env</code>,
+    and otherwise the name should match the name used to define the global
+    DataSource.</p>
+  </td></tr><tr><td valign="center" align="left"><code>digest</code></td><td valign="center" align="left">
+    <p>The digest algorithm used to store passwords in non-plaintext formats.
+    Valid values are those accepted for the algorithm name by the
+    <code>java.security.MessageDigest</code> class.  See
+    <a href="#Digested Passwords">Digested Passwords</a> for more
+    information.  If not specified, passwords are stored in clear text.</p>
+  </td></tr><tr><td valign="center" align="left"><code>localDataSource</code></td><td valign="center" align="left">
+    <p>When the realm is nested inside a Context element, this allows the 
+    realm to use a DataSource defined for the Context rather than a global
+    DataSource.  If not specified, the default is <code>false</code>: use a 
+    global DataSource.</p>
+  </td></tr><tr><td valign="center" align="left"><strong><code>roleNameCol</code></strong></td><td valign="center" align="left">
+    <p>The name of the column, in the <em>user roles</em> table, that
+    contains the name of a role assigned to this user.</p>
+  </td></tr><tr><td valign="center" align="left"><strong><code>userCredCol</code></strong></td><td valign="center" align="left">
+    <p>The name of the column, in the <em>users</em> table, that contains
+    the password for this user (either in clear text, or digested if the
+    <code>digest</code> attribute is set).</p>
+  </td></tr><tr><td valign="center" align="left"><strong><code>userNameCol</code></strong></td><td valign="center" align="left">
+    <p>The name of the column, in the <em>users</em> and <em>user roles</em>
+    tables, that contains the username of this user.</p>
+  </td></tr><tr><td valign="center" align="left"><strong><code>userRoleTable</code></strong></td><td valign="center" align="left">
+    <p>The name of the table that contains one row for each <em>role</em>
+    assigned to a particular <em>username</em>.  This table must include at
+    least the columns named by the <code>userNameCol</code> and
+    <code>roleNameCol</code> attributes.</p>
+  </td></tr><tr><td valign="center" align="left"><strong><code>userTable</code></strong></td><td valign="center" align="left">
+    <p>The name of the table that contains one row for each <em>username</em>
+    to be recognized by Tomcat.  This table must include at least the columns
+    named by the <code>userNameCol</code> and <code>userCredCol</code>
+    attributes.</p>
+  </td></tr></table>
+
+<h3>Example</h3>
+
+<p>An example SQL script to create the needed tables might look something
+like this (adapt the syntax as required for your particular database):</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+create table users (
+  user_name         varchar(15) not null primary key,
+  user_pass         varchar(15) not null
+);
+
+create table user_roles (
+  user_name         varchar(15) not null,
+  role_name         varchar(15) not null,
+  primary key (user_name, role_name)
+);
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>Here is an example for using a MySQL database called "authority", configured
+with the tables described above, and accessed with the JNDI JDBC DataSource with
+name "java:/comp/env/jdbc/authority".</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Realm className="org.apache.catalina.realm.DataSourceRealm" debug="99"
+   dataSourceName="jdbc/authority"
+   userTable="users" userNameCol="user_name" userCredCol="user_pass"
+   userRoleTable="user_roles" roleNameCol="role_name"/&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<h3>Additional Notes</h3>
+
+<p>DataSourceRealm operates according to the following rules:</p>
+<ul>
+<li>When a user attempts to access a protected resource for the first time,
+    Tomcat 6 will call the <code>authenticate()</code> method of this
+    <code>Realm</code>.  Thus, any changes you have made to the database
+    directly (new users, changed passwords or roles, etc.) will be immediately
+    reflected.</li>
+<li>Once a user has been authenticated, the user (and his or her associated
+    roles) are cached within Tomcat for the duration of the user's login.
+    (For FORM-based authentication, that means until the session times out or
+    is invalidated; for BASIC authentication, that means until the user
+    closes their browser).  The cached user is <strong>not</strong> saved and
+    restored across sessions serialisations. Any changes to the database
+    information for an already authenticated user will <strong>not</strong> be
+    reflected until the next time that user logs on again.</li>
+<li>Administering the information in the <em>users</em> and <em>user roles</em>
+    table is the responsibility of your own applications.  Tomcat does not
+    provide any built-in capabilities to maintain users and roles.</li>
+</ul>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JNDIRealm"><strong>JNDIRealm</strong></a></font></td></tr><tr><td><blockquote>
+
+<h3>Introduction</h3>
+
+<p><strong>JNDIRealm</strong> is an implementation of the Tomcat 6
+<code>Realm</code> interface that looks up users in an LDAP directory
+server accessed by a JNDI provider (typically, the standard LDAP
+provider that is available with the JNDI API classes). The realm
+supports a variety of approaches to using a directory for
+authentication.</p>
+
+<h4>Connecting to the directory</h4>
+
+<p>The realm's connection to the directory is defined by the
+<strong>connectionURL</strong> configuration attribute. This is a URL
+whose format is defined by the JNDI provider. It is usually an LDAP
+URL that specifies the domain name of the directory server to connect
+to, and optionally the port number and distinguished name (DN) of the
+required root naming context.</p>
+
+<p>If you have more than one provider you can configure an
+<strong>alternateURL</strong>.  If a socket connection can not be
+made to the provider at the <strong>connectionURL</strong> an
+attempt will be made to use the <strong>alternateURL</strong>.</p>
+
+<p>When making a connection in order to search the directory and
+retrieve user and role information, the realm authenticates itself to
+the directory with the username and password specified by the
+<strong>connectionName</strong> and
+<strong>connectionPassword</strong> properties. If these properties
+are not specified the connection is anonymous. This is sufficient in
+many cases.
+</p>
+
+
+<h4>Selecting the user's directory entry</h4>
+
+<p>Each user that can be authenticated must be represented in the
+directory by an individual entry that corresponds to an element in the
+initial <code>DirContext</code> defined by the
+<strong>connectionURL</strong> attribute. This user entry must have an
+attribute containing the username that is presented for
+authentication.</p>
+
+<p>Often the distinguished name of the user's entry contains the
+username presented for authentication but is otherwise the same for
+all users. In this case the <strong>userPattern</strong> attribute may
+be used to specify the DN, with "{0}" marking where
+the username should be substituted.</p>
+
+<p>Otherwise the realm must search the directory to find a unique entry
+containing the username. The following attributes configure this
+search:
+
+     <ul>
+     <li><strong>userBase</strong> - the entry that is the base of
+         the subtree containing users.  If not specified, the search
+         base is the top-level context.</li>
+
+     <li><strong>userSubtree</strong> - the search scope. Set to
+         <code>true</code> if you wish to search the entire subtree
+         rooted at the <strong>userBase</strong> entry. The default value
+         of <code>false</code> requests a single-level search
+         including only the top level.</li>
+
+     <li><strong>userSearch</strong> - pattern specifying the LDAP
+         search filter to use after substitution of the username.</li>
+
+    </ul>
+</p>
+
+
+<h4>Authenticating the user</h4>
+
+<ul>
+<li>
+<p><b>Bind mode</b></p>
+
+<p>By default the realm authenticates a user by binding to
+the directory with the DN of the entry for that user and the password
+presented by the user. If this simple bind succeeds the user is considered to
+be authenticated.</p>
+
+<p>For security reasons a directory may store a digest of the user's
+password rather than the clear text version (see <a href="#Digested Passwords">Digested Passwords</a> for more information). In that case,
+as part of the simple bind operation the directory automatically
+computes the correct digest of the plaintext password presented by the
+user before validating it against the stored value. In bind mode,
+therefore, the realm is not involved in digest processing. The
+<strong>digest</strong> attribute is not used, and will be ignored if
+set.</p>
+</li>
+
+<li>
+<p><b>Comparison mode</b></p>
+<p>Alternatively, the realm may retrieve the stored
+password from the directory and compare it explicitly with the value
+presented by the user. This mode is configured by setting the
+<strong>userPassword</strong> attribute to the name of a directory
+attribute in the user's entry that contains the password.</p>
+
+<p>Comparison mode has some disadvantages. First, the
+<strong>connectionName</strong> and
+<strong>connectionPassword</strong> attributes must be configured to
+allow the realm to read users' passwords in the directory. For
+security reasons this is generally undesirable; indeed many directory
+implementations will not allow even the directory manager to read
+these passwords. In addition, the realm must handle password digests
+itself, including variations in the algorithms used and ways of
+representing password hashes in the directory. However, the realm may
+sometimes need access to the stored password, for example to support
+HTTP Digest Access Authentication (RFC 2069). (Note that HTTP digest
+authentication is different from the storage of password digests in
+the repository for user information as discussed above).
+</p>
+</li>
+</ul>
+
+<h4>Assigning roles to the user</h4>
+
+<p>The directory realm supports two approaches to the representation
+of roles in the directory:</p>
+
+<ul>
+<li>
+<p><b>Roles as explicit directory entries</b></p>
+
+<p>Roles may be represented by explicit directory entries. A role
+entry is usually an LDAP group entry with one attribute
+containing the name of the role and another whose values are the
+distinguished names or usernames of the users in that role.  The
+following attributes configure a directory search to
+find the names of roles associated with the authenticated user:</p>
+
+<ul>
+<li><strong>roleBase</strong> - the base entry for the role search.
+    If not specified, the search base is the top-level directory
+    context.</li>
+
+<li><strong>roleSubtree</strong> - the search
+    scope. Set to <code>true</code> if you wish to search the entire
+    subtree rooted at the <code>roleBase</code> entry. The default
+    value of <code>false</code> requests a single-level search
+    including the top level only.</li>
+
+<li><strong>roleSearch</strong> - the LDAP search filter for
+    selecting role entries. It optionally includes pattern
+    replacements "{0}" for the distinguished name and/or "{1}" for the
+    username of the authenticated user.</li>
+
+<li><strong>roleName</strong> - the attribute in a role entry
+     containing the name of that role.</li>
+
+</ul>
+
+</li>
+</ul>
+
+<ul>
+<li>
+<p><b>Roles as an attribute of the user entry</b></p>
+
+<p>Role names may also be held as the values of an attribute in the
+user's directory entry. Use <strong>userRoleName</strong> to specify
+the name of this attribute.</p>
+
+</li>
+</ul>
+<p>A combination of both approaches to role representation may be used.</p>
+
+<h3>Quick Start</h3>
+
+<p>To set up Tomcat to use JNDIRealm, you will need to follow these steps:</p>
+<ol>
+<li>Make sure your directory server is configured with a schema that matches
+    the requirements listed above.</li>
+<li>If required, configure a username and password for use by Tomcat, that has
+    read only access to the information described above.  (Tomcat will
+    never attempt to modify this information.)</li>
+<li>Place a copy of the JNDI driver you will be using (typically
+    <code>ldap.jar</code> available with JNDI) inside the
+    <code>$CATALINA_HOME/lib</code> directory.</li>
+<li>Set up a <code>&lt;Realm&gt;</code> element, as described below, in your
+    <code>$CATALINA_BASE/conf/server.xml</code> file.</li>
+<li>Restart Tomcat 6 if it is already running.</li>
+</ol>
+
+<h3>Realm Element Attributes</h3>
+
+<p>To configure JNDIRealm, you will create a <code>&lt;Realm&gt;</code>
+element and nest it in your <code>$CATALINA_BASE/conf/server.xml</code> file,
+as described <a href="#Configuring a Realm">above</a>.  The following
+attributes are supported by this implementation:</p>
+
+<table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+    <p>The fully qualified Java class name of this Realm implementation.
+    You <strong>MUST</strong> specify the value
+    "<code>org.apache.catalina.realm.JNDIRealm</code>" here.</p>
+  </td></tr><tr><td valign="center" align="left"><code>alternateURL</code></td><td valign="center" align="left">
+        <p>If a socket connection can not be made to the provider at
+        the <code>connectionURL</code> an attempt will be made to use the
+        <code>alternateURL</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>authentication</code></td><td valign="center" align="left">
+        <p>A string specifying the type of authentication to use.
+        "none", "simple", "strong" or a provider specific definition
+        can be used. If no value is given the providers default is used.</p>
+      </td></tr><tr><td valign="center" align="left"><code>connectionName</code></td><td valign="center" align="left">
+        <p>The directory username to use when establishing a
+        connection to the directory for LDAP search operations. If not
+        specified an anonymous connection is made, which is often
+        sufficient unless you specify the <code>userPassword</code>
+        property.</p>
+      </td></tr><tr><td valign="center" align="left"><code>connectionPassword</code></td><td valign="center" align="left">
+        <p>The directory password to use when establishing a
+        connection to the directory for LDAP search operations. If not
+        specified an anonymous connection is made, which is often
+        sufficient unless you specify the <code>userPassword</code>
+        property.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>connectionURL</code></strong></td><td valign="center" align="left">
+        <p>The connection URL to be passed to the JNDI driver when
+        establishing a connection to the directory.</p>
+      </td></tr><tr><td valign="center" align="left"><code>contextFactory</code></td><td valign="center" align="left">
+        <p>The fully qualified Java class name of the JNDI context
+        factory to be used for this connection.  By default, the standard
+        JNDI LDAP provider is used
+        (<code>com.sun.jndi.ldap.LdapCtxFactory</code>).</p>
+      </td></tr><tr><td valign="center" align="left"><code>digest</code></td><td valign="center" align="left">
+        <p>The digest algorithm to apply to the plaintext password offered
+        by the user before comparing it with the value retrieved from the
+        directory.  Valid values are those accepted for the algorithm name
+        by the <code>java.security.MessageDigest</code> class.  See <a href="#Digested Passwords">Digested Passwords</a> for more
+        information. If not specified the plaintext password is assumed to
+        be retrieved. Not required unless <code>userPassword</code> is
+        specified</p>
+      </td></tr><tr><td valign="center" align="left"><code>protocol</code></td><td valign="center" align="left">
+         <p>A string specifying the security protocol to use. If not given
+         the providers default is used.</p>
+      </td></tr><tr><td valign="center" align="left"><code>roleBase</code></td><td valign="center" align="left">
+        <p>The base directory entry for performing role searches. If
+        not specified, the top level element in the directory context
+        will be used.</p>
+      </td></tr><tr><td valign="center" align="left"><code>roleName</code></td><td valign="center" align="left">
+        <p>The name of the attribute that contains role names in the
+        directory entries found by a role search. In addition you can
+        use the <code>userRoleName</code> property to specify the name
+        of an attribute, in the user's entry, containing additional
+        role names.  If <code>roleName</code> is not specified a role
+        search does not take place, and roles are taken only from the
+        user's entry.</p>
+      </td></tr><tr><td valign="center" align="left"><code>roleSearch</code></td><td valign="center" align="left">
+        <p>The LDAP filter expression used for performing role
+        searches, following the syntax supported by the
+        <code>java.text.MessageFormat</code> class.  Use
+        <code>{0}</code> to substitute the distinguished name (DN) of
+        the user, and/or <code>{1}</code> to substitute the
+        username. If not specified a role search does not take place
+        and roles are taken only from the attribute in the user's
+        entry specified by the <code>userRoleName</code> property.</p>
+      </td></tr><tr><td valign="center" align="left"><code>roleSubtree</code></td><td valign="center" align="left">
+        <p>Set to <code>true</code> if you want to search the entire
+        subtree of the element specified by the <code>roleBase</code>
+        property for role entries associated with the user. The
+        default value of <code>false</code> causes only the top level
+        to be searched.</p>
+      </td></tr><tr><td valign="center" align="left"><code>userBase</code></td><td valign="center" align="left">
+        <p>The base element for user searches performed using the
+        <code>userSearch</code> expression.  If not specified, the top
+        level element in the directory context will be used. Not used
+        if you are using the <code>userPattern</code> expression.</p>
+      </td></tr><tr><td valign="center" align="left"><code>userPassword</code></td><td valign="center" align="left">
+        <p>Name of the attribute in the user's entry containing the
+        user's password.  If you specify this value, JNDIRealm will
+        bind to the directory using the values specified by
+        <code>connectionName</code> and
+        <code>connectionPassword</code> properties, and retrieve the
+        corresponding attribute for comparison to the value specified
+        by the user being authenticated.  If the <code>digest</code>
+        attribute is set, the specified digest algorithm is applied to
+        the password offered by the user before comparing it with the
+        value retrieved from the directory.  If you do
+        <strong>not</strong> specify this value, JNDIRealm will
+        attempt a simple bind to the directory using the DN of the
+        user's entry and password specified by the user, with a
+        successful bind being interpreted as an authenticated
+        user.</p>
+      </td></tr><tr><td valign="center" align="left"><code>userPattern</code></td><td valign="center" align="left">
+        <p>A pattern for the distinguished name (DN) of the user's
+        directory entry, following the syntax supported by the
+        <code>java.text.MessageFormat</code> class with
+        <code>{0}</code> marking where the actual username should be
+        inserted. You can use this property instead of
+        <code>userSearch</code>, <code>userSubtree</code> and
+        <code>userBase</code> when the distinguished name contains the
+        username and is otherwise the same for all users.</p>
+      </td></tr><tr><td valign="center" align="left"><code>userRoleName</code></td><td valign="center" align="left">
+        <p>The name of an attribute in the user's directory entry
+        containing zero or more values for the names of roles assigned
+        to this user.  In addition you can use the
+        <code>roleName</code> property to specify the name of an
+        attribute to be retrieved from individual role entries found
+        by searching the directory. If <code>userRoleName</code> is
+        not specified all the roles for a user derive from the role
+        search.</p>
+      </td></tr><tr><td valign="center" align="left"><code>userSearch</code></td><td valign="center" align="left">
+        <p>The LDAP filter expression to use when searching for a
+        user's directory entry, with <code>{0}</code> marking where
+        the actual username should be inserted.  Use this property
+        (along with the <code>userBase</code> and
+        <code>userSubtree</code> properties) instead of
+        <code>userPattern</code> to search the directory for the
+        user's entry.</p>
+      </td></tr><tr><td valign="center" align="left"><code>userSubtree</code></td><td valign="center" align="left">
+        <p>Set to <code>true</code> if you want to search the entire
+        subtree of the element specified by the <code>userBase</code>
+        property for the user's entry. The default value of
+        <code>false</code> causes only the top level to be searched.
+        Not used if you are using the <code>userPattern</code>
+        expression.</p>
+      </td></tr></table>
+
+<h3>Example</h3>
+
+<p>Creation of the appropriate schema in your directory server is beyond the
+scope of this document, because it is unique to each directory server
+implementation.  In the examples below, we will assume that you are using a
+distribution of the OpenLDAP directory server (version 2.0.11 or later), which
+can be downloaded from
+<a href="http://www.openldap.org">http://www.openldap.org</a>.  Assume that
+your <code>slapd.conf</code> file contains the following settings
+(among others):</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+database ldbm
+suffix dc="mycompany",dc="com"
+rootdn "cn=Manager,dc=mycompany,dc=com"
+rootpw secret
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>We will assume for <code>connectionURL</code> that the directory
+server runs on the same machine as Tomcat.  See <a href="http://java.sun.com/products/jndi/docs.html">http://java.sun.com/products/jndi/docs.html</a>
+for more information about configuring and using the JNDI LDAP
+provider.</p>
+
+<p>Next, assume that this directory server has been populated with elements
+as shown below (in LDIF format):</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+
+# Define top-level entry
+dn: dc=mycompany,dc=com
+objectClass: dcObject
+dc:mycompany
+
+# Define an entry to contain people
+# searches for users are based on this entry
+dn: ou=people,dc=mycompany,dc=com
+objectClass: organizationalUnit
+ou: people
+
+# Define a user entry for Janet Jones
+dn: uid=jjones,ou=people,dc=mycompany,dc=com
+objectClass: inetOrgPerson
+uid: jjones
+sn: jones
+cn: janet jones
+mail: j.jones@mycompany.com
+userPassword: janet
+
+# Define a user entry for Fred Bloggs
+dn: uid=fbloggs,ou=people,dc=mycompany,dc=com
+objectClass: inetOrgPerson
+uid: fbloggs
+sn: bloggs
+cn: fred bloggs
+mail: f.bloggs@mycompany.com
+userPassword: fred
+
+# Define an entry to contain LDAP groups
+# searches for roles are based on this entry
+dn: ou=groups,dc=mycompany,dc=com
+objectClass: organizationalUnit
+ou: groups
+
+# Define an entry for the "tomcat" role
+dn: cn=tomcat,ou=groups,dc=mycompany,dc=com
+objectClass: groupOfUniqueNames
+cn: tomcat
+uniqueMember: uid=jjones,ou=people,dc=mycompany,dc=com
+uniqueMember: uid=fbloggs,ou=people,dc=mycompany,dc=com
+
+# Define an entry for the "role1" role
+dn: cn=role1,ou=groups,dc=mycompany,dc=com
+objectClass: groupOfUniqueNames
+cn: role1
+uniqueMember: uid=fbloggs,ou=people,dc=mycompany,dc=com
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>An example <code>Realm</code> element for the OpenLDAP directory
+server configured as described above might look like this, assuming
+that users use their uid (e.g. jjones) to login to the
+application and that an anonymous connection is sufficient to search
+the directory and retrieve role information:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Realm   className="org.apache.catalina.realm.JNDIRealm" debug="99"
+     connectionURL="ldap://localhost:389"
+       userPattern="uid={0},ou=people,dc=mycompany,dc=com"
+          roleBase="ou=groups,dc=mycompany,dc=com"
+          roleName="cn"
+        roleSearch="(uniqueMember={0})"
+/&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>With this configuration, the realm will determine the user's
+distinguished name by substituting the username into the
+<code>userPattern</code>, authenticate by binding to the directory
+with this DN and the password received from the user, and search the
+directory to find the user's roles.</p>
+
+<p>Now suppose that users are expected to enter their email address
+rather than their userid when logging in. In this case the realm must
+search the directory for the user's entry. (A search is also necessary
+when user entries are held in multiple subtrees corresponding perhaps
+to different organizational units or company locations).</p>
+
+<p>Further, suppose that in addition to the group entries you want to
+use an attribute of the user's entry to hold roles. Now the entry for
+Janet Jones might read as follows:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+dn: uid=jjones,ou=people,dc=mycompany,dc=com
+objectClass: inetOrgPerson
+uid: jjones
+sn: jones
+cn: janet jones
+mail: j.jones@mycompany.com
+memberOf: role2
+memberOf: role3
+userPassword: janet
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p> This realm configuration would satisfy the new requirements:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Realm   className="org.apache.catalina.realm.JNDIRealm" debug="99"
+     connectionURL="ldap://localhost:389"
+          userBase="ou=people,dc=mycompany,dc=com"
+        userSearch="(mail={0})"
+      userRoleName="memberOf"
+          roleBase="ou=groups,dc=mycompany,dc=com"
+          roleName="cn"
+        roleSearch="(uniqueMember={0})"
+/&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>Now when Janet Jones logs in as "j.jones@mycompany.com", the realm
+searches the directory for a unique entry with that value as its mail
+attribute and attempts to bind to the directory as
+<code>uid=jjones,ou=people,dc=mycompany,dc=com</code> with the given
+password. If authentication succeeds, she is assigned three roles:
+"role2" and "role3", the values of the "memberOf" attribute in her
+directory entry, and "tomcat", the value of the "cn" attribute in the
+only group entry of which she is a member.</p>
+
+<p>Finally, to authenticate the user by retrieving
+the password from the directory and making a local comparison in the
+realm, you might use a realm configuration like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Realm   className="org.apache.catalina.realm.JNDIRealm" debug="99"
+    connectionName="cn=Manager,dc=mycompany,dc=com"
+connectionPassword="secret"
+     connectionURL="ldap://localhost:389"
+      userPassword="userPassword"
+       userPattern="uid={0},ou=people,dc=mycompany,dc=com"
+          roleBase="ou=groups,dc=mycompany,dc=com"
+          roleName="cn"
+        roleSearch="(uniqueMember={0})"
+/&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>However, as discussed above, the default bind mode for
+authentication is usually to be preferred.</p>
+
+<h3>Additional Notes</h3>
+
+<p>JNDIRealm operates according to the following rules:</p>
+<ul>
+<li>When a user attempts to access a protected resource for the first time,
+    Tomcat 6 will call the <code>authenticate()</code> method of this
+    <code>Realm</code>.  Thus, any changes you have made to the directory
+    (new users, changed passwords or roles, etc.) will be immediately
+    reflected.</li>
+<li>Once a user has been authenticated, the user (and his or her associated
+    roles) are cached within Tomcat for the duration of the user's login.
+    (For FORM-based authentication, that means until the session times out or
+    is invalidated; for BASIC authentication, that means until the user
+    closes their browser).  The cached user is <strong>not</strong> saved and
+    restored across sessions serialisations. Any changes to the directory
+    information for an already authenticated user will <strong>not</strong> be
+    reflected until the next time that user logs on again.</li>
+<li>Administering the information in the directory server
+    is the responsibility of your own applications.  Tomcat does not
+    provide any built-in capabilities to maintain users and roles.</li>
+</ul>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="MemoryRealm"><strong>MemoryRealm</strong></a></font></td></tr><tr><td><blockquote>
+
+<h3>Introduction</h3>
+
+<p><strong>MemoryRealm</strong> is a simple demonstration implementation of the
+Tomcat 6 <code>Realm</code> interface.  It is not designed for production use.
+At startup time, MemoryRealm loads information about all users, and their
+corresponding roles, from an XML document (by default, this document is loaded from <code>$CATALINA_BASE/conf/tomcat-users.xml</code>).  Changes to the data
+in this file are not recognized until Tomcat is restarted.</p>
+
+<h3>Realm Element Attributes</h3>
+
+<p>To configure MemoryRealm, you will create a <code>&lt;Realm&gt;</code>
+element and nest it in your <code>$CATALINA_BASE/conf/server.xml</code> file,
+as described <a href="#Configuring a Realm">above</a>.  The following
+attributes are supported by this implementation:</p>
+
+<table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+    <p>The fully qualified Java class name of this Realm implementation.
+    You <strong>MUST</strong> specify the value
+    "<code>org.apache.catalina.realm.MemoryRealm</code>" here.</p>
+  </td></tr><tr><td valign="center" align="left"><code>digest</code></td><td valign="center" align="left">
+    <p>The digest algorithm used to store passwords in non-plaintext formats.
+    Valid values are those accepted for the algorithm name by the
+    <code>java.security.MessageDigest</code> class.  See
+    <a href="#Digested Passwords">Digested Passwords</a> for more
+    information.  If not specified, passwords are stored in clear text.</p>
+  </td></tr><tr><td valign="center" align="left"><code>pathname</code></td><td valign="center" align="left">
+    <p>Absolute or relative (to $CATALINA_BASE) pathname of the XML document
+    containing our valid usernames, passwords, and roles.  See below for more
+    information on the format of this file.  If not specified, the value
+    <code>conf/tomcat-users.xml</code> is used.</p>
+  </td></tr></table>
+
+<h3>User File Format</h3>
+
+<p>The users file (by default, <code>conf/tomcat-users.xml</code> must be an
+XML document, with a root element <code>&lt;tomcat-users&gt;</code>.  Nested
+inside the root element will be a <code>&lt;user&gt;</code> element for each
+valid user, consisting of the following attributes:</p>
+<ul>
+<li><strong>name</strong> - Username this user must log on with.</li>
+<li><strong>password</strong> - Password this user must log on with (in
+    clear text if the <code>digest</code> attribute was not set on the
+    <code>&lt;Realm&gt;</code> element, or digested appropriately as
+    described <a href="#Digested Passwords">here</a> otherwise).</li>
+<li><strong>roles</strong> - Comma-delimited list of the role names
+    associated with this user.</li>
+</ul>
+
+<h3>Example</h3>
+
+<p>The default installation of Tomcat 6 is configured with a MemoryRealm
+nested inside the <code>&lt;Engine&gt;</code> element, so that it applies
+to all virtual hosts and web applications.  The default contents of the
+<code>conf/tomcat-users.xml</code> file is:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;tomcat-users&gt;
+  &lt;user name="tomcat" password="tomcat" roles="tomcat" /&gt;
+  &lt;user name="role1"  password="tomcat" roles="role1"  /&gt;
+  &lt;user name="both"   password="tomcat" roles="tomcat,role1" /&gt;
+&lt;/tomcat-users&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<h3>Additional Notes</h3>
+
+<p>MemoryRealm operates according to the following rules:</p>
+<ul>
+<li>When Tomcat first starts up, it loads all defined users and their
+    associated information from the users file.  Changes to the data in
+    this file will <strong>not</strong> be recognized until Tomcat is
+    restarted.</li>
+<li>When a user attempts to access a protected resource for the first time,
+    Tomcat 6 will call the <code>authenticate()</code> method of this
+    <code>Realm</code>.</li>
+<li>Once a user has been authenticated, the user (and his or her associated
+    roles) are cached within Tomcat for the duration of the user's login.
+    (For FORM-based authentication, that means until the session times out or
+    is invalidated; for BASIC authentication, that means until the user
+    closes their browser).  The cached user is <strong>not</strong> saved and
+    restored across sessions serialisations.</li>
+<li>Administering the information in the users file is the responsibility
+    of your application.  Tomcat does not
+    provide any built-in capabilities to maintain users and roles.</li>
+</ul>
+
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JAASRealm"><strong>JAASRealm</strong></a></font></td></tr><tr><td><blockquote>
+
+<h3>Introduction</h3>
+
+        <p><strong>JAASRealm</strong> is an implementation of the Tomcat
+6 <code>Realm</code> interface that authenticates users through the Java
+Authentication &amp; Authorization Service (JAAS) framework which is now
+provided as part of the standard J2SE API.</p>
+        <p>Using JAASRealm gives the developer the ability to combine
+practically any conceivable security realm with Tomcat's CMA. </p>
+        <p>JAASRealm is prototype for Tomcat of the JAAS-based
+J2EE authentication framework for J2EE v1.4, based on the <a href="http://www.jcp.org/en/jsr/detail?id=196">JCP Specification
+Request 196</a> to enhance container-managed security and promote
+'pluggable' authentication mechanisms whose implementations would be
+container-independent.
+        </p>
+        <p>Based on the JAAS login module and principal (see <code>javax.security.auth.spi.LoginModule</code>
+and <code>javax.security.Principal</code>), you can develop your own
+security mechanism or wrap another third-party mechanism for
+integration with the CMA as implemented by Tomcat.
+        </p>
+
+        <h3>Quick Start</h3>
+        <p>To set up Tomcat to use JAASRealm with your own JAAS login module,
+ you will need to follow these steps:</p>
+        <ol>
+          <li>Write your own LoginModule, User and Role classes based
+on JAAS (see 
+<a href="http://java.sun.com/j2se/1.4.1/docs/guide/security/jaas/tutorials/GeneralAcnOnly.html">the
+JAAS Authentication Tutorial</a> and 
+<a href="http://java.sun.com/j2se/1.4.1/docs/guide/security/jaas/JAASLMDevGuide.html">the JAAS Login Module 
+Developer's Guide</a>) to be managed by the JAAS Login
+Context (<code>javax.security.auth.login.LoginContext</code>)
+When developing your LoginModule, note that JAASRealm's built-in <code>CallbackHandler</code>
++only recognizes the <code>NameCallback</code> and <code>PasswordCallback</code> at present.
+          </li>
+          <li>Although not specified in JAAS, you should create
+seperate classes to distinguish between users and roles, extending <code>javax.security.Principal</code>,
+so that Tomcat can tell which Principals returned from your login
+module are users and which are roles (see <code>org.apache.catalina.realm.JAASRealm</code>).
+Regardless, the first Principal returned is <em>always</em> treated as the user Principal.
+          </li>
+          <li>Place the compiled classes on Tomcat's classpath
+          </li>
+          <li>Set up a login.config file for Java (see <a href="http://java.sun.com/j2se/1.4.1/docs/guide/security/jaas/tutorials/LoginConfigFile.html">JAAS
+LoginConfig file</a>) and tell Tomcat where to find it by specifying
+its location to the JVM, for instance by setting the environment
+variable: <code>JAVA_OPTS=-DJAVA_OPTS=-Djava.security.auth.login.config==$CATALINA_BASE/conf/jaas.config</code></li>
+
+          <li>Configure your security-constraints in your web.xml for
+the resources you want to protect</li>
+          <li>Configure the JAASRealm module in your server.xml </li>
+          <li>Restart Tomcat 6 if it is already running.</li>
+        </ol>
+        <h3>Realm Element Attributes</h3>
+        <p>To configure JAASRealm as for step 6 above, you create
+a <code>&lt;Realm&gt;</code> element and nest it in your 
+<code>$CATALINA_BASE/conf/server.xml</code>
+file within your <code>&lt;Engine&gt;</code> node. The following attributes 
+are supported by this implementation:</p>
+
+<table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+    <p>The fully qualified Java class name of this Realm implementation.
+    You <strong>MUST</strong> specify the value
+    "<code>org.apache.catalina.realm.JAASRealm</code>" here.</p>
+  </td></tr><tr><td valign="center" align="left"><strong><code>appName</code></strong></td><td valign="center" align="left">
+    <p>The name of the application as configured in your login configuration file 
+    (<a href="http://java.sun.com/j2se/1.4.1/docs/guide/security/jaas/tutorials/LoginConfigFile.html">JAAS LoginConfig</a>).</p>
+  </td></tr><tr><td valign="center" align="left"><strong><code>userClassNames</code></strong></td><td valign="center" align="left">
+    <p>A comma-seperated list of the names of the classes that you have made 
+    for your user <code>Principals</code>.</p>
+  </td></tr><tr><td valign="center" align="left"><code>roleClassNames</code></td><td valign="center" align="left">
+    <p>A comma-seperated list of the names of the classes that you have made 
+    for your role <code>Principals</code>.</p>
+  </td></tr><tr><td valign="center" align="left"><code>useContextClassLoader</code></td><td valign="center" align="left">
+    <p>Instructs JAASRealm to use the context class loader for loading the user-specified
+    <code>LoginModule</code> class and associated <code>Principal</code> classes. The
+    default value is <code>true</code>, which is backwards-compatible with the way 
+    Tomcat 4 works. To load classes using the container's classloader, specify
+    <code>false</code>.</p>
+  </td></tr></table>
+
+<h3>Example</h3>
+
+<p>Here is an example of how your server.xml snippet should look.</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Realm className="org.apache.catalina.realm.JAASRealm"                 
+                appName="MyFooRealm"       
+    userClassNames="org.foobar.realm.FooUser"       
+     roleClassNames="org.foobar.realm.FooRole" 
+                      debug="99"/&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>It is the responsibility of your login module to create and save User and 
+Role objects representing Principals for the user 
+(<code>javax.security.auth.Subject</code>). If your login module doesn't 
+create a user object but also doesn't throw a login exception, then the 
+Tomcat CMA will break and you will be left at the 
+http://localhost:8080/myapp/j_security_check URI or at some other 
+unspecified location.</p>
+
+        <p>The flexibility of the JAAS approach is two-fold: </p>
+        <ul>
+          <li>you can carry out whatever processing you require behind
+the scenes in your own login module.</li>
+          <li>you can plug in a completely different LoginModule by changing the configuration 
+and restarting the server, without any code changes to your application.</li>
+        </ul>
+
+        <h3>Additional Notes</h3>
+        <ul>
+          <li>When a user attempts to access a protected resource for
+              the first time, Tomcat 6 will call the <code>authenticate()</code>
+              method of this <code>Realm</code>.  Thus, any changes you have made in
+              the security mechanism directly (new users, changed passwords or
+              roles, etc.) will be immediately reflected.</li>
+          <li>Once a user has been authenticated, the user (and his or
+              her associated roles) are cached within Tomcat for the duration of
+              the user's login.  For FORM-based authentication, that means until
+              the session times out or is invalidated; for BASIC authentication,
+              that means until the user closes their browser.  Any changes to the
+              security information for an already authenticated user will <strong>not</strong>
+              be reflected until the next time that user logs on again.</li>
+          <li>As with other <code>Realm</code> implementations, digested passwords
+              are supported if the <code>&lt;Realm&gt;</code> element in <code>server.xml</code>
+              contains a <code>digest</code> attribute; JAASRealm's <code>CallbackHandler</code>
+              will digest the password prior to passing it back to the <code>LoginModule</code></li>  
+        </ul>
+
+</blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/security-manager-howto.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/security-manager-howto.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/security-manager-howto.html	(revision 66)
@@ -0,0 +1,360 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - Security Manager HOW-TO</title><meta value="Glenn Nielsen" name="author"><meta value="glenn@voyager.apg.more.net" name="email"><meta value="Jean-Francois Arcand" name="author"><meta value="jeanfrancois.arcand@sun.com" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://wiki.apache.org/tomcat/FAQ">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR/Native</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li><li><a href="aio.html">25) Advanced IO</a></li><li><a href="extras.html">26) Additional Components</a></li><li><a href="maven-jars.html">27) Mavenized</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Configuration</a></li><li><a href="api/index.html">Javadocs</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="http://wiki.apache.org/tomcat/TomcatVersions">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="architecture/index.html">Architecture</a></li><li><a href="funcspecs/index.html">Functional Specs.</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>Security Manager HOW-TO</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/security-manager-howto.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Background"><strong>Background</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The Java <strong>SecurityManager</strong> is what allows a web browser
+  to run an applet in its own sandbox to prevent untrusted code from
+  accessing files on the local file system, connecting to a host other
+  than the one the applet was loaded from, and so on.  In the same way
+  the SecurityManager protects you from an untrusted applet running in
+  your browser, use of a SecurityManager while running Tomcat can protect
+  your server from trojan servlets, JSPs, JSP beans, and tag libraries.
+  Or even inadvertent mistakes.</p>
+
+  <p>Imagine if someone who is authorized to publish JSPs on your site
+  inadvertently included the following in their JSP:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;% System.exit(1); %&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+  <p>Every time this JSP was executed by Tomcat, Tomcat would exit.
+  Using the Java SecurityManager is just one more line of defense a
+  system administrator can use to keep the server secure and reliable.</p>
+
+  <p><strong>WARNING</strong> - A security audit
+  have been conducted using the Tomcat 6 codebase. Most of the critical
+  package have been protected and a new security package protection mechanism 
+  has been implemented. Still, make sure that you are satisfied with your SecurityManager 
+  configuration before allowing untrusted users to publish web applications, 
+  JSPs, servlets, beans, or tag libraries.  <strong>However, running with a 
+  SecurityManager is definitely better than running without one.</strong></p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Permissions"><strong>Permissions</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>Permission classes are used to define what Permissions a class loaded
+  by Tomcat will have.  There are a number of Permission classes that are
+  a standard part of the JDK, and you can create your own Permission class
+  for use in your own web applications.  Both techniques are used in
+  Tomcat 6.</p>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Standard Permissions"><strong>Standard Permissions</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>This is just a short summary of the standard system SecurityManager
+    Permission classes applicable to Tomcat.  See
+    <a href="http://java.sun.com/security/">http://java.sun.com/security/</a>
+    for more information.</p>
+
+    <ul>
+    <li><strong>java.util.PropertyPermission</strong> - Controls read/write
+        access to JVM properties such as <code>java.home</code>.</li>
+    <li><strong>java.lang.RuntimePermission</strong> - Controls use of
+        some System/Runtime functions like <code>exit()</code> and
+        <code>exec()</code>. Also control the package access/definition.</li>
+    <li><strong>java.io.FilePermission</strong> - Controls read/write/execute
+        access to files and directories.</li>
+    <li><strong>java.net.SocketPermission</strong> - Controls use of
+        network sockets.</li>
+    <li><strong>java.net.NetPermission</strong> - Controls use of
+        multicast network connections.</li>
+    <li><strong>java.lang.reflect.ReflectPermission</strong> - Controls
+        use of reflection to do class introspection.</li>
+    <li><strong>java.security.SecurityPermission</strong> - Controls access
+        to Security methods.</li>
+    <li><strong>java.security.AllPermission</strong> - Allows access to all
+        permissions, just as if you were running Tomcat without a
+        SecurityManager.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat Custom Permissions"><strong>Tomcat Custom Permissions</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>Tomcat utilizes a custom permission class called
+    <strong>org.apache.naming.JndiPermission</strong>.  This permission
+    controls read access to JNDI named file based resources.  The permission
+    name is the JNDI name and there are no actions.  A trailing "*" can be
+    used to do wild card matching for a JNDI named file resource when
+    granting permission.  For example, you might include the following
+    in your policy file:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+permission  org.apache.naming.JndiPermission  "jndi://localhost/examples/*";
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+    <p>A Permission entry like this is generated dynamically for each web
+    application that is deployed, to allow it to read its own static resources
+    but disallow it from using file access to read any other files (unless
+    permissions for those files are explicitly granted).</p>
+
+    <p>Also, Tomcat always dynamically creates the following file permission:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>  
+permission java.io.FilePermission "** your application context**", "read";
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>  
+    <p>Where **your application context** equals the folder(or WAR file) under which 
+    your application has been deployed. </p>  
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Configuring Tomcat With A SecurityManager"><strong>Configuring Tomcat With A SecurityManager</strong></a></font></td></tr><tr><td><blockquote>
+
+  <h3>Policy File Format</h3>
+
+  <p>The security policies implemented by the Java SecurityManager are
+  configured in the <code>$CATALINA_BASE/conf/catalina.policy</code> file.
+  This file completely replaces the <code>java.policy</code> file present
+  in your JDK system directories.  The <code>catalina.policy</code> file
+  can be edited by hand, or you can use the
+  <a href="http://java.sun.com/products/jdk/1.2/docs/tooldocs/solaris/policytool.html">policytool</a>
+  application that comes with Java 1.2 or later.</p>
+
+  <p>Entries in the <code>catalina.policy</code> file use the standard
+  <code>java.policy</code> file format, as follows:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+// Example policy file entry
+
+grant [signedBy &lt;signer&gt;,] [codeBase &lt;code source&gt;] {
+  permission  &lt;class&gt;  [&lt;name&gt; [, &lt;action list&gt;]];
+};
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+  <p>The <strong>signedBy</strong> and <strong>codeBase</strong> entries are
+  optional when granting permissions.  Comment lines begin with "//" and
+  end at the end of the current line.  The <code>codeBase</code> is in the
+  form of a URL, and for a file URL can use the <code>${java.home}</code>
+  and <code>${catalina.home}</code> properties (which are expanded out to
+  the directory paths defined for them by the <code>JAVA_HOME</code>,
+  <code>CATALINA_HOME</code> and <code>CATALINA_BASE</code> environment
+  variables).</p>
+
+  <h3>The Default Policy File</h3>
+
+  <p>The default <code>$CATALINA_BASE/conf/catalina.policy</code> file
+  looks like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+// ============================================================================
+// catalina.corepolicy - Security Policy Permissions for Tomcat 6
+//
+// This file contains a default set of security policies to be enforced (by the
+// JVM) when Catalina is executed with the "-security" option.  In addition
+// to the permissions granted here, the following additional permissions are
+// granted to the codebase specific to each web application:
+//
+// * Read access to the document root directory
+//
+// $Id: security-manager-howto.xml 633912 2008-03-05 16:24:07Z jim $
+// ============================================================================
+
+
+// ========== SYSTEM CODE PERMISSIONS =========================================
+
+
+// These permissions apply to javac
+grant codeBase "file:${java.home}/lib/-" {
+        permission java.security.AllPermission;
+};
+
+// These permissions apply to all shared system extensions
+grant codeBase "file:${java.home}/jre/lib/ext/-" {
+        permission java.security.AllPermission;
+};
+
+// These permissions apply to javac when ${java.home] points at $JAVA_HOME/jre
+grant codeBase "file:${java.home}/../lib/-" {
+        permission java.security.AllPermission;
+};
+
+// These permissions apply to all shared system extensions when
+// ${java.home} points at $JAVA_HOME/jre
+grant codeBase "file:${java.home}/lib/ext/-" {
+        permission java.security.AllPermission;
+};
+
+
+// ========== CATALINA CODE PERMISSIONS =======================================
+
+
+// These permissions apply to the daemon code
+grant codeBase "file:${catalina.home}/bin/commons-daemon.jar" {
+        permission java.security.AllPermission;
+};
+
+// These permissions apply to the logging API
+grant codeBase "file:${catalina.home}/bin/tomcat-juli.jar" {
+        permission java.security.AllPermission;
+};
+
+// These permissions apply to the server startup code
+grant codeBase "file:${catalina.home}/bin/bootstrap.jar" {
+        permission java.security.AllPermission;
+};
+
+// These permissions apply to the servlet API classes
+// and those that are shared across all class loaders
+// located in the "lib" directory
+grant codeBase "file:${catalina.home}/lib/-" {
+        permission java.security.AllPermission;
+};
+
+
+// ========== WEB APPLICATION PERMISSIONS =====================================
+
+
+// These permissions are granted by default to all web applications
+// In addition, a web application will be given a read FilePermission
+// and JndiPermission for all files and directories in its document root.
+grant { 
+    // Required for JNDI lookup of named JDBC DataSource's and
+    // javamail named MimePart DataSource used to send mail
+    permission java.util.PropertyPermission "java.home", "read";
+    permission java.util.PropertyPermission "java.naming.*", "read";
+    permission java.util.PropertyPermission "javax.sql.*", "read";
+
+    // OS Specific properties to allow read access
+    permission java.util.PropertyPermission "os.name", "read";
+    permission java.util.PropertyPermission "os.version", "read";
+    permission java.util.PropertyPermission "os.arch", "read";
+    permission java.util.PropertyPermission "file.separator", "read";
+    permission java.util.PropertyPermission "path.separator", "read";
+    permission java.util.PropertyPermission "line.separator", "read";
+
+    // JVM properties to allow read access
+    permission java.util.PropertyPermission "java.version", "read";
+    permission java.util.PropertyPermission "java.vendor", "read";
+    permission java.util.PropertyPermission "java.vendor.url", "read";
+    permission java.util.PropertyPermission "java.class.version", "read";
+	permission java.util.PropertyPermission "java.specification.version", "read";
+	permission java.util.PropertyPermission "java.specification.vendor", "read";
+	permission java.util.PropertyPermission "java.specification.name", "read";
+
+	permission java.util.PropertyPermission "java.vm.specification.version", "read";
+	permission java.util.PropertyPermission "java.vm.specification.vendor", "read";
+	permission java.util.PropertyPermission "java.vm.specification.name", "read";
+	permission java.util.PropertyPermission "java.vm.version", "read";
+	permission java.util.PropertyPermission "java.vm.vendor", "read";
+	permission java.util.PropertyPermission "java.vm.name", "read";
+
+    // Required for OpenJMX
+    permission java.lang.RuntimePermission "getAttribute";
+
+	// Allow read of JAXP compliant XML parser debug
+	permission java.util.PropertyPermission "jaxp.debug", "read";
+
+    // Precompiled JSPs need access to this package.
+    permission java.lang.RuntimePermission "accessClassInPackage.org.apache.jasper.runtime";
+    permission java.lang.RuntimePermission "accessClassInPackage.org.apache.jasper.runtime.*";
+    
+};
+
+
+// You can assign additional permissions to particular web applications by
+// adding additional "grant" entries here, based on the code base for that
+// application, /WEB-INF/classes/, or /WEB-INF/lib/ jar files.
+//
+// Different permissions can be granted to JSP pages, classes loaded from
+// the /WEB-INF/classes/ directory, all jar files in the /WEB-INF/lib/
+// directory, or even to individual jar files in the /WEB-INF/lib/ directory.
+//
+// For instance, assume that the standard "examples" application
+// included a JDBC driver that needed to establish a network connection to the
+// corresponding database and used the scrape taglib to get the weather from
+// the NOAA web server.  You might create a "grant" entries like this:
+//
+// The permissions granted to the context root directory apply to JSP pages.
+// grant codeBase "file:${catalina.home}/webapps/examples/-" {
+//      permission java.net.SocketPermission "dbhost.mycompany.com:5432", "connect";
+//      permission java.net.SocketPermission "*.noaa.gov:80", "connect";
+// };
+//
+// The permissions granted to the context WEB-INF/classes directory
+// grant codeBase "file:${catalina.home}/webapps/examples/WEB-INF/classes/-" {
+// };
+//
+// The permission granted to your JDBC driver
+// grant codeBase "jar:file:${catalina.home}/webapps/examples/WEB-INF/lib/driver.jar!/-" {
+//      permission java.net.SocketPermission "dbhost.mycompany.com:5432", "connect";
+// };
+// The permission granted to the scrape taglib
+// grant codeBase "jar:file:${catalina.home}/webapps/examples/WEB-INF/lib/scrape.jar!/-" {
+//      permission java.net.SocketPermission "*.noaa.gov:80", "connect";
+// };
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+  <h3>Starting Tomcat With A SecurityManager</h3>
+
+  <p>Once you have configured the <code>catalina.policy</code> file for use
+  with a SecurityManager, Tomcat can be started with a SecurityManager in
+  place by using the "-security" option:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+$CATALINA_HOME/bin/catalina.sh start -security    (Unix)
+%CATALINA_HOME%\bin\catalina start -security      (Windows)
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Configuring Package Protection in Tomcat"><strong>Configuring Package Protection in Tomcat</strong></a></font></td></tr><tr><td><blockquote>
+  <p>Starting with Tomcat 5, it is now possible to configure which Tomcat
+  internal package are protected againts package definition and access. See
+  <a href="http://java.sun.com/security/seccodeguide.html">
+    http://java.sun.com/security/seccodeguide.html</a>
+    for more information.</p>    
+
+  
+  <p><strong>WARNING</strong>: Be aware that removing the default package protection 
+  could possibly open a security hole</p>
+
+  <h3>The Default Properties File</h3>
+
+  <p>The default <code>$CATALINA_BASE/conf/catalina.properties</code> file
+  looks like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>  
+#
+# List of comma-separated packages that start with or equal this string
+# will cause a security exception to be thrown when
+# passed to checkPackageAccess unless the
+# corresponding RuntimePermission ("accessClassInPackage."+package) has
+# been granted.
+package.access=sun.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,
+org.apache.jasper.
+#
+# List of comma-separated packages that start with or equal this string
+# will cause a security exception to be thrown when
+# passed to checkPackageDefinition unless the
+# corresponding RuntimePermission ("defineClassInPackage."+package) has
+# been granted.
+#
+# by default, no packages are restricted for definition, and none of
+# the class loaders supplied with the JDK call checkPackageDefinition.
+#
+package.definition=sun.,java.,org.apache.catalina.,org.apache.coyote.,
+org.apache.tomcat.,org.apache.jasper.
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+  <p>Once you have configured the <code>catalina.properties</code> file for use
+  with a SecurityManager, remember to re-start Tomcat.</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Troubleshooting"><strong>Troubleshooting</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>If your web application attempts to execute an operation that is
+  prohibited by lack of a required Permission, it will throw an
+  <code>AccessControLException</code> or a <code>SecurityException</code>
+  when the SecurityManager detects the violation.  Debugging the permission
+  that is missing can be challenging, and one option is to turn on debug
+  output of all security decisions that are made during execution.  This
+  is done by setting a system property before starting Tomcat.  The easiest
+  way to do this is via the <code>CATALINA_OPTS</code> environment variable.
+  Execute this command:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+export CATALINA_OPTS=-Djava.security.debug=all    (Unix)
+set CATALINA_OPTS=-Djava.security.debug=all       (Windows)
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+  <p>before starting Tomcat.</p>
+
+  <p><strong>WARNING</strong> - This will generate <em>many megabytes</em>
+  of output!  However, it can help you track down problems by searching
+  for the word "FAILED" and determining which permission was being checked
+  for.  See the Java security documentation for more options that you can
+  specify here as well.</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/setup.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/setup.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/setup.html	(revision 66)
@@ -0,0 +1,118 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - Tomcat Setup</title><meta value="Remy Maucherat" name="author"><meta value="remm@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://wiki.apache.org/tomcat/FAQ">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR/Native</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li><li><a href="aio.html">25) Advanced IO</a></li><li><a href="extras.html">26) Additional Components</a></li><li><a href="maven-jars.html">27) Mavenized</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Configuration</a></li><li><a href="api/index.html">Javadocs</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="http://wiki.apache.org/tomcat/TomcatVersions">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="architecture/index.html">Architecture</a></li><li><a href="funcspecs/index.html">Functional Specs.</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>Tomcat Setup</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/setup.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+    <p>
+      This document introduces several ways to set up Tomcat for running
+      on different platforms.  Please note that some advanced setup issues
+      are not covered here: the full distribution (ZIP file or tarball) 
+      includes a file called
+      RUNNING.txt which discusses these issues.  We encourage you to refer
+      to it if the information below does not answer some of your questions.
+    </p>
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Windows"><strong>Windows</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>
+      Installing Tomcat on Windows can be done easily using the Windows 
+      installer. Its interface and functionality is similar to other wizard
+      based installers, with only a few items of interest.
+    </p>
+
+    <p>
+      <ul>
+        <li><strong>Installation as a service</strong>: Tomcat will be 
+            installed as a Windows
+            NT/2k/XP service no matter what setting is selected. Using the
+            checkbox on the component page sets the service as "auto"
+            startup, so that Tomcat is automatically started when Windows
+            starts. For optimal security, the service should be run as a
+            separate user, with reduced permissions (see the Windows Services
+            administration tool and its documentation).</li>
+        <li><strong>Java location</strong>: The installer will use the registry
+            or the JAVA_HOME environment variable to determine the base path
+            of a J2SE 5 JRE.
+            </li>
+        <li><strong>Tray icon</strong>: When Tomcat is run as a service, there
+            will not be any tray icon present when Tomcat is running. Note that
+            when choosing to run Tomcat at the end of installation, the tray
+            icon will be used even if Tomcat was installed as a service.</li>
+        <li>Refer to the
+            <a href="windows-service-howto.html">Windows Service HOW-TO</a>
+            for information on how to manage Tomcat as Windows NT service.
+            </li>            
+      </ul>
+    </p>
+
+    <p>The installer will create shortcuts allowing starting and configuring 
+       Tomcat. It is important to note that the Tomcat administration web 
+       application can only be used when Tomcat is running.</p>
+
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Unix daemon"><strong>Unix daemon</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>Tomcat can be run as a daemon using the jsvc tool from the 
+       commons-daemon project. Source tarballs for jsvc are included with the
+       Tomcat binaries, and need to be compiled. Building jsvc requires
+       a C ANSI compiler (such as GCC), GNU Autoconf, and a JDK.</p>
+
+    <p>Before running the script, the <code>JAVA_HOME</code> environment
+       variable should be set to the base path of the JDK. Alternately, when
+       calling the <code>./configure</code> script, the path of the JDK may
+       be specified using the <code>--with-java</code> parameter, such as
+       <code>./configure --with-java=/usr/java</code>.</p>
+
+    <p>Using the following commands should result in a compiled jsvc binary,
+       located in the <code>$CATALINA_HOME/bin</code> folder. This assumes
+       that GNU TAR is used, and that <code>CATALINA_HOME</code> is an 
+       environment variable pointing to the base path of the Tomcat 
+       installation.</p>
+  
+    <p>Please note that you should use the GNU make (gmake) instead of
+       the native BSD make on FreeBSD systems.</p>
+
+    <p>Download a commons-daemon binary from the Jakarta Commons download page, 
+       and place jsvc.tar.gz and commons-daemon.jar in the 
+       <code>$CATALINA_HOME/bin</code> folder.</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    cd $CATALINA_HOME/bin
+    tar xvfz jsvc.tar.gz
+    cd jsvc-src
+    autoconf
+    ./configure
+    make
+    cp jsvc ..
+    cd ..
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+    <p>Tomcat can then be run as a daemon using the following commands.</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    cd $CATALINA_HOME
+    ./bin/jsvc -cp ./bin/bootstrap.jar \
+        -outfile ./logs/catalina.out -errfile ./logs/catalina.err \
+        org.apache.catalina.startup.Bootstrap
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+    <p>jsvc has other useful parameters, such as <code>-user</code> which 
+       causes it to switch to another user after the daemon initialization is
+       complete. This allows, for example, running Tomcat as a non privileged
+       user while still being able to use privileged ports. 
+       <code>jsvc --help</code> will return the full jsvc usage 
+       information. In particular, the <code>-debug</code> option is useful
+       to debug issues running jsvc.</p>
+
+    <p>The file <code>$CATALINA_HOME/bin/jsvc/native/tomcat.sh</code> can be 
+       used as a template for starting Tomcat automatically at boot time from 
+       <code>/etc/init.d</code>.  The file is currently setup for running 
+       Tomcat 4.1.x, so it is necessary to edit it and change the classname 
+       from <code>BootstrapService</code> to <code>Bootstrap</code>.</p>
+
+    <p>Note that the Commons-Daemon JAR file must be on your runtime classpath 
+       to run Tomcat in this manner.  The Commons-Daemon JAR file is in the Class-Path 
+       entry of the bootstrap.jar manifest, but if you get a ClassNotFoundException 
+       or a NoClassDefFoundError for a Commons-Daemon class, add the Commons-Daemon 
+       JAR to the -cp argument when launching jsvc.</p> 
+
+  </blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/ssi-howto.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/ssi-howto.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/ssi-howto.html	(revision 66)
@@ -0,0 +1,349 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - SSI How To</title><meta value="Glenn L. Nielsen" name="author"><meta value="glenn@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://wiki.apache.org/tomcat/FAQ">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR/Native</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li><li><a href="aio.html">25) Advanced IO</a></li><li><a href="extras.html">26) Additional Components</a></li><li><a href="maven-jars.html">27) Mavenized</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Configuration</a></li><li><a href="api/index.html">Javadocs</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="http://wiki.apache.org/tomcat/TomcatVersions">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="architecture/index.html">Architecture</a></li><li><a href="funcspecs/index.html">Functional Specs.</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>SSI How To</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/ssi-howto.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>SSI (Server Side Includes) are directives that are placed in HTML pages,
+and evaluated on the server while the pages are being served. They let you
+add dynamically generated content to an existing HTML page, without having
+to serve the entire page via a CGI program, or other dynamic technology.
+</p>
+
+<p>Within Tomcat SSI support can be added when using Tomcat as your
+HTTP server and you require SSI support.  Typically this is done
+during development when you don't want to run a web server like Apache.</p>
+
+<p>Tomcat SSI support implements the same SSI directives as Apache.  See the
+<a href="http://httpd.apache.org/docs/howto/ssi.html#basicssidirectives">
+Apache Introduction to SSI</a> for information on using SSI directives.</p>
+
+<p>SSI support is available as a servlet and as a filter. You should use one
+or the other to provide SSI support but not both.</p>
+
+<p>Servlet based SSI support is implemented using the class
+<code>org.apache.catalina.ssi.SSIServlet</code>.  Traditionally, this servlet
+is mapped to the URL pattern "*.shtml".</p>
+
+<p>Filter based SSI support is implemented using the class
+<code>org.apache.catalina.ssi.SSIFilter</code>.  Traditionally, this filter
+is mapped to the URL pattern "*.shtml", though it can be mapped to "*" as
+it will selectively enable/disable SSI processing based on mime types.  The
+contentType init param allows you to apply SSI processing to JSP pages,
+javascript, or any other content you wish.</p>
+<p>By default SSI support is disabled in Tomcat.</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Installation"><strong>Installation</strong></a></font></td></tr><tr><td><blockquote>
+
+<p><strong>CAUTION</strong> - SSI directives can be used to execute programs
+external to the Tomcat JVM. If you are using the Java SecurityManager this
+will bypass your security policy configuration in <code>catalina.policy.</code>
+</p>
+
+<p>To use the SSI servlet, remove the XML comments from around the SSI servlet
+and servlet-mapping configuration in
+<code>$CATALINA_BASE/conf/web.xml</code>.</p>
+
+<p>To use the SSI filter, remove the XML comments from around the SSI filter
+and filter-mapping configuration in
+<code>$CATALINA_BASE/conf/web.xml</code>.</p>
+
+<p>Only Contexts which are marked as privileged may use SSI features (see the
+privileged property of the Context element).</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Servlet Configuration"><strong>Servlet Configuration</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>There are several servlet init parameters which can be used to
+configure the behaviour of the SSI servlet.
+<ul>
+<li><strong>buffered</strong> - Should output from this servlet be buffered?
+(0=false, 1=true) Default 0 (false).</li>
+<li><strong>debug</strong> - Debugging detail level for messages logged
+by this servlet. Default 0.</li>
+<li><strong>expires</strong> - The number of seconds before a page with SSI
+directives will expire. Default behaviour is for all SSI directives to be
+evaluated for every request.</li>
+<li><strong>isVirtualWebappRelative</strong> - Should "virtual" SSI directive
+paths be interpreted as relative to the context root, instead of the server
+root? (0=false, 1=true) Default 0 (false).</li>
+<li><strong>inputEncoding</strong> - The encoding to be assumed for SSI
+resources if one cannot be determined from the resource itself. Default is
+the default platform encoding.</li>
+<li><strong>outputEncoding</strong> - The encoding to be used for the result
+of the SSI processing. Default is UTF-8.</li>
+</ul>
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Filter Configuration"><strong>Filter Configuration</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>There are several filter init parameters which can be used to
+configure the behaviour of the SSI filter.
+<ul>
+<li><strong>contentType</strong> - A regex pattern that must be matched before
+SSI processing is applied. When crafting your own pattern, don't forget that a
+mime content type may be followed by an optional character set in the form
+"mime/type; charset=set" that you must take into account.  Default is
+"text/x-server-parsed-html(;.*)?".</li>
+<li><strong>debug</strong> - Debugging detail level for messages logged
+by this servlet. Default 0.</li>
+<li><strong>expires</strong> - The number of seconds before a page with SSI
+directives will expire. Default behaviour is for all SSI directives to be
+evaluated for every request.</li>
+<li><strong>isVirtualWebappRelative</strong> - Should "virtual" SSI directive
+paths be interpreted as relative to the context root, instead of the server
+root? (0=false, 1=true) Default 0 (false).</li>
+</ul>
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Directives"><strong>Directives</strong></a></font></td></tr><tr><td><blockquote>
+<p>Server Side Includes are invoked by embedding SSI directives in an HTML document
+ whose type will be processed by the SSI servlet. The directives take the form of an HTML
+ comment. The directive is replaced by the results of interpreting it before sending the
+ page to the client. The general form of a directive is: </p>
+<p> <code>&lt;!--#directive [parm=value] --&gt;</code></p>
+<p>The directives are:
+<ul>
+<li>
+<strong>config</strong> - <code>&lt;!--#config timefmt="%B %Y" --&gt;</code>
+Used to set the format of dates and other items processed by SSI
+</li>
+<li>
+<strong>echo</strong> -   <code>&lt;!--#echo var="VARIABLE_NAME" --&gt;</code>
+will be replaced bt the value of the variable.
+</li>
+<li>
+<strong>exec</strong> -  Used to run commands on the host system.
+</li>
+<li>
+<strong>include</strong> -  <code>&lt;!--#include virtual="file-name" --&gt;</code>
+inserts the contents
+</li>
+<li>
+<strong>flastmod</strong> - <code>&lt;!--#flastmod file="filename.shtml" --&gt;</code>
+Returns the time that a file was lost modified.
+</li>
+<li>
+<strong>fsize</strong> - <code>&lt;!--#fsize file="filename.shtml" --&gt;</code>
+Returns the size of a file.
+</li>
+<li>
+<strong>printenv</strong> - <code>&lt;!--#printenv --&gt;</code>
+Returns the list of all the defined variables.
+</li>
+<li>
+<strong>set</strong> - <code>&lt;!--#set var="foo" value="Bar" --&gt;</code>
+is used to assign a value to a user-defind variable.
+</li>
+<li>
+<strong>if elif endif else</strong> - Used to create conditional sections. For example:</li>
+<code>&lt;!--#config timefmt="%A" --&gt;<br>
+  &lt;!--#if expr="$DATE_LOCAL = /Monday/" --&gt;<br>
+  &lt;p&gt;Meeting at 10:00 on Mondays&lt;/p&gt;<br>
+  &lt;!--#elif expr="$DATE_LOCAL = /Friday/" --&gt;<br>
+  &lt;p&gt;Turn in your time card&lt;/p&gt;<br>
+  &lt;!--#else --&gt;<br>
+  &lt;p&gt;Yoga class at noon.&lt;/p&gt;<br>
+  &lt;!--#endif --&gt;</code>
+ </ul>
+</p>
+See the
+<p> <a href="http://httpd.apache.org/docs/howto/ssi.html#basicssidirectives">
+Apache Introduction to SSI</a> for more information on using SSI directives.</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Variables"><strong>Variables</strong></a></font></td></tr><tr><td><blockquote>
+<p>The SSI servlet currently implements the following variables:
+</p>
+<table border="1">
+<tr>
+<th>Variable Name</th>
+<th>Description</th>
+</tr>
+
+<tr>
+<td>AUTH_TYPE</td>
+<td>
+  The type of authentication used for this user: BASIC, FORM, etc.</td>
+</tr>
+
+<tr>
+<td>CONTENT_LENGTH</td>
+<td>
+  The length of the data (in bytes or the number of 
+  characters) passed from a form.</td>
+</tr>
+
+<tr>
+<td>CONTENT_TYPE</td>
+<td>
+  The MIME type of the query data, such as "text/html".</td>
+</tr>
+
+<tr>
+<td>DATE_GMT</td>
+<td>
+Current date and time in GMT</td>
+</tr>
+
+<tr>
+<td>DATE_LOCAL</td>
+<td>
+Current date and time in the local time zone</td>
+</tr>
+<tr>
+<td>DOCUMENT_NAME</td>
+<td>
+The current file</td>
+</tr>
+<tr>
+<td>DOCUMENT_URI</td>
+<td>
+Virtual path to the file</td>
+</tr>
+
+<tr>
+<td>GATEWAY_INTERFACE</td>
+<td>
+  The revision of the Common Gateway Interface that the 
+  server uses if enabled: "CGI/1.1".</td>
+</tr>
+
+<tr>
+<td>HTTP_ACCEPT</td>
+<td>
+  A list of the MIME types that the client can accept.</td>
+</tr>
+
+<tr>
+<td>HTTP_ACCEPT_ENCODING</td>
+<td>
+  A list of the compression types that the client can accept.</td>
+</tr>
+
+<tr>
+<td>HTTP_ACCEPT_LANGUAGE</td>
+<td>
+  A list of the laguages that the client can accept.</td>
+</tr>
+<tr>
+<td>HTTP_CONNECTION</td>
+<td>
+  The way that the connection from the client is being managed:
+  "Close" or "Keep-Alive".</td>
+</tr>
+<tr>
+<td>HTTP_HOST</td>
+<td>
+  The web site that the client requested.</td>
+</tr>
+<tr>
+<td>HTTP_REFERER</td>
+<td>
+  The URL of the document that the client linked from.</td>
+</tr>
+<tr>
+<td>HTTP_USER_AGENT</td>
+<td>
+  The browser the client is using to issue the request.</td>
+</tr>
+<tr>
+<td>LAST_MODIFIED</td>
+<td>
+Last modification date and time for current file</td>
+</tr>
+<tr>
+<td>PATH_INFO</td>
+<td>
+  Extra path information passed to a servlet.</td>
+</tr>
+<tr>
+<td>PATH_TRANSLATED</td>
+<td>
+  The translated version of the path given by the
+  variable PATH_INFO.</td>
+</tr>
+<tr>
+<td>QUERY_STRING</td>
+<td>
+The query string that follows the "?" in the URL.
+</td>
+</tr>
+<tr>
+<td>QUERY_STRING_UNESCAPED</td>
+<td>
+Undecoded query string with all shell metacharacters escaped 
+with "\"</td>
+</tr>
+<tr>
+<td>REMOTE_ADDR</td>
+<td>
+  The remote IP address of the user making the request.</td>
+</tr>
+<tr>
+<td>REMOTE_HOST</td>
+<td>
+  The remote hostname of the user making the request.</td>
+</tr>
+<tr>
+<td>REMOTE_PORT</td>
+<td>
+  The port number at remote IP address of the user making the request.</td>
+</tr>
+<tr>
+<td>REMOTE_USER</td>
+<td>
+  The authenticated name of the user.</td>
+</tr>
+<tr>
+<td>REQUEST_METHOD</td>
+<td>
+  The method with which the information request was
+  issued: "GET", "POST" etc.</td>
+</tr>
+<tr>
+<td>REQUEST_URI</td>
+<td>
+  The web page originally requested by the client.</td>
+</tr>
+<tr>
+<td>SCRIPT_FILENAME</td>
+<td>
+  The location of the current web page on the server.</td>
+</tr>
+<tr>
+<td>SCRIPT_NAME</td>
+<td>
+  The name of the web page.</td>
+</tr>
+<tr>
+<td>SERVER_ADDR</td>
+<td>
+  The server's IP address.</td>
+</tr>
+<tr>
+<td>SERVER_NAME</td>
+<td>
+  The server's hostname or IP address.</td>
+</tr>
+<tr>
+<td>SERVER_PORT</td>
+<td>
+  The port on which the server received the request.</td>
+</tr>
+<tr>
+<td>SERVER_PROTOCOL</td>
+<td>
+  The protocol used by the server. E.g. "HTTP/1.1".</td>
+</tr>
+<tr>
+<td>SERVER_SOFTWARE</td>
+<td>
+  The name and version of the server software that is 
+  answering the client request.</td>
+</tr>
+<tr>
+<td>UNIQUE_ID</td>
+<td>
+  A token used to identify the current session if one
+  has been established.</td>
+</tr>
+</table>
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/ssl-howto.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/ssl-howto.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/ssl-howto.html	(revision 66)
@@ -0,0 +1,600 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - SSL Configuration HOW-TO</title><meta value="Christopher Cain" name="author"><meta value="ccain@apache.org" name="email"><meta value="Yoav Shapira" name="author"><meta value="yoavs@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://wiki.apache.org/tomcat/FAQ">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR/Native</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li><li><a href="aio.html">25) Advanced IO</a></li><li><a href="extras.html">26) Additional Components</a></li><li><a href="maven-jars.html">27) Mavenized</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Configuration</a></li><li><a href="api/index.html">Javadocs</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="http://wiki.apache.org/tomcat/TomcatVersions">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="architecture/index.html">Architecture</a></li><li><a href="funcspecs/index.html">Functional Specs.</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>SSL Configuration HOW-TO</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/ssl-howto.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Quick Start"><strong>Quick Start</strong></a></font></td></tr><tr><td><blockquote>
+
+   <p><b>IMPORTANT NOTE: This Howto refers to usage of JSSE, that comes included with
+    jdk 1.5 and higher. When using APR, Tomcat will
+    use OpenSSL, which uses a different configuration.</b></p>
+
+    <blockquote><em>
+    <p>The description below uses the variable name $CATALINA_BASE to refer the
+    base directory against which most relative paths are resolved. If you have
+    not configured Tomcat 6 for multiple instances by setting a CATALINA_BASE
+    directory, then $CATALINA_BASE will be set to the value of $CATALINA_HOME,
+    the directory into which you have installed Tomcat 6.</p>
+    </em></blockquote>
+
+<p>To install and configure SSL support on Tomcat 6, you need to follow
+these simple steps.  For more information, read the rest of this HOW-TO.</p>
+<ol>
+<li>Create a certificate keystore by executing the following command:
+<p>Windows:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+<p>Unix:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+$JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+<p></p>
+    and specify a password value of "changeit".</li><br><br>
+<li>Uncomment the "SSL HTTP/1.1 Connector" entry in
+    <code>$CATALINA_BASE/conf/server.xml</code> and tweak as necessary.</li>
+    <br><br>
+</ol>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction to SSL"><strong>Introduction to SSL</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>SSL, or Secure Socket Layer, is a technology which allows web browsers and
+web servers to communicate over a secured connection.  This means that the data
+being sent is encrypted by one side, transmitted, then decrypted by the other
+side before processing.  This is a two-way process, meaning that both the
+server AND the browser encrypt all traffic before sending out data.</p>
+
+<p>Another important aspect of the SSL protocol is Authentication.  This means
+that during your initial attempt to communicate with a web server over a secure
+connection, that server will present your web browser with a set of
+credentials, in the form of a "Certificate", as proof the site is who and what
+it claims to be.  In certain cases, the server may also request a Certificate
+from your web browser, asking for proof that <em>you</em> are who you claim
+to be.  This is known as "Client Authentication," although in practice this is
+used more for business-to-business (B2B) transactions than with individual
+users.  Most SSL-enabled web servers do not request Client Authentication.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="SSL and Tomcat"><strong>SSL and Tomcat</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>It is important to note that configuring Tomcat to take advantage of
+secure sockets is usually only necessary when running it as a stand-alone
+web server.  When running Tomcat primarily as a Servlet/JSP container behind
+another web server, such as Apache or Microsoft IIS, it is usually necessary
+to configure the primary web server to handle the SSL connections from users.
+Typically, this server will negotiate all SSL-related functionality, then
+pass on any requests destined for the Tomcat container only after decrypting
+those requests.  Likewise, Tomcat will return cleartext responses, that will
+be encrypted before being returned to the user's browser.  In this environment,
+Tomcat knows that communications between the primary web server and the
+client are taking place over a secure connection (because your application
+needs to be able to ask about this), but it does not participate in the
+encryption or decryption itself.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Certificates"><strong>Certificates</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>In order to implement SSL, a web server must have an associated Certificate
+for each external interface (IP address) that accepts secure connections.
+The theory behind this design is that a server should provide some kind of
+reasonable assurance that its owner is who you think it is, particularly
+before receiving any sensitive information.  While a broader explanation of
+Certificates is beyond the scope of this document, think of a Certificate
+as a "digital driver's license" for an Internet address.  It states what
+company the site is associated with, along with some basic contact
+information about the site owner or administrator.</p>
+
+<p>This "driver's license" is cryptographically signed by its owner, and is
+therefore extremely difficult for anyone else to forge.  For sites involved
+in e-commerce, or any other business transaction in which authentication of
+identity is important, a Certificate is typically purchased from a well-known
+<em>Certificate Authority</em> (CA) such as VeriSign or Thawte.  Such
+certificates can be electronically verified -- in effect, the Certificate
+Authority will vouch for the authenticity of the certificates that it grants,
+so you can believe that that Certificate is valid if you trust the Certificate
+Authority that granted it.</p>
+
+<p>In many cases, however, authentication is not really a concern.  An
+administrator may simply want to ensure that the data being transmitted and
+received by the server is private and cannot be snooped by anyone who may be
+eavesdropping on the connection.  Fortunately, Java provides a relatively
+simple command-line tool, called <code>keytool</code>, which can easily create
+a "self-signed" Certificate.  Self-signed Certificates are simply user
+generated Certificates which have not been officially registered with any
+well-known CA, and are therefore not really guaranteed to be authentic at all.
+Again, this may or may not even be important, depending on your needs.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General Tips on Running SSL"><strong>General Tips on Running SSL</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The first time a user attempts to access a secured page on your site,
+he or she is typically presented with a dialog containing the details of
+the certificate (such as the company and contact name), and asked if he or she
+wishes to accept the Certificate as valid and continue with the transaction.
+Some browsers will provide an option for permanently accepting a given
+Certificate as valid, in which case the user will not be bothered with a
+prompt each time they visit your site.  Other browsers do not provide this
+option.  Once approved by the user, a Certificate will be considered valid
+for at least the entire browser session.</p>
+
+<p>Also, while the SSL protocol was designed to be as efficient as securely
+possible, encryption/decryption is a computationally expensive process from
+a performance standpoint.  It is not strictly necessary to run an entire
+web application over SSL, and indeed a developer can pick and choose which
+pages require a secure connection and which do not.  For a reasonably busy
+site, it is customary to only run certain pages under SSL, namely those
+pages where sensitive information could possibly be exchanged.  This would
+include things like login pages, personal information pages, and shopping
+cart checkouts, where credit card information could possibly be transmitted.
+Any page within an application can be requested over a secure socket by
+simply prefixing the address with <code>https:</code> instead of
+<code>http:</code>.  Any pages which absolutely <strong>require</strong>
+a secure connection should check the protocol type associated with the
+page request and take the appropriate action if <code>https</code> is not
+specified.</p>
+
+<p>Finally, using name-based virtual hosts on a secured connection can be
+problematic.  This is a design limitation of the SSL protocol itself.  The SSL
+handshake, where the client browser accepts the server certificate, must occur
+before the HTTP request is accessed.  As a result, the request information
+containing the virtual host name cannot be determined prior to authentication,
+and it is therefore not possible to assign multiple certificates to a single
+IP address.  If all virtual hosts on a single IP address need to authenticate
+against the same certificate, the addition of multiple virtual hosts should not
+interfere with normal SSL operations on the server.  Be aware, however, that
+most client browsers will compare the server's domain name against the domain
+name listed in the certificate, if any (applicable primarily to official,
+CA-signed certificates).  If the domain names do not match, these browsers will
+display a warning to the client user.  In general, only address-based virtual
+hosts are commonly used with SSL in a production environment.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Configuration"><strong>Configuration</strong></a></font></td></tr><tr><td><blockquote>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Prepare the Certificate Keystore"><strong>Prepare the Certificate Keystore</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Tomcat currently operates only on <code>JKS</code>, <code>PKCS11</code> or
+<code>PKCS12</code> format keystores.  The <code>JKS</code> format
+is Java's standard "Java KeyStore" format, and is the format created by the
+<code>keytool</code> command-line utility.  This tool is included in the JDK.
+The <code>PKCS12</code> format is an internet standard, and can be manipulated
+via (among other things) OpenSSL and Microsoft's Key-Manager.
+</p>
+
+<p>Each entry in a keystore is identified by an alias string. Whilst many
+keystore implementations treat aliases in a case insensitive manner, case
+sensitive implementations are available. The <code>PKCS11</code> specification,
+for example, requires that aliases are case sensitive. To avoid issues related
+to the case sensitivity of aliases, it is not recommended to use aliases that
+differ only in case.
+</p>
+
+<p>To import an existing certificate into a JKS keystore, please read the
+documentation (in your JDK documentation package) about <code>keytool</code>.
+Note that OpenSSL often adds readable comments before the key,
+<code>keytool</code>does not support that, so remove the OpenSSL comments if
+they exist before importing the key using <code>keytool</code>.
+</p>
+<p>To import an existing certificate signed by your own CA into a PKCS12 
+keystore using OpenSSL you would execute a command like:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>openssl pkcs12 -export -in mycert.crt -inkey mykey.key \
+                        -out mycert.p12 -name tomcat -CAfile myCA.crt \
+                        -caname root -chain
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+For more advanced cases, consult the <a href="http://www.openssl.org/">OpenSSL
+documentation</a>.
+</p>
+<p>To create a new keystore from scratch, containing a single self-signed
+Certificate, execute the following from a terminal command line:</p>
+<p>Windows:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+<p>Unix:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+$JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>(The RSA algorithm should be preferred as a secure algorithm, and this
+also ensures general compatibility with other servers and components.)</p>
+
+<p>This command will create a new file, in the home directory of the user
+under which you run it, named "<code>.keystore</code>".  To specify a
+different location or filename, add the <code>-keystore</code> parameter,
+followed by the complete pathname to your keystore file,
+to the <code>keytool</code> command shown above.  You will also need to
+reflect this new location in the <code>server.xml</code> configuration file,
+as described later.  For example:</p>
+<p>Windows:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA \
+  -keystore \path\to\my\keystore
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+<p>Unix:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+$JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA \
+  -keystore /path/to/my/keystore
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>After executing this command, you will first be prompted for the keystore
+password.  The default password used by Tomcat is "<code>changeit</code>"
+(all lower case), although you can specify a custom password if you like.
+You will also need to specify the custom password in the
+<code>server.xml</code> configuration file, as described later.</p>
+
+<p>Next, you will be prompted for general information about this Certificate,
+such as company, contact name, and so on.  This information will be displayed
+to users who attempt to access a secure page in your application, so make
+sure that the information provided here matches what they will expect.</p>
+
+<p>Finally, you will be prompted for the <em>key password</em>, which is the
+password specifically for this Certificate (as opposed to any other
+Certificates stored in the same keystore file).  You <strong>MUST</strong>
+use the same password here as was used for the keystore password itself.
+(Currently, the <code>keytool</code> prompt will tell you that pressing the
+ENTER key does this for you automatically.)</p>
+
+<p>If everything was successful, you now have a keystore file with a
+Certificate that can be used by your server.</p>
+
+<p><strong>Note:</strong> your private key password and keystore password
+should be the same.  If they differ, you will get an error along the lines
+of <code>java.io.IOException: Cannot recover key</code>, as documented in 
+<a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38217">Bugzilla issue 38217</a>, 
+which contains further references for this issue.</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Edit the Tomcat Configuration File"><strong>Edit the Tomcat Configuration File</strong></a></font></td></tr><tr><td><blockquote>
+<p>If you are using APR, you have the option of configuring an alternative engine to OpenSSL.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="someengine" SSLRandomSeed="somedevice" /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+The default value is
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" SSLRandomSeed="builtin" /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+So to use SSL under APR, make sure the SSLEngine attribute is set to something other than <code>off</code>.
+The default value is <code>on</code> and if you specify another value, it has to be a valid engine name.
+<br>
+If you haven't compiled in SSL support into your Tomcat Native library, then you can turn this initialization off
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="off" /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+SSLRandomSeed allows to specify a source of entropy. Productive system needs a reliable source of entropy
+but entropy may need a lot of time to be collected therefore test systems could use no blocking entropy
+sources like "/dev/urandom" that will allow quicker starts of Tomcat.
+
+</p>
+
+<p>The final step is to configure your secure socket in the
+<code>$CATALINA_BASE/conf/server.xml</code> file, where
+<code>$CATALINA_BASE</code> represents the base directory for the
+Tomcat 6 instance.  An example <code>&lt;Connector&gt;</code> element
+for an SSL connector is included in the default <code>server.xml</code>
+file installed with Tomcat.  It will look something like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 --&gt;
+&lt;!--
+&lt;Connector 
+           port="8443" minSpareThreads="5" maxSpareThreads="75"
+           enableLookups="true" disableUploadTimeout="true" 
+           acceptCount="100"  maxThreads="200"
+           scheme="https" secure="true" SSLEnabled="true"
+           keystoreFile="${user.home}/.keystore" keystorePass="changeit"
+           clientAuth="false" sslProtocol="TLS"/&gt;
+--&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+<p>
+  The example above will throw an error if you have the APR and the Tomcat Native libraries in your path,
+  as tomcat will try to autoload the APR connector. The APR connector uses different attributes for 
+  SSL keys and certificates. An example of such configuration would be
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 --&gt;
+&lt;!--
+&lt;Connector 
+           port="8443" minSpareThreads="5" maxSpareThreads="75"
+           enableLookups="true" disableUploadTimeout="true" 
+           acceptCount="100"  maxThreads="200"
+           scheme="https" secure="true" SSLEnabled="true"
+           SSLCertificateFile="/usr/local/ssl/server.crt" 
+           SSLCertificateKeyFile="/usr/local/ssl/server.pem"
+           clientAuth="false" sslProtocol="TLS"/&gt;
+--&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+<p>
+  To avoid auto configuration you can define which connector to use by specifying a classname 
+  in the protocol attribute.<br>
+  To define a Java connector, regardless if the APR library is loaded or not do:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;-- Define a blocking Java SSL Coyote HTTP/1.1 Connector on port 8443 --&gt;
+&lt;!--
+&lt;Connector protocol="org.apache.coyote.http11.Http11Protocol"
+           port="8443" minSpareThreads="5" maxSpareThreads="75"
+           enableLookups="true" disableUploadTimeout="true" 
+           acceptCount="100"  maxThreads="200"
+           scheme="https" secure="true" SSLEnabled="true"
+           keystoreFile="${user.home}/.keystore" keystorePass="changeit"
+           clientAuth="false" sslProtocol="TLS"/&gt;
+--&gt;
+&lt;-- Define a non-blocking Java SSL Coyote HTTP/1.1 Connector on port 8443 --&gt;
+&lt;!--
+&lt;Connector protocol="org.apache.coyote.http11.Http11NioProtocol"
+           port="8443" minSpareThreads="5" maxSpareThreads="75"
+           enableLookups="true" disableUploadTimeout="true" 
+           acceptCount="100"  maxThreads="200"
+           scheme="https" secure="true" SSLEnabled="true"
+           keystoreFile="${user.home}/.keystore" keystorePass="changeit"
+           clientAuth="false" sslProtocol="TLS"/&gt;
+--&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+and to specify an APR connector
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;-- Define a APR SSL Coyote HTTP/1.1 Connector on port 8443 --&gt;
+&lt;!--
+&lt;Connector protocol="org.apache.coyote.http11.Http11AprProtocol"
+           port="8443" minSpareThreads="5" maxSpareThreads="75"
+           enableLookups="true" disableUploadTimeout="true" 
+           acceptCount="100"  maxThreads="200"
+           scheme="https" secure="true" SSLEnabled="true"
+           SSLCertificateFile="/usr/local/ssl/server.crt" 
+           SSLCertificateKeyFile="/usr/local/ssl/server.pem"
+           clientAuth="false" sslProtocol="TLS"/&gt;
+--&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+</p>
+
+<p>You will note that the Connector element itself is commented out by default,
+so you will need to remove the comment tags around it.  Then, you can
+customize the specified attributes as necessary.  For detailed information
+about the various options, consult the
+<a href="config/index.html">Server Configuration Reference</a>.  The
+following discussion covers only those attributes of most interest when
+setting up SSL communication.</p>
+
+<p>The <code>port</code> attribute (default value is 8443) is the TCP/IP
+port number on which Tomcat will listen for secure connections.  You can
+change this to any port number you wish (such as to the default port for
+<code>https</code> communications, which is 443).  However, special setup
+(outside the scope of this document) is necessary to run Tomcat on port
+numbers lower than 1024 on many operating systems.</p>
+
+  <blockquote><em>
+  <p>If you change the port number here, you should also change the
+  value specified for the <code>redirectPort</code> attribute on the
+  non-SSL connector.  This allows Tomcat to automatically redirect
+  users who attempt to access a page with a security constraint specifying
+  that SSL is required, as required by the Servlet 2.4 Specification.</p>
+  </em></blockquote>
+
+<p>There are additional options used to configure the SSL protocol.
+  You may need to add or change the following attribute
+values, depending on how you configured your keystore earlier:</p>
+
+<table border="1">
+  <tr>
+    <th>Attribute</th>
+    <th>Description</th>
+  </tr>
+  <tr>
+    <td><code>clientAuth</code></td>
+    <td>Set this value to <code>true</code> if you want Tomcat to require
+        all SSL clients to present a client Certificate in order to use
+        this socket.  Set this value to <code>want</code> if you want Tomcat
+        to request a client Certificate, but not fail if one isn't presented.
+    </td>
+  </tr>
+  <tr><td><code>SSLEnabled</code></td>
+    <td>
+      Use this attribute to enable SSL traffic on a connector.
+      To turn on SSL handshake/encryption/decryption on a connector
+      set this value to <code>true</code>.
+      The default value is <code>false</code>.
+      When turning this value <code>true</code> you will want to set the 
+      <code>scheme</code> and the <code>secure</code> attributes as well
+      to pass the correct <code>request.getScheme()</code> and 
+      <code>request.isSecure()</code> values to the servlets
+    </td>
+  </tr>  
+  <tr>
+    <td><code>keystoreFile</code></td>
+    <td>Add this attribute if the keystore file you created is not in
+        the default place that Tomcat expects (a file named
+        <code>.keystore</code> in the user home directory under
+        which Tomcat is running).  You can specify an absolute pathname,
+        or a relative pathname that is resolved against the
+        <code>$CATALINA_BASE</code> environment variable.</td>
+  </tr>
+  <tr>
+    <td><code>keystorePass</code></td>
+    <td>Add this element if you used a different keystore (and Certificate)
+        password than the one Tomcat expects (<code>changeit</code>).</td>
+  </tr>
+  <tr>
+    <td><code>keystoreType</code></td>
+    <td>Add this element if using a keystore type other than <code>JKS</code>.
+    For example the *.p12 files from OpenSSL can be used using <code>PKCS12</code>.</td>
+  </tr>
+  <tr>
+    <td><code>sslProtocol</code></td>
+    <td>The encryption/decryption protocol to be used on this socket.
+        It is not recommended to change this value if you are using Sun's
+        JVM.  It is reported that IBM's 1.4.1 implementation
+        of the TLS protocol is not compatible with some popular browsers.
+        In this case, use the value <code>SSL</code>.</td>
+  </tr>
+  <tr>
+    <td><code>ciphers</code></td>
+    <td>The comma separated list of encryption ciphers that this socket is 
+        allowed to use.  By default, any available cipher is allowed.</td>
+  </tr>
+  <tr>
+    <td><code>algorithm</code></td>
+    <td>The <code>X509</code> algorithm to use.  This defaults to the Sun 
+        implementation (<code>SunX509</code>).  For IBM JVMs you should use
+        the value <code>IbmX509</code>.  For other vendors, consult the JVM
+        documentation for the correct value.
+    </td>
+  </tr>
+  <tr>
+   <td><code>truststoreFile</code></td>
+   <td>The TrustStore file to use to validate client certificates.</td>
+  </tr>
+  <tr>
+   <td><code>truststorePass</code></td>
+   <td>The password to access the TrustStore.  This defaults to the value
+       of <code>keystorePass</code>.</td>
+  </tr>
+  <tr>
+   <td><code>truststoreType</code></td>
+    <td>Add this element if your are using a different format for the 
+        TrustStore then you are using for the KeyStore.</td>
+  </tr>
+  <tr>
+   <td><code>keyAlias</code></td>
+    <td>Add this element if your have more than one key in the KeyStore.
+        If the element is not present the first key read in the KeyStore
+        will be used.</td>
+  </tr>
+</table>
+
+<p>After completing these configuration changes, you must restart Tomcat as
+you normally do, and you should be in business.  You should be able to access
+any web application supported by Tomcat via SSL.  For example, try:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+https://localhost:8443
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>and you should see the usual Tomcat splash page (unless you have modified
+the ROOT web application).  If this does not work, the following section
+contains some troubleshooting tips.</p>
+
+</blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Installing a Certificate from a Certificate Authority"><strong>Installing a Certificate from a Certificate Authority</strong></a></font></td></tr><tr><td><blockquote>
+<p>To obtain and install a Certificate from a Certificate Authority (like verisign.com, thawte.com 
+or trustcenter.de), read the previous section and then follow these instructions:</p>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Create a local Certificate Signing Request (CSR)"><strong>Create a local Certificate Signing Request (CSR)</strong></a></font></td></tr><tr><td><blockquote>
+<p>In order to obtain a Certificate from the Certificate Authority of your choice 
+you have to create a so called Certificate Signing Request (CSR). That CSR will be used 
+by the Certificate Authority to create a Certificate that will identify your website 
+as "secure". To create a CSR follow these steps:</p>
+<ul>
+<li>Create a local Certificate (as described in the previous section):
+	<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>keytool -genkey -alias tomcat -keyalg RSA \
+	-keystore &lt;your_keystore_filename&gt;</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+	Note: In some cases you will have to enter the domain of your website (i.e. <code>www.myside.org</code>)
+	in the field "first- and lastname" in order to create a working Certificate. 
+</li>
+<li>The CSR is then created with:
+	<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>keytool -certreq -keyalg RSA -alias tomcat -file certreq.csr \
+	-keystore &lt;your_keystore_filename&gt;</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</li>
+</ul>
+<p>Now you have a file called <code>certreq.csr</code> that you can submit to the Certificate Authority (look at the
+documentation of the Certificate Authority website on how to do this). In return you get a Certificate.</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Importing the Certificate"><strong>Importing the Certificate</strong></a></font></td></tr><tr><td><blockquote>
+<p>Now that you have your Certificate you can import it into you local keystore. 
+First of all you have to import a so called Chain Certificate or Root Certificate into your keystore. 
+After that you can proceed with importing your Certificate.</p>
+
+<ul>
+<li>Download a Chain Certificate from the Certificate Authority you obtained the Certificate from.<br>
+	For Verisign.com commercial certificates go to:
+            http://www.verisign.com/support/install/intermediate.html<br>
+        For Verisign.com trial certificates go to:
+            http://www.verisign.com/support/verisign-intermediate-ca/Trial_Secure_Server_Root/index.html<br>
+	For Trustcenter.de go to:
+            http://www.trustcenter.de/certservices/cacerts/en/en.htm#server<br>
+	For Thawte.com go to:
+            http://www.thawte.com/certs/trustmap.html<br>
+</li>
+<li>Import the Chain Certificate into your keystore
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>keytool -import -alias root -keystore &lt;your_keystore_filename&gt; \
+	-trustcacerts -file &lt;filename_of_the_chain_certificate&gt;</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</li>
+<li>And finally import your new Certificate
+	<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>keytool -import -alias tomcat -keystore &lt;your_keystore_filename&gt; \
+	-file &lt;your_certificate_filename&gt;</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</li>
+</ul>
+</blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Troubleshooting"><strong>Troubleshooting</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Here is a list of common problems that you may encounter when setting up
+SSL communications, and what to do about them.</p>
+
+<ul>
+
+<li>I get "java.security.NoSuchAlgorithmException" errors in my
+    log files.
+    <blockquote>
+    <p>The JVM cannot find the JSSE JAR files.  Follow all of the directions to
+    <a href="#Download and Install JSSE">download and install JSSE</a>.</p>
+    </blockquote></li>
+
+<li>When Tomcat starts up, I get an exception like
+    "java.io.FileNotFoundException: {some-directory}/{some-file} not found".
+    <blockquote>
+    <p>A likely explanation is that Tomcat cannot find the keystore file
+    where it is looking.  By default, Tomcat expects the keystore file to
+    be named <code>.keystore</code> in the user home directory under which
+    Tomcat is running (which may or may not be the same as yours :-).  If
+    the keystore file is anywhere else, you will need to add a
+    <code>keystoreFile</code> attribute to the <code>&lt;Factory&gt;</code>
+    element in the <a href="#Edit the Tomcat Configuration File">Tomcat
+    configuration file</a>.</p>
+    </blockquote></li>
+
+<li>When Tomcat starts up, I get an exception like
+    "java.io.FileNotFoundException:  Keystore was tampered with, or
+    password was incorrect".
+    <blockquote>
+    <p>Assuming that someone has not <em>actually</em> tampered with
+    your keystore file, the most likely cause is that Tomcat is using
+    a different password than the one you used when you created the
+    keystore file.  To fix this, you can either go back and
+    <a href="#Prepare the Certificate Keystore">recreate the keystore
+    file</a>, or you can add or update the <code>keystorePass</code>
+    attribute on the <code>&lt;Connector&gt;</code> element in the
+    <a href="#Edit the Tomcat Configuration File">Tomcat configuration
+    file</a>.  <strong>REMINDER</strong> - Passwords are case sensitive!</p>
+    </blockquote></li>
+
+<li>When Tomcat starts up, I get an exception like
+    "java.net.SocketException: SSL handshake errorjavax.net.ssl.SSLException: No
+    available certificate or key corresponds to the SSL cipher suites which are
+    enabled."
+    <blockquote>
+    <p>A likely explanation is that Tomcat cannot find the alias for the server
+    key withinthe specified keystore. Check that the correct
+    <code>keystoreFile</code> and <code>keyAlias</code> are specified in the
+    <code>&lt;Connector&gt;</code> element in the
+    <a href="#Edit the Tomcat Configuration File">Tomcat configuration file</a>.
+    <strong>REMINDER</strong> - <code>keyAlias</code> values may be case
+    sensitive!</p>
+    </blockquote></li>
+
+</ul>
+
+<p>If you are still having problems, a good source of information is the
+<strong>TOMCAT-USER</strong> mailing list.  You can find pointers to archives
+of previous messages on this list, as well as subscription and unsubscription
+information, at
+<a href="http://tomcat.apache.org/lists.html">http://tomcat.apache.org/lists.html</a>.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Miscellaneous Tips and Bits"><strong>Miscellaneous Tips and Bits</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>To access the SSL session ID from the request, use:<br>
+
+  <code>
+    String sslID = (String)request.getAttribute("javax.servlet.request.ssl_session");
+  </code>
+<br>
+For additional discussion on this area, please see
+<a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=22679">Bugzilla</a>.
+</p>
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/tribes/faq.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/tribes/faq.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/tribes/faq.html	(revision 66)
@@ -0,0 +1,5 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tribes - The Tomcat Cluster Communication Module - Apache Tribes - Frequently Asked Questions</title><meta value="Filip Hanik" name="author"><meta value="fhanik@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="Apache Tomcat" align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="http://tomcat.apache.org/faq">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="faq.html">3) FAQ</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="/api/index.html">JavaDoc</a></li></ul><p><strong>Apache Tribes Development</strong></p><ul><li><a href="membership.html">Membership</a></li><li><a href="transport.html">Transport</a></li><li><a href="interceptors.html">Interceptors</a></li><li><a href="status.html">Status</a></li><li><a href="developers.html">Developers</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tribes - The Tomcat Cluster Communication Module</h1><h2>Apache Tribes - Frequently Asked Questions</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/introduction.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Frequently Asked Questions"><strong>Frequently Asked Questions</strong></a></font></td></tr><tr><td><blockquote>
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/tribes/introduction.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/tribes/introduction.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/tribes/introduction.html	(revision 66)
@@ -0,0 +1,229 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tribes - The Tomcat Cluster Communication Module - Apache Tribes - Introduction</title><meta value="Filip Hanik" name="author"><meta value="fhanik@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="Apache Tomcat" align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="http://tomcat.apache.org/faq">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="faq.html">3) FAQ</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="/api/index.html">JavaDoc</a></li></ul><p><strong>Apache Tribes Development</strong></p><ul><li><a href="membership.html">Membership</a></li><li><a href="transport.html">Transport</a></li><li><a href="interceptors.html">Interceptors</a></li><li><a href="status.html">Status</a></li><li><a href="developers.html">Developers</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tribes - The Tomcat Cluster Communication Module</h1><h2>Apache Tribes - Introduction</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/tribes.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Quick Start"><strong>Quick Start</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>Apache Tribes is a group or peer-to-peer communcation framework that enables you to easily connect
+     your remote objects to communicate with each other.
+  </p>
+  <ul>
+    <li>Import: <code>org.apache.catalina.tribes.Channel</code></li>
+    <li>Import: <code>org.apache.catalina.tribes.Member</code></li>
+    <li>Import: <code>org.apache.catalina.tribes.MembershipListener</code></li>
+    <li>Import: <code>org.apache.catalina.tribes.ChannelListener</code></li>
+    <li>Import: <code>org.apache.catalina.tribes.group.GroupChannel</code></li>
+    <li>Create a class that implements: <code>org.apache.catalina.tribes.ChannelListener</code></li>
+    <li>Create a class that implements: <code>org.apache.catalina.tribes.MembershipListener</code></li>
+    <li>Simple class to demonstrate how to send a message:
+      <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+        //create a channel
+        Channel myChannel = new GroupChannel();
+
+        //create my listeners
+        ChannelListener msgListener = new MyMessageListener();
+        MembershipListener mbrListener = new MyMemberListener();
+
+        //attach the listeners to the channel
+        myChannel.addMembershipListener(mbrListener);
+        myChannel.addChannelListener(msgListener);
+
+        //start the channel
+        myChannel.start(Channel.DEFAULT);
+
+        //create a message to be sent, message must implement java.io.Serializable
+        //for performance reasons you probably want them to implement java.io.Externalizable
+        Serializable myMsg = new MyMessage();
+
+        //retrieve my current members
+        Member[] group = myChannel.getMembers();
+
+        //send the message
+        channel.send(group,myMsg,Channel.SEND_OPTIONS_DEFAULT);
+      </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+    </li>
+  </ul>
+  <p>
+      Simple yeah? There is a lot more to Tribes than we have shown, hopefully the docs will be able
+      to explain more to you. Remember, that we are always interested in suggestions, improvements, bug fixes
+      and anything that you think would help this project.
+  </p>
+  <p>
+      Note: Tribes is currently built for JDK1.5, you can run on JDK1.4 by a small modifications to locks used from the <code>java.util.concurrent</code> package.
+  </p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="What is Tribes"><strong>What is Tribes</strong></a></font></td></tr><tr><td><blockquote>
+  <p>
+    Tribes is a messaging framework with group communication abilities. Tribes allows you to send and receive
+    messages over a network, it also allows for dynamic discovery of other nodes in the network.<br>
+    And that is the short story, it really is as simple as that. What makes Tribes useful and unique will be
+    described in the section below.<br>
+  </p>
+  <p>
+    The Tribes module was started early 2006 and a small part of the code base comes from the clustering module
+    that has been existing since 2003 or 2004.
+    The current cluster implementation has several short comings and many work arounds were created due
+    to the complexity in group communication. Long story short, what should have been two modules a long time
+    ago, will be now. Tribes takes out the complexity of messaging from the replication module and becomes
+    a fully independent and highly flexible group communication module.<br>
+  </p>
+  <p>
+    In Tomcat the old <code>modules/cluster</code> has now become <code>modules/groupcom</code>(Tribes) and
+    <code>modules/ha</code> (replication). This will allow development to proceed and let the developers
+    focus on the issues they are actually working on rather than getting boggled down in details of a module
+    they are not interested in. The understanding is that both communication and replication are complex enough,
+    and when trying to develop them in the same module, well you know, it becomes a cluster :)<br>
+  </p>
+  <p>
+    Tribes allows for guaranteed messaging, and can be customized in many ways. Why is this important?<br>
+    Well, you as a developer want to know that the messages you are sending are reaching their destination.
+    More than that, if a message doesn't reach its destination, the application on top of Tribes will be notified
+    that the message was never sent, and what node it failed.
+  </p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Why another messaging framework"><strong>Why another messaging framework</strong></a></font></td></tr><tr><td><blockquote>
+  <p>
+    I am a big fan of reusing code and would never dream of developing something if someone else has already
+    done it and it was available to me and the community I try to serve.<br>
+    When I did my research to improve the clustering module I was constantly faced with a few obstacles:<br>
+    1. The framework wasn't flexible enough<br>
+    2. The framework was licensed in a way that neither I nor the community could use it<br>
+    3. Several features that I needed were missing<br>
+    4. Messaging was guaranteed, but no feedback was reported to me<br>
+    5. The semantics of my message delivery had to be configured before runtime<br>
+    And the list continues...
+  </p>
+  <p>
+    So I came up with Tribes, to address these issues and other issues that came along.
+    When designing Tribes I wanted to make sure I didn't lose any of the flexibility and
+    delivery semantics that the existing frameworks already delivered. The goal was to create a framework
+    that could do everything that the others already did, but to provide more flexibility for the application
+    developer. In the next section will give you the high level overview of what features tribes offers or will offer.
+  </p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Feature Overview"><strong>Feature Overview</strong></a></font></td></tr><tr><td><blockquote>
+  <p>
+    To give you an idea of the feature set I will list it out here.
+    Some of the features are not yet completed, if that is the case they are marked accordingly.
+  </p>
+  <p>
+    <b>Pluggable modules</b><br>
+    Tribes is built using interfaces. Any of the modules or components that are part of Tribes can be swapped out
+    to customize your own Tribes implementation.
+  </p>
+  <p>
+    <b>Guaranteed Messaging</b><br>
+    In the default implementation of Tribes uses TCP for messaging. TCP already has guaranteed message delivery
+    and flow control built in. I believe that the performance of Java TCP, will outperform an implementation of
+    Java/UDP/flow-control/message guarantee since the logic happens further down the stack.<br>
+    Tribes supports both non-blocking and blocking IO operations. The recommended setting is to use non blocking
+    as it promotes better parallelism when sending and receiving messages. The blocking implementation is available
+    for those platforms where NIO is still a trouble child.
+  </p>
+  <p>
+    <b>Different Guarantee Levels</b><br>
+    There are three different levels of delivery guarantee when a message is sent.<br>
+    <ol>
+      <li>IO Based send guarantee. - fastest, least reliable<br>
+          This means that Tribes considers the message transfer to be successful
+          if the message was sent to the socket send buffer and accepted.<br>
+          On blocking IO, this would be <code>socket.getOutputStream().write(msg)</code><br>
+          On non blocking IO, this would be <code>socketChannel.write()</code>, and the buffer byte buffer gets emptied
+          followed by a <code>socketChannel.read()</code> to ensure the channel still open.
+          The <code>read()</code> has been added since <code>write()</code> will succeed if the connection has been "closed"
+          when using NIO.
+      </li>
+      <li>ACK based. - recommended, guaranteed delivery<br>
+          When the message has been received on a remote node, an ACK is sent back to the sender,
+          indicating that the message was received successfully.
+      </li>
+      <li>SYNC_ACK based. - guaranteed delivery, guaranteed processed, slowest<br>
+          When the message has been received on a remote node, the node will process
+          the message and if the message was processed successfully, an ACK is sent back to the sender
+          indicating that the message was received and processed successfully.
+          If the message was received, but processing it failed, an ACK_FAIL will be sent back
+          to the sender. This is a unique feature that adds an incredible amount value to the application
+          developer. Most frameworks here will tell you that the message was delivered, and the application
+          developer has to build in logic on whether the message was actually processed properly by the application
+          on the remote node. If configured, Tribes will throw an exception when it receives an ACK_FAIL
+          and associate that exception with the member that didn't process the message.
+      </li>
+    </ol>
+    You can of course write even more sophisticated guarantee levels, and some of them will be mentioned later on
+    in the documentation. One mentionable level would be a 2-Phase-Commit, where the remote applications don't receive
+    the message until all nodes have received the message. Sort of like a all-or-nothing protocol.
+  </p>
+  <p>
+    <b>Per Message Delivery Attributes</b><br>
+    Perhaps the feature that makes Tribes stand out from the crowd of group communication frameworks.
+    Tribes enables you to send to decide what delivery semantics a message transfer should have on a per
+    message basis. Meaning, that your messages are not delivered based on some static configuration
+    that remains fixed after the message framework has been started.<br>
+    To give you an example of how powerful this feature is, I'll try to illustrate it with a simple example.
+    Imagine you need to send 10 different messsages, you could send the the following way:
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+      Message_1 - asynchronous and fast, no guarantee required, fire and forget
+      Message_2 - all-or-nothing, either all receivers get it, or none.
+      Message_3 - encrypted and SYNC_ACK based
+      Message_4 - asynchronous, SYNC_ACK and call back when the message is processed on the remote nodes
+      Message_5 - totally ordered, this message should be received in the same order on all nodes that have been
+                  send totally ordered
+      Message_6 - asynchronous and totally ordered
+      Message_7 - RPC message, send a message, wait for all remote nodes to reply before returning
+      Message_8 - RPC message, wait for the first reply
+      Message_9 - RPC message, asynchronous, don't wait for a reply, collect them via a callback
+      Message_10- sent to a member that is not part of this group
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+    As you can imagine by now, these are just examples. The number of different semantics you can apply on a
+    per-message-basis is almost limitless. Tribes allows you to set up to 28 different on a message
+    and then configure Tribes to what flag results in what action on the message.<br>
+    Imagine a shared transactional cache, probably &gt;90% are reads, and the dirty reads should be completely
+    unordered and delivered as fast as possible. But transactional writes on the other hand, have to
+    be ordered so that no cache gets corrupted. With tribes you would send the write messages totally ordered,
+    while the read messages you simple fire to achieve highest throughput.<br>
+    There are probably better examples on how this powerful feature can be used, so use your imagination and
+    your experience to think of how this could benefit you in your application.
+  </p>
+  <p>
+    <b>Interceptor based message processing</b><br>
+    Tribes uses a customizable interceptor stack to process messages that are sent and received.<br>
+    <i>So what, all frameworks have this!</i><br>
+    Yes, but in Tribes interceptors can react to a message based on the per-message-attributes
+    that are sent runtime. Meaning, that if you add a encryption interceptor that encrypts message
+    you can decide if this interceptor will encrypt all messages, or only certain messages that are decided
+    by the applications running on top of Tribes.<br>
+    This is how Tribes is able to send some messages totally ordered and others fire and forget style
+    like the example above.<br>
+    The number of interceptors that are available will keep growing, and we would appreciate any contributions
+    that you might have.
+  </p>
+  <p>
+    <b>Threadless Interceptor stack</b>
+    The interceptor don't require any separate threads to perform their message manipulation.<br>
+    Messages that are sent will piggy back on the thread that is sending them all the way through transmission.
+    The exception is the <code>MessageDispatchInterceptor</code> that will queue up the message
+    and send it on a separate thread for asynchronous message delivery.
+    Messages received are controlled by a thread pool in the <code>receiver</code> component.<br>
+    The channel object can send a <code>heartbeat()</code> through the interceptor stack to allow
+    for timeouts, cleanup and other events.<br>
+    The <code>MessageDispatchInterceptor</code> is the only interceptor that is configured by default.
+  </p>
+  <p>
+    <b>Parallel Delivery</b><br>
+    Tribes support parallel delivery of messages. Meaning that node_A could send three messages to node_B in
+    parallel. This feature becomes useful when sending messages with different delivery semantics.
+    Otherwise if Message_1 was sent totally ordered, Message_2 would have to wait for that message to complete.<br>
+    Through NIO, Tribes is also able to send a message to several receivers at the same time on the same thread.
+  </p>
+  <p>
+    <b>Silent Member Messaging</b><br>
+    With Tribes you are able to send messages to members that are not in your group.
+    So by default, you can already send messages over a wide area network, even though the dynamic discover
+    module today is limited to local area networks by using multicast for dynamic node discovery.
+    Of course, the membership component will be expanded to support WAN memberships in the future.
+    But this is very useful, when you want to hide members from the rest of the group and only communicate with them
+  </p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Where can I get Tribes"><strong>Where can I get Tribes</strong></a></font></td></tr><tr><td><blockquote>
+  <p>
+    
+  </p>
+
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/tribes/setup.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/tribes/setup.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/tribes/setup.html	(revision 66)
@@ -0,0 +1,5 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tribes - The Tomcat Cluster Communication Module - Apache Tribes - Configuration</title><meta value="Filip Hanik" name="author"><meta value="fhanik@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="Apache Tomcat" align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="http://tomcat.apache.org/faq">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="faq.html">3) FAQ</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="/api/index.html">JavaDoc</a></li></ul><p><strong>Apache Tribes Development</strong></p><ul><li><a href="membership.html">Membership</a></li><li><a href="transport.html">Transport</a></li><li><a href="interceptors.html">Interceptors</a></li><li><a href="status.html">Status</a></li><li><a href="developers.html">Developers</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tribes - The Tomcat Cluster Communication Module</h1><h2>Apache Tribes - Configuration</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/introduction.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Configuration Overview"><strong>Configuration Overview</strong></a></font></td></tr><tr><td><blockquote>
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/virtual-hosting-howto.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/virtual-hosting-howto.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/virtual-hosting-howto.html	(revision 66)
@@ -0,0 +1,106 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - Virtual Hosting and Tomcat</title></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://wiki.apache.org/tomcat/FAQ">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR/Native</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li><li><a href="aio.html">25) Advanced IO</a></li><li><a href="extras.html">26) Additional Components</a></li><li><a href="maven-jars.html">27) Mavenized</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Configuration</a></li><li><a href="api/index.html">Javadocs</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="http://wiki.apache.org/tomcat/TomcatVersions">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="architecture/index.html">Architecture</a></li><li><a href="funcspecs/index.html">Functional Specs.</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>Virtual Hosting and Tomcat</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/virtual-hosting-howto.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Assumptions"><strong>Assumptions</strong></a></font></td></tr><tr><td><blockquote>
+    <p>
+      For the sake of this how-to, assume you have a development host with two
+      host names, <code>ren</code> and <code>stimpy</code>. Let's also assume
+      one instance of Tomcat running, so <code>$CATALINA_HOME</code> refers to
+      wherever it's installed, perhaps <code>/usr/local/tomcat</code>.
+    </p>
+    <p>
+      Also, this how-to uses Unix-style path separators and commands; if you're
+      on Windows modify accordingly. 
+    </p>
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="server.xml"><strong>server.xml</strong></a></font></td></tr><tr><td><blockquote>
+    <p>
+      At the simplest, edit the <a href="config/engine.html">Engine</a> portion
+      of your <code>server.xml</code> file to look like this:
+    </p>
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Engine name="Catalina" defaultHost="ren"&gt;
+    &lt;Host name="ren"    appBase="renapps"/&gt;
+    &lt;Host name="stimpy" appBase="stimpyapps"/&gt;
+&lt;/Engine&gt;
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+    <p>
+      Note that the directory structures under the appBase for each host should
+      not overlap each other.
+    </p>
+    <p>
+      Consult the configuration documentation for other attributes of the
+      <a href="config/engine.html">Engine</a> and <a href="config/host.html">
+      Host</a> elements.
+    </p>
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps Directory"><strong>Webapps Directory</strong></a></font></td></tr><tr><td><blockquote>
+    <p>
+      Create directories for each of the virtual hosts:
+    </p>
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+mkdir $CATALINA_HOME/renapps
+mkdir $CATALINA_HOME/stimpyapps
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Configuring Your Contexts"><strong>Configuring Your Contexts</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+      <p>Contexts are normally located underneath the appBase directory. For
+       example, to deploy the <code>foobar</code> context as a war file in
+       the <code>ren</code> host, use
+       <code>$CATALINA_HOME/renapps/foobar.war</code>. Note that the
+       default or ROOT context for <code>ren</code> would be deployed as
+       <code>$CATALINA_HOME/renapps/ROOT.war</code> (WAR) or
+       <code>$CATALINA_HOME/renapps/ROOR</code> (directory).
+      </p>
+      <p><strong>NOTE: The <code>docBase</code> for a context should never be
+        the same as the <code>appBase</code> for a host.</strong>
+      </p>
+    </blockquote></td></tr></table>
+    <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="context.xml - approach #1"><strong>context.xml - approach #1</strong></a></font></td></tr><tr><td><blockquote>
+      <p>
+        Within your Context, create a <code>META-INF</code> directory and then
+        place your Context definition in it in a file named
+        <code>context.xml</code>. i.e.
+        <code>$CATALINA_HOME/renapps/ROOT/META-INF/context.xml</code>
+        This makes deployment easier, particularly if you're distributing a WAR
+        file.
+      </p>
+    </blockquote></td></tr></table>
+    <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="context.xml - approach #2"><strong>context.xml - approach #2</strong></a></font></td></tr><tr><td><blockquote>
+      <p>
+        Create a structure under <code>$CATALINA_HOME/conf/Catalina</code>
+        corresponding to your virtual hosts, e.g.:
+      </p>
+      <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+mkdir $CATALINA_HOME/conf/Catalina/ren
+mkdir $CATALINA_HOME/conf/Catalina/stimpy
+      </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+      <p>
+        Note that the ending directory name "Catalina" represents the
+        <code>name</code> attribute of the
+        <a href="config/engine.html">Engine</a> element as shown above.
+      </p>
+      <p>
+        Now, for your default webapps, add:
+      </p>
+      <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+$CATALINA_HOME/conf/Catalina/ren/ROOT.xml
+$CATALINA_HOME/conf/Catalina/stimpy/ROOT.xml
+      </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+      <p>
+        If you want to use the Tomcat manager webapp for each host, you'll also
+        need to add it here:
+      </p>
+      <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+cd $CATALINA_HOME/conf/Catalina
+cp localhost/manager.xml ren/
+cp localhost/manager.xml stimpy/
+      </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+    </blockquote></td></tr></table>
+    <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Further Information"><strong>Further Information</strong></a></font></td></tr><tr><td><blockquote>
+      <p>
+        Consult the configuration documentation for other attributes of the
+        <a href="config/context.html">Context</a> element.
+      </p>
+    </blockquote></td></tr></table>
+  </blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/docs/windows-service-howto.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/docs/windows-service-howto.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/docs/windows-service-howto.html	(revision 66)
@@ -0,0 +1,332 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 - Windows service HOW-TO</title><meta value="Mladen Turk" name="author"><meta value="mturk@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://wiki.apache.org/tomcat/FAQ">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR/Native</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li><li><a href="aio.html">25) Advanced IO</a></li><li><a href="extras.html">26) Additional Components</a></li><li><a href="maven-jars.html">27) Mavenized</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Configuration</a></li><li><a href="api/index.html">Javadocs</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="http://wiki.apache.org/tomcat/TomcatVersions">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="architecture/index.html">Architecture</a></li><li><a href="funcspecs/index.html">Functional Specs.</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat 6.0</h1><h2>Windows service HOW-TO</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/windows-service-howto.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="NOTICE"><strong>NOTICE</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+    <b>This section of the documentation applies to procrun 1.0, and is now obsolete.</b>
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat6 service application"><strong>Tomcat6 service application</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+    <b>Tomcat6</b> is a service application for running Tomcat6 as NT service.
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat6w monitor application"><strong>Tomcat6w monitor application</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+    <b>Tomcat6w</b> is a GUI application for monitoring and configuring Tomcat
+    services.
+</p>    
+    <p>The available command line options are:</p>
+<p> 
+    <table>
+    <tr><th>//ES//</th>
+        <td>Edit service configuration</td>
+        <td>This is the default operation. It is called if the no option is
+            provided but the executable is renamed to <b>servicenameW.exe</b></td>
+    </tr>
+    <tr><th>//MS//</th>
+        <td>Monitor service</td>
+        <td>Put the icon in the system try</td>
+    </tr>
+    </table>
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Command line arguments"><strong>Command line arguments</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+    Each command line directive is in the form of <b>//XX//ServiceName</b>
+</p>
+    <p>The available command line options are:</p>
+<p> 
+    <table>
+    <tr><th>//TS//</th>
+        <td>Run the service as console application</td>
+        <td>This is the default operation. It is called if the no option is
+            provided. The ServiceName is the name of the executable without
+            exe sufix, meaning Tomcat6</td>
+    </tr>
+    <tr><th>//RS//</th>
+        <td>Run the service</td>
+        <td>Called only from ServiceManager</td>
+    </tr>
+    <tr><th>//SS//</th>
+        <td>Stop the service</td>
+        <td></td>
+    </tr>
+    <tr><th>//US//</th>
+        <td>Update service parameters</td>
+        <td></td>
+    </tr>
+    <tr><th>//IS//</th>
+        <td>Install service</td>
+        <td></td>
+    </tr>
+    <tr><th>//DS//</th>
+        <td>Delete service</td>
+        <td>Stops the service if running</td>
+    </tr>        
+    </table>
+</p> 
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Command line parameters"><strong>Command line parameters</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+    Each command parameter is prefixed with <b>--</b>.
+    If the command line is prefixed with <b>++</b> then it's value will
+    be appended to the existing option.
+    If the environment variable with the same name as command line parameter but
+    prefixed with <code>PR_</code> exists it will take precedence.
+    For example:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>set PR_CLASSPATH=xx.jar</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>    
+<p>is equivalent to providing
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>--Classpath=xx.jar</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+<p> as command line parameter.</p>
+<p> 
+    <table>
+    <tr>
+    <th>ParameterName</th>
+	<th>Default</th>
+	<th>Description</th>
+	</tr> 
+    <tr>
+    <td>--Description</td>
+    <td></td>
+    <td>Service name description (maximum 1024 characters)</td>
+    </tr>
+    <tr>
+    <td>--DisplayName</td>
+    <td>ServiceName</td>
+    <td>Service display name</td>
+    </tr>
+    <tr>
+    <td>--Install</td>
+    <td>procrun.exe //RS//ServiceName</td>
+    <td>Install image</td>
+    </tr>
+    <tr>
+    <td>--Startup</td>
+    <td>manual</td>
+    <td>Service startup mode can be either <b>auto</b> or <b>manual</b></td>
+    </tr>
+    <tr>
+    <td>--DependsOn</td>
+    <td></td>
+    <td>List of services that this service depend on. Dependent services
+        are separated using either <b>#</b> or <b>;</b> characters</td>
+    </tr>
+    <tr>
+    <td>--Environment</td>
+    <td></td>
+    <td>List of environment variables that will be provided to the service
+        in the form <b>key=value</b>. They are separated using either
+        <b>#</b> or <b>;</b> characters</td>
+    </tr>
+    <tr>
+    <td>--User</td>
+    <td></td>
+    <td>User account used for running executable. It is used only for
+    	StartMode <b>java</b> or <b>exe</b> and enables running applications
+    	as service under account without LogonAsService privilege.</td>
+    </tr>
+    <tr>
+    <td>--Password</td>
+    <td></td>
+    <td>Password for user account set by --User parameter</td>
+    </tr>
+    <tr>
+    <td>--JavaHome</td>
+    <td>JAVA_HOME</td>
+    <td>Set a different JAVA_HOME then defined by JAVA_HOME environment
+        variable</td>
+    </tr>
+    <tr>
+    <td>--Jvm</td>
+    <td>auto</td>
+    <td>Use either <b>auto</b> or specify the full path to the <b>jvm.dll</b>.
+        You can use the environment variable expansion here.</td>
+    </tr>
+    <tr>
+    <td>--JvmOptions</td>
+    <td>-Xrs</td>
+    <td>List of options in the form of <b>-D</b> or <b>-X</b> that will be
+        passed to the JVM. The options are separated using either
+        <b>#</b> or <b>;</b> characters.</td>
+    </tr>
+    <tr>
+    <td>--Classpath</td>
+    <td></td>
+    <td>Set the Java classpath</td>
+    </tr>
+    <tr>
+    <td>--JvmMs</td>
+    <td></td>
+    <td>Initial memory pool size in MB</td>
+    </tr>
+    <tr>
+    <td>--JvmMx</td>
+    <td></td>
+    <td>Maximum memory pool size in MB</td>
+    </tr>
+    <tr>
+    <td>--JvmSs</td>
+    <td></td>
+    <td>Thread stack size in KB</td>
+    </tr>
+    <tr>
+    <tr>
+    <td>--StartImage</td>
+    <td></td>
+    <td>Executable that will be run.</td>
+    </tr>
+    <tr>
+    <td>--StartPath</td>
+    <td></td>
+    <td>Working path for the start image executable.</td>
+    </tr>
+    <tr>
+    <td>--StartClass</td>
+    <td></td>
+    <td>Class that will be used for startup.</td>
+    </tr>
+    <tr>
+    <td>--StartParams</td>
+    <td></td>
+    <td>List of parameters that will be passed to either StartImage or
+        StartClass. Parameters are separated using either <b>#</b> or
+        <b>;</b> character.</td>
+    </tr>
+    <tr>
+    <td>--StartMethod</td>
+    <td>Main</td>
+    <td>Method name if differs then main</td>
+    </tr>
+    <tr>
+    <td>--StartMode</td>
+    <td>executable</td>
+    <td>Can one of <b>jvm</b> <b>java</b> or <b>exe</b></td>
+    </tr>
+    <td>--StopImage</td>
+    <td></td>
+    <td>Executable that will be run on Stop service signal.</td>
+    </tr>
+    <tr>
+    <td>--StopPath</td>
+    <td></td>
+    <td>Working path for the stop image executable.</td>
+    </tr>
+    <tr>
+    <td>--StopClass</td>
+    <td></td>
+    <td>Class that will be used on Stop service signal.</td>
+    </tr>
+    <tr>
+    <td>--StopParams</td>
+    <td></td>
+    <td>List of parameters that will be passed to either StopImage or
+        StopClass. Parameters are separated using either <b>#</b> or
+        <b>;</b> character.</td>
+    </tr>
+    <tr>
+    <td>--StopMethod</td>
+    <td>Main</td>
+    <td>Method name if differs then main</td>
+    </tr>
+    <tr>
+    <td>--StopMode</td>
+    <td>executable</td>
+    <td>Can one of <b>jvm</b> <b>java</b> or <b>exe</b></td>
+    </tr>
+    <tr>
+    <td>--StopTimeout</td>
+    <td>No Timeout</td>
+    <td>Defines the timeout in seconds that procrun waits for service to
+        exit gracefully.</td>
+    </tr>
+    <tr>
+    <td>--LogPath</td>
+    <td>working path</td>
+    <td>Defines the path for logging</td>
+    </tr>
+    <tr>
+    <td>--LogPrefix</td>
+    <td>jakarta_service</td>
+    <td>Defines the service log filename</td>
+    </tr>
+    <tr>
+    <td>--LogLevel</td>
+    <td>INFO</td>
+    <td>Defines the logging level and can be either <b>error</b>,
+        <b>info</b>, <b>warn</b> or <b>debug</b></td>
+    </tr>
+    <tr>
+    <td>--StdOutput</td>
+    <td></td>
+    <td>Redirected stdout filename</td>
+    </tr>
+    <tr>
+    <td>--StdError</td>
+    <td></td>
+    <td>Redirected stderr filename</td>
+    </tr>    
+    </table>
+</p> 
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Installing services"><strong>Installing services</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+The safest way to manually install the service is to use the provided <b>service.bat</b> script.
+</p>
+<p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Install the service named 'Tomcat6'
+C:\&gt; service.bat install
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+<p>
+If using tomcat6.exe, you need to use the <b>//IS//</b> parameter.
+</p>
+<p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Install the service named 'Tomcat6'
+C:\&gt; tomcat6 //IS//Tomcat6 --DisplayName="Apache Tomcat 6" \
+C:\&gt; --Install="C:\Program Files\Tomcat\bin\tomcat6.exe" --Jvm=auto \
+C:\&gt; --StartMode=jvm --StopMode=jvm \
+C:\&gt; --StartClass=org.apache.catalina.startup.Bootstrap --StartParams=start \
+C:\&gt; --StopClass=org.apache.catalina.startup.Bootstrap --StopParams=stop
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Updating services"><strong>Updating services</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+To update the service parameters, you need to use the <b>//US//</b> parameter.
+</p>
+<p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Update the service named 'Tomcat6
+C:\&gt; tomcat6 //US//Tomcat6 --Description="Apache Tomcat Server - http://tomcat.apache.org/ " \
+C:\&gt; --Startup=auto --Classpath=%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\bin\bootstrap.jar
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Removing services"><strong>Removing services</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+To remove the service, you need to use the <b>//DS//</b> parameter.<br>
+If the service is running it will be stopped and then deleted.
+</p>
+<p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Remove the service named 'Tomcat6'
+C:\&gt; tomcat6 //DS//Tomcat6
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Debugging services"><strong>Debugging services</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+To run the service in console mode, you need to use the <b>//TS//</b> parameter.
+The service shutdown can be initiated by pressing <b>CTRL+C</b> or
+<b>CTRL+BREAK</b>.
+If you rename the tomcat6.exe to testservice.exe then you can just execute the
+testservice.exe and this command mode will be executed by default.
+</p>
+<p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Run the service named 'Tomcat6' in console mode
+C:\&gt; tomcat6 //TS//Tomcat6 [additional arguments]
+Or simply execute:
+C:\&gt; tomcat6
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2008, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/CookieExample.java
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/CookieExample.java	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/CookieExample.java	(revision 66)
@@ -0,0 +1,121 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+/* $Id: CookieExample.java 500674 2007-01-27 23:15:00Z markt $
+ *
+ */
+
+import java.io.*;
+import java.util.*;
+import javax.servlet.*;
+import javax.servlet.http.*;
+
+import util.HTMLFilter;
+
+/**
+ * Example servlet showing request headers
+ *
+ * @author James Duncan Davidson <duncan@eng.sun.com>
+ */
+
+public class CookieExample extends HttpServlet {
+
+    ResourceBundle rb = ResourceBundle.getBundle("LocalStrings");
+    
+    public void doGet(HttpServletRequest request,
+                      HttpServletResponse response)
+        throws IOException, ServletException
+    {
+        response.setContentType("text/html");
+
+        PrintWriter out = response.getWriter();
+        out.println("<html>");
+        out.println("<body bgcolor=\"white\">");
+        out.println("<head>");
+
+        String title = rb.getString("cookies.title");
+        out.println("<title>" + title + "</title>");
+        out.println("</head>");
+        out.println("<body>");
+
+	// relative links
+
+        // XXX
+        // making these absolute till we work out the
+        // addition of a PathInfo issue 
+	
+        out.println("<a href=\"../cookies.html\">");
+        out.println("<img src=\"../images/code.gif\" height=24 " +
+                    "width=24 align=right border=0 alt=\"view code\"></a>");
+        out.println("<a href=\"../index.html\">");
+        out.println("<img src=\"../images/return.gif\" height=24 " +
+                    "width=24 align=right border=0 alt=\"return\"></a>");
+
+        out.println("<h3>" + title + "</h3>");
+
+        Cookie[] cookies = request.getCookies();
+        if ((cookies != null) && (cookies.length > 0)) {
+            out.println(rb.getString("cookies.cookies") + "<br>");
+            for (int i = 0; i < cookies.length; i++) {
+                Cookie cookie = cookies[i];
+                out.print("Cookie Name: " + HTMLFilter.filter(cookie.getName())
+                          + "<br>");
+                out.println("  Cookie Value: " 
+                            + HTMLFilter.filter(cookie.getValue())
+                            + "<br><br>");
+            }
+        } else {
+            out.println(rb.getString("cookies.no-cookies"));
+        }
+
+        String cookieName = request.getParameter("cookiename");
+        String cookieValue = request.getParameter("cookievalue");
+        if (cookieName != null && cookieValue != null) {
+            Cookie cookie = new Cookie(cookieName, cookieValue);
+            response.addCookie(cookie);
+            out.println("<P>");
+            out.println(rb.getString("cookies.set") + "<br>");
+            out.print(rb.getString("cookies.name") + "  " 
+                      + HTMLFilter.filter(cookieName) + "<br>");
+            out.print(rb.getString("cookies.value") + "  " 
+                      + HTMLFilter.filter(cookieValue));
+        }
+        
+        out.println("<P>");
+        out.println(rb.getString("cookies.make-cookie") + "<br>");
+        out.print("<form action=\"");
+        out.println("CookieExample\" method=POST>");
+        out.print(rb.getString("cookies.name") + "  ");
+        out.println("<input type=text length=20 name=cookiename><br>");
+        out.print(rb.getString("cookies.value") + "  ");
+        out.println("<input type=text length=20 name=cookievalue><br>");
+        out.println("<input type=submit></form>");
+            
+            
+        out.println("</body>");
+        out.println("</html>");
+    }
+
+    public void doPost(HttpServletRequest request,
+                      HttpServletResponse response)
+        throws IOException, ServletException
+    {
+        doGet(request, response);
+    }
+
+}
+
+
Index: /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/HelloWorldExample.java
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/HelloWorldExample.java	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/HelloWorldExample.java	(revision 66)
@@ -0,0 +1,75 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+/* $Id: HelloWorldExample.java 500674 2007-01-27 23:15:00Z markt $
+ *
+ */
+
+import java.io.*;
+import java.util.*;
+import javax.servlet.*;
+import javax.servlet.http.*;
+
+/**
+ * The simplest possible servlet.
+ *
+ * @author James Duncan Davidson
+ */
+
+public class HelloWorldExample extends HttpServlet {
+
+
+    public void doGet(HttpServletRequest request,
+                      HttpServletResponse response)
+        throws IOException, ServletException
+    {
+        ResourceBundle rb =
+            ResourceBundle.getBundle("LocalStrings",request.getLocale());
+        response.setContentType("text/html");
+        PrintWriter out = response.getWriter();
+
+        out.println("<html>");
+        out.println("<head>");
+
+	    String title = rb.getString("helloworld.title");
+
+	    out.println("<title>" + title + "</title>");
+        out.println("</head>");
+        out.println("<body bgcolor=\"white\">");
+
+	// note that all links are created to be relative. this
+	// ensures that we can move the web application that this
+	// servlet belongs to to a different place in the url
+	// tree and not have any harmful side effects.
+
+        // XXX
+        // making these absolute till we work out the
+        // addition of a PathInfo issue
+
+	    out.println("<a href=\"../helloworld.html\">");
+        out.println("<img src=\"../images/code.gif\" height=24 " +
+                    "width=24 align=right border=0 alt=\"view code\"></a>");
+        out.println("<a href=\"../index.html\">");
+        out.println("<img src=\"../images/return.gif\" height=24 " +
+                    "width=24 align=right border=0 alt=\"return\"></a>");
+        out.println("<h1>" + title + "</h1>");
+        out.println("</body>");
+        out.println("</html>");
+    }
+}
+
+
+
Index: /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/LocalStrings.properties
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/LocalStrings.properties	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/LocalStrings.properties	(revision 66)
@@ -0,0 +1,53 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# $Id: LocalStrings.properties 467217 2006-10-24 03:14:34Z markt $
+
+# Default localized resources for example servlets
+# This locale is en_US
+
+helloworld.title=Hello World!
+
+requestinfo.title=Request Information Example
+requestinfo.label.method=Method:
+requestinfo.label.requesturi=Request URI:
+requestinfo.label.protocol=Protocol:
+requestinfo.label.pathinfo=Path Info:
+requestinfo.label.remoteaddr=Remote Address:
+
+requestheader.title=Request Header Example
+
+requestparams.title=Request Parameters Example
+requestparams.params-in-req=Parameters in this request:
+requestparams.no-params=No Parameters, Please enter some
+requestparams.firstname=First Name:
+requestparams.lastname=Last Name:
+
+cookies.title=Cookies Example
+cookies.cookies=Your browser is sending the following cookies:
+cookies.no-cookies=Your browser isn't sending any cookies
+cookies.make-cookie=Create a cookie to send to your browser
+cookies.name=Name:
+cookies.value=Value:
+cookies.set=You just sent the following cookie to your browser:
+
+sessions.title=Sessions Example
+sessions.id=Session ID:
+sessions.created=Created:
+sessions.lastaccessed=Last Accessed:
+sessions.data=The following data is in your session:
+sessions.adddata=Add data to your session
+sessions.dataname=Name of Session Attribute:
+sessions.datavalue=Value of Session Attribute:
Index: /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/LocalStrings_en.properties
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/LocalStrings_en.properties	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/LocalStrings_en.properties	(revision 66)
@@ -0,0 +1,53 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# $Id: LocalStrings_en.properties 467217 2006-10-24 03:14:34Z markt $
+
+# Default localized resources for example servlets
+# This locale is en_US
+
+helloworld.title=Hello World!
+
+requestinfo.title=Request Information Example
+requestinfo.label.method=Method:
+requestinfo.label.requesturi=Request URI:
+requestinfo.label.protocol=Protocol:
+requestinfo.label.pathinfo=Path Info:
+requestinfo.label.remoteaddr=Remote Address:
+
+requestheader.title=Request Header Example
+
+requestparams.title=Request Parameters Example
+requestparams.params-in-req=Parameters in this request:
+requestparams.no-params=No Parameters, Please enter some
+requestparams.firstname=First Name:
+requestparams.lastname=Last Name:
+
+cookies.title=Cookies Example
+cookies.cookies=Your browser is sending the following cookies:
+cookies.no-cookies=Your browser isn't sending any cookies
+cookies.make-cookie=Create a cookie to send to your browser
+cookies.name=Name:
+cookies.value=Value:
+cookies.set=You just sent the following cookie to your browser:
+
+sessions.title=Sessions Example
+sessions.id=Session ID:
+sessions.created=Created:
+sessions.lastaccessed=Last Accessed:
+sessions.data=The following data is in your session:
+sessions.adddata=Add data to your session
+sessions.dataname=Name of Session Attribute:
+sessions.datavalue=Value of Session Attribute:
Index: /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/LocalStrings_es.properties
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/LocalStrings_es.properties	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/LocalStrings_es.properties	(revision 66)
@@ -0,0 +1,53 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# $Id: LocalStrings_es.properties 467217 2006-10-24 03:14:34Z markt $
+#
+# Default localized string information
+# Localized para Locale es_ES
+
+helloworld.title=Hola Mundo!
+
+requestinfo.title=Ejemplo de Informacion de Request
+requestinfo.label.method=Metodo:
+requestinfo.label.requesturi=Request URI:
+requestinfo.label.protocol=Protocolo:
+requestinfo.label.pathinfo=Path Info:
+requestinfo.label.remoteaddr=Direccion Remota:
+
+requestheader.title=Ejemplo de Cabecera de Request
+
+requestparams.title=Ejemplo de parametros de Request
+requestparams.params-in-req=Parametros en este Request:
+requestparams.no-params=No hay parametro. por favor usa alguno
+requestparams.firstname=Nombre:
+requestparams.lastname=Apellidos:
+
+cookies.title=Ejemplo de Cookies
+cookies.cookies=Tu navegador esta enviando los siguientes cookies:
+cookies.no-cookies=Tu navegador no esta enviando cookies
+cookies.make-cookie=Crea un cookie para enviarlo a tu navegador
+cookies.name=Nombre:
+cookies.value=Valor:
+cookies.set=Acabas de enviar a tu navegador estos cookies:
+
+sessions.title=ejemplo de Sesiones
+sessions.id=ID de Sesion:
+sessions.created=Creado:
+sessions.lastaccessed=Ultimo Acceso:
+sessions.data=Lo siguientes datos estan en tu sesion:
+sessions.adddata=Añade datos a tu sesion:
+sessions.dataname=Nombre del atributo de sesion:
+sessions.datavalue=Valor del atributo de sesion:
Index: /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/LocalStrings_fr.properties
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/LocalStrings_fr.properties	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/LocalStrings_fr.properties	(revision 66)
@@ -0,0 +1,53 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# $Id: LocalStrings_fr.properties 467217 2006-10-24 03:14:34Z markt $
+
+# Default localized resources for example servlets
+# This locale is fr_FR
+
+helloworld.title=Salut le Monde!
+
+requestinfo.title=Exemple d''information sur la requête
+requestinfo.label.method=Méthode:
+requestinfo.label.requesturi=URI de requête:
+requestinfo.label.protocol=Protocole:
+requestinfo.label.pathinfo=Info de chemin:
+requestinfo.label.remoteaddr=Adresse distante:
+
+requestheader.title=Exemple d''information sur les entête de requête
+
+requestparams.title=Exemple de requête avec paramêtres
+requestparams.params-in-req=Paramêtres dans la requête:
+requestparams.no-params=Pas de paramêtre, merci dans saisir quelqu'uns
+requestparams.firstname=Prénom:
+requestparams.lastname=Nom:
+
+cookies.title=Exemple d''utilisation de Cookies
+cookies.cookies=Votre navigateur retourne les cookies suivant:
+cookies.no-cookies=Votre navigateur ne retourne aucun cookie
+cookies.make-cookie=Création d''un cookie à retourner à votre navigateur
+cookies.name=Nom:
+cookies.value=Valeur:
+cookies.set=Vous venez d''envoyer le cookie suivant à votre navigateur:
+
+sessions.title=Exemple de Sessions
+sessions.id=ID de Session:
+sessions.created=Crée le:
+sessions.lastaccessed=Dernier accès:
+sessions.data=Les données existantes dans votre session:
+sessions.adddata=Ajouter des données à votre session
+sessions.dataname=Nom de l''Attribut de Session:
+sessions.datavalue=Valeur de l''Attribut de Session:
Index: /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/LocalStrings_pt.properties
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/LocalStrings_pt.properties	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/LocalStrings_pt.properties	(revision 66)
@@ -0,0 +1,53 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# $Id: LocalStrings_pt.properties 467217 2006-10-24 03:14:34Z markt $
+
+# Default localized resources for example servlets
+# This locale is pt_PT
+
+helloworld.title=Ola Mundo!
+
+requestinfo.title=Exemplo da Informacao do Pedido
+requestinfo.label.method=Metodo:
+requestinfo.label.requesturi=URI do Pedido:
+requestinfo.label.protocol=Protocolo:
+requestinfo.label.pathinfo=Informacao do Caminho:
+requestinfo.label.remoteaddr=Endereco Remoto:
+
+requestheader.title=Exemplo da Cebeceira do Pedido
+
+requestparams.title=Examplo de Parametros do Pedido
+requestparams.params-in-req=Parametros neste pedido:
+requestparams.no-params=Sem Parametros, Por favor entre alguns
+requestparams.firstname=Primeiro Nome:
+requestparams.lastname=Apelido:
+
+cookies.title=CExamplo de Cookies
+cookies.cookies=O se browser esta a enviar os seguintes cookies:
+cookies.no-cookies=O seu browser nao esta a enviar nenhuns cookies
+cookies.make-cookie=Crie um cookie para enviar para o seu browser
+cookies.name=Nome:
+cookies.value=Valor:
+cookies.set=Acabou de enviar o seguinte cookie para o seu browser:
+
+sessions.title=Examplo de sessoes
+sessions.id=Identificador da Sessao:
+sessions.created=Criada:
+sessions.lastaccessed=Ultima vez acedida:
+sessions.data=Os seguintes dados fazem parte da sua sessao:
+sessions.adddata=Adicione data a sua sessao
+sessions.dataname=Nome do atributo da sessao:
+sessions.datavalue=Valor do atributo da Sessao:
Index: /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/RequestHeaderExample.java
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/RequestHeaderExample.java	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/RequestHeaderExample.java	(revision 66)
@@ -0,0 +1,90 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+/* $Id: RequestHeaderExample.java 500674 2007-01-27 23:15:00Z markt $
+ *
+ */
+
+import java.io.*;
+import java.util.*;
+import javax.servlet.*;
+import javax.servlet.http.*;
+
+import util.HTMLFilter;
+
+/**
+ * Example servlet showing request headers
+ *
+ * @author James Duncan Davidson <duncan@eng.sun.com>
+ */
+
+public class RequestHeaderExample extends HttpServlet {
+
+    ResourceBundle rb = ResourceBundle.getBundle("LocalStrings");
+    
+    public void doGet(HttpServletRequest request,
+                      HttpServletResponse response)
+        throws IOException, ServletException
+    {
+        response.setContentType("text/html");
+
+        PrintWriter out = response.getWriter();
+        out.println("<html>");
+        out.println("<body bgcolor=\"white\">");
+        out.println("<head>");
+
+        String title = rb.getString("requestheader.title");
+        out.println("<title>" + title + "</title>");
+        out.println("</head>");
+        out.println("<body>");
+
+	// all links relative
+
+        // XXX
+        // making these absolute till we work out the
+        // addition of a PathInfo issue 
+	
+        out.println("<a href=\"../reqheaders.html\">");
+        out.println("<img src=\"../images/code.gif\" height=24 " +
+                    "width=24 align=right border=0 alt=\"view code\"></a>");
+        out.println("<a href=\"../index.html\">");
+        out.println("<img src=\"../images/return.gif\" height=24 " +
+                    "width=24 align=right border=0 alt=\"return\"></a>");
+
+        out.println("<h3>" + title + "</h3>");
+        out.println("<table border=0>");
+        Enumeration e = request.getHeaderNames();
+        while (e.hasMoreElements()) {
+            String headerName = (String)e.nextElement();
+            String headerValue = request.getHeader(headerName);
+            out.println("<tr><td bgcolor=\"#CCCCCC\">");
+            out.println(HTMLFilter.filter(headerName));
+            out.println("</td><td>");
+            out.println(HTMLFilter.filter(headerValue));
+            out.println("</td></tr>");
+        }
+        out.println("</table>");
+    }
+
+    public void doPost(HttpServletRequest request,
+                      HttpServletResponse response)
+        throws IOException, ServletException
+    {
+        doGet(request, response);
+    }
+
+}
+
Index: /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/RequestInfoExample.java
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/RequestInfoExample.java	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/RequestInfoExample.java	(revision 66)
@@ -0,0 +1,114 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+/* $Id: RequestInfoExample.java 500674 2007-01-27 23:15:00Z markt $
+ *
+ */
+
+import java.io.*;
+import java.util.*;
+import javax.servlet.*;
+import javax.servlet.http.*;
+
+import util.HTMLFilter;
+
+/**
+ * Example servlet showing request information.
+ *
+ * @author James Duncan Davidson <duncan@eng.sun.com>
+ */
+
+public class RequestInfoExample extends HttpServlet {
+
+
+    ResourceBundle rb = ResourceBundle.getBundle("LocalStrings");
+
+    public void doGet(HttpServletRequest request,
+                      HttpServletResponse response)
+        throws IOException, ServletException
+    {
+        response.setContentType("text/html");
+
+        PrintWriter out = response.getWriter();
+        out.println("<html>");
+        out.println("<body>");
+        out.println("<head>");
+
+        String title = rb.getString("requestinfo.title");
+        out.println("<title>" + title + "</title>");
+        out.println("</head>");
+        out.println("<body bgcolor=\"white\">");
+
+        // img stuff not req'd for source code html showing
+	// all links relative!
+
+        // XXX
+        // making these absolute till we work out the
+        // addition of a PathInfo issue
+	
+        out.println("<a href=\"../reqinfo.html\">");
+        out.println("<img src=\"../images/code.gif\" height=24 " +
+                    "width=24 align=right border=0 alt=\"view code\"></a>");
+        out.println("<a href=\"../index.html\">");
+        out.println("<img src=\"../images/return.gif\" height=24 " +
+                    "width=24 align=right border=0 alt=\"return\"></a>");
+
+        out.println("<h3>" + title + "</h3>");
+        out.println("<table border=0><tr><td>");
+        out.println(rb.getString("requestinfo.label.method"));
+        out.println("</td><td>");
+        out.println(request.getMethod());
+        out.println("</td></tr><tr><td>");
+        out.println(rb.getString("requestinfo.label.requesturi"));
+        out.println("</td><td>");        
+        out.println(HTMLFilter.filter(request.getRequestURI()));
+        out.println("</td></tr><tr><td>");        
+        out.println(rb.getString("requestinfo.label.protocol"));
+        out.println("</td><td>");        
+        out.println(request.getProtocol());
+        out.println("</td></tr><tr><td>");
+        out.println(rb.getString("requestinfo.label.pathinfo"));
+        out.println("</td><td>");        
+        out.println(HTMLFilter.filter(request.getPathInfo()));
+        out.println("</td></tr><tr><td>");
+        out.println(rb.getString("requestinfo.label.remoteaddr"));
+
+ 	String cipherSuite=
+ 	    (String)request.getAttribute("javax.servlet.request.cipher_suite");
+        out.println("</td><td>");                
+        out.println(request.getRemoteAddr());
+        out.println("</table>");
+
+ 	if(cipherSuite!=null){
+ 	    out.println("</td></tr><tr><td>");	
+ 	    out.println("SSLCipherSuite:");
+ 	    out.println("</td>");
+ 	    out.println("<td>");	    
+ 	    out.println(request.getAttribute("javax.servlet.request.cipher_suite"));
+	    out.println("</td>");	    
+ 	}
+	
+    }
+
+    public void doPost(HttpServletRequest request,
+                      HttpServletResponse response)
+        throws IOException, ServletException
+    {
+        doGet(request, response);
+    }
+
+}
+
Index: /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/RequestParamExample.java
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/RequestParamExample.java	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/RequestParamExample.java	(revision 66)
@@ -0,0 +1,106 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+/* $Id: RequestParamExample.java 500674 2007-01-27 23:15:00Z markt $
+ *
+ */
+
+import java.io.*;
+import java.util.*;
+import javax.servlet.*;
+import javax.servlet.http.*;
+
+import util.HTMLFilter;
+
+/**
+ * Example servlet showing request headers
+ *
+ * @author James Duncan Davidson <duncan@eng.sun.com>
+ */
+
+public class RequestParamExample extends HttpServlet {
+
+
+    ResourceBundle rb = ResourceBundle.getBundle("LocalStrings");
+    
+    public void doGet(HttpServletRequest request,
+                      HttpServletResponse response)
+        throws IOException, ServletException
+    {
+        response.setContentType("text/html");
+
+        PrintWriter out = response.getWriter();
+        out.println("<html>");
+        out.println("<body>");
+        out.println("<head>");
+
+        String title = rb.getString("requestparams.title");
+        out.println("<title>" + title + "</title>");
+        out.println("</head>");
+        out.println("<body bgcolor=\"white\">");
+
+        // img stuff not req'd for source code html showing
+
+	// all links relative
+
+        // XXX
+        // making these absolute till we work out the
+        // addition of a PathInfo issue 
+	
+        out.println("<a href=\"../reqparams.html\">");
+        out.println("<img src=\"../images/code.gif\" height=24 " +
+                    "width=24 align=right border=0 alt=\"view code\"></a>");
+        out.println("<a href=\"../index.html\">");
+        out.println("<img src=\"../images/return.gif\" height=24 " +
+                    "width=24 align=right border=0 alt=\"return\"></a>");
+
+        out.println("<h3>" + title + "</h3>");
+        String firstName = request.getParameter("firstname");
+        String lastName = request.getParameter("lastname");
+        out.println(rb.getString("requestparams.params-in-req") + "<br>");
+        if (firstName != null || lastName != null) {
+            out.println(rb.getString("requestparams.firstname"));
+            out.println(" = " + HTMLFilter.filter(firstName) + "<br>");
+            out.println(rb.getString("requestparams.lastname"));
+            out.println(" = " + HTMLFilter.filter(lastName));
+        } else {
+            out.println(rb.getString("requestparams.no-params"));
+        }
+        out.println("<P>");
+        out.print("<form action=\"");
+        out.print("RequestParamExample\" ");
+        out.println("method=POST>");
+        out.println(rb.getString("requestparams.firstname"));
+        out.println("<input type=text size=20 name=firstname>");
+        out.println("<br>");
+        out.println(rb.getString("requestparams.lastname"));
+        out.println("<input type=text size=20 name=lastname>");
+        out.println("<br>");
+        out.println("<input type=submit>");
+        out.println("</form>");
+
+        out.println("</body>");
+        out.println("</html>");
+    }
+
+    public void doPost(HttpServletRequest request,
+                      HttpServletResponse response)
+        throws IOException, ServletException
+    {
+        doGet(request, response);
+    }
+
+}
Index: /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/SessionExample.java
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/SessionExample.java	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/SessionExample.java	(revision 66)
@@ -0,0 +1,140 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+/* $Id: SessionExample.java 500674 2007-01-27 23:15:00Z markt $
+ *
+ */
+
+import java.io.*;
+import java.util.*;
+import javax.servlet.*;
+import javax.servlet.http.*;
+
+import util.HTMLFilter;
+
+/**
+ * Example servlet showing request headers
+ *
+ * @author James Duncan Davidson <duncan@eng.sun.com>
+ */
+
+public class SessionExample extends HttpServlet {
+
+    ResourceBundle rb = ResourceBundle.getBundle("LocalStrings");
+    
+    public void doGet(HttpServletRequest request,
+                      HttpServletResponse response)
+        throws IOException, ServletException
+    {
+        response.setContentType("text/html");
+
+        PrintWriter out = response.getWriter();
+        out.println("<html>");
+        out.println("<body bgcolor=\"white\">");
+        out.println("<head>");
+
+        String title = rb.getString("sessions.title");
+        out.println("<title>" + title + "</title>");
+        out.println("</head>");
+        out.println("<body>");
+
+        // img stuff not req'd for source code html showing
+	// relative links everywhere!
+
+        // XXX
+        // making these absolute till we work out the
+        // addition of a PathInfo issue 
+	
+        out.println("<a href=\"../sessions.html\">");
+        out.println("<img src=\"../images/code.gif\" height=24 " +
+                    "width=24 align=right border=0 alt=\"view code\"></a>");
+        out.println("<a href=\"../index.html\">");
+        out.println("<img src=\"../images/return.gif\" height=24 " +
+                    "width=24 align=right border=0 alt=\"return\"></a>");
+
+        out.println("<h3>" + title + "</h3>");
+
+        HttpSession session = request.getSession(true);
+        out.println(rb.getString("sessions.id") + " " + session.getId());
+        out.println("<br>");
+        out.println(rb.getString("sessions.created") + " ");
+        out.println(new Date(session.getCreationTime()) + "<br>");
+        out.println(rb.getString("sessions.lastaccessed") + " ");
+        out.println(new Date(session.getLastAccessedTime()));
+
+        String dataName = request.getParameter("dataname");
+        String dataValue = request.getParameter("datavalue");
+        if (dataName != null && dataValue != null) {
+            session.setAttribute(dataName, dataValue);
+        }
+
+        out.println("<P>");
+        out.println(rb.getString("sessions.data") + "<br>");
+        Enumeration names = session.getAttributeNames();
+        while (names.hasMoreElements()) {
+            String name = (String) names.nextElement(); 
+            String value = session.getAttribute(name).toString();
+            out.println(HTMLFilter.filter(name) + " = " 
+                        + HTMLFilter.filter(value) + "<br>");
+        }
+
+        out.println("<P>");
+        out.print("<form action=\"");
+	out.print(response.encodeURL("SessionExample"));
+        out.print("\" ");
+        out.println("method=POST>");
+        out.println(rb.getString("sessions.dataname"));
+        out.println("<input type=text size=20 name=dataname>");
+        out.println("<br>");
+        out.println(rb.getString("sessions.datavalue"));
+        out.println("<input type=text size=20 name=datavalue>");
+        out.println("<br>");
+        out.println("<input type=submit>");
+        out.println("</form>");
+
+        out.println("<P>GET based form:<br>");
+        out.print("<form action=\"");
+	out.print(response.encodeURL("SessionExample"));
+        out.print("\" ");
+        out.println("method=GET>");
+        out.println(rb.getString("sessions.dataname"));
+        out.println("<input type=text size=20 name=dataname>");
+        out.println("<br>");
+        out.println(rb.getString("sessions.datavalue"));
+        out.println("<input type=text size=20 name=datavalue>");
+        out.println("<br>");
+        out.println("<input type=submit>");
+        out.println("</form>");
+
+        out.print("<p><a href=\"");
+	out.print(response.encodeURL("SessionExample?dataname=foo&datavalue=bar"));
+	out.println("\" >URL encoded </a>");
+	
+        out.println("</body>");
+        out.println("</html>");
+        
+        out.println("</body>");
+        out.println("</html>");
+    }
+
+    public void doPost(HttpServletRequest request,
+                      HttpServletResponse response)
+        throws IOException, ServletException
+    {
+        doGet(request, response);
+    }
+
+}
Index: /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/cal/Entries.java
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/cal/Entries.java	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/cal/Entries.java	(revision 66)
@@ -0,0 +1,72 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package cal;
+
+import java.util.Hashtable;
+import javax.servlet.http.*;
+
+public class Entries {
+
+  private Hashtable entries;
+  private static final String[] time = {"8am", "9am", "10am", "11am", "12pm", 
+					"1pm", "2pm", "3pm", "4pm", "5pm", "6pm",
+					"7pm", "8pm" };
+  public static final int rows = 12;
+
+  public Entries () {   
+   entries = new Hashtable (rows);
+   for (int i=0; i < rows; i++) {
+     entries.put (time[i], new Entry(time[i]));
+   }
+  }
+
+  public int getRows () {
+    return rows;
+  }
+
+  public Entry getEntry (int index) {
+    return (Entry)this.entries.get(time[index]);
+  }
+
+  public int getIndex (String tm) {
+    for (int i=0; i<rows; i++)
+      if(tm.equals(time[i])) return i;
+    return -1;
+  }
+
+  public void processRequest (HttpServletRequest request, String tm) {
+    int index = getIndex (tm);
+    if (index >= 0) {
+      String descr = request.getParameter ("description");
+      ((Entry)entries.get(time[index])).setDescription (descr);
+    }
+  }
+
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/cal/Entry.java
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/cal/Entry.java	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/cal/Entry.java	(revision 66)
@@ -0,0 +1,55 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+package cal;
+
+public class Entry {
+
+  String hour;
+  String description;
+  String color;
+
+  public Entry (String hour) {
+    this.hour = hour;
+    this.description = "";
+
+  }
+
+  public String getHour () {
+    return this.hour;
+  }
+
+  public String getColor () {
+    if (description.equals("")) return "lightblue";
+    else return "red";
+  }
+
+  public String getDescription () {
+    if (description.equals("")) return "None";
+    else return this.description;
+  }
+
+  public void setDescription (String descr) {
+    description = descr;
+  }
+ 
+}
+
+
+
+
+
Index: /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/cal/JspCalendar.java
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/cal/JspCalendar.java	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/cal/JspCalendar.java	(revision 66)
@@ -0,0 +1,154 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+package cal;
+
+import java.util.*;
+
+public class JspCalendar {
+    Calendar  calendar = null;
+    Date currentDate;
+
+    public JspCalendar() {
+	calendar = Calendar.getInstance();
+	Date trialTime = new Date();
+	calendar.setTime(trialTime);
+    }
+
+
+    public int getYear() {
+	return calendar.get(Calendar.YEAR);
+    }
+    
+    public String getMonth() {
+	int m = getMonthInt();
+	String[] months = new String [] { "January", "February", "March",
+					"April", "May", "June",
+					"July", "August", "September",
+					"October", "November", "December" };
+	if (m > 12)
+	    return "Unknown to Man";
+	
+	return months[m - 1];
+
+    }
+
+    public String getDay() {
+	int x = getDayOfWeek();
+	String[] days = new String[] {"Sunday", "Monday", "Tuesday", "Wednesday", 
+				      "Thursday", "Friday", "Saturday"};
+
+	if (x > 7)
+	    return "Unknown to Man";
+
+	return days[x - 1];
+
+    }
+    
+    public int getMonthInt() {
+	return 1 + calendar.get(Calendar.MONTH);
+    }
+
+    public String getDate() {
+	return getMonthInt() + "/" + getDayOfMonth() + "/" +  getYear();	
+    }
+
+    public String getCurrentDate() {
+        Date dt = new Date ();
+	calendar.setTime (dt);
+	return getMonthInt() + "/" + getDayOfMonth() + "/" +  getYear();
+
+    }
+
+    public String getNextDate() {
+        calendar.set (Calendar.DAY_OF_MONTH, getDayOfMonth() + 1);
+	return getDate ();
+    }
+
+    public String getPrevDate() {
+        calendar.set (Calendar.DAY_OF_MONTH, getDayOfMonth() - 1);
+	return getDate ();
+    }
+
+    public String getTime() {
+	return getHour() + ":" + getMinute() + ":" + getSecond();
+    }
+
+    public int getDayOfMonth() {
+	return calendar.get(Calendar.DAY_OF_MONTH);
+    }
+
+    public int getDayOfYear() {
+	return calendar.get(Calendar.DAY_OF_YEAR);
+    }
+
+    public int getWeekOfYear() {
+	return calendar.get(Calendar.WEEK_OF_YEAR);
+    }
+
+    public int getWeekOfMonth() {
+	return calendar.get(Calendar.WEEK_OF_MONTH);
+    }
+
+    public int getDayOfWeek() {
+	return calendar.get(Calendar.DAY_OF_WEEK);
+    }
+     
+    public int getHour() {
+	return calendar.get(Calendar.HOUR_OF_DAY);
+    }
+    
+    public int getMinute() {
+	return calendar.get(Calendar.MINUTE);
+    }
+
+
+    public int getSecond() {
+	return calendar.get(Calendar.SECOND);
+    }
+
+  
+    public int getEra() {
+	return calendar.get(Calendar.ERA);
+    }
+
+    public String getUSTimeZone() {
+	String[] zones = new String[] {"Hawaii", "Alaskan", "Pacific",
+				       "Mountain", "Central", "Eastern"};
+	
+	return zones[10 + getZoneOffset()];
+    }
+
+    public int getZoneOffset() {
+	return calendar.get(Calendar.ZONE_OFFSET)/(60*60*1000);
+    }
+
+
+    public int getDSTOffset() {
+	return calendar.get(Calendar.DST_OFFSET)/(60*60*1000);
+    }
+
+    
+    public int getAMPM() {
+	return calendar.get(Calendar.AM_PM);
+    }
+}
+
+
+
+
+
Index: /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/cal/TableBean.java
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/cal/TableBean.java	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/cal/TableBean.java	(revision 66)
@@ -0,0 +1,100 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package cal;
+
+import javax.servlet.http.*;
+import java.util.Hashtable;
+
+public class TableBean {
+
+  Hashtable table;
+  JspCalendar JspCal;
+  Entries entries;
+  String date;
+  String name = null;
+  String email = null;
+  boolean processError = false;
+
+  public TableBean () {
+    this.table = new Hashtable (10);
+    this.JspCal = new JspCalendar ();
+    this.date = JspCal.getCurrentDate ();
+  }
+
+  public void setName (String nm) {
+    this.name = nm;
+  }
+
+  public String getName () {
+    return this.name;
+  }
+  
+  public void setEmail (String mail) {
+    this.email = mail;
+  }
+
+  public String getEmail () {
+    return this.email;
+  }
+
+  public String getDate () {
+    return this.date;
+  }
+
+  public Entries getEntries () {
+    return this.entries;
+  }
+
+  public void processRequest (HttpServletRequest request) {
+
+    // Get the name and e-mail.
+    this.processError = false;
+    if (name == null || name.equals("")) setName(request.getParameter ("name"));  
+    if (email == null || email.equals("")) setEmail(request.getParameter ("email"));
+    if (name == null || email == null ||
+		name.equals("") || email.equals("")) {
+      this.processError = true;
+      return;
+    }
+
+    // Get the date.
+    String dateR = request.getParameter ("date");
+    if (dateR == null) date = JspCal.getCurrentDate ();
+    else if (dateR.equalsIgnoreCase("next")) date = JspCal.getNextDate ();
+    else if (dateR.equalsIgnoreCase("prev")) date = JspCal.getPrevDate ();
+
+    entries = (Entries) table.get (date);
+    if (entries == null) {
+      entries = new Entries ();
+      table.put (date, entries);
+    }
+
+    // If time is provided add the event.
+	String time = request.getParameter("time");
+    if (time != null) entries.processRequest (request, time);
+  }
+
+  public boolean getProcessError () {
+    return this.processError;
+  }
+}
+
+
+
+
+
+
Index: /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/chat/ChatServlet.java
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/chat/ChatServlet.java	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/chat/ChatServlet.java	(revision 66)
@@ -0,0 +1,256 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+package chat;
+
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.PrintWriter;
+import java.util.ArrayList;
+
+import org.apache.catalina.CometEvent;
+import org.apache.catalina.CometProcessor;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+
+/**
+ * Helper class to implement Comet functionality.
+ */
+public class ChatServlet
+    extends HttpServlet implements CometProcessor {
+
+    protected ArrayList<HttpServletResponse> connections = 
+        new ArrayList<HttpServletResponse>();
+    protected MessageSender messageSender = null;
+    
+    public void init() throws ServletException {
+        messageSender = new MessageSender();
+        Thread messageSenderThread = 
+            new Thread(messageSender, "MessageSender[" + getServletContext().getContextPath() + "]");
+        messageSenderThread.setDaemon(true);
+        messageSenderThread.start();
+    }
+
+    public void destroy() {
+        connections.clear();
+        messageSender.stop();
+        messageSender = null;
+    }
+
+    /**
+     * Process the given Comet event.
+     * 
+     * @param event The Comet event that will be processed
+     * @throws IOException
+     * @throws ServletException
+     */
+    public void event(CometEvent event)
+        throws IOException, ServletException {
+
+        // Note: There should really be two servlets in this example, to avoid
+        // mixing Comet stuff with regular connection processing
+        HttpServletRequest request = event.getHttpServletRequest();
+        HttpServletResponse response = event.getHttpServletResponse();
+        
+        if (event.getEventType() == CometEvent.EventType.BEGIN) {
+            String action = request.getParameter("action");
+            if (action != null) {
+                if ("login".equals(action)) {
+                    String nickname = request.getParameter("nickname");
+                    request.getSession(true).setAttribute("nickname", nickname);
+                    response.sendRedirect("post.jsp");
+                    event.close();
+                    return;
+                } else {
+                    String nickname = (String) request.getSession(true).getAttribute("nickname");
+                    String message = request.getParameter("message");
+                    messageSender.send(nickname, message);
+                    response.sendRedirect("post.jsp");
+                    event.close();
+                    return;
+                }
+            } else {
+                if (request.getSession(true).getAttribute("nickname") == null) {
+                    // Redirect to "login"
+                    log("Redirect to login for session: " + request.getSession(true).getId());
+                    response.sendRedirect("login.jsp");
+                    event.close();
+                    return;
+                }
+            }
+            begin(event, request, response);
+        } else if (event.getEventType() == CometEvent.EventType.ERROR) {
+            error(event, request, response);
+        } else if (event.getEventType() == CometEvent.EventType.END) {
+            end(event, request, response);
+        } else if (event.getEventType() == CometEvent.EventType.READ) {
+            read(event, request, response);
+        }
+    }
+
+    protected void begin(CometEvent event, HttpServletRequest request, HttpServletResponse response)
+        throws IOException, ServletException {
+        log("Begin for session: " + request.getSession(true).getId());
+        
+        PrintWriter writer = response.getWriter();
+        writer.println("<!doctype html public \"-//w3c//dtd html 4.0 transitional//en\">");
+        writer.println("<html><head><title>JSP Chat</title></head><body bgcolor=\"#FFFFFF\">");
+        writer.flush();
+
+        synchronized(connections) {
+            connections.add(response);
+        }
+    }
+    
+    protected void end(CometEvent event, HttpServletRequest request, HttpServletResponse response)
+        throws IOException, ServletException {
+        log("End for session: " + request.getSession(true).getId());
+        synchronized(connections) {
+            connections.remove(response);
+        }
+        
+        PrintWriter writer = response.getWriter();
+        writer.println("</body></html>");
+        
+        event.close();
+        
+    }
+    
+    protected void error(CometEvent event, HttpServletRequest request, HttpServletResponse response)
+        throws IOException, ServletException {
+        log("Error for session: " + request.getSession(true).getId());
+        synchronized(connections) {
+            connections.remove(response);
+        }
+        event.close();
+    }
+    
+    protected void read(CometEvent event, HttpServletRequest request, HttpServletResponse response)
+        throws IOException, ServletException {
+        InputStream is = request.getInputStream();
+        byte[] buf = new byte[512];
+        while (is.available() > 0) {
+            log("Available: " + is.available());
+            int n = is.read(buf);
+            if (n > 0) {
+                log("Read " + n + " bytes: " + new String(buf, 0, n) 
+                        + " for session: " + request.getSession(true).getId());
+            } else if (n < 0) {
+                log("End of file: " + n);
+                end(event, request, response);
+                return;
+            }
+        }
+    }
+
+    protected void service(HttpServletRequest request, HttpServletResponse response)
+        throws IOException, ServletException {
+        // Compatibility method: equivalent method using the regular connection model
+        PrintWriter writer = response.getWriter();
+        writer.println("<!doctype html public \"-//w3c//dtd html 4.0 transitional//en\">");
+        writer.println("<html><head><title>JSP Chat</title></head><body bgcolor=\"#FFFFFF\">");
+        writer.println("Chat example only supports Comet processing");
+        writer.println("</body></html>");
+    }
+    
+
+    /**
+     * Poller class.
+     */
+    public class MessageSender implements Runnable {
+
+        protected boolean running = true;
+        protected ArrayList<String> messages = new ArrayList<String>();
+        
+        public MessageSender() {
+        }
+        
+        public void stop() {
+            running = false;
+        }
+
+        /**
+         * Add specified socket and associated pool to the poller. The socket will
+         * be added to a temporary array, and polled first after a maximum amount
+         * of time equal to pollTime (in most cases, latency will be much lower,
+         * however).
+         *
+         * @param socket to add to the poller
+         */
+        public void send(String user, String message) {
+            synchronized (messages) {
+                messages.add("[" + user + "]: " + message);
+                messages.notify();
+            }
+        }
+
+        /**
+         * The background thread that listens for incoming TCP/IP connections and
+         * hands them off to an appropriate processor.
+         */
+        public void run() {
+
+            // Loop until we receive a shutdown command
+            while (running) {
+                // Loop if endpoint is paused
+
+                if (messages.size() == 0) {
+                    try {
+                        synchronized (messages) {
+                            messages.wait();
+                        }
+                    } catch (InterruptedException e) {
+                        // Ignore
+                    }
+                }
+
+                synchronized (connections) {
+                    String[] pendingMessages = null;
+                    synchronized (messages) {
+                        pendingMessages = messages.toArray(new String[0]);
+                        messages.clear();
+                    }
+                    for (int i = 0; i < connections.size(); i++) {
+                        try {
+                            PrintWriter writer = connections.get(i).getWriter();
+                            for (int j = 0; j < pendingMessages.length; j++) {
+                                // FIXME: Add HTML filtering
+                                writer.println(pendingMessages[j] + "<br/>");
+                            }
+                            writer.flush();
+                        } catch (IOException e) {
+                            log("IOExeption sending message", e);
+                        }
+                    }
+                }
+
+            }
+
+        }
+
+    }
+
+
+
+
+}
Index: /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/checkbox/CheckTest.java
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/checkbox/CheckTest.java	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/checkbox/CheckTest.java	(revision 66)
@@ -0,0 +1,31 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+package checkbox;
+
+public class CheckTest {
+
+    String b[] = new String[] { "1", "2", "3", "4" };
+
+    public String[] getFruit() {
+	return b;
+    }
+
+    public void setFruit(String [] b) {
+	this.b = b;
+    }
+}
Index: /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/colors/ColorGameBean.java
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/colors/ColorGameBean.java	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/colors/ColorGameBean.java	(revision 66)
@@ -0,0 +1,115 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package colors;
+
+import javax.servlet.http.*;
+
+public class ColorGameBean {
+
+    private String background = "yellow";
+    private String foreground = "red";
+    private String color1 = foreground;
+    private String color2 = background;
+    private String hint = "no";
+    private int attempts = 0;
+	private int intval = 0;
+    private boolean tookHints = false;
+
+    public void processRequest(HttpServletRequest request) {
+
+	// background = "yellow";
+	// foreground = "red";
+
+	if (! color1.equals(foreground)) {
+	    if (color1.equalsIgnoreCase("black") ||
+			color1.equalsIgnoreCase("cyan")) {
+			background = color1;
+		}
+	}
+
+	if (! color2.equals(background)) {
+	    if (color2.equalsIgnoreCase("black") ||
+			color2.equalsIgnoreCase("cyan")) {
+			foreground = color2;
+	    }
+	}
+
+	attempts++;
+    }
+
+    public void setColor2(String x) {
+	color2 = x;
+    }
+
+    public void setColor1(String x) {
+	color1 = x;
+    }
+
+    public void setAction(String x) {
+	if (!tookHints)
+	    tookHints = x.equalsIgnoreCase("Hint");
+	hint = x;
+    }
+
+    public String getColor2() {
+	 return background;
+    }
+
+    public String getColor1() {
+	 return foreground;
+    }
+
+    public int getAttempts() {
+	return attempts;
+    }
+
+    public boolean getHint() {
+	return hint.equalsIgnoreCase("Hint");
+    }
+
+    public boolean getSuccess() {
+	if (background.equalsIgnoreCase("black") ||
+	    background.equalsIgnoreCase("cyan")) {
+	
+	    if (foreground.equalsIgnoreCase("black") ||
+		foreground.equalsIgnoreCase("cyan"))
+		return true;
+	    else
+		return false;
+	}
+
+	return false;
+    }
+
+    public boolean getHintTaken() {
+	return tookHints;
+    }
+
+    public void reset() {
+	foreground = "red";
+	background = "yellow";
+    }
+
+    public void setIntval(int value) {
+	intval = value;
+	}
+
+    public int getIntval() {
+	return intval;
+	}
+}
+
Index: /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/compressionFilters/CompressionFilter.java
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/compressionFilters/CompressionFilter.java	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/compressionFilters/CompressionFilter.java	(revision 66)
@@ -0,0 +1,219 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+package compressionFilters;
+
+import java.io.IOException;
+import java.util.Enumeration;
+import javax.servlet.Filter;
+import javax.servlet.FilterChain;
+import javax.servlet.FilterConfig;
+import javax.servlet.ServletException;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+
+/**
+ * Implementation of <code>javax.servlet.Filter</code> used to compress
+ * the ServletResponse if it is bigger than a threshold.
+ *
+ * @author Amy Roh
+ * @author Dmitri Valdin
+ * @version $Revision: 467217 $, $Date: 2006-10-24 05:14:34 +0200 (Tue, 24 Oct 2006) $
+ */
+
+public class CompressionFilter implements Filter{
+
+    /**
+     * The filter configuration object we are associated with.  If this value
+     * is null, this filter instance is not currently configured.
+     */
+    private FilterConfig config = null;
+
+    /**
+     * Minimal reasonable threshold
+     */
+    private int minThreshold = 128;
+
+
+    /**
+     * The threshold number to compress
+     */
+    protected int compressionThreshold;
+
+    /**
+     * Debug level for this filter
+     */
+    private int debug = 0;
+
+    /**
+     * Place this filter into service.
+     *
+     * @param filterConfig The filter configuration object
+     */
+
+    public void init(FilterConfig filterConfig) {
+
+        config = filterConfig;
+        if (filterConfig != null) {
+            String value = filterConfig.getInitParameter("debug");
+            if (value!=null) {
+                debug = Integer.parseInt(value);
+            } else {
+                debug = 0;
+            }
+            String str = filterConfig.getInitParameter("compressionThreshold");
+            if (str!=null) {
+                compressionThreshold = Integer.parseInt(str);
+                if (compressionThreshold != 0 && compressionThreshold < minThreshold) {
+                    if (debug > 0) {
+                        System.out.println("compressionThreshold should be either 0 - no compression or >= " + minThreshold);
+                        System.out.println("compressionThreshold set to " + minThreshold);
+                    }
+                    compressionThreshold = minThreshold;
+                }
+            } else {
+                compressionThreshold = 0;
+            }
+
+        } else {
+            compressionThreshold = 0;
+        }
+
+    }
+
+    /**
+    * Take this filter out of service.
+    */
+    public void destroy() {
+
+        this.config = null;
+
+    }
+
+    /**
+     * The <code>doFilter</code> method of the Filter is called by the container
+     * each time a request/response pair is passed through the chain due
+     * to a client request for a resource at the end of the chain.
+     * The FilterChain passed into this method allows the Filter to pass on the
+     * request and response to the next entity in the chain.<p>
+     * This method first examines the request to check whether the client support
+     * compression. <br>
+     * It simply just pass the request and response if there is no support for
+     * compression.<br>
+     * If the compression support is available, it creates a
+     * CompressionServletResponseWrapper object which compresses the content and
+     * modifies the header if the content length is big enough.
+     * It then invokes the next entity in the chain using the FilterChain object
+     * (<code>chain.doFilter()</code>), <br>
+     **/
+
+    public void doFilter ( ServletRequest request, ServletResponse response,
+                        FilterChain chain ) throws IOException, ServletException {
+
+        if (debug > 0) {
+            System.out.println("@doFilter");
+        }
+
+        if (compressionThreshold == 0) {
+            if (debug > 0) {
+                System.out.println("doFilter gets called, but compressionTreshold is set to 0 - no compression");
+            }
+            chain.doFilter(request, response);
+            return;
+        }
+
+        boolean supportCompression = false;
+        if (request instanceof HttpServletRequest) {
+            if (debug > 1) {
+                System.out.println("requestURI = " + ((HttpServletRequest)request).getRequestURI());
+            }
+
+            // Are we allowed to compress ?
+            String s = (String) ((HttpServletRequest)request).getParameter("gzip");
+            if ("false".equals(s)) {
+                if (debug > 0) {
+                    System.out.println("got parameter gzip=false --> don't compress, just chain filter");
+                }
+                chain.doFilter(request, response);
+                return;
+            }
+
+            Enumeration e =
+                ((HttpServletRequest)request).getHeaders("Accept-Encoding");
+            while (e.hasMoreElements()) {
+                String name = (String)e.nextElement();
+                if (name.indexOf("gzip") != -1) {
+                    if (debug > 0) {
+                        System.out.println("supports compression");
+                    }
+                    supportCompression = true;
+                } else {
+                    if (debug > 0) {
+                        System.out.println("no support for compresion");
+                    }
+                }
+            }
+        }
+
+        if (!supportCompression) {
+            if (debug > 0) {
+                System.out.println("doFilter gets called wo compression");
+            }
+            chain.doFilter(request, response);
+            return;
+        } else {
+            if (response instanceof HttpServletResponse) {
+                CompressionServletResponseWrapper wrappedResponse =
+                    new CompressionServletResponseWrapper((HttpServletResponse)response);
+                wrappedResponse.setDebugLevel(debug);
+                wrappedResponse.setCompressionThreshold(compressionThreshold);
+                if (debug > 0) {
+                    System.out.println("doFilter gets called with compression");
+                }
+                try {
+                    chain.doFilter(request, wrappedResponse);
+                } finally {
+                    wrappedResponse.finishResponse();
+                }
+                return;
+            }
+        }
+    }
+
+    /**
+     * Set filter config
+     * This function is equivalent to init. Required by Weblogic 6.1
+     *
+     * @param filterConfig The filter configuration object
+     */
+    public void setFilterConfig(FilterConfig filterConfig) {
+        init(filterConfig);
+    }
+
+    /**
+     * Return filter config
+     * Required by Weblogic 6.1
+     */
+    public FilterConfig getFilterConfig() {
+        return config;
+    }
+
+}
+
Index: /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/compressionFilters/CompressionFilterTestServlet.java
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/compressionFilters/CompressionFilterTestServlet.java	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/compressionFilters/CompressionFilterTestServlet.java	(revision 66)
@@ -0,0 +1,57 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+package compressionFilters;
+
+import java.io.IOException;
+import java.util.Enumeration;
+import javax.servlet.*;
+import javax.servlet.http.*;
+
+/**
+ * Very Simple test servlet to test compression filter
+ * @author Amy Roh
+ * @version $Revision: 500668 $, $Date: 2007-01-28 00:07:51 +0100 (Sun, 28 Jan 2007) $
+ */
+
+public class CompressionFilterTestServlet extends HttpServlet {
+
+    public void doGet(HttpServletRequest request, HttpServletResponse response)
+        throws ServletException, IOException {
+
+        ServletOutputStream out = response.getOutputStream();
+        response.setContentType("text/plain");
+
+        Enumeration e = ((HttpServletRequest)request).getHeaders("Accept-Encoding");
+        while (e.hasMoreElements()) {
+            String name = (String)e.nextElement();
+            out.println(name);
+            if (name.indexOf("gzip") != -1) {
+                out.println("gzip supported -- able to compress");
+            }
+            else {
+                out.println("gzip not supported");
+            }
+        }
+
+
+        out.println("Compression Filter Test Servlet");
+        out.close();
+    }
+
+}
+
Index: /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/compressionFilters/CompressionResponseStream.java
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/compressionFilters/CompressionResponseStream.java	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/compressionFilters/CompressionResponseStream.java	(revision 66)
@@ -0,0 +1,324 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package compressionFilters;
+
+import java.io.IOException;
+import java.io.OutputStream;
+import java.util.zip.GZIPOutputStream;
+import javax.servlet.ServletOutputStream;
+import javax.servlet.http.HttpServletResponse;
+
+
+/**
+ * Implementation of <b>ServletOutputStream</b> that works with
+ * the CompressionServletResponseWrapper implementation.
+ *
+ * @author Amy Roh
+ * @author Dmitri Valdin
+ * @version $Revision: 500668 $, $Date: 2007-01-28 00:07:51 +0100 (Sun, 28 Jan 2007) $
+ */
+
+public class CompressionResponseStream
+    extends ServletOutputStream {
+
+
+    // ----------------------------------------------------------- Constructors
+
+
+    /**
+     * Construct a servlet output stream associated with the specified Response.
+     *
+     * @param response The associated response
+     */
+    public CompressionResponseStream(HttpServletResponse response) throws IOException{
+
+        super();
+        closed = false;
+        this.response = response;
+        this.output = response.getOutputStream();
+
+    }
+
+
+    // ----------------------------------------------------- Instance Variables
+
+
+    /**
+     * The threshold number which decides to compress or not.
+     * Users can configure in web.xml to set it to fit their needs.
+     */
+    protected int compressionThreshold = 0;
+
+    /**
+     * Debug level
+     */
+    private int debug = 0;
+
+    /**
+     * The buffer through which all of our output bytes are passed.
+     */
+    protected byte[] buffer = null;
+
+    /**
+     * The number of data bytes currently in the buffer.
+     */
+    protected int bufferCount = 0;
+
+    /**
+     * The underlying gzip output stream to which we should write data.
+     */
+    protected OutputStream gzipstream = null;
+
+    /**
+     * Has this stream been closed?
+     */
+    protected boolean closed = false;
+
+    /**
+     * The content length past which we will not write, or -1 if there is
+     * no defined content length.
+     */
+    protected int length = -1;
+
+    /**
+     * The response with which this servlet output stream is associated.
+     */
+    protected HttpServletResponse response = null;
+
+    /**
+     * The underlying servket output stream to which we should write data.
+     */
+    protected ServletOutputStream output = null;
+
+
+    // --------------------------------------------------------- Public Methods
+
+    /**
+     * Set debug level
+     */
+    public void setDebugLevel(int debug) {
+        this.debug = debug;
+    }
+
+
+    /**
+     * Set the compressionThreshold number and create buffer for this size
+     */
+    protected void setBuffer(int threshold) {
+        compressionThreshold = threshold;
+        buffer = new byte[compressionThreshold];
+        if (debug > 1) {
+            System.out.println("buffer is set to "+compressionThreshold);
+        }
+    }
+
+    /**
+     * Close this output stream, causing any buffered data to be flushed and
+     * any further output data to throw an IOException.
+     */
+    public void close() throws IOException {
+
+        if (debug > 1) {
+            System.out.println("close() @ CompressionResponseStream");
+        }
+        if (closed)
+            throw new IOException("This output stream has already been closed");
+
+        if (gzipstream != null) {
+            flushToGZip();
+            gzipstream.close();
+            gzipstream = null;
+        } else {
+            if (bufferCount > 0) {
+                if (debug > 2) {
+                    System.out.print("output.write(");
+                    System.out.write(buffer, 0, bufferCount);
+                    System.out.println(")");
+                }
+                output.write(buffer, 0, bufferCount);
+                bufferCount = 0;
+            }
+        }
+
+        output.close();
+        closed = true;
+
+    }
+
+
+    /**
+     * Flush any buffered data for this output stream, which also causes the
+     * response to be committed.
+     */
+    public void flush() throws IOException {
+
+        if (debug > 1) {
+            System.out.println("flush() @ CompressionResponseStream");
+        }
+        if (closed) {
+            throw new IOException("Cannot flush a closed output stream");
+        }
+
+        if (gzipstream != null) {
+            gzipstream.flush();
+        }
+
+    }
+
+    public void flushToGZip() throws IOException {
+
+        if (debug > 1) {
+            System.out.println("flushToGZip() @ CompressionResponseStream");
+        }
+        if (bufferCount > 0) {
+            if (debug > 1) {
+                System.out.println("flushing out to GZipStream, bufferCount = " + bufferCount);
+            }
+            writeToGZip(buffer, 0, bufferCount);
+            bufferCount = 0;
+        }
+
+    }
+
+    /**
+     * Write the specified byte to our output stream.
+     *
+     * @param b The byte to be written
+     *
+     * @exception IOException if an input/output error occurs
+     */
+    public void write(int b) throws IOException {
+
+        if (debug > 1) {
+            System.out.println("write "+b+" in CompressionResponseStream ");
+        }
+        if (closed)
+            throw new IOException("Cannot write to a closed output stream");
+
+        if (bufferCount >= buffer.length) {
+            flushToGZip();
+        }
+
+        buffer[bufferCount++] = (byte) b;
+
+    }
+
+
+    /**
+     * Write <code>b.length</code> bytes from the specified byte array
+     * to our output stream.
+     *
+     * @param b The byte array to be written
+     *
+     * @exception IOException if an input/output error occurs
+     */
+    public void write(byte b[]) throws IOException {
+
+        write(b, 0, b.length);
+
+    }
+
+
+    /**
+     * Write <code>len</code> bytes from the specified byte array, starting
+     * at the specified offset, to our output stream.
+     *
+     * @param b The byte array containing the bytes to be written
+     * @param off Zero-relative starting offset of the bytes to be written
+     * @param len The number of bytes to be written
+     *
+     * @exception IOException if an input/output error occurs
+     */
+    public void write(byte b[], int off, int len) throws IOException {
+
+        if (debug > 1) {
+            System.out.println("write, bufferCount = " + bufferCount + " len = " + len + " off = " + off);
+        }
+        if (debug > 2) {
+            System.out.print("write(");
+            System.out.write(b, off, len);
+            System.out.println(")");
+        }
+
+        if (closed)
+            throw new IOException("Cannot write to a closed output stream");
+
+        if (len == 0)
+            return;
+
+        // Can we write into buffer ?
+        if (len <= (buffer.length - bufferCount)) {
+            System.arraycopy(b, off, buffer, bufferCount, len);
+            bufferCount += len;
+            return;
+        }
+
+        // There is not enough space in buffer. Flush it ...
+        flushToGZip();
+
+        // ... and try again. Note, that bufferCount = 0 here !
+        if (len <= (buffer.length - bufferCount)) {
+            System.arraycopy(b, off, buffer, bufferCount, len);
+            bufferCount += len;
+            return;
+        }
+
+        // write direct to gzip
+        writeToGZip(b, off, len);
+    }
+
+    public void writeToGZip(byte b[], int off, int len) throws IOException {
+
+        if (debug > 1) {
+            System.out.println("writeToGZip, len = " + len);
+        }
+        if (debug > 2) {
+            System.out.print("writeToGZip(");
+            System.out.write(b, off, len);
+            System.out.println(")");
+        }
+        if (gzipstream == null) {
+            if (debug > 1) {
+                System.out.println("new GZIPOutputStream");
+            }
+            if (response.isCommitted()) {
+                if (debug > 1)
+                    System.out.print("Response already committed. Using original output stream");
+                gzipstream = output;
+            } else {
+                response.addHeader("Content-Encoding", "gzip");
+                gzipstream = new GZIPOutputStream(output);
+            }
+        }
+        gzipstream.write(b, off, len);
+
+    }
+
+
+    // -------------------------------------------------------- Package Methods
+
+
+    /**
+     * Has this response stream been closed?
+     */
+    public boolean closed() {
+
+        return (this.closed);
+
+    }
+
+}
Index: /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/compressionFilters/CompressionServletResponseWrapper.java
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/compressionFilters/CompressionServletResponseWrapper.java	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/compressionFilters/CompressionServletResponseWrapper.java	(revision 66)
@@ -0,0 +1,245 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package compressionFilters;
+
+import java.io.IOException;
+import java.io.OutputStreamWriter;
+import java.io.PrintWriter;
+import javax.servlet.ServletOutputStream;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpServletResponseWrapper;
+
+/**
+ * Implementation of <b>HttpServletResponseWrapper</b> that works with
+ * the CompressionServletResponseStream implementation..
+ *
+ * @author Amy Roh
+ * @author Dmitri Valdin
+ * @version $Revision: 500668 $, $Date: 2007-01-28 00:07:51 +0100 (Sun, 28 Jan 2007) $
+ */
+
+public class CompressionServletResponseWrapper extends HttpServletResponseWrapper {
+
+    // ----------------------------------------------------- Constructor
+
+    /**
+     * Calls the parent constructor which creates a ServletResponse adaptor
+     * wrapping the given response object.
+     */
+
+    public CompressionServletResponseWrapper(HttpServletResponse response) {
+        super(response);
+        origResponse = response;
+        if (debug > 1) {
+            System.out.println("CompressionServletResponseWrapper constructor gets called");
+        }
+    }
+
+
+    // ----------------------------------------------------- Instance Variables
+
+    /**
+     * Original response
+     */
+
+    protected HttpServletResponse origResponse = null;
+
+    /**
+     * Descriptive information about this Response implementation.
+     */
+
+    protected static final String info = "CompressionServletResponseWrapper";
+
+    /**
+     * The ServletOutputStream that has been returned by
+     * <code>getOutputStream()</code>, if any.
+     */
+
+    protected ServletOutputStream stream = null;
+
+
+    /**
+     * The PrintWriter that has been returned by
+     * <code>getWriter()</code>, if any.
+     */
+
+    protected PrintWriter writer = null;
+
+    /**
+     * The threshold number to compress
+     */
+    protected int threshold = 0;
+
+    /**
+     * Debug level
+     */
+    private int debug = 0;
+
+    /**
+     * Content type
+     */
+    protected String contentType = null;
+
+    // --------------------------------------------------------- Public Methods
+
+
+    /**
+     * Set content type
+     */
+    public void setContentType(String contentType) {
+        if (debug > 1) {
+            System.out.println("setContentType to "+contentType);
+        }
+        this.contentType = contentType;
+        origResponse.setContentType(contentType);
+    }
+
+
+    /**
+     * Set threshold number
+     */
+    public void setCompressionThreshold(int threshold) {
+        if (debug > 1) {
+            System.out.println("setCompressionThreshold to " + threshold);
+        }
+        this.threshold = threshold;
+    }
+
+
+    /**
+     * Set debug level
+     */
+    public void setDebugLevel(int debug) {
+        this.debug = debug;
+    }
+
+
+    /**
+     * Create and return a ServletOutputStream to write the content
+     * associated with this Response.
+     *
+     * @exception IOException if an input/output error occurs
+     */
+    public ServletOutputStream createOutputStream() throws IOException {
+        if (debug > 1) {
+            System.out.println("createOutputStream gets called");
+        }
+
+        CompressionResponseStream stream = new CompressionResponseStream(origResponse);
+        stream.setDebugLevel(debug);
+        stream.setBuffer(threshold);
+
+        return stream;
+
+    }
+
+
+    /**
+     * Finish a response.
+     */
+    public void finishResponse() {
+        try {
+            if (writer != null) {
+                writer.close();
+            } else {
+                if (stream != null)
+                    stream.close();
+            }
+        } catch (IOException e) {
+        }
+    }
+
+
+    // ------------------------------------------------ ServletResponse Methods
+
+
+    /**
+     * Flush the buffer and commit this response.
+     *
+     * @exception IOException if an input/output error occurs
+     */
+    public void flushBuffer() throws IOException {
+        if (debug > 1) {
+            System.out.println("flush buffer @ CompressionServletResponseWrapper");
+        }
+        ((CompressionResponseStream)stream).flush();
+
+    }
+
+    /**
+     * Return the servlet output stream associated with this Response.
+     *
+     * @exception IllegalStateException if <code>getWriter</code> has
+     *  already been called for this response
+     * @exception IOException if an input/output error occurs
+     */
+    public ServletOutputStream getOutputStream() throws IOException {
+
+        if (writer != null)
+            throw new IllegalStateException("getWriter() has already been called for this response");
+
+        if (stream == null)
+            stream = createOutputStream();
+        if (debug > 1) {
+            System.out.println("stream is set to "+stream+" in getOutputStream");
+        }
+
+        return (stream);
+
+    }
+
+    /**
+     * Return the writer associated with this Response.
+     *
+     * @exception IllegalStateException if <code>getOutputStream</code> has
+     *  already been called for this response
+     * @exception IOException if an input/output error occurs
+     */
+    public PrintWriter getWriter() throws IOException {
+
+        if (writer != null)
+            return (writer);
+
+        if (stream != null)
+            throw new IllegalStateException("getOutputStream() has already been called for this response");
+
+        stream = createOutputStream();
+        if (debug > 1) {
+            System.out.println("stream is set to "+stream+" in getWriter");
+        }
+        //String charset = getCharsetFromContentType(contentType);
+        String charEnc = origResponse.getCharacterEncoding();
+        if (debug > 1) {
+            System.out.println("character encoding is " + charEnc);
+        }
+        // HttpServletResponse.getCharacterEncoding() shouldn't return null
+        // according the spec, so feel free to remove that "if"
+        if (charEnc != null) {
+            writer = new PrintWriter(new OutputStreamWriter(stream, charEnc));
+        } else {
+            writer = new PrintWriter(stream);
+        }
+        
+        return (writer);
+
+    }
+
+
+    public void setContentLength(int length) {
+    }
+
+}
Index: /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/dates/JspCalendar.java
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/dates/JspCalendar.java	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/dates/JspCalendar.java	(revision 66)
@@ -0,0 +1,152 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package dates;
+
+import java.util.*;
+
+public class JspCalendar {
+    Calendar  calendar = null;
+
+    public JspCalendar() {
+	calendar = Calendar.getInstance();
+	Date trialTime = new Date();
+	calendar.setTime(trialTime);
+    }
+
+    public int getYear() {
+	return calendar.get(Calendar.YEAR);
+    }
+    
+    public String getMonth() {
+	int m = getMonthInt();
+	String[] months = new String [] { "January", "February", "March",
+					"April", "May", "June",
+					"July", "August", "September",
+					"October", "November", "December" };
+	if (m > 12)
+	    return "Unknown to Man";
+	
+	return months[m - 1];
+
+    }
+
+    public String getDay() {
+	int x = getDayOfWeek();
+	String[] days = new String[] {"Sunday", "Monday", "Tuesday", "Wednesday", 
+				      "Thursday", "Friday", "Saturday"};
+
+	if (x > 7)
+	    return "Unknown to Man";
+
+	return days[x - 1];
+
+    }
+    
+    public int getMonthInt() {
+	return 1 + calendar.get(Calendar.MONTH);
+    }
+
+    public String getDate() {
+	return getMonthInt() + "/" + getDayOfMonth() + "/" +  getYear();
+
+    }
+
+    public String getTime() {
+	return getHour() + ":" + getMinute() + ":" + getSecond();
+    }
+
+    public int getDayOfMonth() {
+	return calendar.get(Calendar.DAY_OF_MONTH);
+    }
+
+    public int getDayOfYear() {
+	return calendar.get(Calendar.DAY_OF_YEAR);
+    }
+
+    public int getWeekOfYear() {
+	return calendar.get(Calendar.WEEK_OF_YEAR);
+    }
+
+    public int getWeekOfMonth() {
+	return calendar.get(Calendar.WEEK_OF_MONTH);
+    }
+
+    public int getDayOfWeek() {
+	return calendar.get(Calendar.DAY_OF_WEEK);
+    }
+     
+    public int getHour() {
+	return calendar.get(Calendar.HOUR_OF_DAY);
+    }
+    
+    public int getMinute() {
+	return calendar.get(Calendar.MINUTE);
+    }
+
+
+    public int getSecond() {
+	return calendar.get(Calendar.SECOND);
+    }
+
+    public static void main(String args[]) {
+	JspCalendar db = new JspCalendar();
+	p("date: " + db.getDayOfMonth());
+	p("year: " + db.getYear());
+	p("month: " + db.getMonth());
+	p("time: " + db.getTime());
+	p("date: " + db.getDate());
+	p("Day: " + db.getDay());
+	p("DayOfYear: " + db.getDayOfYear());
+	p("WeekOfYear: " + db.getWeekOfYear());
+	p("era: " + db.getEra());
+	p("ampm: " + db.getAMPM());
+	p("DST: " + db.getDSTOffset());
+	p("ZONE Offset: " + db.getZoneOffset());
+	p("TIMEZONE: " + db.getUSTimeZone());
+    }
+
+    private static void p(String x) {
+	System.out.println(x);
+    }
+
+
+    public int getEra() {
+	return calendar.get(Calendar.ERA);
+    }
+
+    public String getUSTimeZone() {
+	String[] zones = new String[] {"Hawaii", "Alaskan", "Pacific",
+				       "Mountain", "Central", "Eastern"};
+	
+	return zones[10 + getZoneOffset()];
+    }
+
+    public int getZoneOffset() {
+	return calendar.get(Calendar.ZONE_OFFSET)/(60*60*1000);
+    }
+
+
+    public int getDSTOffset() {
+	return calendar.get(Calendar.DST_OFFSET)/(60*60*1000);
+    }
+
+    
+    public int getAMPM() {
+	return calendar.get(Calendar.AM_PM);
+    }
+}
+
Index: /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/error/Smart.java
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/error/Smart.java	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/error/Smart.java	(revision 66)
@@ -0,0 +1,32 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+
+package error;
+
+public class Smart {
+
+  String name = "JSP";
+
+  public String getName () {
+	return name;
+  }	
+
+  public void setName (String name) {
+	this.name = name;
+  }	
+}
Index: /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/examples/ExampleTagBase.java
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/examples/ExampleTagBase.java	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/examples/ExampleTagBase.java	(revision 66)
@@ -0,0 +1,67 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package examples;
+
+import javax.servlet.jsp.*;
+import javax.servlet.jsp.tagext.*;
+
+public abstract class ExampleTagBase extends BodyTagSupport {
+
+    public void setParent(Tag parent) {
+        this.parent = parent;
+    }
+
+    public void setBodyContent(BodyContent bodyOut) {
+        this.bodyOut = bodyOut;
+    }
+
+    public void setPageContext(PageContext pageContext) {
+        this.pageContext = pageContext;
+    }
+
+    public Tag getParent() {
+        return this.parent;
+    }
+    
+    public int doStartTag() throws JspException {
+        return SKIP_BODY;
+    }
+
+    public int doEndTag() throws JspException {
+        return EVAL_PAGE;
+    }
+    
+
+    // Default implementations for BodyTag methods as well
+    // just in case a tag decides to implement BodyTag.
+    public void doInitBody() throws JspException {
+    }
+
+    public int doAfterBody() throws JspException {
+        return SKIP_BODY;
+    }
+
+    public void release() {
+        bodyOut = null;
+        pageContext = null;
+        parent = null;
+    }
+    
+    protected BodyContent bodyOut;
+    protected PageContext pageContext;
+    protected Tag parent;
+}
Index: /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/examples/FooTag.java
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/examples/FooTag.java	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/examples/FooTag.java	(revision 66)
@@ -0,0 +1,80 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package examples;
+
+import javax.servlet.jsp.*;
+import java.io.IOException;
+
+/**
+ * Example1: the simplest tag
+ * Collect attributes and call into some actions
+ *
+ * <foo att1="..." att2="...." att3="...." />
+ */
+
+public class FooTag 
+    extends ExampleTagBase 
+{
+    private String atts[] = new String[3];
+    int i = 0;
+    
+    private final void setAtt(int index, String value) {
+        atts[index] = value;
+    }
+    
+    public void setAtt1(String value) {
+        setAtt(0, value);
+    }
+    
+    public void setAtt2(String value) {
+        setAtt(1, value);
+    }
+
+    public void setAtt3(String value) {
+        setAtt(2, value);
+    }
+    
+    /**
+     * Process start tag
+     *
+     * @return EVAL_BODY_INCLUDE
+     */
+    public int doStartTag() throws JspException {
+        i = 0;
+	return EVAL_BODY_BUFFERED;
+    }
+
+    public void doInitBody() throws JspException {
+        pageContext.setAttribute("member", atts[i]);
+        i++;
+    }
+    
+    public int doAfterBody() throws JspException {
+        try {
+            if (i == 3) {
+                bodyOut.writeOut(bodyOut.getEnclosingWriter());
+                return SKIP_BODY;
+            } else
+                pageContext.setAttribute("member", atts[i]);
+            i++;
+            return EVAL_BODY_BUFFERED;
+        } catch (IOException ex) {
+            throw new JspTagException(ex.toString());
+        }
+    }
+}
+
Index: /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/examples/FooTagExtraInfo.java
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/examples/FooTagExtraInfo.java	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/examples/FooTagExtraInfo.java	(revision 66)
@@ -0,0 +1,33 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package examples;
+
+import javax.servlet.jsp.tagext.*;
+
+public class FooTagExtraInfo extends TagExtraInfo {
+    public VariableInfo[] getVariableInfo(TagData data) {
+        return new VariableInfo[] 
+            {
+                new VariableInfo("member",
+                                 "String",
+                                 true,
+                                 VariableInfo.NESTED)
+            };
+    }
+}
+
+        
Index: /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/examples/LogTag.java
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/examples/LogTag.java	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/examples/LogTag.java	(revision 66)
@@ -0,0 +1,60 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package examples;
+
+
+import javax.servlet.jsp.*;
+
+import java.io.IOException;
+
+/**
+ * Log the contents of the body. Could be used to handle errors etc. 
+ */
+public class LogTag 
+    extends ExampleTagBase
+{
+    boolean toBrowser = false;
+    
+    public void setToBrowser(String value) {
+        if (value == null)
+            toBrowser = false;
+        else if (value.equalsIgnoreCase("true"))
+            toBrowser = true;
+        else
+            toBrowser = false;
+    }
+
+    public int doStartTag() throws JspException {
+        return EVAL_BODY_BUFFERED;
+    }
+    
+    public int doAfterBody() throws JspException {
+        try {
+            String s = bodyOut.getString();
+            System.err.println(s);
+            if (toBrowser)
+                bodyOut.writeOut(bodyOut.getEnclosingWriter());
+            return SKIP_BODY;
+        } catch (IOException ex) {
+            throw new JspTagException(ex.toString());
+        }
+    }
+}
+
+    
+        
+    
Index: /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/examples/ShowSource.java
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/examples/ShowSource.java	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/examples/ShowSource.java	(revision 66)
@@ -0,0 +1,71 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package examples;
+
+
+import javax.servlet.jsp.*;
+import javax.servlet.jsp.tagext.*;
+
+import java.io.*;
+
+/**
+ * Display the sources of the JSP file.
+ */
+public class ShowSource
+    extends TagSupport
+{
+    String jspFile;
+    
+    public void setJspFile(String jspFile) {
+        this.jspFile = jspFile;
+    }
+
+    public int doEndTag() throws JspException {
+	if ((jspFile.indexOf( ".." ) >= 0) ||
+            (jspFile.toUpperCase().indexOf("/WEB-INF/") != 0) ||
+            (jspFile.toUpperCase().indexOf("/META-INF/") != 0))
+	    throw new JspTagException("Invalid JSP file " + jspFile);
+
+        InputStream in
+            = pageContext.getServletContext().getResourceAsStream(jspFile);
+
+        if (in == null)
+            throw new JspTagException("Unable to find JSP file: "+jspFile);
+
+        JspWriter out = pageContext.getOut();
+
+
+        try {
+            out.println("<body>");
+            out.println("<pre>");
+            for(int ch = in.read(); ch != -1; ch = in.read())
+                if (ch == '<')
+                    out.print("&lt;");
+                else
+                    out.print((char) ch);
+            out.println("</pre>");
+            out.println("</body>");
+        } catch (IOException ex) {
+            throw new JspTagException("IOException: "+ex.toString());
+        }
+        return super.doEndTag();
+    }
+}
+
+    
+        
+    
Index: /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/filters/ExampleFilter.java
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/filters/ExampleFilter.java	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/filters/ExampleFilter.java	(revision 66)
@@ -0,0 +1,139 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+package filters;
+
+
+import java.io.IOException;
+import javax.servlet.Filter;
+import javax.servlet.FilterChain;
+import javax.servlet.FilterConfig;
+import javax.servlet.ServletException;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+
+
+/**
+ * Example filter that can be attached to either an individual servlet
+ * or to a URL pattern.  This filter performs the following functions:
+ * <ul>
+ * <li>Attaches itself as a request attribute, under the attribute name
+ *     defined by the value of the <code>attribute</code> initialization
+ *     parameter.</li>
+ * <li>Calculates the number of milliseconds required to perform the
+ *     servlet processing required by this request, including any
+ *     subsequently defined filters, and logs the result to the servlet
+ *     context log for this application.
+ * </ul>
+ *
+ * @author Craig McClanahan
+ * @version $Revision: 500674 $ $Date: 2007-01-28 00:15:00 +0100 (Sun, 28 Jan 2007) $
+ */
+
+public final class ExampleFilter implements Filter {
+
+
+    // ----------------------------------------------------- Instance Variables
+
+
+    /**
+     * The request attribute name under which we store a reference to ourself.
+     */
+    private String attribute = null;
+
+
+    /**
+     * The filter configuration object we are associated with.  If this value
+     * is null, this filter instance is not currently configured.
+     */
+    private FilterConfig filterConfig = null;
+
+
+    // --------------------------------------------------------- Public Methods
+
+
+    /**
+     * Take this filter out of service.
+     */
+    public void destroy() {
+
+        this.attribute = null;
+        this.filterConfig = null;
+
+    }
+
+
+    /**
+     * Time the processing that is performed by all subsequent filters in the
+     * current filter stack, including the ultimately invoked servlet.
+     *
+     * @param request The servlet request we are processing
+     * @param result The servlet response we are creating
+     * @param chain The filter chain we are processing
+     *
+     * @exception IOException if an input/output error occurs
+     * @exception ServletException if a servlet error occurs
+     */
+    public void doFilter(ServletRequest request, ServletResponse response,
+                         FilterChain chain)
+	throws IOException, ServletException {
+
+	// Store ourselves as a request attribute (if requested)
+	if (attribute != null)
+	    request.setAttribute(attribute, this);
+
+	// Time and log the subsequent processing
+	long startTime = System.currentTimeMillis();
+        chain.doFilter(request, response);
+	long stopTime = System.currentTimeMillis();
+	filterConfig.getServletContext().log
+	    (this.toString() + ": " + (stopTime - startTime) +
+	     " milliseconds");
+
+    }
+
+
+    /**
+     * Place this filter into service.
+     *
+     * @param filterConfig The filter configuration object
+     */
+    public void init(FilterConfig filterConfig) throws ServletException {
+
+	this.filterConfig = filterConfig;
+        this.attribute = filterConfig.getInitParameter("attribute");
+
+    }
+
+
+    /**
+     * Return a String representation of this object.
+     */
+    public String toString() {
+
+	if (filterConfig == null)
+	    return ("InvokerFilter()");
+	StringBuffer sb = new StringBuffer("InvokerFilter(");
+	sb.append(filterConfig);
+	sb.append(")");
+	return (sb.toString());
+
+    }
+
+
+}
+
Index: /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/filters/RequestDumperFilter.java
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/filters/RequestDumperFilter.java	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/filters/RequestDumperFilter.java	(revision 66)
@@ -0,0 +1,200 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+
+package filters;
+
+
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.io.StringWriter;
+import java.sql.Timestamp;
+import java.util.Enumeration;
+import java.util.Locale;
+import javax.servlet.Filter;
+import javax.servlet.FilterChain;
+import javax.servlet.FilterConfig;
+import javax.servlet.ServletException;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletRequest;
+
+
+/**
+ * Example filter that dumps interesting state information about a request
+ * to the associated servlet context log file, before allowing the servlet
+ * to process the request in the usual way.  This can be installed as needed
+ * to assist in debugging problems.
+ *
+ * @author Craig McClanahan
+ * @version $Revision: 500674 $ $Date: 2007-01-28 00:15:00 +0100 (Sun, 28 Jan 2007) $
+ */
+
+public final class RequestDumperFilter implements Filter {
+
+
+    // ----------------------------------------------------- Instance Variables
+
+
+    /**
+     * The filter configuration object we are associated with.  If this value
+     * is null, this filter instance is not currently configured.
+     */
+    private FilterConfig filterConfig = null;
+
+
+    // --------------------------------------------------------- Public Methods
+
+
+    /**
+     * Take this filter out of service.
+     */
+    public void destroy() {
+
+        this.filterConfig = null;
+
+    }
+
+
+    /**
+     * Time the processing that is performed by all subsequent filters in the
+     * current filter stack, including the ultimately invoked servlet.
+     *
+     * @param request The servlet request we are processing
+     * @param result The servlet response we are creating
+     * @param chain The filter chain we are processing
+     *
+     * @exception IOException if an input/output error occurs
+     * @exception ServletException if a servlet error occurs
+     */
+    public void doFilter(ServletRequest request, ServletResponse response,
+                         FilterChain chain)
+	throws IOException, ServletException {
+
+        if (filterConfig == null)
+	    return;
+
+	// Render the generic servlet request properties
+	StringWriter sw = new StringWriter();
+	PrintWriter writer = new PrintWriter(sw);
+	writer.println("Request Received at " +
+		       (new Timestamp(System.currentTimeMillis())));
+	writer.println(" characterEncoding=" + request.getCharacterEncoding());
+	writer.println("     contentLength=" + request.getContentLength());
+	writer.println("       contentType=" + request.getContentType());
+	writer.println("            locale=" + request.getLocale());
+	writer.print("           locales=");
+	Enumeration locales = request.getLocales();
+	boolean first = true;
+	while (locales.hasMoreElements()) {
+	    Locale locale = (Locale) locales.nextElement();
+	    if (first)
+	        first = false;
+	    else
+	        writer.print(", ");
+	    writer.print(locale.toString());
+	}
+	writer.println();
+	Enumeration names = request.getParameterNames();
+	while (names.hasMoreElements()) {
+	    String name = (String) names.nextElement();
+	    writer.print("         parameter=" + name + "=");
+	    String values[] = request.getParameterValues(name);
+	    for (int i = 0; i < values.length; i++) {
+	        if (i > 0)
+		    writer.print(", ");
+		writer.print(values[i]);
+	    }
+	    writer.println();
+	}
+	writer.println("          protocol=" + request.getProtocol());
+	writer.println("        remoteAddr=" + request.getRemoteAddr());
+	writer.println("        remoteHost=" + request.getRemoteHost());
+	writer.println("            scheme=" + request.getScheme());
+	writer.println("        serverName=" + request.getServerName());
+	writer.println("        serverPort=" + request.getServerPort());
+	writer.println("          isSecure=" + request.isSecure());
+
+	// Render the HTTP servlet request properties
+	if (request instanceof HttpServletRequest) {
+	    writer.println("---------------------------------------------");
+	    HttpServletRequest hrequest = (HttpServletRequest) request;
+	    writer.println("       contextPath=" + hrequest.getContextPath());
+	    Cookie cookies[] = hrequest.getCookies();
+            if (cookies == null)
+                cookies = new Cookie[0];
+	    for (int i = 0; i < cookies.length; i++) {
+	        writer.println("            cookie=" + cookies[i].getName() +
+			       "=" + cookies[i].getValue());
+	    }
+	    names = hrequest.getHeaderNames();
+	    while (names.hasMoreElements()) {
+	        String name = (String) names.nextElement();
+		String value = hrequest.getHeader(name);
+	        writer.println("            header=" + name + "=" + value);
+	    }
+	    writer.println("            method=" + hrequest.getMethod());
+	    writer.println("          pathInfo=" + hrequest.getPathInfo());
+	    writer.println("       queryString=" + hrequest.getQueryString());
+	    writer.println("        remoteUser=" + hrequest.getRemoteUser());
+	    writer.println("requestedSessionId=" +
+			   hrequest.getRequestedSessionId());
+	    writer.println("        requestURI=" + hrequest.getRequestURI());
+	    writer.println("       servletPath=" + hrequest.getServletPath());
+	}
+	writer.println("=============================================");
+
+	// Log the resulting string
+	writer.flush();
+	filterConfig.getServletContext().log(sw.getBuffer().toString());
+
+	// Pass control on to the next filter
+        chain.doFilter(request, response);
+
+    }
+
+
+    /**
+     * Place this filter into service.
+     *
+     * @param filterConfig The filter configuration object
+     */
+    public void init(FilterConfig filterConfig) throws ServletException {
+
+	this.filterConfig = filterConfig;
+
+    }
+
+
+    /**
+     * Return a String representation of this object.
+     */
+    public String toString() {
+
+	if (filterConfig == null)
+	    return ("RequestDumperFilter()");
+	StringBuffer sb = new StringBuffer("RequestDumperFilter(");
+	sb.append(filterConfig);
+	sb.append(")");
+	return (sb.toString());
+
+    }
+
+
+}
+
Index: /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/filters/SetCharacterEncodingFilter.java
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/filters/SetCharacterEncodingFilter.java	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/filters/SetCharacterEncodingFilter.java	(revision 66)
@@ -0,0 +1,171 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+package filters;
+
+
+import java.io.IOException;
+import javax.servlet.Filter;
+import javax.servlet.FilterChain;
+import javax.servlet.FilterConfig;
+import javax.servlet.ServletException;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+
+
+/**
+ * <p>Example filter that sets the character encoding to be used in parsing the
+ * incoming request, either unconditionally or only if the client did not
+ * specify a character encoding.  Configuration of this filter is based on
+ * the following initialization parameters:</p>
+ * <ul>
+ * <li><strong>encoding</strong> - The character encoding to be configured
+ *     for this request, either conditionally or unconditionally based on
+ *     the <code>ignore</code> initialization parameter.  This parameter
+ *     is required, so there is no default.</li>
+ * <li><strong>ignore</strong> - If set to "true", any character encoding
+ *     specified by the client is ignored, and the value returned by the
+ *     <code>selectEncoding()</code> method is set.  If set to "false,
+ *     <code>selectEncoding()</code> is called <strong>only</strong> if the
+ *     client has not already specified an encoding.  By default, this
+ *     parameter is set to "true".</li>
+ * </ul>
+ *
+ * <p>Although this filter can be used unchanged, it is also easy to
+ * subclass it and make the <code>selectEncoding()</code> method more
+ * intelligent about what encoding to choose, based on characteristics of
+ * the incoming request (such as the values of the <code>Accept-Language</code>
+ * and <code>User-Agent</code> headers, or a value stashed in the current
+ * user's session.</p>
+ *
+ * @author Craig McClanahan
+ * @version $Revision: 500674 $ $Date: 2007-01-28 00:15:00 +0100 (Sun, 28 Jan 2007) $
+ */
+
+public class SetCharacterEncodingFilter implements Filter {
+
+
+    // ----------------------------------------------------- Instance Variables
+
+
+    /**
+     * The default character encoding to set for requests that pass through
+     * this filter.
+     */
+    protected String encoding = null;
+
+
+    /**
+     * The filter configuration object we are associated with.  If this value
+     * is null, this filter instance is not currently configured.
+     */
+    protected FilterConfig filterConfig = null;
+
+
+    /**
+     * Should a character encoding specified by the client be ignored?
+     */
+    protected boolean ignore = true;
+
+
+    // --------------------------------------------------------- Public Methods
+
+
+    /**
+     * Take this filter out of service.
+     */
+    public void destroy() {
+
+        this.encoding = null;
+        this.filterConfig = null;
+
+    }
+
+
+    /**
+     * Select and set (if specified) the character encoding to be used to
+     * interpret request parameters for this request.
+     *
+     * @param request The servlet request we are processing
+     * @param result The servlet response we are creating
+     * @param chain The filter chain we are processing
+     *
+     * @exception IOException if an input/output error occurs
+     * @exception ServletException if a servlet error occurs
+     */
+    public void doFilter(ServletRequest request, ServletResponse response,
+                         FilterChain chain)
+	throws IOException, ServletException {
+
+        // Conditionally select and set the character encoding to be used
+        if (ignore || (request.getCharacterEncoding() == null)) {
+            String encoding = selectEncoding(request);
+            if (encoding != null)
+                request.setCharacterEncoding(encoding);
+        }
+
+	// Pass control on to the next filter
+        chain.doFilter(request, response);
+
+    }
+
+
+    /**
+     * Place this filter into service.
+     *
+     * @param filterConfig The filter configuration object
+     */
+    public void init(FilterConfig filterConfig) throws ServletException {
+
+	this.filterConfig = filterConfig;
+        this.encoding = filterConfig.getInitParameter("encoding");
+        String value = filterConfig.getInitParameter("ignore");
+        if (value == null)
+            this.ignore = true;
+        else if (value.equalsIgnoreCase("true"))
+            this.ignore = true;
+        else if (value.equalsIgnoreCase("yes"))
+            this.ignore = true;
+        else
+            this.ignore = false;
+
+    }
+
+
+    // ------------------------------------------------------ Protected Methods
+
+
+    /**
+     * Select an appropriate character encoding to be used, based on the
+     * characteristics of the current request and/or filter initialization
+     * parameters.  If no character encoding should be set, return
+     * <code>null</code>.
+     * <p>
+     * The default implementation unconditionally returns the value configured
+     * by the <strong>encoding</strong> initialization parameter for this
+     * filter.
+     *
+     * @param request The servlet request we are processing
+     */
+    protected String selectEncoding(ServletRequest request) {
+
+        return (this.encoding);
+
+    }
+
+
+}
Index: /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/jsp2/examples/BookBean.java
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/jsp2/examples/BookBean.java	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/jsp2/examples/BookBean.java	(revision 66)
@@ -0,0 +1,44 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+
+package jsp2.examples;
+
+public class BookBean {
+    private String title;
+    private String author;
+    private String isbn;
+    
+    public BookBean( String title, String author, String isbn ) {
+        this.title = title;
+        this.author = author;
+        this.isbn = isbn;
+    }
+
+    public String getTitle() {
+        return this.title;
+    }
+    
+    public String getAuthor() {
+        return this.author;
+    }
+    
+    public String getIsbn() {
+        return this.isbn;
+    }
+    
+}
Index: /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/jsp2/examples/FooBean.java
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/jsp2/examples/FooBean.java	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/jsp2/examples/FooBean.java	(revision 66)
@@ -0,0 +1,36 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+
+package jsp2.examples;
+
+public class FooBean {
+    private String bar;
+    
+    public FooBean() {
+        bar = "Initial value";
+    }
+    
+    public String getBar() {
+        return this.bar;
+    }
+    
+    public void setBar(String bar) {
+        this.bar = bar;
+    }
+    
+}
Index: /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/jsp2/examples/el/Functions.java
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/jsp2/examples/el/Functions.java	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/jsp2/examples/el/Functions.java	(revision 66)
@@ -0,0 +1,43 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package jsp2.examples.el;
+
+/**
+ * Defines the functions for the jsp2 example tag library.
+ * 
+ * <p>Each function is defined as a static method.</p>
+ */
+public class Functions {
+    public static String reverse( String text ) {
+        return new StringBuffer( text ).reverse().toString();
+    }
+
+    public static int numVowels( String text ) {
+        String vowels = "aeiouAEIOU";
+	int result = 0;
+        for( int i = 0; i < text.length(); i++ ) {
+	    if( vowels.indexOf( text.charAt( i ) ) != -1 ) {
+	        result++;
+	    }
+	}
+	return result;
+    }
+
+    public static String caps( String text ) {
+        return text.toUpperCase();
+    }
+}
Index: /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/jsp2/examples/simpletag/EchoAttributesTag.java
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/jsp2/examples/simpletag/EchoAttributesTag.java	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/jsp2/examples/simpletag/EchoAttributesTag.java	(revision 66)
@@ -0,0 +1,54 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+
+package jsp2.examples.simpletag;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.JspWriter;
+import javax.servlet.jsp.tagext.SimpleTagSupport;
+import javax.servlet.jsp.tagext.DynamicAttributes;
+import java.util.ArrayList;
+import java.io.IOException;
+
+/**
+ * SimpleTag handler that echoes all its attributes 
+ */
+public class EchoAttributesTag 
+    extends SimpleTagSupport
+    implements DynamicAttributes
+{
+    private ArrayList keys = new ArrayList();
+    private ArrayList values = new ArrayList();
+
+    public void doTag() throws JspException, IOException {
+	JspWriter out = getJspContext().getOut();
+	for( int i = 0; i < keys.size(); i++ ) {
+	    String key = (String)keys.get( i );
+	    Object value = values.get( i );
+	    out.println( "<li>" + key + " = " + value + "</li>" );
+        }
+    }
+
+    public void setDynamicAttribute( String uri, String localName, 
+	Object value ) 
+	throws JspException
+    {
+	keys.add( localName );
+	values.add( value );
+    }
+}
Index: /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/jsp2/examples/simpletag/FindBookSimpleTag.java
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/jsp2/examples/simpletag/FindBookSimpleTag.java	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/jsp2/examples/simpletag/FindBookSimpleTag.java	(revision 66)
@@ -0,0 +1,44 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+
+package jsp2.examples.simpletag;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.tagext.SimpleTagSupport;
+import jsp2.examples.BookBean;
+
+/**
+ * SimpleTag handler that pretends to search for a book, and stores
+ * the result in a scoped variable.
+ */
+public class FindBookSimpleTag extends SimpleTagSupport {
+    private String var;
+    
+    private static final String BOOK_TITLE = "The Lord of the Rings";
+    private static final String BOOK_AUTHOR = "J. R. R. Tolkein";
+    private static final String BOOK_ISBN = "0618002251";
+
+    public void doTag() throws JspException {
+        BookBean book = new BookBean( BOOK_TITLE, BOOK_AUTHOR, BOOK_ISBN );
+        getJspContext().setAttribute( this.var, book );
+    }
+
+    public void setVar( String var ) {
+	this.var = var;
+    }
+}
Index: /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/jsp2/examples/simpletag/HelloWorldSimpleTag.java
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/jsp2/examples/simpletag/HelloWorldSimpleTag.java	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/jsp2/examples/simpletag/HelloWorldSimpleTag.java	(revision 66)
@@ -0,0 +1,32 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+
+package jsp2.examples.simpletag;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.tagext.SimpleTagSupport;
+import java.io.IOException;
+
+/**
+ * SimpleTag handler that prints "Hello, world!"
+ */
+public class HelloWorldSimpleTag extends SimpleTagSupport {
+    public void doTag() throws JspException, IOException {
+	getJspContext().getOut().write( "Hello, world!" );
+    }
+}
Index: /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/jsp2/examples/simpletag/RepeatSimpleTag.java
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/jsp2/examples/simpletag/RepeatSimpleTag.java	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/jsp2/examples/simpletag/RepeatSimpleTag.java	(revision 66)
@@ -0,0 +1,42 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+
+package jsp2.examples.simpletag;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.tagext.SimpleTagSupport;
+import java.io.IOException;
+
+/**
+ * SimpleTag handler that accepts a num attribute and 
+ * invokes its body 'num' times.
+ */
+public class RepeatSimpleTag extends SimpleTagSupport {
+    private int num;
+
+    public void doTag() throws JspException, IOException {
+        for (int i=0; i<num; i++) {
+            getJspContext().setAttribute("count", String.valueOf( i + 1 ) );
+	    getJspBody().invoke(null);
+        }
+    }
+
+    public void setNum(int num) {
+	this.num = num;
+    }
+}
Index: /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/jsp2/examples/simpletag/ShuffleSimpleTag.java
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/jsp2/examples/simpletag/ShuffleSimpleTag.java	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/jsp2/examples/simpletag/ShuffleSimpleTag.java	(revision 66)
@@ -0,0 +1,81 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+
+package jsp2.examples.simpletag;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.tagext.JspFragment;
+import javax.servlet.jsp.tagext.SimpleTagSupport;
+import java.io.IOException;
+
+/**
+ * SimpleTag handler that accepts takes three attributes of type
+ * JspFragment and invokes then in a random order.
+ */
+public class ShuffleSimpleTag extends SimpleTagSupport {
+    private JspFragment fragment1;
+    private JspFragment fragment2;
+    private JspFragment fragment3;
+
+    public void doTag() throws JspException, IOException {
+        switch( (int)(Math.random() * 6) ) {
+            case 0:
+                fragment1.invoke( null );
+                fragment2.invoke( null );
+                fragment3.invoke( null );
+                break;
+            case 1:
+                fragment1.invoke( null );
+                fragment3.invoke( null );
+                fragment2.invoke( null );
+                break;
+            case 2:
+                fragment2.invoke( null );
+                fragment1.invoke( null );
+                fragment3.invoke( null );
+                break;
+            case 3:
+                fragment2.invoke( null );
+                fragment3.invoke( null );
+                fragment1.invoke( null );
+                break;
+            case 4:
+                fragment3.invoke( null );
+                fragment1.invoke( null );
+                fragment2.invoke( null );
+                break;
+            case 5:
+                fragment3.invoke( null );
+                fragment2.invoke( null );
+                fragment1.invoke( null );
+                break;
+        }
+    }
+
+    public void setFragment1( JspFragment fragment1 ) {
+        this.fragment1 = fragment1;
+    }
+    
+    public void setFragment2( JspFragment fragment2 ) {
+        this.fragment2 = fragment2;
+    }
+    
+    public void setFragment3( JspFragment fragment3 ) {
+        this.fragment3 = fragment3;
+    }
+}
Index: /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/jsp2/examples/simpletag/TileSimpleTag.java
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/jsp2/examples/simpletag/TileSimpleTag.java	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/jsp2/examples/simpletag/TileSimpleTag.java	(revision 66)
@@ -0,0 +1,46 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+
+package jsp2.examples.simpletag;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.tagext.SimpleTagSupport;
+import java.io.IOException;
+
+/**
+ * Displays a tile as a single cell in a table.
+ */
+public class TileSimpleTag extends SimpleTagSupport {
+    private String color;
+    private String label;
+
+    public void doTag() throws JspException, IOException {
+	getJspContext().getOut().write( 
+	    "<td width=\"32\" height=\"32\" bgcolor=\"" + this.color + 
+	    "\"><font color=\"#ffffff\"><center>" + this.label + 
+                "</center></font></td>" );
+    }
+
+    public void setColor( String color ) {
+        this.color = color;
+    }
+    
+    public void setLabel( String label ) {
+        this.label = label;
+    }
+}
Index: /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/listeners/ContextListener.java
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/listeners/ContextListener.java	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/listeners/ContextListener.java	(revision 66)
@@ -0,0 +1,136 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+package listeners;
+
+
+import javax.servlet.ServletContext;
+import javax.servlet.ServletContextAttributeEvent;
+import javax.servlet.ServletContextAttributeListener;
+import javax.servlet.ServletContextEvent;
+import javax.servlet.ServletContextListener;
+
+
+/**
+ * Example listener for context-related application events, which were
+ * introduced in the 2.3 version of the Servlet API.  This listener
+ * merely documents the occurrence of such events in the application log
+ * associated with our servlet context.
+ *
+ * @author Craig R. McClanahan
+ * @version $Revision: 500674 $ $Date: 2007-01-28 00:15:00 +0100 (Sun, 28 Jan 2007) $
+ */
+
+public final class ContextListener
+    implements ServletContextAttributeListener, ServletContextListener {
+
+
+    // ----------------------------------------------------- Instance Variables
+
+
+    /**
+     * The servlet context with which we are associated.
+     */
+    private ServletContext context = null;
+
+
+    // --------------------------------------------------------- Public Methods
+
+
+    /**
+     * Record the fact that a servlet context attribute was added.
+     *
+     * @param event The servlet context attribute event
+     */
+    public void attributeAdded(ServletContextAttributeEvent event) {
+
+	log("attributeAdded('" + event.getName() + "', '" +
+	    event.getValue() + "')");
+
+    }
+
+
+    /**
+     * Record the fact that a servlet context attribute was removed.
+     *
+     * @param event The servlet context attribute event
+     */
+    public void attributeRemoved(ServletContextAttributeEvent event) {
+
+	log("attributeRemoved('" + event.getName() + "', '" +
+	    event.getValue() + "')");
+
+    }
+
+
+    /**
+     * Record the fact that a servlet context attribute was replaced.
+     *
+     * @param event The servlet context attribute event
+     */
+    public void attributeReplaced(ServletContextAttributeEvent event) {
+
+	log("attributeReplaced('" + event.getName() + "', '" +
+	    event.getValue() + "')");
+
+    }
+
+
+    /**
+     * Record the fact that this web application has been destroyed.
+     *
+     * @param event The servlet context event
+     */
+    public void contextDestroyed(ServletContextEvent event) {
+
+	log("contextDestroyed()");
+	this.context = null;
+
+    }
+
+
+    /**
+     * Record the fact that this web application has been initialized.
+     *
+     * @param event The servlet context event
+     */
+    public void contextInitialized(ServletContextEvent event) {
+
+	this.context = event.getServletContext();
+	log("contextInitialized()");
+
+    }
+
+
+    // -------------------------------------------------------- Private Methods
+
+
+    /**
+     * Log a message to the servlet context application log.
+     *
+     * @param message Message to be logged
+     */
+    private void log(String message) {
+
+	if (context != null)
+	    context.log("ContextListener: " + message);
+	else
+	    System.out.println("ContextListener: " + message);
+
+    }
+
+}
Index: /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/listeners/SessionListener.java
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/listeners/SessionListener.java	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/listeners/SessionListener.java	(revision 66)
@@ -0,0 +1,163 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+package listeners;
+
+
+import javax.servlet.ServletContext;
+import javax.servlet.ServletContextEvent;
+import javax.servlet.ServletContextListener;
+import javax.servlet.http.HttpSessionAttributeListener;
+import javax.servlet.http.HttpSessionBindingEvent;
+import javax.servlet.http.HttpSessionEvent;
+import javax.servlet.http.HttpSessionListener;
+
+
+/**
+ * Example listener for context-related application events, which were
+ * introduced in the 2.3 version of the Servlet API.  This listener
+ * merely documents the occurrence of such events in the application log
+ * associated with our servlet context.
+ *
+ * @author Craig R. McClanahan
+ * @version $Revision: 500674 $ $Date: 2007-01-28 00:15:00 +0100 (Sun, 28 Jan 2007) $
+ */
+
+public final class SessionListener
+    implements ServletContextListener,
+	       HttpSessionAttributeListener, HttpSessionListener {
+
+
+    // ----------------------------------------------------- Instance Variables
+
+
+    /**
+     * The servlet context with which we are associated.
+     */
+    private ServletContext context = null;
+
+
+    // --------------------------------------------------------- Public Methods
+
+
+    /**
+     * Record the fact that a servlet context attribute was added.
+     *
+     * @param event The session attribute event
+     */
+    public void attributeAdded(HttpSessionBindingEvent event) {
+
+	log("attributeAdded('" + event.getSession().getId() + "', '" +
+	    event.getName() + "', '" + event.getValue() + "')");
+
+    }
+
+
+    /**
+     * Record the fact that a servlet context attribute was removed.
+     *
+     * @param event The session attribute event
+     */
+    public void attributeRemoved(HttpSessionBindingEvent event) {
+
+	log("attributeRemoved('" + event.getSession().getId() + "', '" +
+	    event.getName() + "', '" + event.getValue() + "')");
+
+    }
+
+
+    /**
+     * Record the fact that a servlet context attribute was replaced.
+     *
+     * @param event The session attribute event
+     */
+    public void attributeReplaced(HttpSessionBindingEvent event) {
+
+	log("attributeReplaced('" + event.getSession().getId() + "', '" +
+	    event.getName() + "', '" + event.getValue() + "')");
+
+    }
+
+
+    /**
+     * Record the fact that this web application has been destroyed.
+     *
+     * @param event The servlet context event
+     */
+    public void contextDestroyed(ServletContextEvent event) {
+
+	log("contextDestroyed()");
+	this.context = null;
+
+    }
+
+
+    /**
+     * Record the fact that this web application has been initialized.
+     *
+     * @param event The servlet context event
+     */
+    public void contextInitialized(ServletContextEvent event) {
+
+	this.context = event.getServletContext();
+	log("contextInitialized()");
+
+    }
+
+
+    /**
+     * Record the fact that a session has been created.
+     *
+     * @param event The session event
+     */
+    public void sessionCreated(HttpSessionEvent event) {
+
+	log("sessionCreated('" + event.getSession().getId() + "')");
+
+    }
+
+
+    /**
+     * Record the fact that a session has been destroyed.
+     *
+     * @param event The session event
+     */
+    public void sessionDestroyed(HttpSessionEvent event) {
+
+	log("sessionDestroyed('" + event.getSession().getId() + "')");
+
+    }
+
+
+    // -------------------------------------------------------- Private Methods
+
+
+    /**
+     * Log a message to the servlet context application log.
+     *
+     * @param message Message to be logged
+     */
+    private void log(String message) {
+
+	if (context != null)
+	    context.log("SessionListener: " + message);
+	else
+	    System.out.println("SessionListener: " + message);
+
+    }
+
+}
Index: /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/num/NumberGuessBean.java
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/num/NumberGuessBean.java	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/num/NumberGuessBean.java	(revision 66)
@@ -0,0 +1,79 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+/*
+ * Originally written by Jason Hunter, http://www.servlets.com.
+ */
+
+package num;
+
+import java.util.*;
+
+public class NumberGuessBean {
+
+  int answer;
+  boolean success;
+  String hint;
+  int numGuesses;
+
+  public NumberGuessBean() {
+    reset();
+  }
+
+  public void setGuess(String guess) {
+    numGuesses++;
+
+    int g;
+    try {
+      g = Integer.parseInt(guess);
+    }
+    catch (NumberFormatException e) {
+      g = -1;
+    }
+
+    if (g == answer) {
+      success = true;
+    }
+    else if (g == -1) {
+      hint = "a number next time";
+    }
+    else if (g < answer) {
+      hint = "higher";
+    }
+    else if (g > answer) {
+      hint = "lower";
+    }
+  }
+
+  public boolean getSuccess() {
+    return success;
+  }
+
+  public String getHint() {
+    return "" + hint;
+  }
+
+  public int getNumGuesses() {
+    return numGuesses;
+  }
+
+  public void reset() {
+    answer = Math.abs(new Random().nextInt() % 100) + 1;
+    success = false;
+    numGuesses = 0;
+  }
+}
Index: /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/servletToJsp.java
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/servletToJsp.java	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/servletToJsp.java	(revision 66)
@@ -0,0 +1,32 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+import javax.servlet.http.*;
+
+public class servletToJsp extends HttpServlet {
+
+    public void doGet (HttpServletRequest request,
+		       HttpServletResponse response) {
+
+	try {
+	    // Set the attribute and Forward to hello.jsp
+	    request.setAttribute ("servletName", "servletToJsp");
+	    getServletConfig().getServletContext().getRequestDispatcher("/jsp/jsptoserv/hello.jsp").forward(request, response);
+	} catch (Exception ex) {
+	    ex.printStackTrace ();
+	}
+    }
+}
Index: /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/sessions/DummyCart.java
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/sessions/DummyCart.java	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/sessions/DummyCart.java	(revision 66)
@@ -0,0 +1,65 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package sessions;
+
+import java.util.Vector;
+
+public class DummyCart {
+    Vector<String> v = new Vector<String>();
+    String submit = null;
+    String item = null;
+    
+    private void addItem(String name) {
+        v.addElement(name);
+    }
+
+    private void removeItem(String name) {
+        v.removeElement(name);
+    }
+
+    public void setItem(String name) {
+        item = name;
+    }
+    
+    public void setSubmit(String s) {
+        submit = s;
+    }
+
+    public String[] getItems() {
+        String[] s = new String[v.size()];
+        v.copyInto(s);
+        return s;
+    }
+    
+    public void processRequest() {
+        // null value for submit - user hit enter instead of clicking on 
+        // "add" or "remove"
+        if (submit == null || submit.equals("add"))
+            addItem(item);
+        else if (submit.equals("remove")) 
+            removeItem(item);
+        
+        // reset at the end of the request
+        reset();
+    }
+
+    // reset
+    private void reset() {
+        submit = null;
+        item = null;
+    }
+}
Index: /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/util/HTMLFilter.java
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/util/HTMLFilter.java	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/util/HTMLFilter.java	(revision 66)
@@ -0,0 +1,69 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package util;
+
+/**
+ * HTML filter utility.
+ *
+ * @author Craig R. McClanahan
+ * @author Tim Tye
+ * @version $Revision: 467217 $ $Date: 2006-10-24 05:14:34 +0200 (Tue, 24 Oct 2006) $
+ */
+
+public final class HTMLFilter {
+
+
+    /**
+     * Filter the specified message string for characters that are sensitive
+     * in HTML.  This avoids potential attacks caused by including JavaScript
+     * codes in the request URL that is often reported in error messages.
+     *
+     * @param message The message string to be filtered
+     */
+    public static String filter(String message) {
+
+        if (message == null)
+            return (null);
+
+        char content[] = new char[message.length()];
+        message.getChars(0, message.length(), content, 0);
+        StringBuffer result = new StringBuffer(content.length + 50);
+        for (int i = 0; i < content.length; i++) {
+            switch (content[i]) {
+            case '<':
+                result.append("&lt;");
+                break;
+            case '>':
+                result.append("&gt;");
+                break;
+            case '&':
+                result.append("&amp;");
+                break;
+            case '"':
+                result.append("&quot;");
+                break;
+            default:
+                result.append(content[i]);
+            }
+        }
+        return (result.toString());
+
+    }
+
+
+}
+
Index: /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/validators/DebugValidator.java
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/validators/DebugValidator.java	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/WEB-INF/classes/validators/DebugValidator.java	(revision 66)
@@ -0,0 +1,84 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+
+package validators;
+
+
+import java.io.InputStream;
+import java.io.IOException;
+import javax.servlet.jsp.tagext.PageData;
+import javax.servlet.jsp.tagext.TagLibraryValidator;
+import javax.servlet.jsp.tagext.ValidationMessage;
+
+
+/**
+ * Example tag library validator that simply dumps the XML version of each
+ * page to standard output (which will typically be sent to the file
+ * <code>$CATALINA_HOME/logs/catalina.out</code>).  To utilize it, simply
+ * include a <code>taglib</code> directive for this tag library at the top
+ * of your JSP page.
+ *
+ * @author Craig McClanahan
+ * @version $Revision: 467217 $ $Date: 2006-10-24 05:14:34 +0200 (Tue, 24 Oct 2006) $
+ */
+
+public class DebugValidator extends TagLibraryValidator {
+
+
+    // ----------------------------------------------------- Instance Variables
+
+
+    // --------------------------------------------------------- Public Methods
+
+
+    /**
+     * Validate a JSP page.  This will get invoked once per directive in the
+     * JSP page.  This method will return <code>null</code> if the page is
+     * valid; otherwise the method should return an array of
+     * <code>ValidationMessage</code> objects.  An array of length zero is
+     * also interpreted as no errors.
+     *
+     * @param prefix The value of the prefix argument in this directive
+     * @param uri The value of the URI argument in this directive
+     * @param page The page data for this page
+     */
+    public ValidationMessage[] validate(String prefix, String uri,
+                                        PageData page) {
+
+        System.out.println("---------- Prefix=" + prefix + " URI=" + uri +
+                           "----------");
+
+        InputStream is = page.getInputStream();
+        while (true) {
+            try {
+                int ch = is.read();
+                if (ch < 0)
+                    break;
+                System.out.print((char) ch);
+            } catch (IOException e) {
+                break;
+            }
+        }
+        System.out.println();
+        System.out.println("-----------------------------------------------");
+        return (null);
+
+    }
+
+
+}
Index: /nutchez-0.1/tomcat/webapps/examples/WEB-INF/jsp/applet/Clock2.java
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/WEB-INF/jsp/applet/Clock2.java	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/WEB-INF/jsp/applet/Clock2.java	(revision 66)
@@ -0,0 +1,212 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+import java.util.*;
+import java.awt.*;
+import java.applet.*;
+import java.text.*;
+
+/**
+ * Time!
+ *
+ * @author Rachel Gollub
+ */
+
+public class Clock2 extends Applet implements Runnable {
+    Thread timer;                // The thread that displays clock
+    int lastxs, lastys, lastxm,
+        lastym, lastxh, lastyh;  // Dimensions used to draw hands 
+    SimpleDateFormat formatter;  // Formats the date displayed
+    String lastdate;             // String to hold date displayed
+    Font clockFaceFont;          // Font for number display on clock
+    Date currentDate;            // Used to get date to display
+    Color handColor;             // Color of main hands and dial
+    Color numberColor;           // Color of second hand and numbers
+
+    public void init() {
+        int x,y;
+        lastxs = lastys = lastxm = lastym = lastxh = lastyh = 0;
+        formatter = new SimpleDateFormat ("EEE MMM dd hh:mm:ss yyyy", Locale.getDefault());
+        currentDate = new Date();
+        lastdate = formatter.format(currentDate);
+        clockFaceFont = new Font("Serif", Font.PLAIN, 14);
+        handColor = Color.blue;
+        numberColor = Color.darkGray;
+
+        try {
+            setBackground(new Color(Integer.parseInt(getParameter("bgcolor"),16)));
+        } catch (Exception E) { }
+        try {
+            handColor = new Color(Integer.parseInt(getParameter("fgcolor1"),16));
+        } catch (Exception E) { }
+        try {
+            numberColor = new Color(Integer.parseInt(getParameter("fgcolor2"),16));
+        } catch (Exception E) { }
+        resize(300,300);              // Set clock window size
+    }
+
+    // Plotpoints allows calculation to only cover 45 degrees of the circle,
+    // and then mirror
+    public void plotpoints(int x0, int y0, int x, int y, Graphics g) {
+        g.drawLine(x0+x,y0+y,x0+x,y0+y);
+        g.drawLine(x0+y,y0+x,x0+y,y0+x);
+        g.drawLine(x0+y,y0-x,x0+y,y0-x);
+        g.drawLine(x0+x,y0-y,x0+x,y0-y);
+        g.drawLine(x0-x,y0-y,x0-x,y0-y);
+        g.drawLine(x0-y,y0-x,x0-y,y0-x);
+        g.drawLine(x0-y,y0+x,x0-y,y0+x);
+        g.drawLine(x0-x,y0+y,x0-x,y0+y);
+    }
+
+    // Circle is just Bresenham's algorithm for a scan converted circle
+    public void circle(int x0, int y0, int r, Graphics g) {
+        int x,y;
+        float d;
+        x=0;
+        y=r;
+        d=5/4-r;
+        plotpoints(x0,y0,x,y,g);
+
+        while (y>x){
+            if (d<0) {
+                d=d+2*x+3;
+                x++;
+            }
+            else {
+                d=d+2*(x-y)+5;
+                x++;
+                y--;
+            }
+            plotpoints(x0,y0,x,y,g);
+        }
+    }
+
+    // Paint is the main part of the program
+    public void paint(Graphics g) {
+        int xh, yh, xm, ym, xs, ys, s = 0, m = 10, h = 10, xcenter, ycenter;
+        String today;
+
+        currentDate = new Date();
+        SimpleDateFormat formatter = new SimpleDateFormat("s",Locale.getDefault());
+        try {
+            s = Integer.parseInt(formatter.format(currentDate));
+        } catch (NumberFormatException n) {
+            s = 0;
+        }
+        formatter.applyPattern("m");
+        try {
+            m = Integer.parseInt(formatter.format(currentDate));
+        } catch (NumberFormatException n) {
+            m = 10;
+        }    
+        formatter.applyPattern("h");
+        try {
+            h = Integer.parseInt(formatter.format(currentDate));
+        } catch (NumberFormatException n) {
+            h = 10;
+        }
+        formatter.applyPattern("EEE MMM dd HH:mm:ss yyyy");
+        today = formatter.format(currentDate);
+        xcenter=80;
+        ycenter=55;
+    
+    // a= s* pi/2 - pi/2 (to switch 0,0 from 3:00 to 12:00)
+    // x = r(cos a) + xcenter, y = r(sin a) + ycenter
+    
+        xs = (int)(Math.cos(s * 3.14f/30 - 3.14f/2) * 45 + xcenter);
+        ys = (int)(Math.sin(s * 3.14f/30 - 3.14f/2) * 45 + ycenter);
+        xm = (int)(Math.cos(m * 3.14f/30 - 3.14f/2) * 40 + xcenter);
+        ym = (int)(Math.sin(m * 3.14f/30 - 3.14f/2) * 40 + ycenter);
+        xh = (int)(Math.cos((h*30 + m/2) * 3.14f/180 - 3.14f/2) * 30 + xcenter);
+        yh = (int)(Math.sin((h*30 + m/2) * 3.14f/180 - 3.14f/2) * 30 + ycenter);
+    
+    // Draw the circle and numbers
+    
+        g.setFont(clockFaceFont);
+        g.setColor(handColor);
+        circle(xcenter,ycenter,50,g);
+        g.setColor(numberColor);
+        g.drawString("9",xcenter-45,ycenter+3); 
+        g.drawString("3",xcenter+40,ycenter+3);
+        g.drawString("12",xcenter-5,ycenter-37);
+        g.drawString("6",xcenter-3,ycenter+45);
+
+    // Erase if necessary, and redraw
+    
+        g.setColor(getBackground());
+        if (xs != lastxs || ys != lastys) {
+            g.drawLine(xcenter, ycenter, lastxs, lastys);
+            g.drawString(lastdate, 5, 125);
+        }
+        if (xm != lastxm || ym != lastym) {
+            g.drawLine(xcenter, ycenter-1, lastxm, lastym);
+            g.drawLine(xcenter-1, ycenter, lastxm, lastym); }
+        if (xh != lastxh || yh != lastyh) {
+            g.drawLine(xcenter, ycenter-1, lastxh, lastyh);
+            g.drawLine(xcenter-1, ycenter, lastxh, lastyh); }
+        g.setColor(numberColor);
+        g.drawString("", 5, 125);
+        g.drawString(today, 5, 125);    
+        g.drawLine(xcenter, ycenter, xs, ys);
+        g.setColor(handColor);
+        g.drawLine(xcenter, ycenter-1, xm, ym);
+        g.drawLine(xcenter-1, ycenter, xm, ym);
+        g.drawLine(xcenter, ycenter-1, xh, yh);
+        g.drawLine(xcenter-1, ycenter, xh, yh);
+        lastxs=xs; lastys=ys;
+        lastxm=xm; lastym=ym;
+        lastxh=xh; lastyh=yh;
+        lastdate = today;
+        currentDate=null;
+    }
+
+    public void start() {
+        timer = new Thread(this);
+        timer.start();
+    }
+
+    public void stop() {
+        timer = null;
+    }
+
+    public void run() {
+        Thread me = Thread.currentThread();
+        while (timer == me) {
+            try {
+                Thread.currentThread().sleep(100);
+            } catch (InterruptedException e) {
+            }
+            repaint();
+        }
+    }
+
+    public void update(Graphics g) {
+        paint(g);
+    }
+
+    public String getAppletInfo() {
+        return "Title: A Clock \nAuthor: Rachel Gollub, 1995 \nAn analog clock.";
+    }
+  
+    public String[][] getParameterInfo() {
+        String[][] info = {
+            {"bgcolor", "hexadecimal RGB number", "The background color. Default is the color of your browser."},
+            {"fgcolor1", "hexadecimal RGB number", "The color of the hands and dial. Default is blue."},
+            {"fgcolor2", "hexadecimal RGB number", "The color of the seconds hand and numbers. Default is dark gray."}
+        };
+        return info;
+    }
+}
Index: /nutchez-0.1/tomcat/webapps/examples/WEB-INF/jsp/debug-taglib.tld
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/WEB-INF/jsp/debug-taglib.tld	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/WEB-INF/jsp/debug-taglib.tld	(revision 66)
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!DOCTYPE taglib
+        PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
+	"http://java.sun.com/j2ee/dtd/web-jsptaglibrary_1_2.dtd">
+
+<!-- a tag library descriptor -->
+
+<taglib>
+  <tlib-version>1.0</tlib-version>
+  <jsp-version>1.2</jsp-version>
+  <short-name>debug</short-name>
+  <uri>http://jakarta.apache.org/tomcat/debug-taglib</uri>
+  <description>
+    This tag library defines no tags.  Instead, its purpose is encapsulated
+    in the TagLibraryValidator implementation that simply outputs the XML
+    version of a JSP page to standard output, whenever this tag library is
+    referenced in a "taglib" directive in a JSP page.
+  </description>
+  <validator>
+    <validator-class>validators.DebugValidator</validator-class>
+  </validator>
+
+  <!-- This is a dummy tag solely to satisfy DTD requirements -->  
+  <tag>
+    <name>log</name>
+    <tag-class>examples.LogTag</tag-class>
+    <body-content>TAGDEPENDENT</body-content>
+    <description>
+	Perform a server side action; Log the message.
+    </description>
+    <attribute>
+	<name>toBrowser</name>
+	<required>false</required>
+    </attribute>
+  </tag>
+  
+
+</taglib>
Index: /nutchez-0.1/tomcat/webapps/examples/WEB-INF/jsp/example-taglib.tld
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/WEB-INF/jsp/example-taglib.tld	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/WEB-INF/jsp/example-taglib.tld	(revision 66)
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!DOCTYPE taglib
+        PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
+	"http://java.sun.com/j2ee/dtd/web-jsptaglibrary_1_2.dtd">
+
+<taglib>
+
+  <tlib-version>1.0</tlib-version>
+  <jsp-version>1.2</jsp-version>
+  <short-name>simple</short-name>
+  <uri>http://jakarta.apache.org/tomcat/example-taglib</uri>
+  <description>
+	A simple tab library for the examples
+  </description>
+
+  <tag>
+    <name>ShowSource</name>
+    <tag-class>examples.ShowSource</tag-class>
+    <description> Display JSP sources </description>
+    <attribute>
+       <name>jspFile</name>
+       <required>true</required>
+       <rtexprvalue>true</rtexprvalue>
+    </attribute>
+  </tag>       
+
+  <!-- A simple Tag -->
+  <!-- foo tag -->
+  <tag>
+    <name>foo</name>
+    <tag-class>examples.FooTag</tag-class>
+    <tei-class>examples.FooTagExtraInfo</tei-class>
+    <body-content>JSP</body-content>
+    <description>
+	Perform a server side action; uses 3 mandatory attributes
+    </description>
+
+    <attribute>
+      <name>att1</name>
+      <required>true</required>
+    </attribute>
+    <attribute>
+      <name>att2</name>
+      <required>true</required>
+    </attribute>
+    <attribute>
+      <name>att3</name>
+      <required>true</required>
+    </attribute>
+  </tag>
+
+  <!-- Another simple tag -->
+  <!-- log tag -->
+  <tag>
+    <name>log</name>
+    <tag-class>examples.LogTag</tag-class>
+    <body-content>TAGDEPENDENT</body-content>
+    <description>
+	Perform a server side action; Log the message.
+    </description>
+    <attribute>
+	<name>toBrowser</name>
+	<required>false</required>
+    </attribute>
+  </tag>
+  
+</taglib>
Index: /nutchez-0.1/tomcat/webapps/examples/WEB-INF/jsp2/jsp2-example-taglib.tld
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/WEB-INF/jsp2/jsp2-example-taglib.tld	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/WEB-INF/jsp2/jsp2-example-taglib.tld	(revision 66)
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
+    version="2.0">
+    <description>A tag library exercising SimpleTag handlers.</description>
+    <tlib-version>1.0</tlib-version>
+    <short-name>SimpleTagLibrary</short-name>
+    <uri>/SimpleTagLibrary</uri>
+    <tag>
+	<description>Outputs Hello, World</description>
+        <name>helloWorld</name>
+	<tag-class>jsp2.examples.simpletag.HelloWorldSimpleTag</tag-class>
+	<body-content>empty</body-content>
+    </tag>
+    <tag>
+        <description>Repeats the body of the tag 'num' times</description>
+        <name>repeat</name>
+        <tag-class>jsp2.examples.simpletag.RepeatSimpleTag</tag-class>
+        <body-content>scriptless</body-content>
+        <variable>
+            <description>Current invocation count (1 to num)</description>
+            <name-given>count</name-given>
+        </variable>
+        <attribute>
+            <name>num</name>
+            <required>true</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+    <tag>
+	<description>Populates the page context with a BookBean</description>
+        <name>findBook</name>
+	<tag-class>jsp2.examples.simpletag.FindBookSimpleTag</tag-class>
+	<body-content>empty</body-content>
+	<attribute>
+	    <name>var</name>
+	    <required>true</required>
+	    <rtexprvalue>true</rtexprvalue>
+	</attribute>
+    </tag>
+    <tag>
+        <description>
+            Takes 3 fragments and invokes them in a random order
+        </description>
+        <name>shuffle</name>
+        <tag-class>jsp2.examples.simpletag.ShuffleSimpleTag</tag-class>
+        <body-content>empty</body-content>
+        <attribute>
+            <name>fragment1</name>
+            <required>true</required>
+	    <fragment>true</fragment>
+        </attribute>
+        <attribute>
+            <name>fragment2</name>
+            <required>true</required>
+	    <fragment>true</fragment>
+        </attribute>
+        <attribute>
+            <name>fragment3</name>
+            <required>true</required>
+	    <fragment>true</fragment>
+        </attribute>
+    </tag>
+    <tag>
+        <description>Outputs a colored tile</description>
+        <name>tile</name>
+        <tag-class>jsp2.examples.simpletag.TileSimpleTag</tag-class>
+        <body-content>empty</body-content>
+        <attribute>
+            <name>color</name>
+            <required>true</required>
+        </attribute>
+        <attribute>
+            <name>label</name>
+            <required>true</required>
+        </attribute>
+    </tag>
+    <tag>
+	<description>
+	  Tag that echoes all its attributes and body content
+	</description>
+	<name>echoAttributes</name>
+	<tag-class>jsp2.examples.simpletag.EchoAttributesTag</tag-class>
+	<body-content>empty</body-content>
+	<dynamic-attributes>true</dynamic-attributes>
+    </tag>
+    <function>
+        <description>Reverses the characters in the given String</description>
+        <name>reverse</name>
+	<function-class>jsp2.examples.el.Functions</function-class>
+	<function-signature>java.lang.String reverse( java.lang.String )</function-signature>
+    </function>
+    <function>
+        <description>Counts the number of vowels (a,e,i,o,u) in the given String</description>
+        <name>countVowels</name>
+	<function-class>jsp2.examples.el.Functions</function-class>
+	<function-signature>java.lang.String numVowels( java.lang.String )</function-signature>
+    </function>
+    <function>
+	<description>Converts the string to all caps</description>
+        <name>caps</name>
+	<function-class>jsp2.examples.el.Functions</function-class>
+	<function-signature>java.lang.String caps( java.lang.String )</function-signature>
+    </function>
+</taglib>
+
Index: /nutchez-0.1/tomcat/webapps/examples/WEB-INF/tags/displayProducts.tag
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/WEB-INF/tags/displayProducts.tag	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/WEB-INF/tags/displayProducts.tag	(revision 66)
@@ -0,0 +1,55 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
+<%@ attribute name="normalPrice" fragment="true" %>
+<%@ attribute name="onSale" fragment="true" %>
+<%@ variable name-given="name" %>
+<%@ variable name-given="price" %>
+<%@ variable name-given="origPrice" %>
+<%@ variable name-given="salePrice" %>
+
+<table border="1">
+  <tr>
+    <td> 
+      <c:set var="name" value="Hand-held Color PDA"/>
+      <c:set var="price" value="$298.86"/>
+      <jsp:invoke fragment="normalPrice"/>
+    </td>
+    <td> 
+      <c:set var="name" value="4-Pack 150 Watt Light Bulbs"/>
+      <c:set var="origPrice" value="$2.98"/>
+      <c:set var="salePrice" value="$2.32"/>
+      <jsp:invoke fragment="onSale"/>
+    </td>
+    <td> 
+      <c:set var="name" value="Digital Cellular Phone"/>
+      <c:set var="price" value="$68.74"/>
+      <jsp:invoke fragment="normalPrice"/>
+    </td>
+    <td> 
+      <c:set var="name" value="Baby Grand Piano"/>
+      <c:set var="price" value="$10,800.00"/>
+      <jsp:invoke fragment="normalPrice"/>
+    </td>
+    <td> 
+      <c:set var="name" value="Luxury Car w/ Leather Seats"/>
+      <c:set var="origPrice" value="$23,980.00"/>
+      <c:set var="salePrice" value="$21,070.00"/>
+      <jsp:invoke fragment="onSale"/>
+    </td>
+  </tr>
+</table>
Index: /nutchez-0.1/tomcat/webapps/examples/WEB-INF/tags/helloWorld.tag
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/WEB-INF/tags/helloWorld.tag	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/WEB-INF/tags/helloWorld.tag	(revision 66)
@@ -0,0 +1,17 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+Hello, world!
Index: /nutchez-0.1/tomcat/webapps/examples/WEB-INF/tags/panel.tag
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/WEB-INF/tags/panel.tag	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/WEB-INF/tags/panel.tag	(revision 66)
@@ -0,0 +1,29 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<%@ attribute name="color" %>
+<%@ attribute name="bgcolor" %>
+<%@ attribute name="title" %>
+<table border="1" bgcolor="${color}">
+  <tr>
+    <td><b>${title}</b></td>
+  </tr>
+  <tr>
+    <td bgcolor="${bgcolor}">
+      <jsp:doBody/>
+    </td>
+  </tr>
+</table>
Index: /nutchez-0.1/tomcat/webapps/examples/WEB-INF/tags/xhtmlbasic.tag
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/WEB-INF/tags/xhtmlbasic.tag	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/WEB-INF/tags/xhtmlbasic.tag	(revision 66)
@@ -0,0 +1,21 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN"
+"http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<jsp:doBody/>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/WEB-INF/web.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/WEB-INF/web.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/WEB-INF/web.xml	(revision 66)
@@ -0,0 +1,307 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<web-app xmlns="http://java.sun.com/xml/ns/javaee"
+   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+   xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
+   version="2.5"> 
+
+    <description>
+      Servlet and JSP Examples.
+    </description>
+    <display-name>Servlet and JSP Examples</display-name>
+
+
+    <!-- Define servlet-mapped and path-mapped example filters -->
+    <filter>
+        <filter-name>Servlet Mapped Filter</filter-name>
+        <filter-class>filters.ExampleFilter</filter-class>
+	<init-param>
+	    <param-name>attribute</param-name>
+	    <param-value>filters.ExampleFilter.SERVLET_MAPPED</param-value>
+	</init-param>
+    </filter>
+    <filter>
+        <filter-name>Path Mapped Filter</filter-name>
+        <filter-class>filters.ExampleFilter</filter-class>
+	<init-param>
+	    <param-name>attribute</param-name>
+	    <param-value>filters.ExampleFilter.PATH_MAPPED</param-value>
+	</init-param>
+    </filter>
+    <filter>
+        <filter-name>Request Dumper Filter</filter-name>
+        <filter-class>filters.RequestDumperFilter</filter-class>
+    </filter>
+
+    <!-- Example filter to set character encoding on each request -->
+    <filter>
+        <filter-name>Set Character Encoding</filter-name>
+        <filter-class>filters.SetCharacterEncodingFilter</filter-class>
+        <init-param>
+            <param-name>encoding</param-name>
+            <param-value>EUC_JP</param-value>
+        </init-param>
+    </filter>
+
+    <filter>
+        <filter-name>Compression Filter</filter-name>
+        <filter-class>compressionFilters.CompressionFilter</filter-class>
+
+        <init-param>
+          <param-name>compressionThreshold</param-name>
+          <param-value>10</param-value>
+        </init-param>
+        <init-param>
+          <param-name>debug</param-name>
+          <param-value>0</param-value>
+        </init-param>
+    </filter>
+
+    <!-- Define filter mappings for the defined filters -->
+    <filter-mapping>
+        <filter-name>Servlet Mapped Filter</filter-name>
+	<servlet-name>invoker</servlet-name>
+    </filter-mapping>
+    <filter-mapping>
+        <filter-name>Path Mapped Filter</filter-name>
+	<url-pattern>/servlet/*</url-pattern>
+    </filter-mapping>
+
+<!-- Example filter mapping to apply the "Set Character Encoding" filter
+     to *all* requests processed by this web application -->
+<!--
+    <filter-mapping>
+        <filter-name>Set Character Encoding</filter-name>
+        <url-pattern>/*</url-pattern>
+    </filter-mapping>
+-->
+
+<!--
+    <filter-mapping>
+      <filter-name>Compression Filter</filter-name>
+      <url-pattern>/CompressionTest</url-pattern>
+    </filter-mapping>
+-->
+
+<!--
+    <filter-mapping>
+        <filter-name>Request Dumper Filter</filter-name>
+        <url-pattern>/*</url-pattern>
+    </filter-mapping>
+-->
+
+    <!-- Define example application events listeners -->
+    <listener>
+        <listener-class>listeners.ContextListener</listener-class>
+    </listener>
+    <listener>
+        <listener-class>listeners.SessionListener</listener-class>
+    </listener>
+
+    <!-- Define servlets that are included in the example application -->
+
+    <servlet>
+      <servlet-name>servletToJsp</servlet-name>
+      <servlet-class>servletToJsp</servlet-class>
+    </servlet>
+    <servlet>
+        <servlet-name>ChatServlet</servlet-name>
+        <servlet-class>chat.ChatServlet</servlet-class>
+    </servlet>
+    <servlet>
+        <servlet-name>CompressionFilterTestServlet</servlet-name>
+        <servlet-class>compressionFilters.CompressionFilterTestServlet</servlet-class>
+    </servlet>
+    <servlet>
+        <servlet-name>HelloWorldExample</servlet-name>
+        <servlet-class>HelloWorldExample</servlet-class>
+    </servlet>
+    <servlet>
+        <servlet-name>RequestInfoExample</servlet-name>
+        <servlet-class>RequestInfoExample</servlet-class>
+    </servlet>
+    <servlet>
+        <servlet-name>RequestHeaderExample</servlet-name>
+        <servlet-class>RequestHeaderExample</servlet-class>
+    </servlet>
+    <servlet>
+        <servlet-name>RequestParamExample</servlet-name>
+        <servlet-class>RequestParamExample</servlet-class>
+    </servlet>
+    <servlet>
+        <servlet-name>CookieExample</servlet-name>
+        <servlet-class>CookieExample</servlet-class>
+    </servlet>
+    <servlet>
+        <servlet-name>SessionExample</servlet-name>
+        <servlet-class>SessionExample</servlet-class>
+    </servlet>
+
+    <servlet-mapping>
+        <servlet-name>ChatServlet</servlet-name>
+        <url-pattern>/jsp/chat/chat</url-pattern>
+    </servlet-mapping>
+    <servlet-mapping>
+        <servlet-name>CompressionFilterTestServlet</servlet-name>
+        <url-pattern>/CompressionTest</url-pattern>
+    </servlet-mapping>
+    <servlet-mapping>
+        <servlet-name>HelloWorldExample</servlet-name>
+        <url-pattern>/servlets/servlet/HelloWorldExample</url-pattern>
+    </servlet-mapping>
+    <servlet-mapping>
+        <servlet-name>RequestInfoExample</servlet-name>
+        <url-pattern>/servlets/servlet/RequestInfoExample/*</url-pattern>
+    </servlet-mapping>
+    <servlet-mapping>
+        <servlet-name>RequestHeaderExample</servlet-name>
+        <url-pattern>/servlets/servlet/RequestHeaderExample</url-pattern>
+    </servlet-mapping>
+    <servlet-mapping>
+        <servlet-name>RequestParamExample</servlet-name>
+        <url-pattern>/servlets/servlet/RequestParamExample</url-pattern>
+    </servlet-mapping>
+    <servlet-mapping>
+        <servlet-name>CookieExample</servlet-name>
+        <url-pattern>/servlets/servlet/CookieExample</url-pattern>
+    </servlet-mapping>
+    <servlet-mapping>
+        <servlet-name>SessionExample</servlet-name>
+        <url-pattern>/servlets/servlet/SessionExample</url-pattern>
+    </servlet-mapping>
+    <servlet-mapping>
+        <servlet-name>servletToJsp</servlet-name>
+        <url-pattern>/servletToJsp</url-pattern>
+    </servlet-mapping>
+
+    <jsp-config>
+        <taglib>
+	    <taglib-uri>
+	       http://jakarta.apache.org/tomcat/debug-taglib
+	    </taglib-uri>
+	    <taglib-location>
+	       /WEB-INF/jsp/debug-taglib.tld
+	    </taglib-location>
+	</taglib>
+
+	<taglib>
+	    <taglib-uri>
+	       http://jakarta.apache.org/tomcat/examples-taglib
+	    </taglib-uri>
+	    <taglib-location>
+	       /WEB-INF/jsp/example-taglib.tld
+	    </taglib-location>
+	</taglib>
+
+	<taglib>
+	    <taglib-uri>
+	       http://jakarta.apache.org/tomcat/jsp2-example-taglib
+	    </taglib-uri>
+	    <taglib-location>
+	       /WEB-INF/jsp2/jsp2-example-taglib.tld
+	    </taglib-location>
+	</taglib>
+
+	<jsp-property-group>
+	    <description>
+		Special property group for JSP Configuration JSP example.
+	    </description>
+	    <display-name>JSPConfiguration</display-name>
+	    <url-pattern>/jsp2/misc/config.jsp</url-pattern>
+	    <el-ignored>true</el-ignored>
+	    <page-encoding>ISO-8859-1</page-encoding>
+	    <scripting-invalid>true</scripting-invalid>
+	    <include-prelude>/jsp2/misc/prelude.jspf</include-prelude>
+	    <include-coda>/jsp2/misc/coda.jspf</include-coda>
+	</jsp-property-group>
+    </jsp-config>
+    
+   <security-constraint>
+      <display-name>Example Security Constraint</display-name>
+      <web-resource-collection>
+         <web-resource-name>Protected Area</web-resource-name>
+	 <!-- Define the context-relative URL(s) to be protected -->
+         <url-pattern>/jsp/security/protected/*</url-pattern>
+	 <!-- If you list http methods, only those methods are protected -->
+	 <http-method>DELETE</http-method>
+         <http-method>GET</http-method>
+         <http-method>POST</http-method>
+	 <http-method>PUT</http-method>
+      </web-resource-collection>
+      <auth-constraint>
+         <!-- Anyone with one of the listed roles may access this area -->
+         <role-name>tomcat</role-name>
+	 <role-name>role1</role-name>
+      </auth-constraint>
+    </security-constraint>
+
+    <!-- Default login configuration uses form-based authentication -->
+    <login-config>
+      <auth-method>FORM</auth-method>
+      <realm-name>Example Form-Based Authentication Area</realm-name>
+      <form-login-config>
+        <form-login-page>/jsp/security/protected/login.jsp</form-login-page>
+        <form-error-page>/jsp/security/protected/error.jsp</form-error-page>
+      </form-login-config>
+    </login-config>
+        
+    <!-- Security roles referenced by this web application -->
+    <security-role>
+      <role-name>role1</role-name>
+    </security-role>
+    <security-role>
+      <role-name>tomcat</role-name>
+    </security-role>    
+
+    <!-- Environment entry examples -->
+    <!--env-entry>
+      <env-entry-description>
+         The maximum number of tax exemptions allowed to be set.
+      </env-entry-description>
+      <env-entry-name>maxExemptions</env-entry-name>
+      <env-entry-type>java.lang.Integer</env-entry-type>
+      <env-entry-value>15</env-entry-value>
+    </env-entry-->
+    <env-entry>
+      <env-entry-name>minExemptions</env-entry-name>
+      <env-entry-type>java.lang.Integer</env-entry-type>
+      <env-entry-value>1</env-entry-value>
+    </env-entry>
+    <env-entry>
+      <env-entry-name>foo/name1</env-entry-name>
+      <env-entry-type>java.lang.String</env-entry-type>
+      <env-entry-value>value1</env-entry-value>
+    </env-entry>
+    <env-entry>
+      <env-entry-name>foo/bar/name2</env-entry-name>
+      <env-entry-type>java.lang.Boolean</env-entry-type>
+      <env-entry-value>true</env-entry-value>
+    </env-entry>
+    <env-entry>
+      <env-entry-name>name3</env-entry-name>
+      <env-entry-type>java.lang.Integer</env-entry-type>
+      <env-entry-value>1</env-entry-value>
+    </env-entry>
+    <env-entry>
+      <env-entry-name>foo/name4</env-entry-name>
+      <env-entry-type>java.lang.Integer</env-entry-type>
+      <env-entry-value>10</env-entry-value>
+    </env-entry>
+
+</web-app>
Index: /nutchez-0.1/tomcat/webapps/examples/index.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/index.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/index.html	(revision 66)
@@ -0,0 +1,29 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<HTML><HEAD><TITLE>Apache Tomcat Examples</TITLE>
+<META http-equiv=Content-Type content="text/html">
+</HEAD>
+<BODY>
+<P>
+<H3>Apache Tomcat Examples</H3>
+<P></P>
+<ul>
+<li><a href="servlets">Servlets examples</a></li>
+<li><a href="jsp">JSP Examples</a></li>
+</ul>
+</BODY></HTML>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/cal/Entries.java.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/cal/Entries.java.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/cal/Entries.java.html	(revision 66)
@@ -0,0 +1,74 @@
+<html><body><pre>
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package cal;
+
+import java.util.Hashtable;
+import javax.servlet.http.*;
+
+public class Entries {
+
+  private Hashtable entries;
+  private static final String[] time = {"8am", "9am", "10am", "11am", "12pm", 
+					"1pm", "2pm", "3pm", "4pm", "5pm", "6pm",
+					"7pm", "8pm" };
+  public static final int rows = 12;
+
+  public Entries () {   
+   entries = new Hashtable (rows);
+   for (int i=0; i &lt; rows; i++) {
+     entries.put (time[i], new Entry(time[i]));
+   }
+  }
+
+  public int getRows () {
+    return rows;
+  }
+
+  public Entry getEntry (int index) {
+    return (Entry)this.entries.get(time[index]);
+  }
+
+  public int getIndex (String tm) {
+    for (int i=0; i&lt;rows; i++)
+      if(tm.equals(time[i])) return i;
+    return -1;
+  }
+
+  public void processRequest (HttpServletRequest request, String tm) {
+    int index = getIndex (tm);
+    if (index >= 0) {
+      String descr = request.getParameter ("description");
+      ((Entry)entries.get(time[index])).setDescription (descr);
+    }
+  }
+
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/cal/Entry.java.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/cal/Entry.java.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/cal/Entry.java.html	(revision 66)
@@ -0,0 +1,57 @@
+<html><body><pre>
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+package cal;
+
+public class Entry {
+
+  String hour;
+  String description;
+  String color;
+
+  public Entry (String hour) {
+    this.hour = hour;
+    this.description = "";
+
+  }
+
+  public String getHour () {
+    return this.hour;
+  }
+
+  public String getColor () {
+    if (description.equals("")) return "lightblue";
+    else return "red";
+  }
+
+  public String getDescription () {
+    if (description.equals("")) return "None";
+    else return this.description;
+  }
+
+  public void setDescription (String descr) {
+    description = descr;
+  }
+ 
+}
+
+
+
+
+
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/cal/JspCalendar.java.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/cal/JspCalendar.java.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/cal/JspCalendar.java.html	(revision 66)
@@ -0,0 +1,156 @@
+<html><body><pre>
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+package cal;
+
+import java.util.*;
+
+public class JspCalendar {
+    Calendar  calendar = null;
+    Date currentDate;
+
+    public JspCalendar() {
+	calendar = Calendar.getInstance();
+	Date trialTime = new Date();
+	calendar.setTime(trialTime);
+    }
+
+
+    public int getYear() {
+	return calendar.get(Calendar.YEAR);
+    }
+    
+    public String getMonth() {
+	int m = getMonthInt();
+	String[] months = new String [] { "January", "February", "March",
+					"April", "May", "June",
+					"July", "August", "September",
+					"October", "November", "December" };
+	if (m > 12)
+	    return "Unknown to Man";
+	
+	return months[m - 1];
+
+    }
+
+    public String getDay() {
+	int x = getDayOfWeek();
+	String[] days = new String[] {"Sunday", "Monday", "Tuesday", "Wednesday", 
+				      "Thursday", "Friday", "Saturday"};
+
+	if (x > 7)
+	    return "Unknown to Man";
+
+	return days[x - 1];
+
+    }
+    
+    public int getMonthInt() {
+	return 1 + calendar.get(Calendar.MONTH);
+    }
+
+    public String getDate() {
+	return getMonthInt() + "/" + getDayOfMonth() + "/" +  getYear();	
+    }
+
+    public String getCurrentDate() {
+        Date dt = new Date ();
+	calendar.setTime (dt);
+	return getMonthInt() + "/" + getDayOfMonth() + "/" +  getYear();
+
+    }
+
+    public String getNextDate() {
+        calendar.set (Calendar.DAY_OF_MONTH, getDayOfMonth() + 1);
+	return getDate ();
+    }
+
+    public String getPrevDate() {
+        calendar.set (Calendar.DAY_OF_MONTH, getDayOfMonth() - 1);
+	return getDate ();
+    }
+
+    public String getTime() {
+	return getHour() + ":" + getMinute() + ":" + getSecond();
+    }
+
+    public int getDayOfMonth() {
+	return calendar.get(Calendar.DAY_OF_MONTH);
+    }
+
+    public int getDayOfYear() {
+	return calendar.get(Calendar.DAY_OF_YEAR);
+    }
+
+    public int getWeekOfYear() {
+	return calendar.get(Calendar.WEEK_OF_YEAR);
+    }
+
+    public int getWeekOfMonth() {
+	return calendar.get(Calendar.WEEK_OF_MONTH);
+    }
+
+    public int getDayOfWeek() {
+	return calendar.get(Calendar.DAY_OF_WEEK);
+    }
+     
+    public int getHour() {
+	return calendar.get(Calendar.HOUR_OF_DAY);
+    }
+    
+    public int getMinute() {
+	return calendar.get(Calendar.MINUTE);
+    }
+
+
+    public int getSecond() {
+	return calendar.get(Calendar.SECOND);
+    }
+
+  
+    public int getEra() {
+	return calendar.get(Calendar.ERA);
+    }
+
+    public String getUSTimeZone() {
+	String[] zones = new String[] {"Hawaii", "Alaskan", "Pacific",
+				       "Mountain", "Central", "Eastern"};
+	
+	return zones[10 + getZoneOffset()];
+    }
+
+    public int getZoneOffset() {
+	return calendar.get(Calendar.ZONE_OFFSET)/(60*60*1000);
+    }
+
+
+    public int getDSTOffset() {
+	return calendar.get(Calendar.DST_OFFSET)/(60*60*1000);
+    }
+
+    
+    public int getAMPM() {
+	return calendar.get(Calendar.AM_PM);
+    }
+}
+
+
+
+
+
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/cal/TableBean.java.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/cal/TableBean.java.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/cal/TableBean.java.html	(revision 66)
@@ -0,0 +1,102 @@
+<html><body><pre>
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package cal;
+
+import javax.servlet.http.*;
+import java.util.Hashtable;
+
+public class TableBean {
+
+  Hashtable table;
+  JspCalendar JspCal;
+  Entries entries;
+  String date;
+  String name = null;
+  String email = null;
+  boolean processError = false;
+
+  public TableBean () {
+    this.table = new Hashtable (10);
+    this.JspCal = new JspCalendar ();
+    this.date = JspCal.getCurrentDate ();
+  }
+
+  public void setName (String nm) {
+    this.name = nm;
+  }
+
+  public String getName () {
+    return this.name;
+  }
+  
+  public void setEmail (String mail) {
+    this.email = mail;
+  }
+
+  public String getEmail () {
+    return this.email;
+  }
+
+  public String getDate () {
+    return this.date;
+  }
+
+  public Entries getEntries () {
+    return this.entries;
+  }
+
+  public void processRequest (HttpServletRequest request) {
+
+    // Get the name and e-mail.
+    this.processError = false;
+    if (name == null || name.equals("")) setName(request.getParameter ("name"));  
+    if (email == null || email.equals("")) setEmail(request.getParameter ("email"));
+    if (name == null || email == null ||
+		name.equals("") || email.equals("")) {
+      this.processError = true;
+      return;
+    }
+
+    // Get the date.
+    String dateR = request.getParameter ("date");
+    if (dateR == null) date = JspCal.getCurrentDate ();
+    else if (dateR.equalsIgnoreCase("next")) date = JspCal.getNextDate ();
+    else if (dateR.equalsIgnoreCase("prev")) date = JspCal.getPrevDate ();
+
+    entries = (Entries) table.get (date);
+    if (entries == null) {
+      entries = new Entries ();
+      table.put (date, entries);
+    }
+
+    // If time is provided add the event.
+	String time = request.getParameter("time");
+    if (time != null) entries.processRequest (request, time);
+  }
+
+  public boolean getProcessError () {
+    return this.processError;
+  }
+}
+
+
+
+
+
+
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/cal/cal1.jsp
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/cal/cal1.jsp	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/cal/cal1.jsp	(revision 66)
@@ -0,0 +1,95 @@
+<HTML>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<HEAD><TITLE> 
+	Calendar: A JSP APPLICATION
+</TITLE></HEAD>
+
+
+<BODY BGCOLOR="white">
+
+<%@ page language="java" import="cal.*" %>
+<jsp:useBean id="table" scope="session" class="cal.TableBean" />
+
+<%
+	table.processRequest(request);
+	if (table.getProcessError() == false) {
+%>
+
+<!-- html table goes here -->
+<CENTER>
+<TABLE WIDTH=60% BGCOLOR=yellow CELLPADDING=15>
+<TR>
+<TD ALIGN=CENTER> <A HREF=cal1.jsp?date=prev> prev </A>
+<TD ALIGN=CENTER> Calendar:<%= table.getDate() %></TD>
+<TD ALIGN=CENTER> <A HREF=cal1.jsp?date=next> next </A>
+</TR>
+</TABLE>
+
+<!-- the main table -->
+<TABLE WIDTH=60% BGCOLOR=lightblue BORDER=1 CELLPADDING=10>
+<TR>
+<TH> Time </TH>
+<TH> Appointment </TH>
+</TR>
+<FORM METHOD=POST ACTION=cal1.jsp>
+<%
+	for(int i=0; i<table.getEntries().getRows(); i++) {
+	   cal.Entry entr = table.getEntries().getEntry(i);	
+%>
+	<TR>
+	<TD> 
+	<A HREF=cal2.jsp?time=<%= entr.getHour() %>>
+		<%= entr.getHour() %> </A>
+	</TD>
+	<TD BGCOLOR=<%= entr.getColor() %>>
+	<% out.print(util.HTMLFilter.filter(entr.getDescription())); %>
+	</TD> 
+	</TR>
+<%
+	}
+%>
+</FORM>
+</TABLE>
+<BR>
+
+<!-- footer -->
+<TABLE WIDTH=60% BGCOLOR=yellow CELLPADDING=15>
+<TR>
+<TD ALIGN=CENTER>  <% out.print(util.HTMLFilter.filter(table.getName())); %> : 
+		     <% out.print(util.HTMLFilter.filter(table.getEmail())); %> </TD>
+</TR>
+</TABLE>
+</CENTER>
+
+<%
+	} else {
+%>
+<font size=5>
+	You must enter your name and email address correctly.
+</font>
+<%
+	}
+%>
+
+
+</BODY>
+</HTML>
+
+
+
+
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/cal/cal1.jsp.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/cal/cal1.jsp.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/cal/cal1.jsp.html	(revision 66)
@@ -0,0 +1,97 @@
+<html><body><pre>
+&lt;HTML>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;HEAD>&lt;TITLE> 
+	Calendar: A JSP APPLICATION
+&lt;/TITLE>&lt;/HEAD>
+
+
+&lt;BODY BGCOLOR="white">
+
+&lt;%@ page language="java" import="cal.*" %>
+&lt;jsp:useBean id="table" scope="session" class="cal.TableBean" />
+
+&lt;%
+	table.processRequest(request);
+	if (table.getProcessError() == false) {
+%>
+
+&lt;!-- html table goes here -->
+&lt;CENTER>
+&lt;TABLE WIDTH=60% BGCOLOR=yellow CELLPADDING=15>
+&lt;TR>
+&lt;TD ALIGN=CENTER> &lt;A HREF=cal1.jsp?date=prev> prev &lt;/A>
+&lt;TD ALIGN=CENTER> Calendar:&lt;%= table.getDate() %>&lt;/TD>
+&lt;TD ALIGN=CENTER> &lt;A HREF=cal1.jsp?date=next> next &lt;/A>
+&lt;/TR>
+&lt;/TABLE>
+
+&lt;!-- the main table -->
+&lt;TABLE WIDTH=60% BGCOLOR=lightblue BORDER=1 CELLPADDING=10>
+&lt;TR>
+&lt;TH> Time &lt;/TH>
+&lt;TH> Appointment &lt;/TH>
+&lt;/TR>
+&lt;FORM METHOD=POST ACTION=cal1.jsp>
+&lt;%
+	for(int i=0; i&lt;table.getEntries().getRows(); i++) {
+	   cal.Entry entr = table.getEntries().getEntry(i);	
+%>
+	&lt;TR>
+	&lt;TD> 
+	&lt;A HREF=cal2.jsp?time=&lt;%= entr.getHour() %>>
+		&lt;%= entr.getHour() %> &lt;/A>
+	&lt;/TD>
+	&lt;TD BGCOLOR=&lt;%= entr.getColor() %>>
+	&lt;% out.print(util.HTMLFilter.filter(entr.getDescription())); %>
+	&lt;/TD> 
+	&lt;/TR>
+&lt;%
+	}
+%>
+&lt;/FORM>
+&lt;/TABLE>
+&lt;BR>
+
+&lt;!-- footer -->
+&lt;TABLE WIDTH=60% BGCOLOR=yellow CELLPADDING=15>
+&lt;TR>
+&lt;TD ALIGN=CENTER>  &lt;% out.print(util.HTMLFilter.filter(table.getName())); %> : 
+		     &lt;% out.print(util.HTMLFilter.filter(table.getEmail())); %> &lt;/TD>
+&lt;/TR>
+&lt;/TABLE>
+&lt;/CENTER>
+
+&lt;%
+	} else {
+%>
+&lt;font size=5>
+	You must enter your name and email address correctly.
+&lt;/font>
+&lt;%
+	}
+%>
+
+
+&lt;/BODY>
+&lt;/HTML>
+
+
+
+
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/cal/cal2.jsp
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/cal/cal2.jsp	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/cal/cal2.jsp	(revision 66)
@@ -0,0 +1,45 @@
+<HTML>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<HEAD><TITLE> 
+	Calendar: A JSP APPLICATION
+</TITLE></HEAD>
+
+
+<BODY BGCOLOR="white">
+<jsp:useBean id="table" scope="session" class="cal.TableBean" />
+
+<% 
+	String time = request.getParameter ("time");
+%>
+
+<FONT SIZE=5> Please add the following event:
+<BR> <h3> Date <%= table.getDate() %>
+<BR> Time <%= util.HTMLFilter.filter(time) %> </h3>
+</FONT>
+<FORM METHOD=POST ACTION=cal1.jsp>
+<BR> 
+<BR> <INPUT NAME="date" TYPE=HIDDEN VALUE="current">
+<BR> <INPUT NAME="time" TYPE=HIDDEN VALUE=<%= util.HTMLFilter.filter(time) %>
+<BR> <h2> Description of the event <INPUT NAME="description" TYPE=TEXT SIZE=20> </h2>
+<BR> <INPUT TYPE=SUBMIT VALUE="submit">
+</FORM>
+
+</BODY>
+</HTML>
+
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/cal/cal2.jsp.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/cal/cal2.jsp.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/cal/cal2.jsp.html	(revision 66)
@@ -0,0 +1,47 @@
+<html><body><pre>
+&lt;HTML>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+&lt;HEAD>&lt;TITLE> 
+	Calendar: A JSP APPLICATION
+&lt;/TITLE>&lt;/HEAD>
+
+
+&lt;BODY BGCOLOR="white">
+&lt;jsp:useBean id="table" scope="session" class="cal.TableBean" />
+
+&lt;% 
+	String time = request.getParameter ("time");
+%>
+
+&lt;FONT SIZE=5> Please add the following event:
+&lt;BR> &lt;h3> Date &lt;%= table.getDate() %>
+&lt;BR> Time &lt;%= util.HTMLFilter.filter(time) %> &lt;/h3>
+&lt;/FONT>
+&lt;FORM METHOD=POST ACTION=cal1.jsp>
+&lt;BR> 
+&lt;BR> &lt;INPUT NAME="date" TYPE=HIDDEN VALUE="current">
+&lt;BR> &lt;INPUT NAME="time" TYPE=HIDDEN VALUE=&lt;%= util.HTMLFilter.filter(time) %>
+&lt;BR> &lt;h2> Description of the event &lt;INPUT NAME="description" TYPE=TEXT SIZE=20> &lt;/h2>
+&lt;BR> &lt;INPUT TYPE=SUBMIT VALUE="submit">
+&lt;/FORM>
+
+&lt;/BODY>
+&lt;/HTML>
+
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/cal/calendar.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/cal/calendar.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/cal/calendar.html	(revision 66)
@@ -0,0 +1,43 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<head>
+<title>Untitled Document</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="login.html"><img src="../images/execute.gif" align="right" border="0"></a><a href="../index.html"><img src="../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h2> Source Code for Calendar Example. <br>
+<h3><a href="cal1.jsp.html">cal1.jsp<font color="#0000FF"></a>
+  </font> </h3>
+<h3><a href="cal2.jsp.html">cal2.jsp<font color="#0000FF"></a>
+  </font> </h3>
+
+<br>
+<h2> Beans.
+<h3><a href="TableBean.java.html">TableBean<font color="#0000FF"></a>
+  </font> </h3>
+<h3><a href="Entries.java.html">Entries<font color="#0000FF"></a>
+  </font> </h3>
+<h3><a href="Entry.java.html">Entry<font color="#0000FF"></a>
+  </font> </h3>
+
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/cal/login.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/cal/login.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/cal/login.html	(revision 66)
@@ -0,0 +1,47 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<head>
+	<title> Login page for the calendar. </title>
+</head>
+
+<body bgcolor="white">
+<center>
+
+	<font size=7 color="red"> Please Enter the following information: </font>
+
+<br>
+	<form method=GET action=cal1.jsp>
+
+		<font size=5> Name <input type=text name="name" size=20>
+		</font>
+		<br>
+		<font size=5> Email <input type=text name="email" size=20>
+		</font>
+		<br>
+		<input type=submit name=action value="Submit">
+
+	</form>
+<hr>
+<font size=3 color="red"> Note: This application does not implement the complete 
+functionality of a typical calendar application. It demostartes a way JSP can be 
+used with html tables and forms.</font>
+
+</center>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/chat/chat.jsp
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/chat/chat.jsp	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/chat/chat.jsp	(revision 66)
@@ -0,0 +1,32 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<head>
+   <title>JSP Chat</title>
+</head>
+
+<body bgcolor="#FFFFFF">
+
+<!-- Body -->
+<frameset>
+  <frame name="post" src="post.jsp" scrolling="no" title="Post message">
+  <frame name="chat" src="chat" scrolling="yes" title="Chat">
+</frameset>
+
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/chat/chat.jsp.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/chat/chat.jsp.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/chat/chat.jsp.html	(revision 66)
@@ -0,0 +1,34 @@
+<html><body><pre>
+&lt;!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+&lt;html>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;head>
+   &lt;title>JSP Chat&lt;/title>
+&lt;/head>
+
+&lt;body bgcolor="#FFFFFF">
+
+&lt;!-- Body -->
+&lt;frameset>
+  &lt;frame name="post" src="post.jsp" scrolling="no" title="Post message">
+  &lt;frame name="chat" src="chat" scrolling="yes" title="Chat">
+&lt;/frameset>
+
+&lt;/body>
+&lt;/html>
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/chat/login.jsp
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/chat/login.jsp	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/chat/login.jsp	(revision 66)
@@ -0,0 +1,31 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<head>
+   <title>JSP Chat</title>
+</head>
+
+<body bgcolor="#FFFFFF">
+
+<form method="POST" action='chat' name="loginForm">
+<input type="hidden" name="action" value="login"/>
+Nickname: <input type="text" name="nickname"/>
+</form>
+
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/chat/login.jsp.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/chat/login.jsp.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/chat/login.jsp.html	(revision 66)
@@ -0,0 +1,33 @@
+<html><body><pre>
+&lt;!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+&lt;html>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;head>
+   &lt;title>JSP Chat&lt;/title>
+&lt;/head>
+
+&lt;body bgcolor="#FFFFFF">
+
+&lt;form method="POST" action='chat' name="loginForm">
+&lt;input type="hidden" name="action" value="login"/>
+Nickname: &lt;input type="text" name="nickname"/>
+&lt;/form>
+
+&lt;/body>
+&lt;/html>
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/chat/post.jsp
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/chat/post.jsp	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/chat/post.jsp	(revision 66)
@@ -0,0 +1,36 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<head>
+   <title>JSP Chat</title>
+</head>
+
+<body bgcolor="#FFFFFF">
+
+<form method="POST" action='chat' name="postForm">
+<input type="hidden" name="action" value="post"/>
+Message: <input type="text" name="message"/>
+</form>
+
+<br>
+<br>
+
+<a href="javascript:openWindow('http://127.0.0.1:8080/examples/jsp/chat/chat', 640, 480 ,0 ,0 ,0 ,0 ,0 ,1 ,10 ,10 )">Click to open chat window</a>
+
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/chat/post.jsp.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/chat/post.jsp.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/chat/post.jsp.html	(revision 66)
@@ -0,0 +1,38 @@
+<html><body><pre>
+&lt;!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+&lt;html>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;head>
+   &lt;title>JSP Chat&lt;/title>
+&lt;/head>
+
+&lt;body bgcolor="#FFFFFF">
+
+&lt;form method="POST" action='chat' name="postForm">
+&lt;input type="hidden" name="action" value="post"/>
+Message: &lt;input type="text" name="message"/>
+&lt;/form>
+
+&lt;br>
+&lt;br>
+
+&lt;a href="javascript:openWindow('http://127.0.0.1:8080/examples/jsp/chat/chat', 640, 480 ,0 ,0 ,0 ,0 ,0 ,1 ,10 ,10 )">Click to open chat window&lt;/a>
+
+&lt;/body>
+&lt;/html>
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/checkbox/CheckTest.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/checkbox/CheckTest.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/checkbox/CheckTest.html	(revision 66)
@@ -0,0 +1,56 @@
+<HTML>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<HEAD>
+<title>
+checkbox.CheckTest Bean Properties
+</title>
+<BODY BGCOLOR="white">
+<H2>
+checkbox.CheckTest Bean Properties
+</H2>
+<HR>
+<DL>
+<DT>public class <B>CheckTest</B><DT>extends Object</DL>
+
+<P>
+<HR>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0">
+<TR BGCOLOR="#EEEEFF">
+<TD COLSPAN=3><FONT SIZE="+2">
+<B>Properties Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white">
+<td align="right" valign="top" width="1%">
+<FONT SIZE="-1">
+String
+</FONT></TD>
+<TD><B>CheckTest:fruit</B>
+<BR>
+       </TD>
+<td width="1%">
+<FONT SIZE="-1">
+Multi
+</FONT></TD>
+</TABLE>
+<HR>
+</BODY>
+</HTML>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/checkbox/check.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/checkbox/check.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/checkbox/check.html	(revision 66)
@@ -0,0 +1,38 @@
+<HTML>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<BODY bgcolor="white">
+
+
+<FORM TYPE=POST ACTION=checkresult.jsp>
+<BR>
+<font size=5 color="red">
+Check all Favorite fruits: <br>
+
+<input TYPE=checkbox name=fruit VALUE=apples> Apples <BR>
+<input TYPE=checkbox name=fruit VALUE=grapes> Grapes <BR>
+<input TYPE=checkbox name=fruit VALUE=oranges> Oranges <BR>
+<input TYPE=checkbox name=fruit VALUE=melons> Melons <BR>
+
+
+<br> <INPUT TYPE=submit name=submit Value="Submit">
+
+</font>
+</FORM>
+</BODY>
+</HTML>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/checkbox/checkresult.jsp
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/checkbox/checkresult.jsp	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/checkbox/checkresult.jsp	(revision 66)
@@ -0,0 +1,64 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<body bgcolor="white">
+<font size=5 color="red">
+<%! String[] fruits; %>
+<jsp:useBean id="foo" scope="page" class="checkbox.CheckTest" />
+
+<jsp:setProperty name="foo" property="fruit" param="fruit" />
+<hr>
+The checked fruits (got using request) are: <br>
+<% 
+	fruits = request.getParameterValues("fruit");
+%>
+<ul>
+<%
+    if (fruits != null) {
+	  for (int i = 0; i < fruits.length; i++) {
+%>
+<li>
+<%
+	      out.println (util.HTMLFilter.filter(fruits[i]));
+	  }
+	} else out.println ("none selected");
+%>
+</ul>
+<br>
+<hr>
+
+The checked fruits (got using beans) are <br>
+
+<% 
+		fruits = foo.getFruit();
+%>
+<ul>
+<%
+    if (!fruits[0].equals("1")) {
+	  for (int i = 0; i < fruits.length; i++) {
+%>
+<li>
+<%
+		  out.println (util.HTMLFilter.filter(fruits[i]));
+	  }
+	} else out.println ("none selected");
+%>
+</ul>
+</font>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/checkbox/checkresult.jsp.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/checkbox/checkresult.jsp.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/checkbox/checkresult.jsp.html	(revision 66)
@@ -0,0 +1,66 @@
+<html><body><pre>
+&lt;html>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+&lt;body bgcolor="white">
+&lt;font size=5 color="red">
+&lt;%! String[] fruits; %>
+&lt;jsp:useBean id="foo" scope="page" class="checkbox.CheckTest" />
+
+&lt;jsp:setProperty name="foo" property="fruit" param="fruit" />
+&lt;hr>
+The checked fruits (got using request) are: &lt;br>
+&lt;% 
+	fruits = request.getParameterValues("fruit");
+%>
+&lt;ul>
+&lt;%
+    if (fruits != null) {
+	  for (int i = 0; i &lt; fruits.length; i++) {
+%>
+&lt;li>
+&lt;%
+	      out.println (util.HTMLFilter.filter(fruits[i]));
+	  }
+	} else out.println ("none selected");
+%>
+&lt;/ul>
+&lt;br>
+&lt;hr>
+
+The checked fruits (got using beans) are &lt;br>
+
+&lt;% 
+		fruits = foo.getFruit();
+%>
+&lt;ul>
+&lt;%
+    if (!fruits[0].equals("1")) {
+	  for (int i = 0; i &lt; fruits.length; i++) {
+%>
+&lt;li>
+&lt;%
+		  out.println (util.HTMLFilter.filter(fruits[i]));
+	  }
+	} else out.println ("none selected");
+%>
+&lt;/ul>
+&lt;/font>
+&lt;/body>
+&lt;/html>
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/checkbox/cresult.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/checkbox/cresult.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/checkbox/cresult.html	(revision 66)
@@ -0,0 +1,34 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<head>
+<title>Untitled Document</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="check.html"><img src="../images/execute.gif" align="right" border="0"></a><a href="../index.html"><img src="../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="checkresult.jsp.html">Source Code for Checkbox Example<font color="#0000FF"></a>
+  </font> </h3>
+
+<h3><a href="CheckTest.html">Property Sheet for CheckTest
+<font color="#0000FF"></a> </font> </h3>
+
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/colors/ColorGameBean.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/colors/ColorGameBean.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/colors/ColorGameBean.html	(revision 66)
@@ -0,0 +1,116 @@
+<HTML>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<HEAD>
+<title>
+colors.ColorGameBean Bean Properties
+</title>
+<BODY BGCOLOR="white">
+<H2>
+colors.ColorGameBean Bean Properties
+</H2>
+<HR>
+<DL>
+<DT>public class <B>ColorGameBean</B><DT>extends Object</DL>
+
+<P>
+<HR>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0">
+<TR BGCOLOR="#EEEEFF">
+<TD COLSPAN=3><FONT SIZE="+2">
+<B>Properties Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white">
+<td align="right" valign="top" width="1%">
+<FONT SIZE="-1">
+String
+</FONT></TD>
+<TD><B>ColorGameBean:color2</B>
+<BR>
+       </TD>
+<td width="1%">
+<FONT SIZE="-1">
+Single
+</FONT></TD>
+<TR BGCOLOR="white">
+<td align="right" valign="top" width="1%">
+<FONT SIZE="-1">
+String
+</FONT></TD>
+<TD><B>ColorGameBean:color1</B>
+<BR>
+       </TD>
+<td width="1%">
+<FONT SIZE="-1">
+Single
+</FONT></TD>
+<TR BGCOLOR="white">
+<td align="right" valign="top" width="1%">
+<FONT SIZE="-1">
+int
+</FONT></TD>
+<TD><B>ColorGameBean:attempts</B>
+<BR>
+       </TD>
+<td width="1%">
+<FONT SIZE="-1">
+Single
+</FONT></TD>
+<TR BGCOLOR="white">
+<td align="right" valign="top" width="1%">
+<FONT SIZE="-1">
+boolean
+</FONT></TD>
+<TD><B>ColorGameBean:hint</B>
+<BR>
+       </TD>
+<td width="1%">
+<FONT SIZE="-1">
+Single
+</FONT></TD>
+<TR BGCOLOR="white">
+<td align="right" valign="top" width="1%">
+<FONT SIZE="-1">
+boolean
+</FONT></TD>
+<TD><B>ColorGameBean:success</B>
+<BR>
+       </TD>
+<td width="1%">
+<FONT SIZE="-1">
+Single
+</FONT></TD>
+<TR BGCOLOR="white">
+<td align="right" valign="top" width="1%">
+<FONT SIZE="-1">
+boolean
+</FONT></TD>
+<TD><B>ColorGameBean:hintTaken</B>
+<BR>
+       </TD>
+<td width="1%">
+<FONT SIZE="-1">
+Single
+</FONT></TD>
+</TABLE>
+<HR>
+</BODY>
+</HTML>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/colors/clr.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/colors/clr.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/colors/clr.html	(revision 66)
@@ -0,0 +1,34 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<head>
+<title>Untitled Document</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="colors.html"><img src="../images/execute.gif" align="right" border="0"></a><a href="../index.html"><img src="../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="colrs.jsp.html">Source Code for Color Example<font color="#0000FF"></a>
+  </font> </h3>
+
+<h3><a href="ColorGameBean.html">Property Sheet for ColorGameBean
+<font color="#0000FF"></a> </font> </h3>
+
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/colors/colors.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/colors/colors.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/colors/colors.html	(revision 66)
@@ -0,0 +1,47 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<body bgcolor= white>
+<font size=6 color=red>
+
+<hr>
+This web page is an example using JSP and BEANs. 
+<p>
+Guess my favorite two colors 
+
+<p> If you fail to guess both of them - you get yellow on red.
+
+<p> If you guess one of them right, either your foreground or 
+    your background will change to the color that was guessed right.
+
+<p> Guess them both right and your browser foreground/background 
+    will change to my two favorite colors to display this page.
+
+<hr>
+<form method=GET action=colrs.jsp>
+Color #1: <input type=text name= color1 size=16>
+<br>
+Color #2: <input type=text name= color2 size=16>
+<p>
+<input type=submit name=action value="Submit">
+<input type=submit name=action value="Hint">
+</form>
+
+</font>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/colors/colrs.jsp
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/colors/colrs.jsp	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/colors/colrs.jsp	(revision 66)
@@ -0,0 +1,70 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<jsp:useBean id="cb" scope="session" class="colors.ColorGameBean" />
+<jsp:setProperty name="cb" property="*" />
+
+<%
+	cb.processRequest(request);
+%>
+
+<body bgcolor=<%= cb.getColor1() %>>
+<font size=6 color=<%= cb.getColor2() %>>
+<p>
+
+<% if (cb.getHint()==true) { %>
+	
+	<p> Hint #1: Vampires prey at night!
+	<p>  <p> Hint #2: Nancy without the n.
+
+<% } %>
+
+<% if  (cb.getSuccess()==true) { %>
+
+    <p> CONGRATULATIONS!!
+	<% if  (cb.getHintTaken()==true) { %>
+    
+        <p> ( although I know you cheated and peeked into the hints)
+
+	<% } %>
+
+<% } %>
+
+<p> Total attempts so far: <%= cb.getAttempts() %>
+<p>
+
+<p>
+
+<form method=POST action=colrs.jsp>
+
+Color #1: <input type=text name= color1 size=16>
+
+<br>
+
+Color #2: <input type=text name= color2 size=16>
+
+<p>
+
+<input type=submit name=action value="Submit">
+<input type=submit name=action value="Hint">
+
+</form>
+
+</font>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/colors/colrs.jsp.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/colors/colrs.jsp.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/colors/colrs.jsp.html	(revision 66)
@@ -0,0 +1,72 @@
+<html><body><pre>
+&lt;html>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+&lt;jsp:useBean id="cb" scope="session" class="colors.ColorGameBean" />
+&lt;jsp:setProperty name="cb" property="*" />
+
+&lt;%
+	cb.processRequest(request);
+%>
+
+&lt;body bgcolor=&lt;%= cb.getColor1() %>>
+&lt;font size=6 color=&lt;%= cb.getColor2() %>>
+&lt;p>
+
+&lt;% if (cb.getHint()==true) { %>
+	
+	&lt;p> Hint #1: Vampires prey at night!
+	&lt;p>  &lt;p> Hint #2: Nancy without the n.
+
+&lt;% } %>
+
+&lt;% if  (cb.getSuccess()==true) { %>
+
+    &lt;p> CONGRATULATIONS!!
+	&lt;% if  (cb.getHintTaken()==true) { %>
+    
+        &lt;p> ( although I know you cheated and peeked into the hints)
+
+	&lt;% } %>
+
+&lt;% } %>
+
+&lt;p> Total attempts so far: &lt;%= cb.getAttempts() %>
+&lt;p>
+
+&lt;p>
+
+&lt;form method=POST action=colrs.jsp>
+
+Color #1: &lt;input type=text name= color1 size=16>
+
+&lt;br>
+
+Color #2: &lt;input type=text name= color2 size=16>
+
+&lt;p>
+
+&lt;input type=submit name=action value="Submit">
+&lt;input type=submit name=action value="Hint">
+
+&lt;/form>
+
+&lt;/font>
+&lt;/body>
+&lt;/html>
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/dates/date.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/dates/date.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/dates/date.html	(revision 66)
@@ -0,0 +1,31 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<head>
+<title>Untitled Document</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="date.jsp"><img src="../images/execute.gif" align="right" border="0"></a><a href="../index.html"><img src="../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="date.jsp.html">Source Code for Date Example<font color="#0000FF"></a>
+  </font> </h3>
+
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/dates/date.jsp
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/dates/date.jsp	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/dates/date.jsp	(revision 66)
@@ -0,0 +1,41 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<%@ page session="false"%>
+
+<body bgcolor="white">
+<jsp:useBean id='clock' scope='page' class='dates.JspCalendar' type="dates.JspCalendar" />
+
+<font size=4>
+<ul>
+<li>	Day of month: is  <jsp:getProperty name="clock" property="dayOfMonth"/>
+<li>	Year: is  <jsp:getProperty name="clock" property="year"/>
+<li>	Month: is  <jsp:getProperty name="clock" property="month"/>
+<li>	Time: is  <jsp:getProperty name="clock" property="time"/>
+<li>	Date: is  <jsp:getProperty name="clock" property="date"/>
+<li>	Day: is  <jsp:getProperty name="clock" property="day"/>
+<li>	Day Of Year: is  <jsp:getProperty name="clock" property="dayOfYear"/>
+<li>	Week Of Year: is  <jsp:getProperty name="clock" property="weekOfYear"/>
+<li>	era: is  <jsp:getProperty name="clock" property="era"/>
+<li>	DST Offset: is  <jsp:getProperty name="clock" property="DSTOffset"/>
+<li>	Zone Offset: is  <jsp:getProperty name="clock" property="zoneOffset"/>
+</ul>
+</font>
+
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/dates/date.jsp.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/dates/date.jsp.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/dates/date.jsp.html	(revision 66)
@@ -0,0 +1,43 @@
+<html><body><pre>
+&lt;html>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+&lt;%@ page session="false"%>
+
+&lt;body bgcolor="white">
+&lt;jsp:useBean id='clock' scope='page' class='dates.JspCalendar' type="dates.JspCalendar" />
+
+&lt;font size=4>
+&lt;ul>
+&lt;li>	Day of month: is  &lt;jsp:getProperty name="clock" property="dayOfMonth"/>
+&lt;li>	Year: is  &lt;jsp:getProperty name="clock" property="year"/>
+&lt;li>	Month: is  &lt;jsp:getProperty name="clock" property="month"/>
+&lt;li>	Time: is  &lt;jsp:getProperty name="clock" property="time"/>
+&lt;li>	Date: is  &lt;jsp:getProperty name="clock" property="date"/>
+&lt;li>	Day: is  &lt;jsp:getProperty name="clock" property="day"/>
+&lt;li>	Day Of Year: is  &lt;jsp:getProperty name="clock" property="dayOfYear"/>
+&lt;li>	Week Of Year: is  &lt;jsp:getProperty name="clock" property="weekOfYear"/>
+&lt;li>	era: is  &lt;jsp:getProperty name="clock" property="era"/>
+&lt;li>	DST Offset: is  &lt;jsp:getProperty name="clock" property="DSTOffset"/>
+&lt;li>	Zone Offset: is  &lt;jsp:getProperty name="clock" property="zoneOffset"/>
+&lt;/ul>
+&lt;/font>
+
+&lt;/body>
+&lt;/html>
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/error/er.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/error/er.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/error/er.html	(revision 66)
@@ -0,0 +1,31 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<head>
+<title>Untitled Document</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="error.html"><img src="../images/execute.gif" align="right" border="0"></a><a href="../index.html"><img src="../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="err.jsp.html">Source Code for Error Example<font color="#0000FF"></a>
+  </font> </h3>
+
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/error/err.jsp
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/error/err.jsp	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/error/err.jsp	(revision 66)
@@ -0,0 +1,44 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<body bgcolor="lightblue">
+
+	<%@ page errorPage="errorpge.jsp" %>
+	<jsp:useBean id="foo" scope="request" class="error.Smart" />
+	<% 
+		String name = null;
+
+		if (request.getParameter("name") == null) {
+	%>
+	<%@ include file="error.html" %>
+	<%
+		} else {
+		  foo.setName(request.getParameter("name"));
+		  if (foo.getName().equalsIgnoreCase("integra"))
+		  	name = "acura";
+		  if (name.equalsIgnoreCase("acura")) {
+	%>
+
+	<H1> Yes!!! <a href="http://www.acura.com">Acura</a> is my favorite car.
+
+	<% 
+		  }
+		}	
+	%>	
+</body>
+</html>
+
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/error/err.jsp.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/error/err.jsp.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/error/err.jsp.html	(revision 66)
@@ -0,0 +1,46 @@
+<html><body><pre>
+&lt;html>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;body bgcolor="lightblue">
+
+	&lt;%@ page errorPage="errorpge.jsp" %>
+	&lt;jsp:useBean id="foo" scope="request" class="error.Smart" />
+	&lt;% 
+		String name = null;
+
+		if (request.getParameter("name") == null) {
+	%>
+	&lt;%@ include file="error.html" %>
+	&lt;%
+		} else {
+		  foo.setName(request.getParameter("name"));
+		  if (foo.getName().equalsIgnoreCase("integra"))
+		  	name = "acura";
+		  if (name.equalsIgnoreCase("acura")) {
+	%>
+
+	&lt;H1> Yes!!! &lt;a href="http://www.acura.com">Acura&lt;/a> is my favorite car.
+
+	&lt;% 
+		  }
+		}	
+	%>	
+&lt;/body>
+&lt;/html>
+
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/error/error.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/error/error.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/error/error.html	(revision 66)
@@ -0,0 +1,37 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<body bgcolor="white">
+
+<h1> This example uses <b>errorpage</b> directive </h1>
+<br>
+<h3> Select my favourite car.</h3>
+<form method=get action=err.jsp>
+<!-- <br> Make a guess: -->
+<SELECT NAME="name" SIZE=5>
+<OPTION VALUE="integra"> Acura Integra <BR>
+<OPTION VALUE="bmw328i"> BMW 328I <BR>
+<OPTION VALUE="z3"> BMW Z3 <BR>
+<OPTION VALUE="infiniti"> InfinitiQ3 <BR>
+<OPTION VALUE="audi"> Audi A8 <BR>
+</SELECT>
+<br> <INPUT TYPE=submit name=submit Value="Submit">
+</form>
+
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/error/errorpge.jsp
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/error/errorpge.jsp	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/error/errorpge.jsp	(revision 66)
@@ -0,0 +1,25 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<body bgcolor="red">
+
+	<%@ page isErrorPage="true" %>
+	<h1> The exception <%= exception.getMessage() %> tells me you
+	     made a wrong choice. 
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/error/errorpge.jsp.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/error/errorpge.jsp.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/error/errorpge.jsp.html	(revision 66)
@@ -0,0 +1,27 @@
+<html><body><pre>
+&lt;html>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+&lt;body bgcolor="red">
+
+	&lt;%@ page isErrorPage="true" %>
+	&lt;h1> The exception &lt;%= exception.getMessage() %> tells me you
+	     made a wrong choice. 
+&lt;/body>
+&lt;/html>
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/forward/forward.jsp
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/forward/forward.jsp	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/forward/forward.jsp	(revision 66)
@@ -0,0 +1,34 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<% 
+   double freeMem = Runtime.getRuntime().freeMemory();
+   double totlMem = Runtime.getRuntime().totalMemory();
+   double percent = freeMem/totlMem;
+   if (percent < 0.5) { 
+%>
+
+<jsp:forward page="one.jsp"/>
+
+<% } else { %>
+
+<jsp:forward page="two.html"/>
+
+<% } %>
+
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/forward/forward.jsp.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/forward/forward.jsp.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/forward/forward.jsp.html	(revision 66)
@@ -0,0 +1,36 @@
+<html><body><pre>
+&lt;html>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+&lt;% 
+   double freeMem = Runtime.getRuntime().freeMemory();
+   double totlMem = Runtime.getRuntime().totalMemory();
+   double percent = freeMem/totlMem;
+   if (percent &lt; 0.5) { 
+%>
+
+&lt;jsp:forward page="one.jsp"/>
+
+&lt;% } else { %>
+
+&lt;jsp:forward page="two.html"/>
+
+&lt;% } %>
+
+&lt;/html>
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/forward/fwd.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/forward/fwd.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/forward/fwd.html	(revision 66)
@@ -0,0 +1,30 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<head>
+<title>Untitled Document</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="forward.jsp"><img src="../images/execute.gif" align="right" border="0"></a><a href="../index.html"><img src="../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="forward.jsp.html">Source Code for Forward Example<font color="#0000FF"></a>
+  </font> </h3>
+
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/forward/one.jsp
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/forward/one.jsp	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/forward/one.jsp	(revision 66)
@@ -0,0 +1,23 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<body bgcolor="white">
+<font color="red">
+
+VM Memory usage < 50%.
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/forward/one.jsp.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/forward/one.jsp.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/forward/one.jsp.html	(revision 66)
@@ -0,0 +1,25 @@
+<html><body><pre>
+&lt;html>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+&lt;body bgcolor="white">
+&lt;font color="red">
+
+VM Memory usage &lt; 50%.
+&lt;/html>
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/forward/two.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/forward/two.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/forward/two.html	(revision 66)
@@ -0,0 +1,23 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<body bgcolor="white">
+<font color="red">
+
+VM Memory usage > 50%.
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/include/foo.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/include/foo.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/include/foo.html	(revision 66)
@@ -0,0 +1,17 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+To get the current time in ms
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/include/foo.jsp
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/include/foo.jsp	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/include/foo.jsp	(revision 66)
@@ -0,0 +1,21 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<body bgcolor="white">
+<font color="red">
+
+<%= System.currentTimeMillis() %>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/include/foo.jsp.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/include/foo.jsp.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/include/foo.jsp.html	(revision 66)
@@ -0,0 +1,23 @@
+<html><body><pre>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+&lt;body bgcolor="white">
+&lt;font color="red">
+
+&lt;%= System.currentTimeMillis() %>
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/include/inc.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/include/inc.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/include/inc.html	(revision 66)
@@ -0,0 +1,30 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<head>
+<title>Untitled Document</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="include.jsp"><img src="../images/execute.gif" align="right" border="0"></a><a href="../index.html"><img src="../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="include.jsp.html">Source Code for Include Example<font color="#0000FF"></a>
+  </font> </h3>
+
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/include/include.jsp
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/include/include.jsp	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/include/include.jsp	(revision 66)
@@ -0,0 +1,35 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<body bgcolor="white">
+
+<font color="red">
+
+<%@ page buffer="5kb" autoFlush="false" %>
+
+<p>In place evaluation of another JSP which gives you the current time:
+
+<%@ include file="foo.jsp" %>
+
+<p> <jsp:include page="foo.html" flush="true"/> by including the output of another JSP:
+
+<jsp:include page="foo.jsp" flush="true"/>
+
+:-) 
+
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/include/include.jsp.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/include/include.jsp.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/include/include.jsp.html	(revision 66)
@@ -0,0 +1,37 @@
+<html><body><pre>
+&lt;html>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+&lt;body bgcolor="white">
+
+&lt;font color="red">
+
+&lt;%@ page buffer="5kb" autoFlush="false" %>
+
+&lt;p>In place evaluation of another JSP which gives you the current time:
+
+&lt;%@ include file="foo.jsp" %>
+
+&lt;p> &lt;jsp:include page="foo.html" flush="true"/> by including the output of another JSP:
+
+&lt;jsp:include page="foo.jsp" flush="true"/>
+
+:-) 
+
+&lt;/html>
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/index.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/index.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/index.html	(revision 66)
@@ -0,0 +1,370 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<head>
+   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+   <meta name="GENERATOR" content="Mozilla/4.61 [en] (WinNT; I) [Netscape]">
+   <meta name="Author" content="Anil K. Vijendran">
+   <title>JSP Examples</title>
+</head>
+<body bgcolor="#FFFFFF">
+<b><font face="Arial, Helvetica, sans-serif"><font size=+2>JSP
+Samples</font></font></b>
+<p>This is a collection of samples demonstrating the usage of different
+parts of the Java Server Pages (JSP) specification.  Both JSP 2.0 and
+JSP 1.2 examples are presented below.
+<p>These examples will only work when these pages are being served by a
+servlet engine; of course, we recommend
+<a href="http://tomcat.apache.org/">Tomcat</a>.
+They will not work if you are viewing these pages via a
+"file://..." URL.
+<p>To navigate your way through the examples, the following icons will
+help:
+<br>&nbsp;
+<table BORDER=0 CELLSPACING=5 WIDTH="85%" >
+<tr VALIGN=TOP>
+<td WIDTH="30"><img SRC="images/execute.gif" ></td>
+
+<td>Execute the example</td>
+</tr>
+
+<tr VALIGN=TOP>
+<td WIDTH="30"><img SRC="images/code.gif" height=24 width=24></td>
+
+<td>Look at the source code for the example</td>
+</tr>
+
+<!--<tr VALIGN=TOP>
+<td WIDTH="30"><img SRC="images/read.gif" height=24 width=24></td>
+
+<td>Read more about this feature</td>
+-->
+
+</tr>
+<tr VALIGN=TOP>
+<td WIDTH="30"><img SRC="images/return.gif" height=24 width=24></td>
+
+<td>Return to this screen</td>
+</tr>
+</table>
+
+<p>Tip: For session scoped beans to work, the cookies must be enabled.
+This can be done using browser options.
+<br>&nbsp;
+<br>
+<b><u><font size="+1">JSP 2.0 Examples</font></u></b><br>
+
+<table BORDER=0 CELLSPACING=5 WIDTH="85%" >
+<tr valign=TOP>
+<td><b>Expression Language</b></td>
+</tr>
+
+<tr valign=TOP>
+<td>Basic Arithmetic</td>
+<td valign=TOP width="30%"><a href="jsp2/el/basic-arithmetic.jsp"><img src="images/execute.gif" hspace=4 border=0  align=top></a><a href="jsp2/el/basic-arithmetic.jsp">Execute</a></td>
+
+<td width="30%"><a href="jsp2/el/basic-arithmetic.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="jsp2/el/basic-arithmetic.html">Source</a></td>
+</tr>
+
+<tr valign=TOP>
+<td>Basic Comparisons</td>
+<td valign=TOP width="30%"><a href="jsp2/el/basic-comparisons.jsp"><img src="images/execute.gif" hspace=4 border=0  align=top></a><a href="jsp2/el/basic-comparisons.jsp">Execute</a></td>
+
+<td width="30%"><a href="jsp2/el/basic-comparisons.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="jsp2/el/basic-comparisons.html">Source</a></td>
+</tr>
+
+<tr valign=TOP>
+<td>Implicit Objects</td>
+<td valign=TOP width="30%"><a href="jsp2/el/implicit-objects.jsp?foo=bar"><img src="images/execute.gif" hspace=4 border=0  align=top></a><a href="jsp2/el/implicit-objects.jsp?foo=bar">Execute</a></td>
+
+<td width="30%"><a href="jsp2/el/implicit-objects.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="jsp2/el/implicit-objects.html">Source</a></td>
+</tr>
+<tr valign=TOP>
+
+<td>Functions</td>
+<td valign=TOP width="30%"><a href="jsp2/el/functions.jsp?foo=JSP+2.0"><img src="images/execute.gif" hspace=4 border=0  align=top></a><a href="jsp2/el/functions.jsp?foo=JSP+2.0">Execute</a></td>
+
+<td width="30%"><a href="jsp2/el/functions.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="jsp2/el/functions.html">Source</a></td>
+</tr>
+
+<tr valign=TOP>
+<td><br><b>SimpleTag Handlers and JSP Fragments</b></td>
+</tr>
+
+<tr valign=TOP>
+<td>Hello World Tag</td>
+<td valign=TOP width="30%"><a href="jsp2/simpletag/hello.jsp"><img src="images/execute.gif" hspace=4 border=0  align=top></a><a href="jsp2/simpletag/hello.jsp">Execute</a></td>
+
+<td width="30%"><a href="jsp2/simpletag/hello.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="jsp2/simpletag/hello.html">Source</a></td>
+</tr>
+
+<tr valign=TOP>
+<td>Repeat Tag</td>
+<td valign=TOP width="30%"><a href="jsp2/simpletag/repeat.jsp"><img src="images/execute.gif" hspace=4 border=0  align=top></a><a href="jsp2/simpletag/repeat.jsp">Execute</a></td>
+
+<td width="30%"><a href="jsp2/simpletag/repeat.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="jsp2/simpletag/repeat.html">Source</a></td>
+</tr>
+
+<tr valign=TOP>
+<td>Book Example</td>
+<td valign=TOP width="30%"><a href="jsp2/simpletag/book.jsp"><img src="images/execute.gif" hspace=4 border=0  align=top></a><a href="jsp2/simpletag/book.jsp">Execute</a></td>
+
+<td width="30%"><a href="jsp2/simpletag/book.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="jsp2/simpletag/book.html">Source</a></td>
+</tr>
+
+<tr valign=TOP>
+<td><br><b>Tag Files</b></td>
+</tr>
+
+<tr valign=TOP>
+<td>Hello World Tag File</td>
+<td valign=TOP width="30%"><a href="jsp2/tagfiles/hello.jsp"><img src="images/execute.gif" hspace=4 border=0  align=top></a><a href="jsp2/tagfiles/hello.jsp">Execute</a></td>
+
+<td width="30%"><a href="jsp2/tagfiles/hello.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="jsp2/tagfiles/hello.html">Source</a></td>
+</tr>
+
+<tr valign=TOP>
+<td>Panel Tag File</td>
+<td valign=TOP width="30%"><a href="jsp2/tagfiles/panel.jsp"><img src="images/execute.gif" hspace=4 border=0  align=top></a><a href="jsp2/tagfiles/panel.jsp">Execute</a></td>
+
+<td width="30%"><a href="jsp2/tagfiles/panel.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="jsp2/tagfiles/panel.html">Source</a></td>
+</tr>
+
+<tr valign=TOP>
+<td>Display Products Example</td>
+<td valign=TOP width="30%"><a href="jsp2/tagfiles/products.jsp"><img src="images/execute.gif" hspace=4 border=0  align=top></a><a href="jsp2/tagfiles/products.jsp">Execute</a></td>
+
+<td width="30%"><a href="jsp2/tagfiles/products.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="jsp2/tagfiles/products.html">Source</a></td>
+</tr>
+
+<tr valign=TOP>
+<td><br><b>New JSP XML Syntax (.jspx)</b></td>
+</tr>
+
+<tr valign=TOP>
+<td>XHTML Basic Example</td>
+<td valign=TOP width="30%"><a href="jsp2/jspx/basic.jspx"><img src="images/execute.gif" hspace=4 border=0  align=top></a><a href="jsp2/jspx/basic.jspx">Execute</a></td>
+
+<td width="30%"><a href="jsp2/jspx/basic.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="jsp2/jspx/basic.html">Source</a></td>
+</tr>
+
+<tr valign=TOP>
+<td>SVG (Scalable Vector Graphics)</td>
+<td valign=TOP width="30%"><a href="jsp2/jspx/svgexample.html"><img src="images/execute.gif" hspace=4 border=0  align=top></a><a href="jsp2/jspx/svgexample.html">Execute</a></td>
+
+<td width="30%"><a href="jsp2/jspx/textRotate.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="jsp2/jspx/textRotate.html">Source</a></td>
+</tr>
+
+<tr valign=TOP>
+<td><br><b>Other JSP 2.0 Features</b></td>
+</tr>
+
+<tr valign=TOP>
+<td>&lt;jsp:attribute&gt; and &lt;jsp:body&gt;</td>
+<td valign=TOP width="30%"><a href="jsp2/jspattribute/jspattribute.jsp"><img src="images/execute.gif" hspace=4 border=0  align=top></a><a href="jsp2/jspattribute/jspattribute.jsp">Execute</a></td>
+
+<td width="30%"><a href="jsp2/jspattribute/jspattribute.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="jsp2/jspattribute/jspattribute.html">Source</a></td>
+</tr>
+
+<tr valign=TOP>
+<td>Shuffle Example</td>
+<td valign=TOP width="30%"><a href="jsp2/jspattribute/shuffle.jsp"><img src="images/execute.gif" hspace=4 border=0  align=top></a><a href="jsp2/jspattribute/shuffle.jsp">Execute</a></td>
+
+<td width="30%"><a href="jsp2/jspattribute/shuffle.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="jsp2/jspattribute/shuffle.html">Source</a></td>
+</tr>
+
+<tr valign=TOP>
+<td>Attributes With Dynamic Names</td>
+<td valign=TOP width="30%"><a href="jsp2/misc/dynamicattrs.jsp"><img src="images/execute.gif" hspace=4 border=0  align=top></a><a href="jsp2/misc/dynamicattrs.jsp">Execute</a></td>
+
+<td width="30%"><a href="jsp2/misc/dynamicattrs.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="jsp2/misc/dynamicattrs.html">Source</a></td>
+</tr>
+
+<tr valign=TOP>
+<td>JSP Configuration</td>
+<td valign=TOP width="30%"><a href="jsp2/misc/config.jsp"><img src="images/execute.gif" hspace=4 border=0  align=top></a><a href="jsp2/misc/config.jsp">Execute</a></td>
+
+<td width="30%"><a href="jsp2/misc/config.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="jsp2/misc/config.html">Source</a></td>
+</tr>
+
+</table>
+
+<br>
+<b><u><font size="+1">JSP 1.2 Examples</font></u></b><br>
+<table BORDER=0 CELLSPACING=5 WIDTH="85%" >
+<tr VALIGN=TOP>
+<td>Numberguess&nbsp;</td>
+
+<td VALIGN=TOP WIDTH="30%"><a href="num/numguess.jsp"><img SRC="images/execute.gif" HSPACE=4 BORDER=0  align=TOP></a><a href="num/numguess.jsp">Execute</a></td>
+
+<td WIDTH="30%"><a href="num/numguess.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="num/numguess.html">Source</a></td>
+</tr>
+
+<tr VALIGN=TOP>
+<td>Date&nbsp;</td>
+
+<td VALIGN=TOP WIDTH="30%"><a href="dates/date.jsp"><img SRC="images/execute.gif" HSPACE=4 BORDER=0  align=TOP></a><a href="dates/date.jsp">Execute</a></td>
+
+<td WIDTH="30%"><a href="dates/date.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="dates/date.html">Source</a></td>
+</tr>
+
+<tr VALIGN=TOP>
+<td>Snoop</td>
+
+<td WIDTH="30%"><a href="snp/snoop.jsp"><img SRC="images/execute.gif" HSPACE=4 BORDER=0  align=TOP></a><a href="snp/snoop.jsp">Execute</a></td>
+
+<td WIDTH="30%"><a href="snp/snoop.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="snp/snoop.html">Source</a></td>
+</tr>
+
+<tr VALIGN=TOP>
+<td>ErrorPage&nbsp;</td>
+
+<td WIDTH="30%"><a href="error/error.html"><img SRC="images/execute.gif" HSPACE=4 BORDER=0  align=TOP></a><a href="error/error.html">Execute</a></td>
+
+<td WIDTH="30%"><a href="error/er.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="error/er.html">Source</a></td>
+</tr>
+
+<tr VALIGN=TOP>
+<td>Carts&nbsp;</td>
+
+<td VALIGN=TOP WIDTH="30%"><a href="sessions/carts.html"><img SRC="images/execute.gif" HSPACE=4 BORDER=0  align=TOP></a><a href="sessions/carts.html">Execute</a></td>
+
+<td WIDTH="30%"><a href="sessions/crt.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="sessions/crt.html">Source</a></td>
+</tr>
+
+<tr VALIGN=TOP>
+<td>Checkbox&nbsp;</td>
+
+<td VALIGN=TOP WIDTH="30%"><a href="checkbox/check.html"><img SRC="images/execute.gif" HSPACE=4 BORDER=0  align=TOP></a><a href="checkbox/check.html">Execute</a></td>
+
+<td WIDTH="30%"><a href="checkbox/cresult.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="checkbox/cresult.html">Source</a></td>
+</tr>
+
+<tr VALIGN=TOP>
+<td>Color&nbsp;</td>
+
+<td VALIGN=TOP WIDTH="30%"><a href="colors/colors.html"><img SRC="images/execute.gif" HSPACE=4 BORDER=0  align=TOP></a><a href="colors/colors.html">Execute</a></td>
+
+<td WIDTH="30%"><a href="colors/clr.html.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="colors/clr.html">Source</a></td>
+</tr>
+
+<tr VALIGN=TOP>
+<td>Calendar&nbsp;</td>
+
+<td WIDTH="30%"><a href="cal/login.html"><img SRC="images/execute.gif" HSPACE=4 BORDER=0  align=TOP></a><a href="cal/login.html">Execute</a></td>
+
+<td WIDTH="30%"><a href="cal/calendar.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="cal/calendar.html">Source</a></td>
+</tr>
+
+<tr VALIGN=TOP>
+<td>Include&nbsp;</td>
+
+<td VALIGN=TOP WIDTH="30%"><a href="/include/include.jsp"><img SRC="images/execute.gif" HSPACE=4 BORDER=0  align=TOP></a><a href="include/include.jsp">Execute</a></td>
+
+<td WIDTH="30%"><a href="include/inc.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="include/inc.html">Source</a></td>
+</tr>
+
+<tr VALIGN=TOP>
+<td>Forward&nbsp;</td>
+
+<td VALIGN=TOP WIDTH="30%"><a href="forward/forward.jsp"><img SRC="images/execute.gif" HSPACE=4 BORDER=0  align=TOP></a><a href="forward/forward.jsp">Execute</a></td>
+
+<td WIDTH="30%"><a href="forward/fwd.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="forward/fwd.html">Source</a></td>
+</tr>
+
+<tr VALIGN=TOP>
+<td>Plugin&nbsp;</td>
+
+<td VALIGN=TOP WIDTH="30%"><a href="plugin/plugin.jsp"><img SRC="images/execute.gif" HSPACE=4 BORDER=0  align=TOP></a><a href="plugin/plugin.jsp">Execute</a></td>
+
+<td WIDTH="30%"><a href="plugin/plugin.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="plugin/plugin.html">Source</a></td>
+</tr>
+
+<tr VALIGN=TOP>
+<td>JSP-Servlet-JSP&nbsp;</td>
+
+<td VALIGN=TOP WIDTH="30%"><a href="jsptoserv/jsptoservlet.jsp"><img SRC="images/execute.gif" HSPACE=4 BORDER=0  align=TOP></a><a href="jsptoserv/jsptoservlet.jsp">Execute</a></td>
+
+<td WIDTH="30%"><a href="jsptoserv/jts.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="jsptoserv/jts.html">Source</a></td>
+</tr>
+
+<tr VALIGN=TOP>
+<td>Custom tag example</td>
+
+<td VALIGN=TOP WIDTH="30%"><a href="simpletag/foo.jsp"><img SRC="images/execute.gif" HSPACE=4 BORDER=0  align=TOP></a><a href="simpletag/foo.jsp">Execute</a></td>
+
+<td WIDTH="30%"><a href="simpletag/foo.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="simpletag/foo.html">Source</a></td>
+</tr>
+
+<tr valign=TOP>
+<td>XML syntax example</td>
+<td valign=TOP width="30%"><a href="xml/xml.jsp"><img src="images/execute.gif" hspace=4 border=0  align=top></a><a href="xml/xml.jsp">Execute</a></td>
+
+<td width="30%"><a href="xml/xml.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="xml/xml.html">Source</a></td>
+</tr>
+
+</table>
+
+<br/>
+<b><u><font size="+1">Tag Plugins</font></u></b><br>
+<table BORDER=0 CELLSPACING=5 WIDTH="85%" >
+
+<tr VALIGN=TOP>
+  <td>If&nbsp;</td>
+  <td VALIGN=TOP WIDTH="30%">
+    <a href="tagplugin/if.jsp"><img SRC="images/execute.gif" HSPACE=4 BORDER=0  
+align=TOP></a>
+    <a href="tagplugin/if.jsp">Execute</a>
+  </td>
+  <td WIDTH="30%">
+    <a href="tagplugin/if.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 hei
+ght=24 width=24 align=TOP></a>
+    <a href="tagplugin/if.html">Source</a>
+  </td>
+</tr>
+
+<tr VALIGN=TOP>
+  <td>ForEach&nbsp;</td>
+  <td VALIGN=TOP WIDTH="30%">
+    <a href="tagplugin/foreach.jsp"><img SRC="images/execute.gif" HSPACE=4 BORDER=0  
+align=TOP></a>
+    <a href="tagplugin/foreach.jsp">Execute</a>
+  </td>
+  <td WIDTH="30%">
+    <a href="tagplugin/foreach.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 hei
+ght=24 width=24 align=TOP></a>
+    <a href="tagplugin/foreach.html">Source</a>
+  </td>
+</tr>
+
+<tr VALIGN=TOP>
+  <td>Choose&nbsp;</td>
+  <td VALIGN=TOP WIDTH="30%">
+    <a href="tagplugin/choose.jsp"><img SRC="images/execute.gif" HSPACE=4 BORDER=0  align=TOP></a>
+    <a href="tagplugin/choose.jsp">Execute</a>
+  </td>
+  <td WIDTH="30%">
+    <a href="tagplugin/choose.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a>
+    <a href="tagplugin/choose.html">Source</a>
+  </td>
+</tr>
+
+</table>
+
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/el/Functions.java.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/el/Functions.java.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/el/Functions.java.html	(revision 66)
@@ -0,0 +1,45 @@
+<html><body><pre>
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package jsp2.examples.el;
+
+/**
+ * Defines the functions for the jsp2 example tag library.
+ * 
+ * &lt;p>Each function is defined as a static method.&lt;/p>
+ */
+public class Functions {
+    public static String reverse( String text ) {
+        return new StringBuffer( text ).reverse().toString();
+    }
+
+    public static int numVowels( String text ) {
+        String vowels = "aeiouAEIOU";
+	int result = 0;
+        for( int i = 0; i &lt; text.length(); i++ ) {
+	    if( vowels.indexOf( text.charAt( i ) ) != -1 ) {
+	        result++;
+	    }
+	}
+	return result;
+    }
+
+    public static String caps( String text ) {
+        return text.toUpperCase();
+    }
+}
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/el/basic-arithmetic.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/el/basic-arithmetic.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/el/basic-arithmetic.html	(revision 66)
@@ -0,0 +1,30 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<head>
+<title>View Source Code</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="basic-arithmetic.jsp"><img src="../../images/execute.gif" align="right" border="0"></a><a href="../../index.html"><img src="../../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="basic-arithmetic.jsp.html">Source Code for Basic Arithmetic Example<font color="#0000FF"></a>
+  </font> </h3>
+
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/el/basic-arithmetic.jsp
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/el/basic-arithmetic.jsp	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/el/basic-arithmetic.jsp	(revision 66)
@@ -0,0 +1,88 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<html>
+  <head>
+    <title>JSP 2.0 Expression Language - Basic Arithmetic</title>
+  </head>
+  <body>
+    <h1>JSP 2.0 Expression Language - Basic Arithmetic</h1>
+    <hr>
+    This example illustrates basic Expression Language arithmetic.
+    Addition (+), subtraction (-), multiplication (*), division (/ or div), 
+    and modulus (% or mod) are all supported.  Error conditions, like
+    division by zero, are handled gracefully.
+    <br>
+    <blockquote>
+      <code>
+        <table border="1">
+          <thead>
+	    <td><b>EL Expression</b></td>
+	    <td><b>Result</b></td>
+	  </thead>
+	  <tr>
+	    <td>\${1}</td>
+	    <td>${1}</td>
+	  </tr>
+	  <tr>
+	    <td>\${1 + 2}</td>
+	    <td>${1 + 2}</td>
+	  </tr>
+	  <tr>
+	    <td>\${1.2 + 2.3}</td>
+	    <td>${1.2 + 2.3}</td>
+	  </tr>
+	  <tr>
+	    <td>\${1.2E4 + 1.4}</td>
+	    <td>${1.2E4 + 1.4}</td>
+	  </tr>
+	  <tr>
+	    <td>\${-4 - 2}</td>
+	    <td>${-4 - 2}</td>
+	  </tr>
+	  <tr>
+	    <td>\${21 * 2}</td>
+	    <td>${21 * 2}</td>
+	  </tr>
+	  <tr>
+	    <td>\${3/4}</td>
+	    <td>${3/4}</td>
+	  </tr>
+	  <tr>
+	    <td>\${3 div 4}</td>
+	    <td>${3 div 4}</td>
+	  </tr>
+	  <tr>
+	    <td>\${3/0}</td>
+	    <td>${3/0}</td>
+	  </tr>
+	  <tr>
+	    <td>\${10%4}</td>
+	    <td>${10%4}</td>
+	  </tr>
+	  <tr>
+	    <td>\${10 mod 4}</td>
+	    <td>${10 mod 4}</td>
+	  </tr>
+    <tr>
+      <td>\${(1==2) ? 3 : 4}</td>
+      <td>${(1==2) ? 3 : 4}</td>
+    </tr>
+	</table>
+      </code>
+    </blockquote>
+  </body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/el/basic-arithmetic.jsp.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/el/basic-arithmetic.jsp.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/el/basic-arithmetic.jsp.html	(revision 66)
@@ -0,0 +1,90 @@
+<html><body><pre>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;html>
+  &lt;head>
+    &lt;title>JSP 2.0 Expression Language - Basic Arithmetic&lt;/title>
+  &lt;/head>
+  &lt;body>
+    &lt;h1>JSP 2.0 Expression Language - Basic Arithmetic&lt;/h1>
+    &lt;hr>
+    This example illustrates basic Expression Language arithmetic.
+    Addition (+), subtraction (-), multiplication (*), division (/ or div), 
+    and modulus (% or mod) are all supported.  Error conditions, like
+    division by zero, are handled gracefully.
+    &lt;br>
+    &lt;blockquote>
+      &lt;code>
+        &lt;table border="1">
+          &lt;thead>
+	    &lt;td>&lt;b>EL Expression&lt;/b>&lt;/td>
+	    &lt;td>&lt;b>Result&lt;/b>&lt;/td>
+	  &lt;/thead>
+	  &lt;tr>
+	    &lt;td>\${1}&lt;/td>
+	    &lt;td>${1}&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${1 + 2}&lt;/td>
+	    &lt;td>${1 + 2}&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${1.2 + 2.3}&lt;/td>
+	    &lt;td>${1.2 + 2.3}&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${1.2E4 + 1.4}&lt;/td>
+	    &lt;td>${1.2E4 + 1.4}&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${-4 - 2}&lt;/td>
+	    &lt;td>${-4 - 2}&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${21 * 2}&lt;/td>
+	    &lt;td>${21 * 2}&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${3/4}&lt;/td>
+	    &lt;td>${3/4}&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${3 div 4}&lt;/td>
+	    &lt;td>${3 div 4}&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${3/0}&lt;/td>
+	    &lt;td>${3/0}&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${10%4}&lt;/td>
+	    &lt;td>${10%4}&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${10 mod 4}&lt;/td>
+	    &lt;td>${10 mod 4}&lt;/td>
+	  &lt;/tr>
+    &lt;tr>
+      &lt;td>\${(1==2) ? 3 : 4}&lt;/td>
+      &lt;td>${(1==2) ? 3 : 4}&lt;/td>
+    &lt;/tr>
+	&lt;/table>
+      &lt;/code>
+    &lt;/blockquote>
+  &lt;/body>
+&lt;/html>
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/el/basic-comparisons.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/el/basic-comparisons.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/el/basic-comparisons.html	(revision 66)
@@ -0,0 +1,30 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<head>
+<title>View Source Code</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="basic-comparisons.jsp"><img src="../../images/execute.gif" align="right" border="0"></a><a href="../../index.html"><img src="../../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="basic-comparisons.jsp.html">Source Code for Basic Comparisons Example<font color="#0000FF"></a>
+  </font> </h3>
+
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/el/basic-comparisons.jsp
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/el/basic-comparisons.jsp	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/el/basic-comparisons.jsp	(revision 66)
@@ -0,0 +1,116 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<html>
+  <head>
+    <title>JSP 2.0 Expression Language - Basic Comparisons</title>
+  </head>
+  <body>
+    <h1>JSP 2.0 Expression Language - Basic Comparisons</h1>
+    <hr>
+    This example illustrates basic Expression Language comparisons.
+    The following comparison operators are supported:
+    <ul>
+      <li>Less-than (&lt; or lt)</li>
+      <li>Greater-than (&gt; or gt)</li>
+      <li>Less-than-or-equal (&lt;= or le)</li>
+      <li>Greater-than-or-equal (&gt;= or ge)</li>
+      <li>Equal (== or eq)</li>
+      <li>Not Equal (!= or ne)</li>
+    </ul>
+    <blockquote>
+      <u><b>Numeric</b></u>
+      <code>
+        <table border="1">
+          <thead>
+	    <td><b>EL Expression</b></td>
+	    <td><b>Result</b></td>
+	  </thead>
+	  <tr>
+	    <td>\${1 &lt; 2}</td>
+	    <td>${1 < 2}</td>
+	  </tr>
+	  <tr>
+	    <td>\${1 lt 2}</td>
+	    <td>${1 lt 2}</td>
+	  </tr>
+	  <tr>
+	    <td>\${1 &gt; (4/2)}</td>
+	    <td>${1 > (4/2)}</td>
+	  </tr>
+	  <tr>
+	    <td>\${1 &gt; (4/2)}</td>
+	    <td>${1 > (4/2)}</td>
+	  </tr>
+	  <tr>
+	    <td>\${4.0 &gt;= 3}</td>
+	    <td>${4.0 >= 3}</td>
+	  </tr>
+	  <tr>
+	    <td>\${4.0 ge 3}</td>
+	    <td>${4.0 ge 3}</td>
+	  </tr>
+	  <tr>
+	    <td>\${4 &lt;= 3}</td>
+	    <td>${4 <= 3}</td>
+	  </tr>
+	  <tr>
+	    <td>\${4 le 3}</td>
+	    <td>${4 le 3}</td>
+	  </tr>
+	  <tr>
+	    <td>\${100.0 == 100}</td>
+	    <td>${100.0 == 100}</td>
+	  </tr>
+	  <tr>
+	    <td>\${100.0 eq 100}</td>
+	    <td>${100.0 eq 100}</td>
+	  </tr>
+	  <tr>
+	    <td>\${(10*10) != 100}</td>
+	    <td>${(10*10) != 100}</td>
+	  </tr>
+	  <tr>
+	    <td>\${(10*10) ne 100}</td>
+	    <td>${(10*10) ne 100}</td>
+	  </tr>
+	</table>
+      </code>
+      <br>
+      <u><b>Alphabetic</b></u>
+      <code>
+        <table border="1">
+          <thead>
+	    <td><b>EL Expression</b></td>
+	    <td><b>Result</b></td>
+	  </thead>
+	  <tr>
+	    <td>\${'a' &lt; 'b'}</td>
+	    <td>${'a' < 'b'}</td>
+	  </tr>
+	  <tr>
+	    <td>\${'hip' &gt; 'hit'}</td>
+	    <td>${'hip' > 'hit'}</td>
+	  </tr>
+	  <tr>
+	    <td>\${'4' &gt; 3}</td>
+	    <td>${'4' > 3}</td>
+	  </tr>
+	</table>
+      </code>
+    </blockquote>
+  </body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/el/basic-comparisons.jsp.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/el/basic-comparisons.jsp.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/el/basic-comparisons.jsp.html	(revision 66)
@@ -0,0 +1,118 @@
+<html><body><pre>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;html>
+  &lt;head>
+    &lt;title>JSP 2.0 Expression Language - Basic Comparisons&lt;/title>
+  &lt;/head>
+  &lt;body>
+    &lt;h1>JSP 2.0 Expression Language - Basic Comparisons&lt;/h1>
+    &lt;hr>
+    This example illustrates basic Expression Language comparisons.
+    The following comparison operators are supported:
+    &lt;ul>
+      &lt;li>Less-than (&amp;lt; or lt)&lt;/li>
+      &lt;li>Greater-than (&amp;gt; or gt)&lt;/li>
+      &lt;li>Less-than-or-equal (&amp;lt;= or le)&lt;/li>
+      &lt;li>Greater-than-or-equal (&amp;gt;= or ge)&lt;/li>
+      &lt;li>Equal (== or eq)&lt;/li>
+      &lt;li>Not Equal (!= or ne)&lt;/li>
+    &lt;/ul>
+    &lt;blockquote>
+      &lt;u>&lt;b>Numeric&lt;/b>&lt;/u>
+      &lt;code>
+        &lt;table border="1">
+          &lt;thead>
+	    &lt;td>&lt;b>EL Expression&lt;/b>&lt;/td>
+	    &lt;td>&lt;b>Result&lt;/b>&lt;/td>
+	  &lt;/thead>
+	  &lt;tr>
+	    &lt;td>\${1 &amp;lt; 2}&lt;/td>
+	    &lt;td>${1 &lt; 2}&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${1 lt 2}&lt;/td>
+	    &lt;td>${1 lt 2}&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${1 &amp;gt; (4/2)}&lt;/td>
+	    &lt;td>${1 > (4/2)}&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${1 &amp;gt; (4/2)}&lt;/td>
+	    &lt;td>${1 > (4/2)}&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${4.0 &amp;gt;= 3}&lt;/td>
+	    &lt;td>${4.0 >= 3}&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${4.0 ge 3}&lt;/td>
+	    &lt;td>${4.0 ge 3}&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${4 &amp;lt;= 3}&lt;/td>
+	    &lt;td>${4 &lt;= 3}&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${4 le 3}&lt;/td>
+	    &lt;td>${4 le 3}&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${100.0 == 100}&lt;/td>
+	    &lt;td>${100.0 == 100}&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${100.0 eq 100}&lt;/td>
+	    &lt;td>${100.0 eq 100}&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${(10*10) != 100}&lt;/td>
+	    &lt;td>${(10*10) != 100}&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${(10*10) ne 100}&lt;/td>
+	    &lt;td>${(10*10) ne 100}&lt;/td>
+	  &lt;/tr>
+	&lt;/table>
+      &lt;/code>
+      &lt;br>
+      &lt;u>&lt;b>Alphabetic&lt;/b>&lt;/u>
+      &lt;code>
+        &lt;table border="1">
+          &lt;thead>
+	    &lt;td>&lt;b>EL Expression&lt;/b>&lt;/td>
+	    &lt;td>&lt;b>Result&lt;/b>&lt;/td>
+	  &lt;/thead>
+	  &lt;tr>
+	    &lt;td>\${'a' &amp;lt; 'b'}&lt;/td>
+	    &lt;td>${'a' &lt; 'b'}&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${'hip' &amp;gt; 'hit'}&lt;/td>
+	    &lt;td>${'hip' > 'hit'}&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${'4' &amp;gt; 3}&lt;/td>
+	    &lt;td>${'4' > 3}&lt;/td>
+	  &lt;/tr>
+	&lt;/table>
+      &lt;/code>
+    &lt;/blockquote>
+  &lt;/body>
+&lt;/html>
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/el/functions.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/el/functions.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/el/functions.html	(revision 66)
@@ -0,0 +1,32 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<head>
+<title>View Source Code</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="functions.jsp?foo=JSP+2.0"><img src="../../images/execute.gif" align="right" border="0"></a><a href="../../index.html"><img src="../../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="functions.jsp.html">Source Code for functions.jsp<font color="#0000FF"></a>
+  </font> </h3>
+<h3><a href="Functions.java.html">Source Code for Functions.java<font color="#0000FF"></a>
+  </font> </h3>
+
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/el/functions.jsp
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/el/functions.jsp	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/el/functions.jsp	(revision 66)
@@ -0,0 +1,66 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
+<%@ taglib prefix="my" uri="http://jakarta.apache.org/tomcat/jsp2-example-taglib"%>
+
+<html>
+  <head>
+    <title>JSP 2.0 Expression Language - Functions</title>
+  </head>
+  <body>
+    <h1>JSP 2.0 Expression Language - Functions</h1>
+    <hr>
+    An upgrade from the JSTL expression language, the JSP 2.0 EL also
+    allows for simple function invocation.  Functions are defined
+    by tag libraries and are implemented by a Java programmer as 
+    static methods.
+
+    <blockquote>
+      <u><b>Change Parameter</b></u>
+      <form action="functions.jsp" method="GET">
+	  foo = <input type="text" name="foo" value="${fn:escapeXml(param["foo"])}">
+          <input type="submit">
+      </form>
+      <br>
+      <code>
+        <table border="1">
+          <thead>
+	    <td><b>EL Expression</b></td>
+	    <td><b>Result</b></td>
+	  </thead>
+	  <tr>
+	    <td>\${param["foo"]}</td>
+	    <td>${fn:escapeXml(param["foo"])}&nbsp;</td>
+	  </tr>
+	  <tr>
+	    <td>\${my:reverse(param["foo"])}</td>
+	    <td>${my:reverse(fn:escapeXml(param["foo"]))}&nbsp;</td>
+	  </tr>
+	  <tr>
+	    <td>\${my:reverse(my:reverse(param["foo"]))}</td>
+	    <td>${my:reverse(my:reverse(fn:escapeXml(param["foo"])))}&nbsp;</td>
+	  </tr>
+	  <tr>
+	    <td>\${my:countVowels(param["foo"])}</td>
+	    <td>${my:countVowels(fn:escapeXml(param["foo"]))}&nbsp;</td>
+	  </tr>
+	</table>
+      </code>
+    </blockquote>
+  </body>
+</html>
+
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/el/functions.jsp.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/el/functions.jsp.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/el/functions.jsp.html	(revision 66)
@@ -0,0 +1,68 @@
+<html><body><pre>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
+&lt;%@ taglib prefix="my" uri="http://jakarta.apache.org/tomcat/jsp2-example-taglib"%>
+
+&lt;html>
+  &lt;head>
+    &lt;title>JSP 2.0 Expression Language - Functions&lt;/title>
+  &lt;/head>
+  &lt;body>
+    &lt;h1>JSP 2.0 Expression Language - Functions&lt;/h1>
+    &lt;hr>
+    An upgrade from the JSTL expression language, the JSP 2.0 EL also
+    allows for simple function invocation.  Functions are defined
+    by tag libraries and are implemented by a Java programmer as 
+    static methods.
+
+    &lt;blockquote>
+      &lt;u>&lt;b>Change Parameter&lt;/b>&lt;/u>
+      &lt;form action="functions.jsp" method="GET">
+	  foo = &lt;input type="text" name="foo" value="${fn:escapeXml(param["foo"])}">
+          &lt;input type="submit">
+      &lt;/form>
+      &lt;br>
+      &lt;code>
+        &lt;table border="1">
+          &lt;thead>
+	    &lt;td>&lt;b>EL Expression&lt;/b>&lt;/td>
+	    &lt;td>&lt;b>Result&lt;/b>&lt;/td>
+	  &lt;/thead>
+	  &lt;tr>
+	    &lt;td>\${param["foo"]}&lt;/td>
+	    &lt;td>${fn:escapeXml(param["foo"])}&amp;nbsp;&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${my:reverse(param["foo"])}&lt;/td>
+	    &lt;td>${my:reverse(fn:escapeXml(param["foo"]))}&amp;nbsp;&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${my:reverse(my:reverse(param["foo"]))}&lt;/td>
+	    &lt;td>${my:reverse(my:reverse(fn:escapeXml(param["foo"])))}&amp;nbsp;&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${my:countVowels(param["foo"])}&lt;/td>
+	    &lt;td>${my:countVowels(fn:escapeXml(param["foo"]))}&amp;nbsp;&lt;/td>
+	  &lt;/tr>
+	&lt;/table>
+      &lt;/code>
+    &lt;/blockquote>
+  &lt;/body>
+&lt;/html>
+
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/el/implicit-objects.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/el/implicit-objects.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/el/implicit-objects.html	(revision 66)
@@ -0,0 +1,31 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<head>
+<title>View Source Code</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="implicit-objects.jsp?foo=bar"><img src="../../images/execute.gif" align="right" border="0"></a><a href="../../index.html">
+<img src="../../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="implicit-objects.jsp.html">Source Code for Implicit Objects Example<font color="#0000FF"></a>
+  </font> </h3>
+
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/el/implicit-objects.jsp
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/el/implicit-objects.jsp	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/el/implicit-objects.jsp	(revision 66)
@@ -0,0 +1,89 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
+
+<html>
+  <head>
+    <title>JSP 2.0 Expression Language - Implicit Objects</title>
+  </head>
+  <body>
+    <h1>JSP 2.0 Expression Language - Implicit Objects</h1>
+    <hr>
+    This example illustrates some of the implicit objects available 
+    in the Expression Lanaguage.  The following implicit objects are 
+    available (not all illustrated here):
+    <ul>
+      <li>pageContext - the PageContext object</li>
+      <li>pageScope - a Map that maps page-scoped attribute names to 
+          their values</li>
+      <li>requestScope - a Map that maps request-scoped attribute names 
+          to their values</li>
+      <li>sessionScope - a Map that maps session-scoped attribute names 
+          to their values</li>
+      <li>applicationScope - a Map that maps application-scoped attribute 
+          names to their values</li>
+      <li>param - a Map that maps parameter names to a single String 
+          parameter value</li>
+      <li>paramValues - a Map that maps parameter names to a String[] of 
+          all values for that parameter</li>
+      <li>header - a Map that maps header names to a single String 
+          header value</li>
+      <li>headerValues - a Map that maps header names to a String[] of 
+          all values for that header</li>
+      <li>initParam - a Map that maps context initialization parameter 
+          names to their String parameter value</li>
+      <li>cookie - a Map that maps cookie names to a single Cookie object.</li>
+    </ul>
+
+    <blockquote>
+      <u><b>Change Parameter</b></u>
+      <form action="implicit-objects.jsp" method="GET">
+	  foo = <input type="text" name="foo" value="${fn:escapeXml(param["foo"])}">
+          <input type="submit">
+      </form>
+      <br>
+      <code>
+        <table border="1">
+          <thead>
+	    <td><b>EL Expression</b></td>
+	    <td><b>Result</b></td>
+	  </thead>
+	  <tr>
+	    <td>\${param.foo}</td>
+	    <td>${fn:escapeXml(param["foo"])}&nbsp;</td>
+	  </tr>
+	  <tr>
+	    <td>\${param["foo"]}</td>
+	    <td>${fn:escapeXml(param["foo"])}&nbsp;</td>
+	  </tr>
+	  <tr>
+	    <td>\${header["host"]}</td>
+	    <td>${fn:escapeXml(header["host"])}&nbsp;</td>
+	  </tr>
+	  <tr>
+	    <td>\${header["accept"]}</td>
+	    <td>${fn:escapeXml(header["accept"])}&nbsp;</td>
+	  </tr>
+	  <tr>
+	    <td>\${header["user-agent"]}</td>
+	    <td>${fn:escapeXml(header["user-agent"])}&nbsp;</td>
+	  </tr>
+	</table>
+      </code>
+    </blockquote>
+  </body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/el/implicit-objects.jsp.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/el/implicit-objects.jsp.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/el/implicit-objects.jsp.html	(revision 66)
@@ -0,0 +1,91 @@
+<html><body><pre>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
+
+&lt;html>
+  &lt;head>
+    &lt;title>JSP 2.0 Expression Language - Implicit Objects&lt;/title>
+  &lt;/head>
+  &lt;body>
+    &lt;h1>JSP 2.0 Expression Language - Implicit Objects&lt;/h1>
+    &lt;hr>
+    This example illustrates some of the implicit objects available 
+    in the Expression Lanaguage.  The following implicit objects are 
+    available (not all illustrated here):
+    &lt;ul>
+      &lt;li>pageContext - the PageContext object&lt;/li>
+      &lt;li>pageScope - a Map that maps page-scoped attribute names to 
+          their values&lt;/li>
+      &lt;li>requestScope - a Map that maps request-scoped attribute names 
+          to their values&lt;/li>
+      &lt;li>sessionScope - a Map that maps session-scoped attribute names 
+          to their values&lt;/li>
+      &lt;li>applicationScope - a Map that maps application-scoped attribute 
+          names to their values&lt;/li>
+      &lt;li>param - a Map that maps parameter names to a single String 
+          parameter value&lt;/li>
+      &lt;li>paramValues - a Map that maps parameter names to a String[] of 
+          all values for that parameter&lt;/li>
+      &lt;li>header - a Map that maps header names to a single String 
+          header value&lt;/li>
+      &lt;li>headerValues - a Map that maps header names to a String[] of 
+          all values for that header&lt;/li>
+      &lt;li>initParam - a Map that maps context initialization parameter 
+          names to their String parameter value&lt;/li>
+      &lt;li>cookie - a Map that maps cookie names to a single Cookie object.&lt;/li>
+    &lt;/ul>
+
+    &lt;blockquote>
+      &lt;u>&lt;b>Change Parameter&lt;/b>&lt;/u>
+      &lt;form action="implicit-objects.jsp" method="GET">
+	  foo = &lt;input type="text" name="foo" value="${fn:escapeXml(param["foo"])}">
+          &lt;input type="submit">
+      &lt;/form>
+      &lt;br>
+      &lt;code>
+        &lt;table border="1">
+          &lt;thead>
+	    &lt;td>&lt;b>EL Expression&lt;/b>&lt;/td>
+	    &lt;td>&lt;b>Result&lt;/b>&lt;/td>
+	  &lt;/thead>
+	  &lt;tr>
+	    &lt;td>\${param.foo}&lt;/td>
+	    &lt;td>${fn:escapeXml(param["foo"])}&amp;nbsp;&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${param["foo"]}&lt;/td>
+	    &lt;td>${fn:escapeXml(param["foo"])}&amp;nbsp;&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${header["host"]}&lt;/td>
+	    &lt;td>${fn:escapeXml(header["host"])}&amp;nbsp;&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${header["accept"]}&lt;/td>
+	    &lt;td>${fn:escapeXml(header["accept"])}&amp;nbsp;&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${header["user-agent"]}&lt;/td>
+	    &lt;td>${fn:escapeXml(header["user-agent"])}&amp;nbsp;&lt;/td>
+	  &lt;/tr>
+	&lt;/table>
+      &lt;/code>
+    &lt;/blockquote>
+  &lt;/body>
+&lt;/html>
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/jspattribute/FooBean.java.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/jspattribute/FooBean.java.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/jspattribute/FooBean.java.html	(revision 66)
@@ -0,0 +1,38 @@
+<html><body><pre>
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+
+package jsp2.examples;
+
+public class FooBean {
+    private String bar;
+    
+    public FooBean() {
+        bar = "Initial value";
+    }
+    
+    public String getBar() {
+        return this.bar;
+    }
+    
+    public void setBar(String bar) {
+        this.bar = bar;
+    }
+    
+}
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/jspattribute/HelloWorldSimpleTag.java.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/jspattribute/HelloWorldSimpleTag.java.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/jspattribute/HelloWorldSimpleTag.java.html	(revision 66)
@@ -0,0 +1,34 @@
+<html><body><pre>
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+
+package jsp2.examples.simpletag;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.tagext.SimpleTagSupport;
+import java.io.IOException;
+
+/**
+ * SimpleTag handler that prints "Hello, world!"
+ */
+public class HelloWorldSimpleTag extends SimpleTagSupport {
+    public void doTag() throws JspException, IOException {
+	getJspContext().getOut().write( "Hello, world!" );
+    }
+}
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/jspattribute/ShuffleSimpleTag.java.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/jspattribute/ShuffleSimpleTag.java.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/jspattribute/ShuffleSimpleTag.java.html	(revision 66)
@@ -0,0 +1,83 @@
+<html><body><pre>
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+
+package jsp2.examples.simpletag;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.tagext.JspFragment;
+import javax.servlet.jsp.tagext.SimpleTagSupport;
+import java.io.IOException;
+
+/**
+ * SimpleTag handler that accepts takes three attributes of type
+ * JspFragment and invokes then in a random order.
+ */
+public class ShuffleSimpleTag extends SimpleTagSupport {
+    private JspFragment fragment1;
+    private JspFragment fragment2;
+    private JspFragment fragment3;
+
+    public void doTag() throws JspException, IOException {
+        switch( (int)(Math.random() * 6) ) {
+            case 0:
+                fragment1.invoke( null );
+                fragment2.invoke( null );
+                fragment3.invoke( null );
+                break;
+            case 1:
+                fragment1.invoke( null );
+                fragment3.invoke( null );
+                fragment2.invoke( null );
+                break;
+            case 2:
+                fragment2.invoke( null );
+                fragment1.invoke( null );
+                fragment3.invoke( null );
+                break;
+            case 3:
+                fragment2.invoke( null );
+                fragment3.invoke( null );
+                fragment1.invoke( null );
+                break;
+            case 4:
+                fragment3.invoke( null );
+                fragment1.invoke( null );
+                fragment2.invoke( null );
+                break;
+            case 5:
+                fragment3.invoke( null );
+                fragment2.invoke( null );
+                fragment1.invoke( null );
+                break;
+        }
+    }
+
+    public void setFragment1( JspFragment fragment1 ) {
+        this.fragment1 = fragment1;
+    }
+    
+    public void setFragment2( JspFragment fragment2 ) {
+        this.fragment2 = fragment2;
+    }
+    
+    public void setFragment3( JspFragment fragment3 ) {
+        this.fragment3 = fragment3;
+    }
+}
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/jspattribute/TileSimpleTag.java.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/jspattribute/TileSimpleTag.java.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/jspattribute/TileSimpleTag.java.html	(revision 66)
@@ -0,0 +1,48 @@
+<html><body><pre>
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+
+package jsp2.examples.simpletag;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.tagext.SimpleTagSupport;
+import java.io.IOException;
+
+/**
+ * Displays a tile as a single cell in a table.
+ */
+public class TileSimpleTag extends SimpleTagSupport {
+    private String color;
+    private String label;
+
+    public void doTag() throws JspException, IOException {
+	getJspContext().getOut().write( 
+	    "&lt;td width=\"32\" height=\"32\" bgcolor=\"" + this.color + 
+	    "\">&lt;font color=\"#ffffff\">&lt;center>" + this.label + 
+                "&lt;/center>&lt;/font>&lt;/td>" );
+    }
+
+    public void setColor( String color ) {
+        this.color = color;
+    }
+    
+    public void setLabel( String label ) {
+        this.label = label;
+    }
+}
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/jspattribute/jspattribute.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/jspattribute/jspattribute.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/jspattribute/jspattribute.html	(revision 66)
@@ -0,0 +1,37 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<head>
+<title>View Source Code</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="jspattribute.jsp"><img src="../../images/execute.gif" align="right" border="0"></a>
+<a href="../../index.html"><img src="../../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="jspattribute.jsp.html">Source Code for jspattribute.jsp<font color="#0000FF"></a>
+  </font> </h3>
+
+<h3><a href="HelloWorldSimpleTag.java.html">Source Code for HelloWorldSimpleTag.java<font color="#0000FF"></a>
+  </font> </h3>
+
+<h3><a href="FooBean.java.html">Source Code for FooBean.java<font color="#0000FF"></a>
+  </font> </h3>
+
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/jspattribute/jspattribute.jsp
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/jspattribute/jspattribute.jsp	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/jspattribute/jspattribute.jsp	(revision 66)
@@ -0,0 +1,46 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<%@ taglib prefix="my" uri="http://jakarta.apache.org/tomcat/jsp2-example-taglib"%>
+
+<html>
+  <head>
+    <title>JSP 2.0 Examples - jsp:attribute and jsp:body</title>
+  </head>
+  <body>
+    <h1>JSP 2.0 Examples - jsp:attribute and jsp:body</h1>
+    <hr>
+    <p>The new &lt;jsp:attribute&gt; and &lt;jsp:body&gt; 
+    standard actions can be used to specify the value of any standard
+    action or custom action attribute.</p>
+    <p>This example uses the &lt;jsp:attribute&gt;
+    standard action to use the output of a custom action invocation
+    (one that simply outputs "Hello, World!") to set the value of a
+    bean property.  This would normally require an intermediary
+    step, such as using JSTL's &lt;c:set&gt; action.</p>
+    <br>
+    <jsp:useBean id="foo" class="jsp2.examples.FooBean">
+      Bean created!  Setting foo.bar...<br>
+      <jsp:setProperty name="foo" property="bar">
+        <jsp:attribute name="value">
+	  <my:helloWorld/>
+        </jsp:attribute>
+      </jsp:setProperty>
+    </jsp:useBean>
+    <br>
+    Result: ${foo.bar}
+  </body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/jspattribute/jspattribute.jsp.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/jspattribute/jspattribute.jsp.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/jspattribute/jspattribute.jsp.html	(revision 66)
@@ -0,0 +1,48 @@
+<html><body><pre>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;%@ taglib prefix="my" uri="http://jakarta.apache.org/tomcat/jsp2-example-taglib"%>
+
+&lt;html>
+  &lt;head>
+    &lt;title>JSP 2.0 Examples - jsp:attribute and jsp:body&lt;/title>
+  &lt;/head>
+  &lt;body>
+    &lt;h1>JSP 2.0 Examples - jsp:attribute and jsp:body&lt;/h1>
+    &lt;hr>
+    &lt;p>The new &amp;lt;jsp:attribute&amp;gt; and &amp;lt;jsp:body&amp;gt; 
+    standard actions can be used to specify the value of any standard
+    action or custom action attribute.&lt;/p>
+    &lt;p>This example uses the &amp;lt;jsp:attribute&amp;gt;
+    standard action to use the output of a custom action invocation
+    (one that simply outputs "Hello, World!") to set the value of a
+    bean property.  This would normally require an intermediary
+    step, such as using JSTL's &amp;lt;c:set&amp;gt; action.&lt;/p>
+    &lt;br>
+    &lt;jsp:useBean id="foo" class="jsp2.examples.FooBean">
+      Bean created!  Setting foo.bar...&lt;br>
+      &lt;jsp:setProperty name="foo" property="bar">
+        &lt;jsp:attribute name="value">
+	  &lt;my:helloWorld/>
+        &lt;/jsp:attribute>
+      &lt;/jsp:setProperty>
+    &lt;/jsp:useBean>
+    &lt;br>
+    Result: ${foo.bar}
+  &lt;/body>
+&lt;/html>
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/jspattribute/shuffle.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/jspattribute/shuffle.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/jspattribute/shuffle.html	(revision 66)
@@ -0,0 +1,37 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<head>
+<title>View Source Code</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="shuffle.jsp"><img src="../../images/execute.gif" align="right" border="0"></a>
+<a href="../../index.html"><img src="../../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="shuffle.jsp.html">Source Code for shuffle.jsp<font color="#0000FF"></a>
+  </font> </h3>
+
+<h3><a href="ShuffleSimpleTag.java.html">Source Code for ShuffleSimpleTag.java<font color="#0000FF"></a>
+  </font> </h3>
+
+<h3><a href="TileSimpleTag.java.html">Source Code for TileSimpleTag.java<font color="#0000FF"></a>
+  </font> </h3>
+
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/jspattribute/shuffle.jsp
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/jspattribute/shuffle.jsp	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/jspattribute/shuffle.jsp	(revision 66)
@@ -0,0 +1,90 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<%@ taglib prefix="my" uri="http://jakarta.apache.org/tomcat/jsp2-example-taglib"%>
+
+<html>
+  <head>
+    <title>JSP 2.0 Examples - Shuffle Example</title>
+  </head>
+  <body>
+    <h1>JSP 2.0 Examples - Shuffle Example</h1>
+    <hr>
+    <p>Try reloading the page a few times.  Both the rows and the columns
+    are shuffled and appear different each time.</p>
+    <p>Here's how the code works.  The SimpleTag handler called 
+    &lt;my:shuffle&gt; accepts three attributes.  Each attribute is a 
+    JSP Fragment, meaning it is a fragment of JSP code that can be
+    dynamically executed by the shuffle tag handler on demand.  The 
+    shuffle tag handler executes the three fragments in a random order.
+    To shuffle both the rows and the columns, the shuffle tag is used
+    with itself as a parameter.</p>
+    <hr>
+    <blockquote>
+     <font color="#ffffff">
+      <table>
+        <my:shuffle>
+          <jsp:attribute name="fragment1">
+            <tr>
+              <my:shuffle>
+                <jsp:attribute name="fragment1">
+                  <my:tile color="#ff0000" label="A"/>
+                </jsp:attribute>
+                <jsp:attribute name="fragment2">
+                  <my:tile color="#00ff00" label="B"/>
+                </jsp:attribute>
+                <jsp:attribute name="fragment3">
+                  <my:tile color="#0000ff" label="C"/>
+                </jsp:attribute>
+              </my:shuffle>
+            </tr>
+          </jsp:attribute>
+          <jsp:attribute name="fragment2">
+            <tr>
+              <my:shuffle>
+                <jsp:attribute name="fragment1">
+                  <my:tile color="#ff0000" label="1"/>
+                </jsp:attribute>
+                <jsp:attribute name="fragment2">
+                  <my:tile color="#00ff00" label="2"/>
+                </jsp:attribute>
+                <jsp:attribute name="fragment3">
+                  <my:tile color="#0000ff" label="3"/>
+                </jsp:attribute>
+              </my:shuffle>
+            </tr>
+          </jsp:attribute>
+          <jsp:attribute name="fragment3">
+            <tr>
+              <my:shuffle>
+                <jsp:attribute name="fragment1">
+                  <my:tile color="#ff0000" label="!"/>
+                </jsp:attribute>
+                <jsp:attribute name="fragment2">
+                  <my:tile color="#00ff00" label="@"/>
+                </jsp:attribute>
+                <jsp:attribute name="fragment3">
+                  <my:tile color="#0000ff" label="#"/>
+                </jsp:attribute>
+              </my:shuffle>
+            </tr>
+          </jsp:attribute>
+        </my:shuffle>
+      </table>
+     </font>
+    </blockquote>
+  </body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/jspattribute/shuffle.jsp.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/jspattribute/shuffle.jsp.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/jspattribute/shuffle.jsp.html	(revision 66)
@@ -0,0 +1,92 @@
+<html><body><pre>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;%@ taglib prefix="my" uri="http://jakarta.apache.org/tomcat/jsp2-example-taglib"%>
+
+&lt;html>
+  &lt;head>
+    &lt;title>JSP 2.0 Examples - Shuffle Example&lt;/title>
+  &lt;/head>
+  &lt;body>
+    &lt;h1>JSP 2.0 Examples - Shuffle Example&lt;/h1>
+    &lt;hr>
+    &lt;p>Try reloading the page a few times.  Both the rows and the columns
+    are shuffled and appear different each time.&lt;/p>
+    &lt;p>Here's how the code works.  The SimpleTag handler called 
+    &amp;lt;my:shuffle&amp;gt; accepts three attributes.  Each attribute is a 
+    JSP Fragment, meaning it is a fragment of JSP code that can be
+    dynamically executed by the shuffle tag handler on demand.  The 
+    shuffle tag handler executes the three fragments in a random order.
+    To shuffle both the rows and the columns, the shuffle tag is used
+    with itself as a parameter.&lt;/p>
+    &lt;hr>
+    &lt;blockquote>
+     &lt;font color="#ffffff">
+      &lt;table>
+        &lt;my:shuffle>
+          &lt;jsp:attribute name="fragment1">
+            &lt;tr>
+              &lt;my:shuffle>
+                &lt;jsp:attribute name="fragment1">
+                  &lt;my:tile color="#ff0000" label="A"/>
+                &lt;/jsp:attribute>
+                &lt;jsp:attribute name="fragment2">
+                  &lt;my:tile color="#00ff00" label="B"/>
+                &lt;/jsp:attribute>
+                &lt;jsp:attribute name="fragment3">
+                  &lt;my:tile color="#0000ff" label="C"/>
+                &lt;/jsp:attribute>
+              &lt;/my:shuffle>
+            &lt;/tr>
+          &lt;/jsp:attribute>
+          &lt;jsp:attribute name="fragment2">
+            &lt;tr>
+              &lt;my:shuffle>
+                &lt;jsp:attribute name="fragment1">
+                  &lt;my:tile color="#ff0000" label="1"/>
+                &lt;/jsp:attribute>
+                &lt;jsp:attribute name="fragment2">
+                  &lt;my:tile color="#00ff00" label="2"/>
+                &lt;/jsp:attribute>
+                &lt;jsp:attribute name="fragment3">
+                  &lt;my:tile color="#0000ff" label="3"/>
+                &lt;/jsp:attribute>
+              &lt;/my:shuffle>
+            &lt;/tr>
+          &lt;/jsp:attribute>
+          &lt;jsp:attribute name="fragment3">
+            &lt;tr>
+              &lt;my:shuffle>
+                &lt;jsp:attribute name="fragment1">
+                  &lt;my:tile color="#ff0000" label="!"/>
+                &lt;/jsp:attribute>
+                &lt;jsp:attribute name="fragment2">
+                  &lt;my:tile color="#00ff00" label="@"/>
+                &lt;/jsp:attribute>
+                &lt;jsp:attribute name="fragment3">
+                  &lt;my:tile color="#0000ff" label="#"/>
+                &lt;/jsp:attribute>
+              &lt;/my:shuffle>
+            &lt;/tr>
+          &lt;/jsp:attribute>
+        &lt;/my:shuffle>
+      &lt;/table>
+     &lt;/font>
+    &lt;/blockquote>
+  &lt;/body>
+&lt;/html>
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/jspx/basic.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/jspx/basic.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/jspx/basic.html	(revision 66)
@@ -0,0 +1,31 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<head>
+<title>View Source Code</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="basic.jspx"><img src="../../images/execute.gif" align="right" border="0"></a><a
+href="../../index.html"><img src="../../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="basic.jspx.html">Source Code for XHTML Basic Example<font color="#0000FF"></a>
+  </font> </h3>
+
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/jspx/basic.jspx
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/jspx/basic.jspx	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/jspx/basic.jspx	(revision 66)
@@ -0,0 +1,46 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<tags:xhtmlbasic xmlns:tags="urn:jsptagdir:/WEB-INF/tags"
+                 xmlns:jsp="http://java.sun.com/JSP/Page"
+                 xmlns:fmt="http://java.sun.com/jsp/jstl/fmt"
+		 xmlns="http://www.w3.org/1999/xhtml">
+  <jsp:directive.page contentType="text/html" />
+  <head>
+    <title>JSPX - XHTML Basic Example</title>
+  </head>
+  <body>
+    <h1>JSPX - XHTML Basic Example</h1>
+    <hr/>
+    This example illustrates how to use JSPX to produce an XHTML basic
+    document suitable for use with mobile phones, televisions, 
+    PDAs, vending machines, pagers, car navigation systems,
+    mobile game machines, digital book readers, smart watches, etc.
+    <p/>
+    JSPX lets you create dynamic documents in a pure XML syntax compatible
+    with existing XML tools.  The XML syntax in JSP 1.2 was awkward and
+    required &amp;lt;jsp:root&amp;gt; to be the root element of the document.
+    This is no longer the case in JSP 2.0.
+    <p/>
+    This particular example uses a tag file to produce the DOCTYPE and
+    namespace declarations to make the output of this page a valid XHTML
+    Basic document.
+    <p/>
+    Just to prove this is live, here's some dynamic content:
+    <jsp:useBean id="now" class="java.util.Date" />
+    <fmt:formatDate value="${now}" pattern="MMMM d, yyyy, H:mm:ss"/>
+  </body>
+</tags:xhtmlbasic>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/jspx/basic.jspx.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/jspx/basic.jspx.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/jspx/basic.jspx.html	(revision 66)
@@ -0,0 +1,48 @@
+<html><body><pre>
+&lt;!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;tags:xhtmlbasic xmlns:tags="urn:jsptagdir:/WEB-INF/tags"
+                 xmlns:jsp="http://java.sun.com/JSP/Page"
+                 xmlns:fmt="http://java.sun.com/jsp/jstl/fmt"
+		 xmlns="http://www.w3.org/1999/xhtml">
+  &lt;jsp:directive.page contentType="text/html" />
+  &lt;head>
+    &lt;title>JSPX - XHTML Basic Example&lt;/title>
+  &lt;/head>
+  &lt;body>
+    &lt;h1>JSPX - XHTML Basic Example&lt;/h1>
+    &lt;hr/>
+    This example illustrates how to use JSPX to produce an XHTML basic
+    document suitable for use with mobile phones, televisions, 
+    PDAs, vending machines, pagers, car navigation systems,
+    mobile game machines, digital book readers, smart watches, etc.
+    &lt;p/>
+    JSPX lets you create dynamic documents in a pure XML syntax compatible
+    with existing XML tools.  The XML syntax in JSP 1.2 was awkward and
+    required &amp;amp;lt;jsp:root&amp;amp;gt; to be the root element of the document.
+    This is no longer the case in JSP 2.0.
+    &lt;p/>
+    This particular example uses a tag file to produce the DOCTYPE and
+    namespace declarations to make the output of this page a valid XHTML
+    Basic document.
+    &lt;p/>
+    Just to prove this is live, here's some dynamic content:
+    &lt;jsp:useBean id="now" class="java.util.Date" />
+    &lt;fmt:formatDate value="${now}" pattern="MMMM d, yyyy, H:mm:ss"/>
+  &lt;/body>
+&lt;/tags:xhtmlbasic>
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/jspx/svgexample.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/jspx/svgexample.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/jspx/svgexample.html	(revision 66)
@@ -0,0 +1,52 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<html>
+  <head>
+    <title>JSP 2.0 SVG Example</title>
+  </head>
+  <body>
+    <h1>JSP 2.0 SVG Example</h1>
+    <hr>
+    This example uses JSP 2.0's new, simplified JSPX syntax to render a
+    Scalable Vector Graphics (SVG) document.  When you view the source,
+    notice the lack of a &lt;jsp:root&gt; element!  The text to be rendered 
+    can be modified by changing the value of the name parameter.
+    <p>
+    SVG has many potential uses, such as searchable images, or images
+    customized with the name of your site's visitor (e.g. a "Susan's Store"
+    tab image).  JSPX is a natural fit for generating dynamic XML content
+    such as SVG.
+    <p>
+    To execute this example, follow these steps:
+    <ol>
+      <li>Download <a href="http://xml.apache.org/batik/index.html">Batik</a>,
+          or any other SVG viewer.</li>
+      <li>Copy the following URL:
+      <a href="http://localhost:8080/examples/jsp/jsp2/jspx/textRotate.jspx?name=JSPX">
+      http://localhost:8080/examples/jsp/jsp2/jspx/textRotate.jspx?name=JSPX</a>
+      </li>
+      <li>Paste the URL into Batik's Location field and press Enter</li>
+      <li>Customize by changing the name=JSPX parameter</li>
+    </ol>
+    <br>
+    The following is a screenshot of the resulting image, for those that
+    don't have an SVG viewer:
+    <blockquote>
+      <img src="textRotate.jpg" border="1">
+    </blockquote>
+  </body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/jspx/textRotate.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/jspx/textRotate.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/jspx/textRotate.html	(revision 66)
@@ -0,0 +1,32 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<head>
+<title>View Source Code</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="textRotate.jspx"><img src="../../images/execute.gif" align="right" border="0"></a><a
+href="../../index.html"><img src="../../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="textRotate.jspx.html">Source Code for SVG (Scalable Vector Graphics)
+Example<font color="#0000FF"></a>
+  </font> </h3>
+
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/jspx/textRotate.jspx
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/jspx/textRotate.jspx	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/jspx/textRotate.jspx	(revision 66)
@@ -0,0 +1,52 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!-- 
+  - This example is based off the textRotate.svg example that comes
+  - with Batik.  The original example was written by Bill Haneman.
+  - This version by Mark Roth.
+  -->
+<svg xmlns="http://www.w3.org/2000/svg"
+     width="450" height="500" viewBox="0 0 450 500"
+     xmlns:c="http://java.sun.com/jsp/jstl/core"
+     xmlns:fn="http://java.sun.com/jsp/jstl/functions"
+     xmlns:jsp="http://java.sun.com/JSP/Page">
+  <jsp:directive.page contentType="image/svg+xml" />
+  <title>JSP 2.0 JSPX</title>
+  <!-- select name parameter, or default to JSPX -->
+  <c:set var="name" value='${empty fn:escapeXml(param["name"]) ? "JSPX" : fn:escapeXml(param["name"])}'/>
+  <g id="testContent">
+    <text class="title" x="50%" y="10%" font-size="15" text-anchor="middle" >
+            JSP 2.0 XML Syntax (.jspx) Demo</text>
+    <text class="title" x="50%" y="15%" font-size="15" text-anchor="middle" >
+            Try changing the name parameter!</text>
+    <g opacity="1.0" transform="translate(225, 250)" id="rotatedText">
+      <c:forEach var="i" begin="1" end="24">
+        <jsp:text>
+          <![CDATA[<g opacity="0.95" transform="scale(1.05) rotate(15)">]]>
+        </jsp:text>
+        <text x="0" y="0" transform="scale(1.6, 1.6)" fill="DarkSlateBlue" 
+              text-anchor="middle" font-size="40" font-family="Serif" 
+              id="words">${name}</text>
+      </c:forEach>
+      <c:forEach var="i" begin="1" end="24">
+        <jsp:text><![CDATA[</g>]]></jsp:text>
+      </c:forEach>
+      <text style="font-size:75;font-family:Serif;fill:white" 
+            text-anchor="middle">${name}</text>
+    </g>
+  </g>
+</svg>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/jspx/textRotate.jspx.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/jspx/textRotate.jspx.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/jspx/textRotate.jspx.html	(revision 66)
@@ -0,0 +1,54 @@
+<html><body><pre>
+&lt;!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;!-- 
+  - This example is based off the textRotate.svg example that comes
+  - with Batik.  The original example was written by Bill Haneman.
+  - This version by Mark Roth.
+  -->
+&lt;svg xmlns="http://www.w3.org/2000/svg"
+     width="450" height="500" viewBox="0 0 450 500"
+     xmlns:c="http://java.sun.com/jsp/jstl/core"
+     xmlns:fn="http://java.sun.com/jsp/jstl/functions"
+     xmlns:jsp="http://java.sun.com/JSP/Page">
+  &lt;jsp:directive.page contentType="image/svg+xml" />
+  &lt;title>JSP 2.0 JSPX&lt;/title>
+  &lt;!-- select name parameter, or default to JSPX -->
+  &lt;c:set var="name" value='${empty fn:escapeXml(param["name"]) ? "JSPX" : fn:escapeXml(param["name"])}'/>
+  &lt;g id="testContent">
+    &lt;text class="title" x="50%" y="10%" font-size="15" text-anchor="middle" >
+            JSP 2.0 XML Syntax (.jspx) Demo&lt;/text>
+    &lt;text class="title" x="50%" y="15%" font-size="15" text-anchor="middle" >
+            Try changing the name parameter!&lt;/text>
+    &lt;g opacity="1.0" transform="translate(225, 250)" id="rotatedText">
+      &lt;c:forEach var="i" begin="1" end="24">
+        &lt;jsp:text>
+          &lt;![CDATA[&lt;g opacity="0.95" transform="scale(1.05) rotate(15)">]]>
+        &lt;/jsp:text>
+        &lt;text x="0" y="0" transform="scale(1.6, 1.6)" fill="DarkSlateBlue" 
+              text-anchor="middle" font-size="40" font-family="Serif" 
+              id="words">${name}&lt;/text>
+      &lt;/c:forEach>
+      &lt;c:forEach var="i" begin="1" end="24">
+        &lt;jsp:text>&lt;![CDATA[&lt;/g>]]>&lt;/jsp:text>
+      &lt;/c:forEach>
+      &lt;text style="font-size:75;font-family:Serif;fill:white" 
+            text-anchor="middle">${name}&lt;/text>
+    &lt;/g>
+  &lt;/g>
+&lt;/svg>
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/misc/EchoAttributesTag.java.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/misc/EchoAttributesTag.java.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/misc/EchoAttributesTag.java.html	(revision 66)
@@ -0,0 +1,56 @@
+<html><body><pre>
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+
+package jsp2.examples.simpletag;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.JspWriter;
+import javax.servlet.jsp.tagext.SimpleTagSupport;
+import javax.servlet.jsp.tagext.DynamicAttributes;
+import java.util.ArrayList;
+import java.io.IOException;
+
+/**
+ * SimpleTag handler that echoes all its attributes 
+ */
+public class EchoAttributesTag 
+    extends SimpleTagSupport
+    implements DynamicAttributes
+{
+    private ArrayList keys = new ArrayList();
+    private ArrayList values = new ArrayList();
+
+    public void doTag() throws JspException, IOException {
+	JspWriter out = getJspContext().getOut();
+	for( int i = 0; i &lt; keys.size(); i++ ) {
+	    String key = (String)keys.get( i );
+	    Object value = values.get( i );
+	    out.println( "&lt;li>" + key + " = " + value + "&lt;/li>" );
+        }
+    }
+
+    public void setDynamicAttribute( String uri, String localName, 
+	Object value ) 
+	throws JspException
+    {
+	keys.add( localName );
+	values.add( value );
+    }
+}
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/misc/coda.jspf
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/misc/coda.jspf	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/misc/coda.jspf	(revision 66)
@@ -0,0 +1,21 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<hr>
+<center>
+This banner included with &lt;include-coda&gt;
+</center>
+<hr>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/misc/coda.jspf.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/misc/coda.jspf.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/misc/coda.jspf.html	(revision 66)
@@ -0,0 +1,23 @@
+<html><body><pre>
+&lt;!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;hr>
+&lt;center>
+This banner included with &amp;lt;include-coda&amp;gt;
+&lt;/center>
+&lt;hr>
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/misc/config.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/misc/config.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/misc/config.html	(revision 66)
@@ -0,0 +1,35 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<head>
+<title>View Source Code</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="config.jsp"><img src="../../images/execute.gif" align="right" border="0"></a>
+<a href="../../index.html"><img src="../../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="config.jsp.html">Source Code for config.jsp<font color="#0000FF"></a>
+  </font> </h3>
+<h3><a href="prelude.jspf.html">Source Code for prelude.jspf<font color="#0000FF"></a>
+  </font> </h3>
+<h3><a href="coda.jspf.html">Source Code for coda.jspf<font color="#0000FF"></a>
+  </font> </h3>
+
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/misc/config.jsp
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/misc/config.jsp	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/misc/config.jsp	(revision 66)
@@ -0,0 +1,32 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<%@ taglib prefix="my" uri="http://jakarta.apache.org/tomcat/jsp2-example-taglib"%>
+    <h1>JSP 2.0 Examples - JSP Configuration</h1>
+    <hr>
+    <p>Using a &lt;jsp-property-group&gt; element in the web.xml 
+    deployment descriptor, this JSP page has been configured in the
+    following ways:</p>
+    <ul>
+      <li>Uses &lt;include-prelude&gt; to include the top banner.</li>
+      <li>Uses &lt;include-coda&gt; to include the bottom banner.</li>
+      <li>Uses &lt;scripting-invalid&gt; true to disable 
+	  &lt;% scripting %&gt; elements</li>
+      <li>Uses &lt;el-ignored&gt; true to disable ${EL} elements</li>
+      <li>Uses &lt;page-encoding&gt; ISO-8859-1 to set the page encoding (though this is the default anyway)</li>
+    </ul>
+    There are various other configuration options that can be used.
+
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/misc/config.jsp.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/misc/config.jsp.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/misc/config.jsp.html	(revision 66)
@@ -0,0 +1,34 @@
+<html><body><pre>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;%@ taglib prefix="my" uri="http://jakarta.apache.org/tomcat/jsp2-example-taglib"%>
+    &lt;h1>JSP 2.0 Examples - JSP Configuration&lt;/h1>
+    &lt;hr>
+    &lt;p>Using a &amp;lt;jsp-property-group&amp;gt; element in the web.xml 
+    deployment descriptor, this JSP page has been configured in the
+    following ways:&lt;/p>
+    &lt;ul>
+      &lt;li>Uses &amp;lt;include-prelude&amp;gt; to include the top banner.&lt;/li>
+      &lt;li>Uses &amp;lt;include-coda&amp;gt; to include the bottom banner.&lt;/li>
+      &lt;li>Uses &amp;lt;scripting-invalid&amp;gt; true to disable 
+	  &amp;lt;% scripting %&amp;gt; elements&lt;/li>
+      &lt;li>Uses &amp;lt;el-ignored&amp;gt; true to disable ${EL} elements&lt;/li>
+      &lt;li>Uses &amp;lt;page-encoding&amp;gt; ISO-8859-1 to set the page encoding (though this is the default anyway)&lt;/li>
+    &lt;/ul>
+    There are various other configuration options that can be used.
+
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/misc/dynamicattrs.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/misc/dynamicattrs.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/misc/dynamicattrs.html	(revision 66)
@@ -0,0 +1,33 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<head>
+<title>View Source Code</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="dynamicattrs.jsp"><img src="../../images/execute.gif" align="right" border="0"></a>
+<a href="../../index.html"><img src="../../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="dynamicattrs.jsp.html">Source Code for dynamicattrs.jsp<font color="#0000FF"></a>
+  </font> </h3>
+<h3><a href="EchoAttributesTag.java.html">Source Code for EchoAttributesTag.java<font color="#0000FF"></a>
+  </font> </h3>
+
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/misc/dynamicattrs.jsp
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/misc/dynamicattrs.jsp	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/misc/dynamicattrs.jsp	(revision 66)
@@ -0,0 +1,44 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<%@ taglib prefix="my" uri="http://jakarta.apache.org/tomcat/jsp2-example-taglib"%>
+<html>
+  <head>
+    <title>JSP 2.0 Examples - Dynamic Attributes</title>
+  </head>
+  <body>
+    <h1>JSP 2.0 Examples - Dynamic Attributes</h1>
+    <hr>
+    <p>This JSP page invokes a custom tag that accepts a dynamic set 
+    of attributes.  The tag echoes the name and value of all attributes
+    passed to it.</p>
+    <hr>
+    <h2>Invocation 1 (six attributes)</h2>
+    <ul>
+      <my:echoAttributes x="1" y="2" z="3" r="red" g="green" b="blue"/>
+    </ul>
+    <h2>Invocation 2 (zero attributes)</h2>
+    <ul>
+      <my:echoAttributes/>
+    </ul>
+    <h2>Invocation 3 (three attributes)</h2>
+    <ul>
+      <my:echoAttributes dogName="Scruffy" 
+	   		 catName="Fluffy" 
+			 blowfishName="Puffy"/>
+    </ul>
+  </body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/misc/dynamicattrs.jsp.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/misc/dynamicattrs.jsp.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/misc/dynamicattrs.jsp.html	(revision 66)
@@ -0,0 +1,46 @@
+<html><body><pre>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;%@ taglib prefix="my" uri="http://jakarta.apache.org/tomcat/jsp2-example-taglib"%>
+&lt;html>
+  &lt;head>
+    &lt;title>JSP 2.0 Examples - Dynamic Attributes&lt;/title>
+  &lt;/head>
+  &lt;body>
+    &lt;h1>JSP 2.0 Examples - Dynamic Attributes&lt;/h1>
+    &lt;hr>
+    &lt;p>This JSP page invokes a custom tag that accepts a dynamic set 
+    of attributes.  The tag echoes the name and value of all attributes
+    passed to it.&lt;/p>
+    &lt;hr>
+    &lt;h2>Invocation 1 (six attributes)&lt;/h2>
+    &lt;ul>
+      &lt;my:echoAttributes x="1" y="2" z="3" r="red" g="green" b="blue"/>
+    &lt;/ul>
+    &lt;h2>Invocation 2 (zero attributes)&lt;/h2>
+    &lt;ul>
+      &lt;my:echoAttributes/>
+    &lt;/ul>
+    &lt;h2>Invocation 3 (three attributes)&lt;/h2>
+    &lt;ul>
+      &lt;my:echoAttributes dogName="Scruffy" 
+	   		 catName="Fluffy" 
+			 blowfishName="Puffy"/>
+    &lt;/ul>
+  &lt;/body>
+&lt;/html>
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/misc/prelude.jspf
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/misc/prelude.jspf	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/misc/prelude.jspf	(revision 66)
@@ -0,0 +1,21 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<hr>
+<center>
+This banner included with &lt;include-prelude&gt;
+</center>
+<hr>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/misc/prelude.jspf.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/misc/prelude.jspf.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/misc/prelude.jspf.html	(revision 66)
@@ -0,0 +1,23 @@
+<html><body><pre>
+&lt;!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;hr>
+&lt;center>
+This banner included with &amp;lt;include-prelude&amp;gt;
+&lt;/center>
+&lt;hr>
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/simpletag/BookBean.java.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/simpletag/BookBean.java.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/simpletag/BookBean.java.html	(revision 66)
@@ -0,0 +1,46 @@
+<html><body><pre>
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+
+package jsp2.examples;
+
+public class BookBean {
+    private String title;
+    private String author;
+    private String isbn;
+    
+    public BookBean( String title, String author, String isbn ) {
+        this.title = title;
+        this.author = author;
+        this.isbn = isbn;
+    }
+
+    public String getTitle() {
+        return this.title;
+    }
+    
+    public String getAuthor() {
+        return this.author;
+    }
+    
+    public String getIsbn() {
+        return this.isbn;
+    }
+    
+}
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/simpletag/FindBookSimpleTag.java.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/simpletag/FindBookSimpleTag.java.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/simpletag/FindBookSimpleTag.java.html	(revision 66)
@@ -0,0 +1,46 @@
+<html><body><pre>
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+
+package jsp2.examples.simpletag;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.tagext.SimpleTagSupport;
+import jsp2.examples.BookBean;
+
+/**
+ * SimpleTag handler that pretends to search for a book, and stores
+ * the result in a scoped variable.
+ */
+public class FindBookSimpleTag extends SimpleTagSupport {
+    private String var;
+    
+    private static final String BOOK_TITLE = "The Lord of the Rings";
+    private static final String BOOK_AUTHOR = "J. R. R. Tolkein";
+    private static final String BOOK_ISBN = "0618002251";
+
+    public void doTag() throws JspException {
+        BookBean book = new BookBean( BOOK_TITLE, BOOK_AUTHOR, BOOK_ISBN );
+        getJspContext().setAttribute( this.var, book );
+    }
+
+    public void setVar( String var ) {
+	this.var = var;
+    }
+}
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/simpletag/Functions.java.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/simpletag/Functions.java.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/simpletag/Functions.java.html	(revision 66)
@@ -0,0 +1,45 @@
+<html><body><pre>
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package jsp2.examples.el;
+
+/**
+ * Defines the functions for the jsp2 example tag library.
+ * 
+ * &lt;p>Each function is defined as a static method.&lt;/p>
+ */
+public class Functions {
+    public static String reverse( String text ) {
+        return new StringBuffer( text ).reverse().toString();
+    }
+
+    public static int numVowels( String text ) {
+        String vowels = "aeiouAEIOU";
+	int result = 0;
+        for( int i = 0; i &lt; text.length(); i++ ) {
+	    if( vowels.indexOf( text.charAt( i ) ) != -1 ) {
+	        result++;
+	    }
+	}
+	return result;
+    }
+
+    public static String caps( String text ) {
+        return text.toUpperCase();
+    }
+}
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/simpletag/HelloWorldSimpleTag.java.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/simpletag/HelloWorldSimpleTag.java.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/simpletag/HelloWorldSimpleTag.java.html	(revision 66)
@@ -0,0 +1,34 @@
+<html><body><pre>
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+
+package jsp2.examples.simpletag;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.tagext.SimpleTagSupport;
+import java.io.IOException;
+
+/**
+ * SimpleTag handler that prints "Hello, world!"
+ */
+public class HelloWorldSimpleTag extends SimpleTagSupport {
+    public void doTag() throws JspException, IOException {
+	getJspContext().getOut().write( "Hello, world!" );
+    }
+}
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/simpletag/RepeatSimpleTag.java.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/simpletag/RepeatSimpleTag.java.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/simpletag/RepeatSimpleTag.java.html	(revision 66)
@@ -0,0 +1,44 @@
+<html><body><pre>
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+
+package jsp2.examples.simpletag;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.tagext.SimpleTagSupport;
+import java.io.IOException;
+
+/**
+ * SimpleTag handler that accepts a num attribute and 
+ * invokes its body 'num' times.
+ */
+public class RepeatSimpleTag extends SimpleTagSupport {
+    private int num;
+
+    public void doTag() throws JspException, IOException {
+        for (int i=0; i&lt;num; i++) {
+            getJspContext().setAttribute("count", String.valueOf( i + 1 ) );
+	    getJspBody().invoke(null);
+        }
+    }
+
+    public void setNum(int num) {
+	this.num = num;
+    }
+}
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/simpletag/book.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/simpletag/book.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/simpletag/book.html	(revision 66)
@@ -0,0 +1,37 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<head>
+<title>View Source Code</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="book.jsp"><img src="../../images/execute.gif" align="right" border="0"></a>
+<a href="../../index.html"><img src="../../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="book.jsp.html">Source Code for the Book Example JSP<font color="#0000FF"></a>
+  </font> </h3>
+<h3><a href="FindBookSimpleTag.java.html">Source Code for the FindBook SimpleTag Handler<font color="#0000FF"></a>
+  </font> </h3>
+<h3><a href="BookBean.java.html">Source Code for BookBean<font color="#0000FF"></a>
+  </font> </h3>
+<h3><a href="Functions.java.html">Source Code for the EL Functions<font color="#0000FF"></a>
+  </font> </h3>
+
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/simpletag/book.jsp
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/simpletag/book.jsp	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/simpletag/book.jsp	(revision 66)
@@ -0,0 +1,55 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<%@ taglib prefix="my" uri="/WEB-INF/jsp2/jsp2-example-taglib.tld" %>
+<html>
+  <head>
+    <title>JSP 2.0 Examples - Book SimpleTag Handler</title>
+  </head>
+  <body>
+    <h1>JSP 2.0 Examples - Book SimpleTag Handler</h1>
+    <hr>
+    <p>Illustrates a semi-realistic use of SimpleTag and the Expression 
+    Language.  First, a &lt;my:findBook&gt; tag is invoked to populate 
+    the page context with a BookBean.  Then, the books fields are printed 
+    in all caps.</p>
+    <br>
+    <b><u>Result:</u></b><br>
+    <my:findBook var="book"/>
+    <table border="1">
+        <thead>
+	    <td><b>Field</b></td>
+	    <td><b>Value</b></td>
+	    <td><b>Capitalized</b></td>
+	</thead>
+	<tr>
+	    <td>Title</td>
+	    <td>${book.title}</td>
+	    <td>${my:caps(book.title)}</td>
+	</tr>
+	<tr>
+	    <td>Author</td>
+	    <td>${book.author}</td>
+	    <td>${my:caps(book.author)}</td>
+	</tr>
+	<tr>
+	    <td>ISBN</td>
+	    <td>${book.isbn}</td>
+	    <td>${my:caps(book.isbn)}</td>
+	</tr>
+    </table>
+  </body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/simpletag/book.jsp.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/simpletag/book.jsp.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/simpletag/book.jsp.html	(revision 66)
@@ -0,0 +1,57 @@
+<html><body><pre>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;%@ taglib prefix="my" uri="/WEB-INF/jsp2/jsp2-example-taglib.tld" %>
+&lt;html>
+  &lt;head>
+    &lt;title>JSP 2.0 Examples - Book SimpleTag Handler&lt;/title>
+  &lt;/head>
+  &lt;body>
+    &lt;h1>JSP 2.0 Examples - Book SimpleTag Handler&lt;/h1>
+    &lt;hr>
+    &lt;p>Illustrates a semi-realistic use of SimpleTag and the Expression 
+    Language.  First, a &amp;lt;my:findBook&amp;gt; tag is invoked to populate 
+    the page context with a BookBean.  Then, the books fields are printed 
+    in all caps.&lt;/p>
+    &lt;br>
+    &lt;b>&lt;u>Result:&lt;/u>&lt;/b>&lt;br>
+    &lt;my:findBook var="book"/>
+    &lt;table border="1">
+        &lt;thead>
+	    &lt;td>&lt;b>Field&lt;/b>&lt;/td>
+	    &lt;td>&lt;b>Value&lt;/b>&lt;/td>
+	    &lt;td>&lt;b>Capitalized&lt;/b>&lt;/td>
+	&lt;/thead>
+	&lt;tr>
+	    &lt;td>Title&lt;/td>
+	    &lt;td>${book.title}&lt;/td>
+	    &lt;td>${my:caps(book.title)}&lt;/td>
+	&lt;/tr>
+	&lt;tr>
+	    &lt;td>Author&lt;/td>
+	    &lt;td>${book.author}&lt;/td>
+	    &lt;td>${my:caps(book.author)}&lt;/td>
+	&lt;/tr>
+	&lt;tr>
+	    &lt;td>ISBN&lt;/td>
+	    &lt;td>${book.isbn}&lt;/td>
+	    &lt;td>${my:caps(book.isbn)}&lt;/td>
+	&lt;/tr>
+    &lt;/table>
+  &lt;/body>
+&lt;/html>
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/simpletag/hello.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/simpletag/hello.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/simpletag/hello.html	(revision 66)
@@ -0,0 +1,33 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<head>
+<title>View Source Code</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="hello.jsp"><img src="../../images/execute.gif" align="right" border="0"></a>
+<a href="../../index.html"><img src="../../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="hello.jsp.html">Source Code for the Hello World Tag Example JSP<font color="#0000FF"></a>
+  </font> </h3>
+<h3><a href="HelloWorldSimpleTag.java.html">Source Code for the Hello World SimpleTag Handler<font color="#0000FF"></a>
+  </font> </h3>
+
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/simpletag/hello.jsp
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/simpletag/hello.jsp	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/simpletag/hello.jsp	(revision 66)
@@ -0,0 +1,31 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<%@ taglib prefix="mytag" uri="/WEB-INF/jsp2/jsp2-example-taglib.tld" %>
+<html>
+  <head>
+    <title>JSP 2.0 Examples - Hello World SimpleTag Handler</title>
+  </head>
+  <body>
+    <h1>JSP 2.0 Examples - Hello World SimpleTag Handler</h1>
+    <hr>
+    <p>This tag handler simply echos "Hello, World!"  It's an example of
+    a very basic SimpleTag handler with no body.</p>
+    <br>
+    <b><u>Result:</u></b>
+    <mytag:helloWorld/>
+  </body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/simpletag/hello.jsp.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/simpletag/hello.jsp.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/simpletag/hello.jsp.html	(revision 66)
@@ -0,0 +1,33 @@
+<html><body><pre>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;%@ taglib prefix="mytag" uri="/WEB-INF/jsp2/jsp2-example-taglib.tld" %>
+&lt;html>
+  &lt;head>
+    &lt;title>JSP 2.0 Examples - Hello World SimpleTag Handler&lt;/title>
+  &lt;/head>
+  &lt;body>
+    &lt;h1>JSP 2.0 Examples - Hello World SimpleTag Handler&lt;/h1>
+    &lt;hr>
+    &lt;p>This tag handler simply echos "Hello, World!"  It's an example of
+    a very basic SimpleTag handler with no body.&lt;/p>
+    &lt;br>
+    &lt;b>&lt;u>Result:&lt;/u>&lt;/b>
+    &lt;mytag:helloWorld/>
+  &lt;/body>
+&lt;/html>
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/simpletag/repeat.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/simpletag/repeat.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/simpletag/repeat.html	(revision 66)
@@ -0,0 +1,33 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<head>
+<title>View Source Code</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="repeat.jsp"><img src="../../images/execute.gif" align="right" border="0"></a>
+<a href="../../index.html"><img src="../../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="repeat.jsp.html">Source Code for the Repeat Tag Example JSP<font color="#0000FF"></a>
+  </font> </h3>
+<h3><a href="RepeatSimpleTag.java.html">Source Code for the Repeat SimpleTag Handler<font color="#0000FF"></a>
+  </font> </h3>
+
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/simpletag/repeat.jsp
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/simpletag/repeat.jsp	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/simpletag/repeat.jsp	(revision 66)
@@ -0,0 +1,39 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<%@ taglib prefix="mytag" uri="/WEB-INF/jsp2/jsp2-example-taglib.tld" %>
+<html>
+  <head>
+    <title>JSP 2.0 Examples - Repeat SimpleTag Handler</title>
+  </head>
+  <body>
+    <h1>JSP 2.0 Examples - Repeat SimpleTag Handler</h1>
+    <hr>
+    <p>This tag handler accepts a "num" parameter and repeats the body of the
+    tag "num" times.  It's a simple example, but the implementation of 
+    such a tag in JSP 2.0 is substantially simpler than the equivalent 
+    JSP 1.2-style classic tag handler.</p>
+    <p>The body of the tag is encapsulated in a "JSP Fragment" and passed
+    to the tag handler, which then executes it five times, inside a 
+    for loop.  The tag handler passes in the current invocation in a
+    scoped variable called count, which can be accessed using the EL.</p>
+    <br>
+    <b><u>Result:</u></b><br>
+    <mytag:repeat num="5">
+      Invocation ${count} of 5<br>
+    </mytag:repeat>
+  </body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/simpletag/repeat.jsp.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/simpletag/repeat.jsp.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/simpletag/repeat.jsp.html	(revision 66)
@@ -0,0 +1,41 @@
+<html><body><pre>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;%@ taglib prefix="mytag" uri="/WEB-INF/jsp2/jsp2-example-taglib.tld" %>
+&lt;html>
+  &lt;head>
+    &lt;title>JSP 2.0 Examples - Repeat SimpleTag Handler&lt;/title>
+  &lt;/head>
+  &lt;body>
+    &lt;h1>JSP 2.0 Examples - Repeat SimpleTag Handler&lt;/h1>
+    &lt;hr>
+    &lt;p>This tag handler accepts a "num" parameter and repeats the body of the
+    tag "num" times.  It's a simple example, but the implementation of 
+    such a tag in JSP 2.0 is substantially simpler than the equivalent 
+    JSP 1.2-style classic tag handler.&lt;/p>
+    &lt;p>The body of the tag is encapsulated in a "JSP Fragment" and passed
+    to the tag handler, which then executes it five times, inside a 
+    for loop.  The tag handler passes in the current invocation in a
+    scoped variable called count, which can be accessed using the EL.&lt;/p>
+    &lt;br>
+    &lt;b>&lt;u>Result:&lt;/u>&lt;/b>&lt;br>
+    &lt;mytag:repeat num="5">
+      Invocation ${count} of 5&lt;br>
+    &lt;/mytag:repeat>
+  &lt;/body>
+&lt;/html>
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/tagfiles/displayProducts.tag.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/tagfiles/displayProducts.tag.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/tagfiles/displayProducts.tag.html	(revision 66)
@@ -0,0 +1,57 @@
+<html><body><pre>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
+&lt;%@ attribute name="normalPrice" fragment="true" %>
+&lt;%@ attribute name="onSale" fragment="true" %>
+&lt;%@ variable name-given="name" %>
+&lt;%@ variable name-given="price" %>
+&lt;%@ variable name-given="origPrice" %>
+&lt;%@ variable name-given="salePrice" %>
+
+&lt;table border="1">
+  &lt;tr>
+    &lt;td> 
+      &lt;c:set var="name" value="Hand-held Color PDA"/>
+      &lt;c:set var="price" value="$298.86"/>
+      &lt;jsp:invoke fragment="normalPrice"/>
+    &lt;/td>
+    &lt;td> 
+      &lt;c:set var="name" value="4-Pack 150 Watt Light Bulbs"/>
+      &lt;c:set var="origPrice" value="$2.98"/>
+      &lt;c:set var="salePrice" value="$2.32"/>
+      &lt;jsp:invoke fragment="onSale"/>
+    &lt;/td>
+    &lt;td> 
+      &lt;c:set var="name" value="Digital Cellular Phone"/>
+      &lt;c:set var="price" value="$68.74"/>
+      &lt;jsp:invoke fragment="normalPrice"/>
+    &lt;/td>
+    &lt;td> 
+      &lt;c:set var="name" value="Baby Grand Piano"/>
+      &lt;c:set var="price" value="$10,800.00"/>
+      &lt;jsp:invoke fragment="normalPrice"/>
+    &lt;/td>
+    &lt;td> 
+      &lt;c:set var="name" value="Luxury Car w/ Leather Seats"/>
+      &lt;c:set var="origPrice" value="$23,980.00"/>
+      &lt;c:set var="salePrice" value="$21,070.00"/>
+      &lt;jsp:invoke fragment="onSale"/>
+    &lt;/td>
+  &lt;/tr>
+&lt;/table>
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/tagfiles/hello.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/tagfiles/hello.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/tagfiles/hello.html	(revision 66)
@@ -0,0 +1,33 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<head>
+<title>View Source Code</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="hello.jsp"><img src="../../images/execute.gif" align="right" border="0"></a>
+<a href="../../index.html"><img src="../../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="hello.jsp.html">Source Code for hello.jsp<font color="#0000FF"></a>
+  </font> </h3>
+<h3><a href="helloWorld.tag.html">Source Code for helloWorld.tag<font color="#0000FF"></a>
+  </font> </h3>
+
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/tagfiles/hello.jsp
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/tagfiles/hello.jsp	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/tagfiles/hello.jsp	(revision 66)
@@ -0,0 +1,35 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<%@ taglib prefix="tags" tagdir="/WEB-INF/tags" %>
+<html>
+  <head>
+    <title>JSP 2.0 Examples - Hello World Using a Tag File</title>
+  </head>
+  <body>
+    <h1>JSP 2.0 Examples - Hello World Using a Tag File</h1>
+    <hr>
+    <p>This JSP page invokes a custom tag that simply echos "Hello, World!"  
+    The custom tag is generated from a tag file in the /WEB-INF/tags
+    directory.</p>
+    <p>Notice that we did not need to write a TLD for this tag.  We just
+    created /WEB-INF/tags/helloWorld.tag, imported it using the taglib
+    directive, and used it!</p>
+    <br>
+    <b><u>Result:</u></b>
+    <tags:helloWorld/>
+  </body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/tagfiles/hello.jsp.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/tagfiles/hello.jsp.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/tagfiles/hello.jsp.html	(revision 66)
@@ -0,0 +1,37 @@
+<html><body><pre>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;%@ taglib prefix="tags" tagdir="/WEB-INF/tags" %>
+&lt;html>
+  &lt;head>
+    &lt;title>JSP 2.0 Examples - Hello World Using a Tag File&lt;/title>
+  &lt;/head>
+  &lt;body>
+    &lt;h1>JSP 2.0 Examples - Hello World Using a Tag File&lt;/h1>
+    &lt;hr>
+    &lt;p>This JSP page invokes a custom tag that simply echos "Hello, World!"  
+    The custom tag is generated from a tag file in the /WEB-INF/tags
+    directory.&lt;/p>
+    &lt;p>Notice that we did not need to write a TLD for this tag.  We just
+    created /WEB-INF/tags/helloWorld.tag, imported it using the taglib
+    directive, and used it!&lt;/p>
+    &lt;br>
+    &lt;b>&lt;u>Result:&lt;/u>&lt;/b>
+    &lt;tags:helloWorld/>
+  &lt;/body>
+&lt;/html>
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/tagfiles/helloWorld.tag.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/tagfiles/helloWorld.tag.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/tagfiles/helloWorld.tag.html	(revision 66)
@@ -0,0 +1,19 @@
+<html><body><pre>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+Hello, world!
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/tagfiles/panel.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/tagfiles/panel.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/tagfiles/panel.html	(revision 66)
@@ -0,0 +1,33 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<head>
+<title>View Source Code</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="panel.jsp"><img src="../../images/execute.gif" align="right" border="0"></a>
+<a href="../../index.html"><img src="../../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="panel.jsp.html">Source Code for panel.jsp<font color="#0000FF"></a>
+  </font> </h3>
+<h3><a href="panel.tag.html">Source Code for panel.tag<font color="#0000FF"></a>
+  </font> </h3>
+
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/tagfiles/panel.jsp
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/tagfiles/panel.jsp	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/tagfiles/panel.jsp	(revision 66)
@@ -0,0 +1,58 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<%@ taglib prefix="tags" tagdir="/WEB-INF/tags" %>
+<html>
+  <head>
+    <title>JSP 2.0 Examples - Panels using Tag Files</title>
+  </head>
+  <body>
+    <h1>JSP 2.0 Examples - Panels using Tag Files</h1>
+    <hr>
+    <p>This JSP page invokes a custom tag that draws a 
+    panel around the contents of the tag body.  Normally, such a tag 
+    implementation would require a Java class with many println() statements,
+    outputting HTML.  Instead, we can use a .tag file as a template,
+    and we don't need to write a single line of Java or even a TLD!</p>
+    <hr>
+    <table border="0">
+      <tr valign="top">
+        <td>
+          <tags:panel color="#ff8080" bgcolor="#ffc0c0" title="Panel 1">
+	    First panel.<br/>
+	  </tags:panel>
+        </td>
+        <td>
+          <tags:panel color="#80ff80" bgcolor="#c0ffc0" title="Panel 2">
+	    Second panel.<br/>
+	    Second panel.<br/>
+	    Second panel.<br/>
+	    Second panel.<br/>
+	  </tags:panel>
+        </td>
+        <td>
+          <tags:panel color="#8080ff" bgcolor="#c0c0ff" title="Panel 3">
+	    Third panel.<br/>
+            <tags:panel color="#ff80ff" bgcolor="#ffc0ff" title="Inner">
+	      A panel in a panel.
+	    </tags:panel>
+	    Third panel.<br/>
+	  </tags:panel>
+        </td>
+      </tr>
+    </table>
+  </body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/tagfiles/panel.jsp.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/tagfiles/panel.jsp.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/tagfiles/panel.jsp.html	(revision 66)
@@ -0,0 +1,60 @@
+<html><body><pre>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;%@ taglib prefix="tags" tagdir="/WEB-INF/tags" %>
+&lt;html>
+  &lt;head>
+    &lt;title>JSP 2.0 Examples - Panels using Tag Files&lt;/title>
+  &lt;/head>
+  &lt;body>
+    &lt;h1>JSP 2.0 Examples - Panels using Tag Files&lt;/h1>
+    &lt;hr>
+    &lt;p>This JSP page invokes a custom tag that draws a 
+    panel around the contents of the tag body.  Normally, such a tag 
+    implementation would require a Java class with many println() statements,
+    outputting HTML.  Instead, we can use a .tag file as a template,
+    and we don't need to write a single line of Java or even a TLD!&lt;/p>
+    &lt;hr>
+    &lt;table border="0">
+      &lt;tr valign="top">
+        &lt;td>
+          &lt;tags:panel color="#ff8080" bgcolor="#ffc0c0" title="Panel 1">
+	    First panel.&lt;br/>
+	  &lt;/tags:panel>
+        &lt;/td>
+        &lt;td>
+          &lt;tags:panel color="#80ff80" bgcolor="#c0ffc0" title="Panel 2">
+	    Second panel.&lt;br/>
+	    Second panel.&lt;br/>
+	    Second panel.&lt;br/>
+	    Second panel.&lt;br/>
+	  &lt;/tags:panel>
+        &lt;/td>
+        &lt;td>
+          &lt;tags:panel color="#8080ff" bgcolor="#c0c0ff" title="Panel 3">
+	    Third panel.&lt;br/>
+            &lt;tags:panel color="#ff80ff" bgcolor="#ffc0ff" title="Inner">
+	      A panel in a panel.
+	    &lt;/tags:panel>
+	    Third panel.&lt;br/>
+	  &lt;/tags:panel>
+        &lt;/td>
+      &lt;/tr>
+    &lt;/table>
+  &lt;/body>
+&lt;/html>
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/tagfiles/panel.tag.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/tagfiles/panel.tag.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/tagfiles/panel.tag.html	(revision 66)
@@ -0,0 +1,31 @@
+<html><body><pre>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;%@ attribute name="color" %>
+&lt;%@ attribute name="bgcolor" %>
+&lt;%@ attribute name="title" %>
+&lt;table border="1" bgcolor="${color}">
+  &lt;tr>
+    &lt;td>&lt;b>${title}&lt;/b>&lt;/td>
+  &lt;/tr>
+  &lt;tr>
+    &lt;td bgcolor="${bgcolor}">
+      &lt;jsp:doBody/>
+    &lt;/td>
+  &lt;/tr>
+&lt;/table>
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/tagfiles/products.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/tagfiles/products.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/tagfiles/products.html	(revision 66)
@@ -0,0 +1,33 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<head>
+<title>View Source Code</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="products.jsp"><img src="../../images/execute.gif" align="right" border="0"></a>
+<a href="../../index.html"><img src="../../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="products.jsp.html">Source Code for products.jsp<font color="#0000FF"></a>
+  </font> </h3>
+<h3><a href="displayProducts.tag.html">Source Code for displayProducts.tag<font color="#0000FF"></a>
+  </font> </h3>
+
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/tagfiles/products.jsp
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/tagfiles/products.jsp	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/tagfiles/products.jsp	(revision 66)
@@ -0,0 +1,54 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<%@ taglib prefix="tags" tagdir="/WEB-INF/tags" %>
+<html>
+  <head>
+    <title>JSP 2.0 Examples - Display Products Tag File</title>
+  </head>
+  <body>
+    <h1>JSP 2.0 Examples - Display Products Tag File</h1>
+    <hr>
+    <p>This JSP page invokes a tag file that displays a listing of 
+    products.  The custom tag accepts two fragments that enable
+    customization of appearance.  One for when the product is on sale
+    and one for normal price.</p>
+    <p>The tag is invoked twice, using different styles</p>
+    <hr>
+    <h2>Products</h2>
+    <tags:displayProducts>
+      <jsp:attribute name="normalPrice">
+	Item: ${name}<br/>
+	Price: ${price}
+      </jsp:attribute>
+      <jsp:attribute name="onSale">
+	Item: ${name}<br/>
+	<font color="red"><strike>Was: ${origPrice}</strike></font><br/>
+	<b>Now: ${salePrice}</b>
+      </jsp:attribute>
+    </tags:displayProducts>
+    <hr>
+    <h2>Products (Same tag, alternate style)</h2>
+    <tags:displayProducts>
+      <jsp:attribute name="normalPrice">
+	<b>${name}</b> @ ${price} ea.
+      </jsp:attribute>
+      <jsp:attribute name="onSale">
+	<b>${name}</b> @ ${salePrice} ea. (was: ${origPrice})
+      </jsp:attribute>
+    </tags:displayProducts>
+  </body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/tagfiles/products.jsp.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/tagfiles/products.jsp.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/tagfiles/products.jsp.html	(revision 66)
@@ -0,0 +1,56 @@
+<html><body><pre>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;%@ taglib prefix="tags" tagdir="/WEB-INF/tags" %>
+&lt;html>
+  &lt;head>
+    &lt;title>JSP 2.0 Examples - Display Products Tag File&lt;/title>
+  &lt;/head>
+  &lt;body>
+    &lt;h1>JSP 2.0 Examples - Display Products Tag File&lt;/h1>
+    &lt;hr>
+    &lt;p>This JSP page invokes a tag file that displays a listing of 
+    products.  The custom tag accepts two fragments that enable
+    customization of appearance.  One for when the product is on sale
+    and one for normal price.&lt;/p>
+    &lt;p>The tag is invoked twice, using different styles&lt;/p>
+    &lt;hr>
+    &lt;h2>Products&lt;/h2>
+    &lt;tags:displayProducts>
+      &lt;jsp:attribute name="normalPrice">
+	Item: ${name}&lt;br/>
+	Price: ${price}
+      &lt;/jsp:attribute>
+      &lt;jsp:attribute name="onSale">
+	Item: ${name}&lt;br/>
+	&lt;font color="red">&lt;strike>Was: ${origPrice}&lt;/strike>&lt;/font>&lt;br/>
+	&lt;b>Now: ${salePrice}&lt;/b>
+      &lt;/jsp:attribute>
+    &lt;/tags:displayProducts>
+    &lt;hr>
+    &lt;h2>Products (Same tag, alternate style)&lt;/h2>
+    &lt;tags:displayProducts>
+      &lt;jsp:attribute name="normalPrice">
+	&lt;b>${name}&lt;/b> @ ${price} ea.
+      &lt;/jsp:attribute>
+      &lt;jsp:attribute name="onSale">
+	&lt;b>${name}&lt;/b> @ ${salePrice} ea. (was: ${origPrice})
+      &lt;/jsp:attribute>
+    &lt;/tags:displayProducts>
+  &lt;/body>
+&lt;/html>
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/tagfiles/xhtmlbasic.tag.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/tagfiles/xhtmlbasic.tag.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsp2/tagfiles/xhtmlbasic.tag.html	(revision 66)
@@ -0,0 +1,23 @@
+<html><body><pre>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN"
+"http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
+&lt;html xmlns="http://www.w3.org/1999/xhtml">
+&lt;jsp:doBody/>
+&lt;/html>
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsptoserv/hello.jsp
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsptoserv/hello.jsp	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsptoserv/hello.jsp	(revision 66)
@@ -0,0 +1,26 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<body bgcolor="white">
+
+<h1>
+I have been invoked by
+<% out.print (request.getAttribute("servletName").toString()); %>
+Servlet.
+</h1>
+
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsptoserv/hello.jsp.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsptoserv/hello.jsp.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsptoserv/hello.jsp.html	(revision 66)
@@ -0,0 +1,28 @@
+<html><body><pre>
+&lt;html>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;body bgcolor="white">
+
+&lt;h1>
+I have been invoked by
+&lt;% out.print (request.getAttribute("servletName").toString()); %>
+Servlet.
+&lt;/h1>
+
+&lt;/html>
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsptoserv/jsptoservlet.jsp
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsptoserv/jsptoservlet.jsp	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsptoserv/jsptoservlet.jsp	(revision 66)
@@ -0,0 +1,23 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<body bgcolor="white">
+
+<!-- Forward to a servlet -->
+<jsp:forward page="/servletToJsp" />
+
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsptoserv/jsptoservlet.jsp.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsptoserv/jsptoservlet.jsp.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsptoserv/jsptoservlet.jsp.html	(revision 66)
@@ -0,0 +1,25 @@
+<html><body><pre>
+&lt;html>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;body bgcolor="white">
+
+&lt;!-- Forward to a servlet -->
+&lt;jsp:forward page="/servletToJsp" />
+
+&lt;/html>
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsptoserv/jts.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsptoserv/jts.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsptoserv/jts.html	(revision 66)
@@ -0,0 +1,34 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<head>
+<title>Untitled Document</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="jsptoservlet.jsp"><img src="../images/execute.gif" align="right" border="0"></a><a href="../index.html"><img src="../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="jsptoservlet.jsp.html">Source Code for JSP calling servlet <font color="#0000FF"></a>
+  </font> </h3>
+
+<h3><a href="servletToJsp.java.html">Source Code for Servlet calling JSP 
+<font color="#0000FF"></a> </font> </h3>
+
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/jsptoserv/servletToJsp.java.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/jsptoserv/servletToJsp.java.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/jsptoserv/servletToJsp.java.html	(revision 66)
@@ -0,0 +1,34 @@
+<html><body><pre>
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+import javax.servlet.http.*;
+
+public class servletToJsp extends HttpServlet {
+
+    public void doGet (HttpServletRequest request,
+		       HttpServletResponse response) {
+
+	try {
+	    // Set the attribute and Forward to hello.jsp
+	    request.setAttribute ("servletName", "servletToJsp");
+	    getServletConfig().getServletContext().getRequestDispatcher("/jsp/jsptoserv/hello.jsp").forward(request, response);
+	} catch (Exception ex) {
+	    ex.printStackTrace ();
+	}
+    }
+}
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/num/numguess.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/num/numguess.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/num/numguess.html	(revision 66)
@@ -0,0 +1,34 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+  Number Guess Game
+  Written by Jason Hunter, CTO, K&A Software
+  http://www.servlets.com
+-->
+<head>
+<title>Untitled Document</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="numguess.jsp"><img src="../images/execute.gif" align="right" border="0"></a><a href="../index.html"><img src="../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="numguess.jsp.html">Source Code for Numguess Example<font color="#0000FF"></a>
+  </font> </h3>
+
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/num/numguess.jsp
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/num/numguess.jsp	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/num/numguess.jsp	(revision 66)
@@ -0,0 +1,69 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+  Number Guess Game
+  Written by Jason Hunter, CTO, K&A Software
+  http://www.servlets.com
+-->
+
+<%@ page import = "num.NumberGuessBean" %>
+
+<jsp:useBean id="numguess" class="num.NumberGuessBean" scope="session"/>
+<jsp:setProperty name="numguess" property="*"/>
+
+<html>
+<head><title>Number Guess</title></head>
+<body bgcolor="white">
+<font size=4>
+
+<% if (numguess.getSuccess()) { %>
+
+  Congratulations!  You got it.
+  And after just <%= numguess.getNumGuesses() %> tries.<p>
+
+  <% numguess.reset(); %>
+
+  Care to <a href="numguess.jsp">try again</a>?
+
+<% } else if (numguess.getNumGuesses() == 0) { %>
+
+  Welcome to the Number Guess game.<p>
+
+  I'm thinking of a number between 1 and 100.<p>
+
+  <form method=get>
+  What's your guess? <input type=text name=guess>
+  <input type=submit value="Submit">
+  </form>
+
+<% } else { %>
+
+  Good guess, but nope.  Try <b><%= numguess.getHint() %></b>.
+
+  You have made <%= numguess.getNumGuesses() %> guesses.<p>
+
+  I'm thinking of a number between 1 and 100.<p>
+
+  <form method=get>
+  What's your guess? <input type=text name=guess>
+  <input type=submit value="Submit">
+  </form>
+
+<% } %>
+
+</font>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/num/numguess.jsp.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/num/numguess.jsp.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/num/numguess.jsp.html	(revision 66)
@@ -0,0 +1,71 @@
+<html><body><pre>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+  Number Guess Game
+  Written by Jason Hunter, CTO, K&amp;A Software
+  http://www.servlets.com
+-->
+
+&lt;%@ page import = "num.NumberGuessBean" %>
+
+&lt;jsp:useBean id="numguess" class="num.NumberGuessBean" scope="session"/>
+&lt;jsp:setProperty name="numguess" property="*"/>
+
+&lt;html>
+&lt;head>&lt;title>Number Guess&lt;/title>&lt;/head>
+&lt;body bgcolor="white">
+&lt;font size=4>
+
+&lt;% if (numguess.getSuccess()) { %>
+
+  Congratulations!  You got it.
+  And after just &lt;%= numguess.getNumGuesses() %> tries.&lt;p>
+
+  &lt;% numguess.reset(); %>
+
+  Care to &lt;a href="numguess.jsp">try again&lt;/a>?
+
+&lt;% } else if (numguess.getNumGuesses() == 0) { %>
+
+  Welcome to the Number Guess game.&lt;p>
+
+  I'm thinking of a number between 1 and 100.&lt;p>
+
+  &lt;form method=get>
+  What's your guess? &lt;input type=text name=guess>
+  &lt;input type=submit value="Submit">
+  &lt;/form>
+
+&lt;% } else { %>
+
+  Good guess, but nope.  Try &lt;b>&lt;%= numguess.getHint() %>&lt;/b>.
+
+  You have made &lt;%= numguess.getNumGuesses() %> guesses.&lt;p>
+
+  I'm thinking of a number between 1 and 100.&lt;p>
+
+  &lt;form method=get>
+  What's your guess? &lt;input type=text name=guess>
+  &lt;input type=submit value="Submit">
+  &lt;/form>
+
+&lt;% } %>
+
+&lt;/font>
+&lt;/body>
+&lt;/html>
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/plugin/applet/Clock2.java
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/plugin/applet/Clock2.java	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/plugin/applet/Clock2.java	(revision 66)
@@ -0,0 +1,213 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+import java.util.*;
+import java.awt.*;
+import java.applet.*;
+import java.text.*;
+
+/**
+ * Time!
+ *
+ * @author Rachel Gollub
+ */
+
+public class Clock2 extends Applet implements Runnable {
+    Thread timer;                // The thread that displays clock
+    int lastxs, lastys, lastxm,
+        lastym, lastxh, lastyh;  // Dimensions used to draw hands 
+    SimpleDateFormat formatter;  // Formats the date displayed
+    String lastdate;             // String to hold date displayed
+    Font clockFaceFont;          // Font for number display on clock
+    Date currentDate;            // Used to get date to display
+    Color handColor;             // Color of main hands and dial
+    Color numberColor;           // Color of second hand and numbers
+
+    public void init() {
+        int x,y;
+        lastxs = lastys = lastxm = lastym = lastxh = lastyh = 0;
+        formatter = new SimpleDateFormat ("EEE MMM dd hh:mm:ss yyyy", Locale.getDefault());
+        currentDate = new Date();
+        lastdate = formatter.format(currentDate);
+        clockFaceFont = new Font("Serif", Font.PLAIN, 14);
+        handColor = Color.blue;
+        numberColor = Color.darkGray;
+
+        try {
+            setBackground(new Color(Integer.parseInt(getParameter("bgcolor"),16)));
+        } catch (Exception E) { }
+        try {
+            handColor = new Color(Integer.parseInt(getParameter("fgcolor1"),16));
+        } catch (Exception E) { }
+        try {
+            numberColor = new Color(Integer.parseInt(getParameter("fgcolor2"),16));
+        } catch (Exception E) { }
+        resize(300,300);              // Set clock window size
+    }
+
+    // Plotpoints allows calculation to only cover 45 degrees of the circle,
+    // and then mirror
+    public void plotpoints(int x0, int y0, int x, int y, Graphics g) {
+        g.drawLine(x0+x,y0+y,x0+x,y0+y);
+        g.drawLine(x0+y,y0+x,x0+y,y0+x);
+        g.drawLine(x0+y,y0-x,x0+y,y0-x);
+        g.drawLine(x0+x,y0-y,x0+x,y0-y);
+        g.drawLine(x0-x,y0-y,x0-x,y0-y);
+        g.drawLine(x0-y,y0-x,x0-y,y0-x);
+        g.drawLine(x0-y,y0+x,x0-y,y0+x);
+        g.drawLine(x0-x,y0+y,x0-x,y0+y);
+    }
+
+    // Circle is just Bresenham's algorithm for a scan converted circle
+    public void circle(int x0, int y0, int r, Graphics g) {
+        int x,y;
+        float d;
+        x=0;
+        y=r;
+        d=5/4-r;
+        plotpoints(x0,y0,x,y,g);
+
+        while (y>x){
+            if (d<0) {
+                d=d+2*x+3;
+                x++;
+            }
+            else {
+                d=d+2*(x-y)+5;
+                x++;
+                y--;
+            }
+            plotpoints(x0,y0,x,y,g);
+        }
+    }
+
+    // Paint is the main part of the program
+    public void paint(Graphics g) {
+        int xh, yh, xm, ym, xs, ys, s = 0, m = 10, h = 10, xcenter, ycenter;
+        String today;
+
+        currentDate = new Date();
+        SimpleDateFormat formatter = new SimpleDateFormat("s",Locale.getDefault());
+        try {
+            s = Integer.parseInt(formatter.format(currentDate));
+        } catch (NumberFormatException n) {
+            s = 0;
+        }
+        formatter.applyPattern("m");
+        try {
+            m = Integer.parseInt(formatter.format(currentDate));
+        } catch (NumberFormatException n) {
+            m = 10;
+        }    
+        formatter.applyPattern("h");
+        try {
+            h = Integer.parseInt(formatter.format(currentDate));
+        } catch (NumberFormatException n) {
+            h = 10;
+        }
+        formatter.applyPattern("EEE MMM dd HH:mm:ss yyyy");
+        today = formatter.format(currentDate);
+        xcenter=80;
+        ycenter=55;
+    
+    // a= s* pi/2 - pi/2 (to switch 0,0 from 3:00 to 12:00)
+    // x = r(cos a) + xcenter, y = r(sin a) + ycenter
+    
+        xs = (int)(Math.cos(s * 3.14f/30 - 3.14f/2) * 45 + xcenter);
+        ys = (int)(Math.sin(s * 3.14f/30 - 3.14f/2) * 45 + ycenter);
+        xm = (int)(Math.cos(m * 3.14f/30 - 3.14f/2) * 40 + xcenter);
+        ym = (int)(Math.sin(m * 3.14f/30 - 3.14f/2) * 40 + ycenter);
+        xh = (int)(Math.cos((h*30 + m/2) * 3.14f/180 - 3.14f/2) * 30 + xcenter);
+        yh = (int)(Math.sin((h*30 + m/2) * 3.14f/180 - 3.14f/2) * 30 + ycenter);
+    
+    // Draw the circle and numbers
+    
+        g.setFont(clockFaceFont);
+        g.setColor(handColor);
+        circle(xcenter,ycenter,50,g);
+        g.setColor(numberColor);
+        g.drawString("9",xcenter-45,ycenter+3); 
+        g.drawString("3",xcenter+40,ycenter+3);
+        g.drawString("12",xcenter-5,ycenter-37);
+        g.drawString("6",xcenter-3,ycenter+45);
+
+    // Erase if necessary, and redraw
+    
+        g.setColor(getBackground());
+        if (xs != lastxs || ys != lastys) {
+            g.drawLine(xcenter, ycenter, lastxs, lastys);
+            g.drawString(lastdate, 5, 125);
+        }
+        if (xm != lastxm || ym != lastym) {
+            g.drawLine(xcenter, ycenter-1, lastxm, lastym);
+            g.drawLine(xcenter-1, ycenter, lastxm, lastym); }
+        if (xh != lastxh || yh != lastyh) {
+            g.drawLine(xcenter, ycenter-1, lastxh, lastyh);
+            g.drawLine(xcenter-1, ycenter, lastxh, lastyh); }
+        g.setColor(numberColor);
+        g.drawString("", 5, 125);
+        g.drawString(today, 5, 125);    
+        g.drawLine(xcenter, ycenter, xs, ys);
+        g.setColor(handColor);
+        g.drawLine(xcenter, ycenter-1, xm, ym);
+        g.drawLine(xcenter-1, ycenter, xm, ym);
+        g.drawLine(xcenter, ycenter-1, xh, yh);
+        g.drawLine(xcenter-1, ycenter, xh, yh);
+        lastxs=xs; lastys=ys;
+        lastxm=xm; lastym=ym;
+        lastxh=xh; lastyh=yh;
+        lastdate = today;
+        currentDate=null;
+    }
+
+    public void start() {
+        timer = new Thread(this);
+        timer.start();
+    }
+
+    public void stop() {
+        timer = null;
+    }
+
+    public void run() {
+        Thread me = Thread.currentThread();
+        while (timer == me) {
+            try {
+                Thread.currentThread().sleep(100);
+            } catch (InterruptedException e) {
+            }
+            repaint();
+        }
+    }
+
+    public void update(Graphics g) {
+        paint(g);
+    }
+
+    public String getAppletInfo() {
+        return "Title: A Clock \nAuthor: Rachel Gollub, 1995 \nAn analog clock.";
+    }
+  
+    public String[][] getParameterInfo() {
+        String[][] info = {
+            {"bgcolor", "hexadecimal RGB number", "The background color. Default is the color of your browser."},
+            {"fgcolor1", "hexadecimal RGB number", "The color of the hands and dial. Default is blue."},
+            {"fgcolor2", "hexadecimal RGB number", "The color of the seconds hand and numbers. Default is dark gray."}
+        };
+        return info;
+    }
+}
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/plugin/plugin.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/plugin/plugin.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/plugin/plugin.html	(revision 66)
@@ -0,0 +1,30 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<head>
+<title>Untitled Document</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="plugin.jsp"><img src="../images/execute.gif" align="right" border="0"></a><a href="../index.html"><img src="../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="plugin.jsp.html">Source Code for Plugin Example<font color="#0000FF"></a>
+  </font> </h3>
+
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/plugin/plugin.jsp
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/plugin/plugin.jsp	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/plugin/plugin.jsp	(revision 66)
@@ -0,0 +1,34 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<title> Plugin example </title>
+<body bgcolor="white">
+<h3> Current time is : </h3>
+<jsp:plugin type="applet" code="Clock2.class" codebase="applet" jreversion="1.2" width="160" height="150" >
+    <jsp:fallback>
+        Plugin tag OBJECT or EMBED not supported by browser.
+    </jsp:fallback>
+</jsp:plugin>
+<p>
+<h4>
+<font color=red> 
+The above applet is loaded using the Java Plugin from a jsp page using the
+plugin tag.
+</font>
+</h4>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/plugin/plugin.jsp.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/plugin/plugin.jsp.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/plugin/plugin.jsp.html	(revision 66)
@@ -0,0 +1,36 @@
+<html><body><pre>
+&lt;html>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;title> Plugin example &lt;/title>
+&lt;body bgcolor="white">
+&lt;h3> Current time is : &lt;/h3>
+&lt;jsp:plugin type="applet" code="Clock2.class" codebase="applet" jreversion="1.2" width="160" height="150" >
+    &lt;jsp:fallback>
+        Plugin tag OBJECT or EMBED not supported by browser.
+    &lt;/jsp:fallback>
+&lt;/jsp:plugin>
+&lt;p>
+&lt;h4>
+&lt;font color=red> 
+The above applet is loaded using the Java Plugin from a jsp page using the
+plugin tag.
+&lt;/font>
+&lt;/h4>
+&lt;/body>
+&lt;/html>
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/security/protected/error.jsp
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/security/protected/error.jsp	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/security/protected/error.jsp	(revision 66)
@@ -0,0 +1,25 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<html>
+<head>
+<title>Error Page For Examples</title>
+</head>
+<body bgcolor="white">
+Invalid username and/or password, please try
+<a href='<%= response.encodeURL("login.jsp") %>'>again</a>.
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/security/protected/error.jsp.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/security/protected/error.jsp.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/security/protected/error.jsp.html	(revision 66)
@@ -0,0 +1,27 @@
+<html><body><pre>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;html>
+&lt;head>
+&lt;title>Error Page For Examples&lt;/title>
+&lt;/head>
+&lt;body bgcolor="white">
+Invalid username and/or password, please try
+&lt;a href='&lt;%= response.encodeURL("login.jsp") %>'>again&lt;/a>.
+&lt;/body>
+&lt;/html>
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/security/protected/index.jsp
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/security/protected/index.jsp	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/security/protected/index.jsp	(revision 66)
@@ -0,0 +1,81 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<%
+  if (request.getParameter("logoff") != null) {
+    session.invalidate();
+    response.sendRedirect("index.jsp");
+    return;
+  }
+%>
+<html>
+<head>
+<title>Protected Page for Examples</title>
+</head>
+<body bgcolor="white">
+
+You are logged in as remote user
+<b><%= util.HTMLFilter.filter(request.getRemoteUser()) %></b>
+in session <b><%= session.getId() %></b><br><br>
+
+<%
+  if (request.getUserPrincipal() != null) {
+%>
+    Your user principal name is
+    <b><%= util.HTMLFilter.filter(request.getUserPrincipal().getName()) %></b>
+    <br><br>
+<%
+  } else {
+%>
+    No user principal could be identified.<br><br>
+<%
+  }
+%>
+
+<%
+  String role = request.getParameter("role");
+  if (role == null)
+    role = "";
+  if (role.length() > 0) {
+    if (request.isUserInRole(role)) {
+%>
+      You have been granted role
+      <b><%= util.HTMLFilter.filter(role) %></b><br><br>
+<%
+    } else {
+%>
+      You have <i>not</i> been granted role
+      <b><%= util.HTMLFilter.filter(role) %></b><br><br>
+<%
+    }
+  }
+%>
+
+To check whether your username has been granted a particular role,
+enter it here:
+<form method="GET" action='<%= response.encodeURL("index.jsp") %>'>
+<input type="text" name="role" value="<%= util.HTMLFilter.filter(role) %>">
+</form>
+<br><br>
+
+If you have configured this app for form-based authentication, you can log
+off by clicking
+<a href='<%= response.encodeURL("index.jsp?logoff=true") %>'>here</a>.
+This should cause you to be returned to the logon page after the redirect
+that is performed.
+
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/security/protected/index.jsp.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/security/protected/index.jsp.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/security/protected/index.jsp.html	(revision 66)
@@ -0,0 +1,83 @@
+<html><body><pre>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;%
+  if (request.getParameter("logoff") != null) {
+    session.invalidate();
+    response.sendRedirect("index.jsp");
+    return;
+  }
+%>
+&lt;html>
+&lt;head>
+&lt;title>Protected Page for Examples&lt;/title>
+&lt;/head>
+&lt;body bgcolor="white">
+
+You are logged in as remote user
+&lt;b>&lt;%= util.HTMLFilter.filter(request.getRemoteUser()) %>&lt;/b>
+in session &lt;b>&lt;%= session.getId() %>&lt;/b>&lt;br>&lt;br>
+
+&lt;%
+  if (request.getUserPrincipal() != null) {
+%>
+    Your user principal name is
+    &lt;b>&lt;%= util.HTMLFilter.filter(request.getUserPrincipal().getName()) %>&lt;/b>
+    &lt;br>&lt;br>
+&lt;%
+  } else {
+%>
+    No user principal could be identified.&lt;br>&lt;br>
+&lt;%
+  }
+%>
+
+&lt;%
+  String role = request.getParameter("role");
+  if (role == null)
+    role = "";
+  if (role.length() > 0) {
+    if (request.isUserInRole(role)) {
+%>
+      You have been granted role
+      &lt;b>&lt;%= util.HTMLFilter.filter(role) %>&lt;/b>&lt;br>&lt;br>
+&lt;%
+    } else {
+%>
+      You have &lt;i>not&lt;/i> been granted role
+      &lt;b>&lt;%= util.HTMLFilter.filter(role) %>&lt;/b>&lt;br>&lt;br>
+&lt;%
+    }
+  }
+%>
+
+To check whether your username has been granted a particular role,
+enter it here:
+&lt;form method="GET" action='&lt;%= response.encodeURL("index.jsp") %>'>
+&lt;input type="text" name="role" value="&lt;%= util.HTMLFilter.filter(role) %>">
+&lt;/form>
+&lt;br>&lt;br>
+
+If you have configured this app for form-based authentication, you can log
+off by clicking
+&lt;a href='&lt;%= response.encodeURL("index.jsp?logoff=true") %>'>here&lt;/a>.
+This should cause you to be returned to the logon page after the redirect
+that is performed.
+
+&lt;/body>
+&lt;/html>
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/security/protected/login.jsp
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/security/protected/login.jsp	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/security/protected/login.jsp	(revision 66)
@@ -0,0 +1,38 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<html>
+<head>
+<title>Login Page for Examples</title>
+<body bgcolor="white">
+<form method="POST" action='<%= response.encodeURL("j_security_check") %>' >
+  <table border="0" cellspacing="5">
+    <tr>
+      <th align="right">Username:</th>
+      <td align="left"><input type="text" name="j_username"></td>
+    </tr>
+    <tr>
+      <th align="right">Password:</th>
+      <td align="left"><input type="password" name="j_password"></td>
+    </tr>
+    <tr>
+      <td align="right"><input type="submit" value="Log In"></td>
+      <td align="left"><input type="reset"></td>
+    </tr>
+  </table>
+</form>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/security/protected/login.jsp.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/security/protected/login.jsp.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/security/protected/login.jsp.html	(revision 66)
@@ -0,0 +1,40 @@
+<html><body><pre>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;html>
+&lt;head>
+&lt;title>Login Page for Examples&lt;/title>
+&lt;body bgcolor="white">
+&lt;form method="POST" action='&lt;%= response.encodeURL("j_security_check") %>' >
+  &lt;table border="0" cellspacing="5">
+    &lt;tr>
+      &lt;th align="right">Username:&lt;/th>
+      &lt;td align="left">&lt;input type="text" name="j_username">&lt;/td>
+    &lt;/tr>
+    &lt;tr>
+      &lt;th align="right">Password:&lt;/th>
+      &lt;td align="left">&lt;input type="password" name="j_password">&lt;/td>
+    &lt;/tr>
+    &lt;tr>
+      &lt;td align="right">&lt;input type="submit" value="Log In">&lt;/td>
+      &lt;td align="left">&lt;input type="reset">&lt;/td>
+    &lt;/tr>
+  &lt;/table>
+&lt;/form>
+&lt;/body>
+&lt;/html>
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/sessions/DummyCart.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/sessions/DummyCart.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/sessions/DummyCart.html	(revision 66)
@@ -0,0 +1,56 @@
+<HTML>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<HEAD>
+<title>
+sessions.DummyCart Bean Properties
+</title>
+<BODY BGCOLOR="white">
+<H2>
+sessions.DummyCart Bean Properties
+</H2>
+<HR>
+<DL>
+<DT>public class <B>DummyCart</B><DT>extends Object</DL>
+
+<P>
+<HR>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0">
+<TR BGCOLOR="#EEEEFF">
+<TD COLSPAN=3><FONT SIZE="+2">
+<B>Properties Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white">
+<td align="right" valign="top" width="1%">
+<FONT SIZE="-1">
+String
+</FONT></TD>
+<TD><B>DummyCart:items</B>
+<BR>
+       </TD>
+<td width="1%">
+<FONT SIZE="-1">
+Multi
+</FONT></TD>
+</TABLE>
+<HR>
+</BODY>
+</HTML>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/sessions/carts.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/sessions/carts.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/sessions/carts.html	(revision 66)
@@ -0,0 +1,53 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<head>
+    <title>carts</title>
+</head>
+
+ <body bgcolor="white">
+<font size = 5 color="#CC0000">
+
+<form type=POST action=carts.jsp>
+<BR>
+Please enter item to add or remove:
+<br>
+Add Item:
+
+<SELECT NAME="item">
+<OPTION>Beavis & Butt-head Video collection
+<OPTION>X-files movie
+<OPTION>Twin peaks tapes
+<OPTION>NIN CD
+<OPTION>JSP Book
+<OPTION>Concert tickets
+<OPTION>Love life
+<OPTION>Switch blade
+<OPTION>Rex, Rugs & Rock n' Roll
+</SELECT>
+
+
+<br> <br>
+<INPUT TYPE=submit name="submit" value="add">
+<INPUT TYPE=submit name="submit" value="remove">
+
+</form>
+       
+</FONT>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/sessions/carts.jsp
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/sessions/carts.jsp	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/sessions/carts.jsp	(revision 66)
@@ -0,0 +1,44 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<jsp:useBean id="cart" scope="session" class="sessions.DummyCart" />
+
+<jsp:setProperty name="cart" property="*" />
+<%
+	cart.processRequest();
+%>
+
+
+<FONT size = 5 COLOR="#CC0000">
+<br> You have the following items in your cart:
+<ol>
+<% 
+	String[] items = cart.getItems();
+	for (int i=0; i<items.length; i++) {
+%>
+<li> <% out.print(util.HTMLFilter.filter(items[i])); %> 
+<%
+	}
+%>
+</ol>
+
+</FONT>
+
+<hr>
+<%@ include file ="carts.html" %>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/sessions/carts.jsp.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/sessions/carts.jsp.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/sessions/carts.jsp.html	(revision 66)
@@ -0,0 +1,46 @@
+<html><body><pre>
+&lt;html>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+&lt;jsp:useBean id="cart" scope="session" class="sessions.DummyCart" />
+
+&lt;jsp:setProperty name="cart" property="*" />
+&lt;%
+	cart.processRequest();
+%>
+
+
+&lt;FONT size = 5 COLOR="#CC0000">
+&lt;br> You have the following items in your cart:
+&lt;ol>
+&lt;% 
+	String[] items = cart.getItems();
+	for (int i=0; i&lt;items.length; i++) {
+%>
+&lt;li> &lt;% out.print(util.HTMLFilter.filter(items[i])); %> 
+&lt;%
+	}
+%>
+&lt;/ol>
+
+&lt;/FONT>
+
+&lt;hr>
+&lt;%@ include file ="carts.html" %>
+&lt;/html>
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/sessions/crt.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/sessions/crt.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/sessions/crt.html	(revision 66)
@@ -0,0 +1,34 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<head>
+<title>Untitled Document</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="carts.html"><img src="../images/execute.gif" align="right" border="0"></a><a href="../index.html"><img src="../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="carts.jsp.html">Source Code for Cart Example<font color="#0000FF"></a>
+  </font> </h3>
+
+<h3><a href="DummyCart.html">Property Sheet for DummyCart
+<font color="#0000FF"></a> </font> </h3>
+
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/simpletag/foo.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/simpletag/foo.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/simpletag/foo.html	(revision 66)
@@ -0,0 +1,30 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<head>
+<title>Untitled Document</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="foo.jsp"><img src="../images/execute.gif" align="right" border="0"></a><a href="../index.html"><img src="../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="foo.jsp.html">Source Code for the Simple Tag Example<font color="#0000FF"></a>
+  </font> </h3>
+
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/simpletag/foo.jsp
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/simpletag/foo.jsp	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/simpletag/foo.jsp	(revision 66)
@@ -0,0 +1,38 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<body>
+<%@ taglib uri="http://jakarta.apache.org/tomcat/examples-taglib" prefix="eg"%>
+
+Radio stations that rock:
+
+<ul>
+<eg:foo att1="98.5" att2="92.3" att3="107.7">
+<li><%= member %></li>
+</eg:foo>
+</ul>
+
+<eg:log>
+Did you see me on the stderr window?
+</eg:log>
+
+<eg:log toBrowser="true">
+Did you see me on the browser window as well?
+</eg:log>
+
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/simpletag/foo.jsp.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/simpletag/foo.jsp.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/simpletag/foo.jsp.html	(revision 66)
@@ -0,0 +1,40 @@
+<html><body><pre>
+&lt;html>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;body>
+&lt;%@ taglib uri="http://jakarta.apache.org/tomcat/examples-taglib" prefix="eg"%>
+
+Radio stations that rock:
+
+&lt;ul>
+&lt;eg:foo att1="98.5" att2="92.3" att3="107.7">
+&lt;li>&lt;%= member %>&lt;/li>
+&lt;/eg:foo>
+&lt;/ul>
+
+&lt;eg:log>
+Did you see me on the stderr window?
+&lt;/eg:log>
+
+&lt;eg:log toBrowser="true">
+Did you see me on the browser window as well?
+&lt;/eg:log>
+
+&lt;/body>
+&lt;/html>
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/snp/snoop.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/snp/snoop.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/snp/snoop.html	(revision 66)
@@ -0,0 +1,31 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<head>
+<title>Untitled Document</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="snoop.jsp"><img src="../images/execute.gif" align="right" border="0"></a><a href="../index.html"><img src="../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="snoop.jsp.html">Source Code for Request Parameters Example<font color="#0000FF">
+  </font></a></h3>
+
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/snp/snoop.jsp
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/snp/snoop.jsp	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/snp/snoop.jsp	(revision 66)
@@ -0,0 +1,57 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<body bgcolor="white">
+<h1> Request Information </h1>
+<font size="4">
+JSP Request Method: <%= util.HTMLFilter.filter(request.getMethod()) %>
+<br>
+Request URI: <%= util.HTMLFilter.filter(request.getRequestURI()) %>
+<br>
+Request Protocol: <%= util.HTMLFilter.filter(request.getProtocol()) %>
+<br>
+Servlet path: <%= util.HTMLFilter.filter(request.getServletPath()) %>
+<br>
+Path info: <%= util.HTMLFilter.filter(request.getPathInfo()) %>
+<br>
+Query string: <%= util.HTMLFilter.filter(request.getQueryString()) %>
+<br>
+Content length: <%= request.getContentLength() %>
+<br>
+Content type: <%= util.HTMLFilter.filter(request.getContentType()) %>
+<br>
+Server name: <%= util.HTMLFilter.filter(request.getServerName()) %>
+<br>
+Server port: <%= request.getServerPort() %>
+<br>
+Remote user: <%= util.HTMLFilter.filter(request.getRemoteUser()) %>
+<br>
+Remote address: <%= util.HTMLFilter.filter(request.getRemoteAddr()) %>
+<br>
+Remote host: <%= util.HTMLFilter.filter(request.getRemoteHost()) %>
+<br>
+Authorization scheme: <%= util.HTMLFilter.filter(request.getAuthType()) %> 
+<br>
+Locale: <%= request.getLocale() %>
+<hr>
+The browser you are using is
+<%= util.HTMLFilter.filter(request.getHeader("User-Agent")) %>
+<hr>
+</font>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/snp/snoop.jsp.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/snp/snoop.jsp.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/snp/snoop.jsp.html	(revision 66)
@@ -0,0 +1,59 @@
+<html><body><pre>
+&lt;html>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+&lt;body bgcolor="white">
+&lt;h1> Request Information &lt;/h1>
+&lt;font size="4">
+JSP Request Method: &lt;%= util.HTMLFilter.filter(request.getMethod()) %>
+&lt;br>
+Request URI: &lt;%= util.HTMLFilter.filter(request.getRequestURI()) %>
+&lt;br>
+Request Protocol: &lt;%= util.HTMLFilter.filter(request.getProtocol()) %>
+&lt;br>
+Servlet path: &lt;%= util.HTMLFilter.filter(request.getServletPath()) %>
+&lt;br>
+Path info: &lt;%= util.HTMLFilter.filter(request.getPathInfo()) %>
+&lt;br>
+Query string: &lt;%= util.HTMLFilter.filter(request.getQueryString()) %>
+&lt;br>
+Content length: &lt;%= request.getContentLength() %>
+&lt;br>
+Content type: &lt;%= util.HTMLFilter.filter(request.getContentType()) %>
+&lt;br>
+Server name: &lt;%= util.HTMLFilter.filter(request.getServerName()) %>
+&lt;br>
+Server port: &lt;%= request.getServerPort() %>
+&lt;br>
+Remote user: &lt;%= util.HTMLFilter.filter(request.getRemoteUser()) %>
+&lt;br>
+Remote address: &lt;%= util.HTMLFilter.filter(request.getRemoteAddr()) %>
+&lt;br>
+Remote host: &lt;%= util.HTMLFilter.filter(request.getRemoteHost()) %>
+&lt;br>
+Authorization scheme: &lt;%= util.HTMLFilter.filter(request.getAuthType()) %> 
+&lt;br>
+Locale: &lt;%= request.getLocale() %>
+&lt;hr>
+The browser you are using is
+&lt;%= util.HTMLFilter.filter(request.getHeader("User-Agent")) %>
+&lt;hr>
+&lt;/font>
+&lt;/body>
+&lt;/html>
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/source.jsp
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/source.jsp	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/source.jsp	(revision 66)
@@ -0,0 +1,20 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<%@ taglib uri="http://jakarta.apache.org/tomcat/examples-taglib"
+        prefix="eg" %>
+
+<eg:ShowSource jspFile="<%= util.HTMLFilter.filter(request.getQueryString()) %>"/>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/source.jsp.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/source.jsp.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/source.jsp.html	(revision 66)
@@ -0,0 +1,22 @@
+<html><body><pre>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;%@ taglib uri="http://jakarta.apache.org/tomcat/examples-taglib"
+        prefix="eg" %>
+
+&lt;eg:ShowSource jspFile="&lt;%= util.HTMLFilter.filter(request.getQueryString()) %>"/>
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/tagplugin/choose.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/tagplugin/choose.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/tagplugin/choose.html	(revision 66)
@@ -0,0 +1,36 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<html>
+<head>
+<title>View Source Code</title>
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF">
+  <a href="choose.jsp">
+    <img src="../images/execute.gif" align="right" border="0"></a>
+  <a href="../index.html">
+    <img src="../images/return.gif" width="24" height="24" align="right" border="0">
+  </a></font>
+</p>
+
+<h3>
+  <a href="choose.jsp.html">Source Code for choose.jsp<font color="#0000FF"/></a>
+</h3>
+
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/tagplugin/choose.jsp
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/tagplugin/choose.jsp	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/tagplugin/choose.jsp	(revision 66)
@@ -0,0 +1,58 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<html>
+  <head>
+    <title>Tag Examples - choose</title>
+  </head>
+  <body>
+    <h1>Tag Plugin Examples - &lt;c:choose></h1>
+
+    <hr>
+    </br>
+    <a href="notes.html">Plugin Introductory Notes<font <font color="#0000FF"></
+a>
+    <br/>
+    <a href="howto.html">Brief Instructions for Writing Plugins<font color="#000
+0
+FF"></a>
+    <br/> <br/>
+    <hr>
+
+    <font color="#000000"/>
+    </br>
+
+    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
+
+    <c:forEach var="index" begin="0" end="4">
+      # ${index}: 
+      <c:choose>
+	<c:when test="${index == 1}">
+          One!</br>
+	</c:when>
+	<c:when test="${index == 4}">
+          Four!</br>
+	</c:when>
+	<c:when test="${index == 3}">
+          Three!</br>
+	</c:when>
+	<c:otherwise>
+          Huh?</br>
+	</c:otherwise>
+      </c:choose>
+    </c:forEach>
+  </body>
+</html> 
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/tagplugin/choose.jsp.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/tagplugin/choose.jsp.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/tagplugin/choose.jsp.html	(revision 66)
@@ -0,0 +1,60 @@
+<html><body><pre>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;html>
+  &lt;head>
+    &lt;title>Tag Examples - choose&lt;/title>
+  &lt;/head>
+  &lt;body>
+    &lt;h1>Tag Plugin Examples - &amp;lt;c:choose>&lt;/h1>
+
+    &lt;hr>
+    &lt;/br>
+    &lt;a href="notes.html">Plugin Introductory Notes&lt;font &lt;font color="#0000FF">&lt;/
+a>
+    &lt;br/>
+    &lt;a href="howto.html">Brief Instructions for Writing Plugins&lt;font color="#000
+0
+FF">&lt;/a>
+    &lt;br/> &lt;br/>
+    &lt;hr>
+
+    &lt;font color="#000000"/>
+    &lt;/br>
+
+    &lt;%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
+
+    &lt;c:forEach var="index" begin="0" end="4">
+      # ${index}: 
+      &lt;c:choose>
+	&lt;c:when test="${index == 1}">
+          One!&lt;/br>
+	&lt;/c:when>
+	&lt;c:when test="${index == 4}">
+          Four!&lt;/br>
+	&lt;/c:when>
+	&lt;c:when test="${index == 3}">
+          Three!&lt;/br>
+	&lt;/c:when>
+	&lt;c:otherwise>
+          Huh?&lt;/br>
+	&lt;/c:otherwise>
+      &lt;/c:choose>
+    &lt;/c:forEach>
+  &lt;/body>
+&lt;/html> 
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/tagplugin/foreach.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/tagplugin/foreach.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/tagplugin/foreach.html	(revision 66)
@@ -0,0 +1,36 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<html>
+<head>
+<title>View Source Code</title>
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF">
+  <a href="foreach.jsp">
+    <img src="../images/execute.gif" align="right" border="0"></a>
+  <a href="../index.html">
+    <img src="../images/return.gif" width="24" height="24" align="right" border="0">
+  </a></font>
+</p>
+
+<h3>
+  <a href="foreach.jsp.html">Source Code for foreach.jsp<font color="#0000FF"/></a>
+</h3>
+
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/tagplugin/foreach.jsp
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/tagplugin/foreach.jsp	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/tagplugin/foreach.jsp	(revision 66)
@@ -0,0 +1,57 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<html>
+  <head>
+    <title>Tag Plugin Examples: forEach</title>
+  </head>
+  <body>
+    <h1>Tag Plugin Examples - &lt;c:forEach></h1>
+
+    <hr>
+    </br>
+    <a href="notes.html">Plugin Introductory Notes<font <font color="#0000FF"></
+a>
+    <br/>
+    <a href="howto.html">Brief Instructions for Writing Plugins<font color="#0000
+FF"></a>
+    <br/> <br/>
+    <hr>
+
+    <font color="#000000"/>
+    </br>
+
+    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
+    <%@ page import="java.util.Vector" %>
+
+    <h3>Iterating over a range</h3>
+    <c:forEach var="item" begin="1" end="10">
+        ${item}
+    </c:forEach>
+
+    <% Vector v = new Vector();
+	v.add("One"); v.add("Two"); v.add("Three"); v.add("Four");
+
+	pageContext.setAttribute("vector", v);
+    %>
+
+    <h3>Iterating over a Vector</h3>
+
+    <c:forEach items="${vector}" var="item" >
+	${item}
+    </c:forEach>
+  </body>
+</html> 
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/tagplugin/foreach.jsp.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/tagplugin/foreach.jsp.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/tagplugin/foreach.jsp.html	(revision 66)
@@ -0,0 +1,59 @@
+<html><body><pre>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;html>
+  &lt;head>
+    &lt;title>Tag Plugin Examples: forEach&lt;/title>
+  &lt;/head>
+  &lt;body>
+    &lt;h1>Tag Plugin Examples - &amp;lt;c:forEach>&lt;/h1>
+
+    &lt;hr>
+    &lt;/br>
+    &lt;a href="notes.html">Plugin Introductory Notes&lt;font &lt;font color="#0000FF">&lt;/
+a>
+    &lt;br/>
+    &lt;a href="howto.html">Brief Instructions for Writing Plugins&lt;font color="#0000
+FF">&lt;/a>
+    &lt;br/> &lt;br/>
+    &lt;hr>
+
+    &lt;font color="#000000"/>
+    &lt;/br>
+
+    &lt;%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
+    &lt;%@ page import="java.util.Vector" %>
+
+    &lt;h3>Iterating over a range&lt;/h3>
+    &lt;c:forEach var="item" begin="1" end="10">
+        ${item}
+    &lt;/c:forEach>
+
+    &lt;% Vector v = new Vector();
+	v.add("One"); v.add("Two"); v.add("Three"); v.add("Four");
+
+	pageContext.setAttribute("vector", v);
+    %>
+
+    &lt;h3>Iterating over a Vector&lt;/h3>
+
+    &lt;c:forEach items="${vector}" var="item" >
+	${item}
+    &lt;/c:forEach>
+  &lt;/body>
+&lt;/html> 
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/tagplugin/howto.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/tagplugin/howto.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/tagplugin/howto.html	(revision 66)
@@ -0,0 +1,43 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<html>
+  <head>
+    <title>Tag Plugin Implementation</title>
+    <h2>How to write tag plugins</h2>
+    <p>
+      To write a plugin, you'll need to download the source for Tomcat 5.
+      There are two steps:
+    <ol>
+      <li>
+        Implement the plugin class.<p/>
+        This class, which implements 
+        <tt>org.apache.jasper.compiler.tagplugin.TagPlugin</tt>
+        instructs Jasper what Java codes to generate in place of the tag
+        handler calls.
+        See Javadoc for <tt>org.apache.jasper.compiler.tagplugin.TagPlugin</tt>
+        for details.
+      </li>
+
+      <li>
+        Create the plugin descriptor file <tt> WEB-INF/tagPlugins.xml</tt><p/>
+        This file
+        specifies the plugin classes and their corresponding tag handler
+        classes.
+      </li>
+    </ol>
+  </head>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/tagplugin/if.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/tagplugin/if.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/tagplugin/if.html	(revision 66)
@@ -0,0 +1,36 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<html>
+<head>
+<title>View Source Code</title>
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF">
+  <a href="if.jsp">
+    <img src="../images/execute.gif" align="right" border="0"></a>
+  <a href="../index.html">
+    <img src="../images/return.gif" width="24" height="24" align="right" border="0">
+  </a></font>
+</p>
+
+<h3>
+  <a href="if.jsp.html">Source Code for if.jsp<font color="#0000FF"/></a>
+</h3>
+
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/tagplugin/if.jsp
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/tagplugin/if.jsp	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/tagplugin/if.jsp	(revision 66)
@@ -0,0 +1,45 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<html>
+  <head>
+    <title>Tag Plugin Examples: if</title>
+  </head>
+  <body>
+    <h1>Tag Plugin Examples - &lt;c:if></h1>
+
+    <hr>
+    </br>
+    <a href="notes.html">Plugin Introductory Notes<font <font color="#0000FF"></a>
+    <br/>
+    <a href="howto.html">Brief Instructions for Writing Plugins<font color="#0000FF"></a>
+    <br/> <br/>
+    <hr>
+
+    <font color="#000000"/>
+    </br>
+    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
+
+    <h3>Set the test result to a variable</h3>
+    <c:if test="${1==1}" var="theTruth" scope="session"/>
+    The result of testing for (1==1) is: ${theTruth}
+
+    <h3>Conditionally execute the body</h3>
+    <c:if test="${2>0}">
+	It's true that (2>0)!
+    </c:if>
+  </body>
+</html> 
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/tagplugin/if.jsp.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/tagplugin/if.jsp.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/tagplugin/if.jsp.html	(revision 66)
@@ -0,0 +1,47 @@
+<html><body><pre>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;html>
+  &lt;head>
+    &lt;title>Tag Plugin Examples: if&lt;/title>
+  &lt;/head>
+  &lt;body>
+    &lt;h1>Tag Plugin Examples - &amp;lt;c:if>&lt;/h1>
+
+    &lt;hr>
+    &lt;/br>
+    &lt;a href="notes.html">Plugin Introductory Notes&lt;font &lt;font color="#0000FF">&lt;/a>
+    &lt;br/>
+    &lt;a href="howto.html">Brief Instructions for Writing Plugins&lt;font color="#0000FF">&lt;/a>
+    &lt;br/> &lt;br/>
+    &lt;hr>
+
+    &lt;font color="#000000"/>
+    &lt;/br>
+    &lt;%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
+
+    &lt;h3>Set the test result to a variable&lt;/h3>
+    &lt;c:if test="${1==1}" var="theTruth" scope="session"/>
+    The result of testing for (1==1) is: ${theTruth}
+
+    &lt;h3>Conditionally execute the body&lt;/h3>
+    &lt;c:if test="${2>0}">
+	It's true that (2>0)!
+    &lt;/c:if>
+  &lt;/body>
+&lt;/html> 
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/tagplugin/notes.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/tagplugin/notes.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/tagplugin/notes.html	(revision 66)
@@ -0,0 +1,39 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<html>
+  <head>
+    <title>Tag Plugin Introduction</title>
+    <h2>Tag Plugins: Introductory Notes</h2>
+    <p>
+      Tomcat 5 provides a framework for implementing tag plugins.  The
+      plugins instruct Jasper, at translation time, to replace tag handler
+      calls with Java scriptlets.
+      The framework allows tag library authors to implement plugins for
+      their tags.
+    </p>
+    <p>
+      Tomcat 5 is released with plugins for several JSTL tags.  Note
+      that these plugins work with JSTL 1.1 as well as JSTL 1.0, though
+      the examples uses JSTL 1.1 and JSP 2.0.  
+      These plugins are not complete (for instance, some item types not
+      handled in &lt;c:if>).
+      They do serve as examples to show plugins in action (just
+      examine the generated Java files), and how they can be implemented.
+    </p>
+  </head>
+</html>
+
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/xml/xml.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/xml/xml.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/xml/xml.html	(revision 66)
@@ -0,0 +1,31 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<head>
+<title>Untitled Document</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="xml.jsp"><img src="../images/execute.gif" align="right" border="0"></a><a href="../index.html"><img src="../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="xml.jsp.html">Source Code for XML syntax Example<font color="#0000FF"></a>
+  </font> </h3>
+
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/xml/xml.jsp
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/xml/xml.jsp	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/xml/xml.jsp	(revision 66)
@@ -0,0 +1,70 @@
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"
+  version="1.2">
+<jsp:directive.page contentType="text/html"/>
+<jsp:directive.page import="java.util.Date, java.util.Locale"/>
+<jsp:directive.page import="java.text.*"/>
+
+<jsp:declaration>
+  String getDateTimeStr(Locale l) {
+    DateFormat df = SimpleDateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM, l);
+    return df.format(new Date());
+  }
+</jsp:declaration>
+
+<html>
+<head>
+  <title>Example JSP in XML format</title>
+</head>
+
+<body>
+This is the output of a simple JSP using XML format. 
+<br />
+
+<div>Use a jsp:scriptlet to loop from 1 to 10: </div>
+<jsp:scriptlet>
+// Note we need to declare CDATA because we don't escape the less than symbol
+<![CDATA[
+  for (int i = 1; i<=10; i++) {
+    out.println(i);
+    if (i < 10) {
+      out.println(", ");
+    }
+  }
+]]>
+</jsp:scriptlet>
+
+<!-- Because I omit br's end tag, declare it as CDATA -->
+<![CDATA[
+  <br><br>
+]]>
+
+<div align="left">
+  Use a jsp:expression to write the date and time in the browser's locale: 
+  <jsp:expression>getDateTimeStr(request.getLocale())</jsp:expression>
+</div>
+
+
+<jsp:text>
+  &lt;p&gt;This sentence is enclosed in a jsp:text element.&lt;/p&gt;
+</jsp:text>
+
+</body>
+</html>
+</jsp:root>
Index: /nutchez-0.1/tomcat/webapps/examples/jsp/xml/xml.jsp.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/jsp/xml/xml.jsp.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/jsp/xml/xml.jsp.html	(revision 66)
@@ -0,0 +1,72 @@
+<html><body><pre>
+&lt;?xml version="1.0"?>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"
+  version="1.2">
+&lt;jsp:directive.page contentType="text/html"/>
+&lt;jsp:directive.page import="java.util.Date, java.util.Locale"/>
+&lt;jsp:directive.page import="java.text.*"/>
+
+&lt;jsp:declaration>
+  String getDateTimeStr(Locale l) {
+    DateFormat df = SimpleDateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM, l);
+    return df.format(new Date());
+  }
+&lt;/jsp:declaration>
+
+&lt;html>
+&lt;head>
+  &lt;title>Example JSP in XML format&lt;/title>
+&lt;/head>
+
+&lt;body>
+This is the output of a simple JSP using XML format. 
+&lt;br />
+
+&lt;div>Use a jsp:scriptlet to loop from 1 to 10: &lt;/div>
+&lt;jsp:scriptlet>
+// Note we need to declare CDATA because we don't escape the less than symbol
+&lt;![CDATA[
+  for (int i = 1; i&lt;=10; i++) {
+    out.println(i);
+    if (i &lt; 10) {
+      out.println(", ");
+    }
+  }
+]]>
+&lt;/jsp:scriptlet>
+
+&lt;!-- Because I omit br's end tag, declare it as CDATA -->
+&lt;![CDATA[
+  &lt;br>&lt;br>
+]]>
+
+&lt;div align="left">
+  Use a jsp:expression to write the date and time in the browser's locale: 
+  &lt;jsp:expression>getDateTimeStr(request.getLocale())&lt;/jsp:expression>
+&lt;/div>
+
+
+&lt;jsp:text>
+  &amp;lt;p&amp;gt;This sentence is enclosed in a jsp:text element.&amp;lt;/p&amp;gt;
+&lt;/jsp:text>
+
+&lt;/body>
+&lt;/html>
+&lt;/jsp:root>
+</pre></body></html>
Index: /nutchez-0.1/tomcat/webapps/examples/servlets/cookies.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/servlets/cookies.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/servlets/cookies.html	(revision 66)
@@ -0,0 +1,61 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<html>
+<head>
+<title>Untitled Document</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="servlet/CookieExample"><img src="images/execute.gif" align="right" border="0"></a><a href="index.html"><img src="images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+<h3>Source Code for Cookie Example<font color="#0000FF"><br>
+  </font> </h3>
+<font color="#0000FF"></font> 
+<pre><font color="#0000FF">import</font> java.io.*;
+<font color="#0000FF">import</font> javax.servlet.*;
+<font color="#0000FF">import</font> javax.servlet.http.*;
+
+<font color="#0000FF">public class</font> CookieExample <font color="#0000FF">extends</font> HttpServlet {
+
+    <font color="#0000FF">public void</font> doGet(HttpServletRequest request, HttpServletResponse response)
+    <font color="#0000FF">throws</font> IOException, ServletException
+    {
+        response.setContentType(&quot;<font color="#009900">text/html</font>&quot;);
+        PrintWriter out = response.getWriter();
+        
+        <font color="#CC0000">// print out cookies</font>
+
+        Cookie[] cookies = request.getCookies();
+        for (int i = 0; i &lt; cookies.length; i++) {
+            Cookie c = cookies[i];
+            String name = c.getName();
+            String value = c.getValue();
+            out.println(name + &quot;<font color="#009900"> = </font>&quot; + value);
+        }
+
+        <font color="#CC0000">// set a cookie</font>
+
+        String name = request.getParameter(&quot;<font color="#009900">cookieName</font>&quot;);
+        if (name != null &amp;&amp; name.length() &gt; 0) {
+            String value = request.getParameter(&quot;<font color="#009900">cookieValue</font>&quot;);
+            Cookie c = new Cookie(name, value);
+            response.addCookie(c);
+        }
+    }
+}</pre>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/servlets/helloworld.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/servlets/helloworld.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/servlets/helloworld.html	(revision 66)
@@ -0,0 +1,50 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<html>
+<head>
+<title>Untitled Document</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="servlet/HelloWorldExample"><img src="images/execute.gif" align="right" border="0"></a><a href="index.html"><img src="images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+<h3>Source Code for HelloWorld Example<font color="#0000FF"><br>
+  </font> </h3>
+<font color="#0000FF"></font>
+<pre><font color="#0000FF">import</font> java.io.*;
+<font color="#0000FF">import</font> javax.servlet.*;
+<font color="#0000FF">import</font> javax.servlet.http.*;
+
+<font color="#0000FF">public class</font> HelloWorld <font color="#0000FF">extends</font> HttpServlet {
+
+    <font color="#0000FF">public void</font> doGet(HttpServletRequest request, HttpServletResponse response)
+    <font color="#0000FF">throws</font> IOException, ServletException
+    {
+        response.setContentType(&quot;<font color="#009900">text/html</font>&quot;);
+        PrintWriter out = response.getWriter();
+        out.println(&quot;<font color="#009900">&lt;html&gt;</font>&quot;);
+        out.println(&quot;<font color="#009900">&lt;head&gt;</font>&quot;);
+        out.println(&quot;<font color="#009900">&lt;title&gt;Hello World!&lt;/title&gt;</font>&quot;);
+        out.println(&quot;<font color="#009900">&lt;/head&gt;</font>&quot;);
+        out.println(&quot;<font color="#009900">&lt;body&gt;</font>&quot;);
+        out.println(&quot;<font color="#009900">&lt;h1&gt;Hello World!&lt;/h1&gt;</font>&quot;);
+        out.println(&quot;<font color="#009900">&lt;/body&gt;</font>&quot;);
+        out.println(&quot;<font color="#009900">&lt;/html&gt;</font>&quot;);
+    }
+}</pre>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/servlets/index.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/servlets/index.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/servlets/index.html	(revision 66)
@@ -0,0 +1,121 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+   <meta name="GENERATOR" content="Mozilla/4.61 [en] (WinNT; I) [Netscape]">
+   <meta name="Author" content="Anil K. Vijendran">
+   <title>Servlet Examples</title>
+</head>
+<body bgcolor="#FFFFFF">
+<b><font face="Arial, Helvetica, sans-serif"><font size=+2>Servlet
+Examples with Code</font></font></b>
+<p>This is a collection of examples which demonstrate some of the more
+frequently used parts of the Servlet API. Familiarity with the Java(tm)
+Programming Language is assumed.
+<p>These examples will only work when viewed via an http URL. They will
+not work if you are viewing these pages via a "file://..." URL. Please
+refer to the <i>README</i> file provide with this Tomcat release regarding
+how to configure and start the provided web server.
+<p>Wherever you see a form, enter some data and see how the servlet reacts.
+When playing with the Cookie and Session Examples, jump back to the Headers
+Example to see exactly what your browser is sending the server.
+<p>To navigate your way through the examples, the following icons will
+help:
+<br>&nbsp;
+<table BORDER=0 CELLSPACING=5 WIDTH="85%" >
+<tr VALIGN=TOP>
+<td WIDTH="30"><img SRC="images/execute.gif" ></td>
+
+<td>Execute the example</td>
+</tr>
+
+<tr VALIGN=TOP>
+<td WIDTH="30"><img SRC="images/code.gif" height=24 width=24></td>
+
+<td>Look at the source code for the example</td>
+</tr>
+
+<tr VALIGN=TOP>
+<td WIDTH="30"><img SRC="images/return.gif" height=24 width=24></td>
+
+<td>Return to this screen</td>
+</tr>
+</table>
+
+<p>Tip: To see the cookie interactions with your browser, try turning on
+the "notify when setting a cookie" option in your browser preferences.
+This will let you see when a session is created and give some feedback
+when looking at the cookie demo.
+<br>&nbsp;
+<table BORDER=0 CELLSPACING=5 WIDTH="85%" >
+<tr VALIGN=TOP>
+<td>Hello World</td>
+
+<td VALIGN=TOP WIDTH="30%"><a href="servlet/HelloWorldExample"><img SRC="images/execute.gif" HSPACE=4 BORDER=0  align=TOP></a><a href="servlet/HelloWorldExample">Execute</a></td>
+
+<td WIDTH="30%"><a href="helloworld.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="helloworld.html">Source</a></td>
+</tr>
+
+<tr VALIGN=TOP>
+<td>Request Info</td>
+
+<td WIDTH="30%"><a href="servlet/RequestInfoExample"><img SRC="images/execute.gif" HSPACE=4 BORDER=0  align=TOP></a><a href="servlet/RequestInfoExample">Execute</a></td>
+
+<td WIDTH="30%"><a href="reqinfo.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="reqinfo.html">Source</a></td>
+</tr>
+
+<tr VALIGN=TOP>
+<td>Request Headers</td>
+
+<td WIDTH="30%"><a href="servlet/RequestHeaderExample"><img SRC="images/execute.gif" HSPACE=4 BORDER=0  align=TOP></a><a href="servlet/RequestHeaderExample">Execute</a></td>
+
+<td WIDTH="30%"><a href="reqheaders.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="reqheaders.html">Source</a></td>
+</tr>
+
+<tr VALIGN=TOP>
+<td>Request Parameters</td>
+
+<td WIDTH="30%"><a href="servlet/RequestParamExample"><img SRC="images/execute.gif" HSPACE=4 BORDER=0  align=TOP></a><a href="servlet/RequestParamExample">Execute</a></td>
+
+<td WIDTH="30%"><a href="reqparams.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="reqparams.html">Source</a></td>
+</tr>
+
+<tr VALIGN=TOP>
+<td>Cookies</td>
+
+<td WIDTH="30%"><a href="servlet/CookieExample"><img SRC="images/execute.gif" HSPACE=4 BORDER=0  align=TOP></a><a href="servlet/CookieExample">Execute</a></td>
+
+<td WIDTH="30%"><a href="cookies.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="cookies.html">Source</a></td>
+</tr>
+
+<tr VALIGN=TOP>
+<td>Sessions</td>
+
+<td WIDTH="30%"><a href="servlet/SessionExample"><img SRC="images/execute.gif" HSPACE=4 BORDER=0  align=TOP></a><a href="servlet/SessionExample">Execute</a></td>
+
+<td WIDTH="30%"><a href="sessions.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="sessions.html">Source</a></td>
+</tr>
+</table>
+
+<p>Note: The source code for these examples does not contain all of the
+source code that is actually in the example, only the important sections
+of code. Code not important to understand the example has been removed
+for clarity.
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/servlets/reqheaders.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/servlets/reqheaders.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/servlets/reqheaders.html	(revision 66)
@@ -0,0 +1,49 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<html>
+<head>
+<title>Untitled Document</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="servlet/RequestHeaderExample"><img src="images/execute.gif" align="right" border="0"></a><a href="index.html"><img src="images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+<h3>Source Code for RequestHeader Example<font color="#0000FF"><br>
+  </font> </h3>
+<font color="#0000FF"></font>
+<pre><font color="#0000FF">import</font> java.io.*;
+<font color="#0000FF">import</font> java.util.*;
+<font color="#0000FF">import</font> javax.servlet.*;
+<font color="#0000FF">import</font> javax.servlet.http.*;
+
+<font color="#0000FF">public class</font> RequestHeaderExample <font color="#0000FF">extends</font> HttpServlet {
+
+    <font color="#0000FF">public void</font> doGet(HttpServletRequest request, HttpServletResponse response)
+    <font color="#0000FF">throws</font> IOException, ServletException
+    {
+        response.setContentType(&quot;<font color="#009900">text/html</font>&quot;);
+        PrintWriter out = response.getWriter();
+        Enumeration e = request.getHeaderNames();
+        while (e.hasMoreElements()) {
+            String name = (String)e.nextElement();
+            String value = request.getHeader(name);
+            out.println(name + &quot;<font color="#009900"> = </font>&quot; + value);
+        }
+    }
+}</pre>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/servlets/reqinfo.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/servlets/reqinfo.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/servlets/reqinfo.html	(revision 66)
@@ -0,0 +1,68 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<html>
+<head>
+<title>Untitled Document</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="servlet/RequestInfoExample"><img src="images/execute.gif" align="right" border="0"></a><a href="index.html"><img src="images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+<h3>Source Code for Request Info Example<font color="#0000FF"><br>
+  </font> </h3>
+<font color="#0000FF"></font> 
+<pre><font color="#0000FF">import</font> java.io.*;
+<font color="#0000FF">import</font> javax.servlet.*;
+<font color="#0000FF">import</font> javax.servlet.http.*;
+
+<font color="#0000FF">public class</font> RequestInfo <font color="#0000FF">extends</font> HttpServlet {
+
+    <font color="#0000FF">public void</font> doGet(HttpServletRequest request, HttpServletResponse response)
+    <font color="#0000FF">throws</font> IOException, ServletException
+    {
+        response.setContentType(&quot;<font color="#009900">text/html</font>&quot;);
+        PrintWriter out = response.getWriter();
+        out.println(&quot;<font color="#009900">&lt;html&gt;</font>&quot;);
+        out.println(&quot;<font color="#009900">&lt;body&gt;</font>&quot;);
+        out.println(&quot;<font color="#009900">&lt;head&gt;</font>&quot;);
+        out.println(&quot;<font color="#009900">&lt;title&gt;Request Information Example&lt;/title&gt;</font>&quot;);
+        out.println(&quot;<font color="#009900">&lt;/head&gt;</font>&quot;);
+        out.println(&quot;<font color="#009900">&lt;body&gt;</font>&quot;);
+        out.println(&quot;<font color="#009900">&lt;h3&gt;Request Information Example&lt;/h3&gt;</font>&quot;);
+        out.println(&quot;<font color="#009900">Method: </font>&quot; + request.getMethod());
+        out.println(&quot;<font color="#009900">Request URI: </font>&quot; + request.getRequestURI());
+        out.println(&quot;<font color="#009900">Protocol: </font>&quot; + request.getProtocol());
+        out.println(&quot;<font color="#009900">PathInfo: </font>&quot; + request.getPathInfo());
+        out.println(&quot;<font color="#009900">Remote Address: </font>&quot; + request.getRemoteAddr());
+        out.println(&quot;<font color="#009900">&lt;/body&gt;</font>&quot;);
+        out.println(&quot;<font color="#009900">&lt;/html&gt;</font>&quot;);
+    }
+
+<font color="#FF0000">    /**
+     * We are going to perform the same operations for POST requests
+     * as for GET methods, so this method just sends the request to
+     * the doGet method.
+     */</font>
+
+    <font color="#0000FF">public void</font> doPost(HttpServletRequest request, HttpServletResponse response)
+    <font color="#0000FF">throws</font> IOException, ServletException
+    {
+        doGet(request, response);
+    }
+}</pre>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/servlets/reqparams.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/servlets/reqparams.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/servlets/reqparams.html	(revision 66)
@@ -0,0 +1,78 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<html>
+<head>
+<title>Untitled Document</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="servlet/RequestParamExample"><img src="images/execute.gif" align="right" border="0"></a><a href="index.html"><img src="images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+<h3>Source Code for Request Parameter Example<font color="#0000FF"><br>
+  </font> </h3>
+<font color="#0000FF"></font> 
+<pre><font color="#0000FF">import</font> java.io.*;
+<font color="#0000FF">import</font> java.util.*;
+<font color="#0000FF">import</font> javax.servlet.*;
+<font color="#0000FF">import</font> javax.servlet.http.*;
+
+<font color="#0000FF">public class</font> RequestParamExample <font color="#0000FF">extends</font> HttpServlet {
+
+    <font color="#0000FF">public void</font> doGet(HttpServletRequest request, HttpServletResponse response)
+    <font color="#0000FF">throws</font> IOException, ServletException
+    {
+        response.setContentType(&quot;<font color="#009900">text/html</font>&quot;);
+        PrintWriter out = response.getWriter();
+        out.println(&quot;<font color="#009900">&lt;html&gt;</font>&quot;);
+        out.println(&quot;<font color="#009900">&lt;head&gt;</font>&quot;);
+        out.println(&quot;<font color="#009900">&lt;title&gt;Request Parameters Example&lt;/title&gt;</font>&quot;);
+        out.println(&quot;<font color="#009900">&lt;/head&gt;</font>&quot;);
+        out.println(&quot;<font color="#009900">&lt;body&gt;</font>&quot;);
+        out.println(&quot;<font color="#009900">&lt;h3&gt;Request Parameters Example&lt;/h3&gt;</font>&quot;);
+        out.println(&quot;<font color="#009900">Parameters in this request:&lt;br&gt;</font>&quot;);
+        if (firstName != null || lastName != null) {
+            out.println(&quot;<font color="#009900">First Name:</font>&quot;);
+            out.println(&quot;<font color="#009900"> = </font>&quot; + HTMLFilter.filter(firstName) + &quot;<font color="#009900">&lt;br&gt;</font>&quot;);
+            out.println(&quot;<font color="#009900">Last Name:</font>&quot;);
+            out.println(&quot;<font color="#009900"> = </font>&quot; + HTMLFilter.filter(lastName));
+        } else {
+            out.println(&quot;<font color="#009900">No Parameters, Please enter some</font>&quot;);
+        }
+        out.println(&quot;<font color="#009900">&lt;P&gt;</font>&quot;);
+        out.print(&quot;<font color="#009900">&lt;form action=\"</font>&quot;);
+        out.print(&quot;<font color="#009900">RequestParamExample\" </font>&quot;);
+        out.println(&quot;<font color="#009900">method=POST&gt;</font>&quot;);
+        out.println(&quot;<font color="#009900">First Name:</font>&quot;);
+        out.println(&quot;<font color="#009900">&lt;input type=text size=20 name=firstname&gt;</font>&quot;);
+        out.println(&quot;<font color="#009900">&lt;br&gt;</font>&quot;);
+        out.println(&quot;<font color="#009900">Last Name:</font>&quot;);
+        out.println(&quot;<font color="#009900">&lt;input type=text size=20 name=lastname&gt;</font>&quot;);
+        out.println(&quot;<font color="#009900">&lt;br&gt;</font>&quot;);
+        out.println(&quot;<font color="#009900">&lt;input type=submit&gt;</font>&quot;);
+        out.println(&quot;<font color="#009900">&lt;/form&gt;</font>&quot;);
+        out.println(&quot;<font color="#009900">&lt;/body&gt;</font>&quot;);
+        out.println(&quot;<font color="#009900">&lt;/html&gt;</font>&quot;);
+    }
+
+    <font color="#0000FF">public void</font> doPost(HttpServletRequest request, HttpServletResponse res)
+    <font color="#0000FF">throws</font> IOException, ServletException
+    {
+        doGet(request, response);
+    }
+}</pre>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/examples/servlets/sessions.html
===================================================================
--- /nutchez-0.1/tomcat/webapps/examples/servlets/sessions.html	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/examples/servlets/sessions.html	(revision 66)
@@ -0,0 +1,70 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<html>
+<head>
+<title>Untitled Document</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="servlet/SessionExample"><img src="images/execute.gif" align="right" border="0"></a><a href="index.html"><img src="images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+<h3>Source Code for Session Example<font color="#0000FF"><br>
+  </font> </h3>
+<font color="#0000FF"></font> 
+<pre><font color="#0000FF">import</font> java.io.*;
+<font color="#0000FF">import</font> java.util.*;
+<font color="#0000FF">import</font> javax.servlet.*;
+<font color="#0000FF">import</font> javax.servlet.http.*;
+
+<font color="#0000FF">public class</font> SessionExample <font color="#0000FF">extends</font> HttpServlet {
+
+    <font color="#0000FF">public void</font> doGet(HttpServletRequest request, HttpServletResponse response)
+    <font color="#0000FF">throws</font> IOException, ServletException
+    {
+        response.setContentType(&quot;<font color="#009900">text/html</font>&quot;);
+        PrintWriter out = response.getWriter();
+        
+        HttpSession session = request.getSession(true);
+
+        <font color="#CC0000">// print session info</font>
+
+        Date created = new Date(session.getCreationTime());
+        Date accessed = new Date(session.getLastAccessedTime());
+        out.println(&quot;<font color="#009900">ID </font>&quot; + session.getId());
+        out.println(&quot;<font color="#009900">Created: </font>&quot; + created);
+        out.println(&quot;<font color="#009900">Last Accessed: </font>&quot; + accessed);
+
+        <font color="#CC0000">// set session info if needed</font>
+
+        String dataName = request.getParameter(&quot;<font color="#009900">dataName</font>&quot;);
+        if (dataName != null &amp;&amp; dataName.length() &gt; 0) {
+            String dataValue = request.getParameter(&quot;<font color="#009900">dataValue</font>&quot;);
+            session.setAttribute(dataName, dataValue);
+        }
+
+        // print session contents
+
+        Enumeration e = session.getAttributeNames();
+        while (e.hasMoreElements()) {
+            String name = (String)e.nextElement();
+            String value = session.getAttribute(name).toString();
+            out.println(name + &quot; <font color="#009900">= </font>&quot; + value);
+        }
+    }
+}</pre>
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/host-manager/META-INF/context.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/host-manager/META-INF/context.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/host-manager/META-INF/context.xml	(revision 66)
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<Context antiResourceLocking="false" privileged="true" />
Index: /nutchez-0.1/tomcat/webapps/host-manager/WEB-INF/web.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/host-manager/WEB-INF/web.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/host-manager/WEB-INF/web.xml	(revision 66)
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<web-app xmlns="http://java.sun.com/xml/ns/javaee"
+   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+   xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
+   version="2.5"> 
+
+  <display-name>Tomcat Manager Application</display-name>
+  <description>
+    A scriptable management web application for the Tomcat Web Server;
+	Manager lets you view, load/unload/etc particular web applications.
+  </description>
+
+  <!-- Define the Manager Servlet
+       Change servlet-class to: org.apache.catalina.servlets.HTMLManagerServlet
+       to get a Servlet with a more intuitive HTML interface, don't change if you
+       have software that is expected to parse the output from ManagerServlet
+       since they're not compatible.
+   -->
+  <servlet>
+    <servlet-name>HostManager</servlet-name>
+    <servlet-class>org.apache.catalina.manager.host.HostManagerServlet</servlet-class>
+    <init-param>
+      <param-name>debug</param-name>
+      <param-value>2</param-value>
+    </init-param>
+  </servlet>
+  <servlet>
+    <servlet-name>HTMLHostManager</servlet-name>
+    <servlet-class>org.apache.catalina.manager.host.HTMLHostManagerServlet</servlet-class>
+    <init-param>
+      <param-name>debug</param-name>
+      <param-value>2</param-value>
+    </init-param>
+  </servlet>
+
+  <!-- Define the Manager Servlet Mapping -->
+  <servlet-mapping>
+    <servlet-name>HostManager</servlet-name>
+    <url-pattern>/list</url-pattern>
+  </servlet-mapping>
+  <servlet-mapping>
+    <servlet-name>HostManager</servlet-name>
+    <url-pattern>/add</url-pattern>
+  </servlet-mapping>
+  <servlet-mapping>
+    <servlet-name>HostManager</servlet-name>
+    <url-pattern>/remove</url-pattern>
+  </servlet-mapping>
+  <servlet-mapping>
+    <servlet-name>HostManager</servlet-name>
+    <url-pattern>/start</url-pattern>
+  </servlet-mapping>
+  <servlet-mapping>
+    <servlet-name>HostManager</servlet-name>
+    <url-pattern>/stop</url-pattern>
+  </servlet-mapping>
+  <servlet-mapping>
+    <servlet-name>HTMLHostManager</servlet-name>
+    <url-pattern>/html/*</url-pattern>
+  </servlet-mapping>
+
+  <!-- Define a Security Constraint on this Application -->
+  <security-constraint>
+    <web-resource-collection>
+      <web-resource-name>HTMLHostManager and HostManager commands</web-resource-name>
+      <url-pattern>/html/*</url-pattern>
+      <url-pattern>/list</url-pattern>
+      <url-pattern>/add</url-pattern>
+      <url-pattern>/remove</url-pattern>
+      <url-pattern>/start</url-pattern>
+      <url-pattern>/stop</url-pattern>
+    </web-resource-collection>
+    <auth-constraint>
+       <!-- NOTE:  This role is not present in the default users file -->
+       <role-name>admin</role-name>
+    </auth-constraint>
+  </security-constraint>
+
+  <!-- Define the Login Configuration for this Application -->
+  <login-config>
+    <auth-method>BASIC</auth-method>
+    <realm-name>Tomcat Host Manager Application</realm-name>
+  </login-config>
+
+  <!-- Security roles referenced by this web application -->
+  <security-role>
+    <description>
+      The role that is required to log in to the Manager Application
+    </description>
+    <role-name>admin</role-name>
+  </security-role>
+
+</web-app>
Index: /nutchez-0.1/tomcat/webapps/host-manager/manager.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/host-manager/manager.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/host-manager/manager.xml	(revision 66)
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!--
+
+    Context configuration file for the Tomcat Manager Web App
+
+    $Id: manager.xml 562814 2007-08-05 03:52:04Z markt $
+
+-->
+
+
+<Context docBase="${catalina.home}/webapps/manager"
+         privileged="true" antiResourceLocking="false" antiJARLocking="false">
+
+</Context>
Index: /nutchez-0.1/tomcat/webapps/manager/401.jsp
===================================================================
--- /nutchez-0.1/tomcat/webapps/manager/401.jsp	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/manager/401.jsp	(revision 66)
@@ -0,0 +1,54 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<%
+  response.setHeader("WWW-Authenticate", "Basic realm=\"Tomcat Manager Application\"");
+%>
+<html>
+ <head>
+  <title>401 Unauthorized</title>
+  <style>
+    <!--
+    BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;font-size:12px;}
+    H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;}
+    PRE, TT {border: 1px dotted #525D76}
+    A {color : black;}A.name {color : black;}
+    -->
+  </style>
+ </head>
+ <body>
+   <h1>401 Unauthorized</h1>
+   <p>
+    You are not authorized to view this page. If you have not changed
+    any configuration files, please examine the file
+    <tt>conf/tomcat-users.xml</tt> in your installation. That
+    file will contain the credentials to let you use this webapp.
+   </p>
+   <p>
+    You will need to add <tt>manager</tt> role to the config file listed above.
+    For example:
+<pre>
+&lt;role rolename="manager"/&gt;
+&lt;user username="tomcat" password="s3cret" roles="manager"/&gt;
+</pre>
+   </p>
+   <p>
+    For more information - please see the
+    <a href="/docs/manager-howto.html">Manager App HOW-TO</a>.
+   </p>
+ </body>
+
+</html>
Index: /nutchez-0.1/tomcat/webapps/manager/META-INF/context.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/manager/META-INF/context.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/manager/META-INF/context.xml	(revision 66)
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<Context antiResourceLocking="false" privileged="true" />
Index: /nutchez-0.1/tomcat/webapps/manager/WEB-INF/web.xml
===================================================================
--- /nutchez-0.1/tomcat/webapps/manager/WEB-INF/web.xml	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/manager/WEB-INF/web.xml	(revision 66)
@@ -0,0 +1,197 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<web-app xmlns="http://java.sun.com/xml/ns/javaee"
+   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+   xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
+   version="2.5"> 
+
+  <display-name>Tomcat Manager Application</display-name>
+  <description>
+    A scriptable management web application for the Tomcat Web Server;
+    Manager lets you view, load/unload/etc particular web applications.
+  </description>
+
+  <!-- Define the Manager Servlet
+       Change servlet-class to: org.apache.catalina.servlets.HTMLManagerServlet
+       to get a Servlet with a more intuitive HTML interface, don't change if you
+       have software that is expected to parse the output from ManagerServlet
+       since they're not compatible.
+   -->
+  <servlet>
+    <servlet-name>Manager</servlet-name>
+    <servlet-class>org.apache.catalina.manager.ManagerServlet</servlet-class>
+    <init-param>
+      <param-name>debug</param-name>
+      <param-value>2</param-value>
+    </init-param>
+  </servlet>
+  <servlet>
+    <servlet-name>HTMLManager</servlet-name>
+    <servlet-class>org.apache.catalina.manager.HTMLManagerServlet</servlet-class>
+    <init-param>
+      <param-name>debug</param-name>
+      <param-value>2</param-value>
+    </init-param>
+  </servlet>
+  <servlet>
+    <servlet-name>Status</servlet-name>
+    <servlet-class>org.apache.catalina.manager.StatusManagerServlet</servlet-class>
+    <init-param>
+      <param-name>debug</param-name>
+      <param-value>0</param-value>
+    </init-param>
+  </servlet>
+
+  <servlet>
+    <servlet-name>JMXProxy</servlet-name>
+    <servlet-class>org.apache.catalina.manager.JMXProxyServlet</servlet-class>
+  </servlet>
+
+  <!-- Define the Manager Servlet Mapping -->
+  <servlet-mapping>
+    <servlet-name>Manager</servlet-name>
+      <url-pattern>/list</url-pattern>
+  </servlet-mapping>
+  <servlet-mapping>
+    <servlet-name>Manager</servlet-name>
+      <url-pattern>/expire</url-pattern>
+  </servlet-mapping>
+  <servlet-mapping>
+    <servlet-name>Manager</servlet-name>
+      <url-pattern>/sessions</url-pattern>
+  </servlet-mapping>
+  <servlet-mapping>
+    <servlet-name>Manager</servlet-name>
+      <url-pattern>/start</url-pattern>
+  </servlet-mapping>
+  <servlet-mapping>
+    <servlet-name>Manager</servlet-name>
+      <url-pattern>/stop</url-pattern>
+  </servlet-mapping>
+  <servlet-mapping>
+    <servlet-name>Manager</servlet-name>
+      <url-pattern>/install</url-pattern>
+  </servlet-mapping>
+  <servlet-mapping>
+    <servlet-name>Manager</servlet-name>
+      <url-pattern>/remove</url-pattern>
+  </servlet-mapping>
+  <servlet-mapping>
+    <servlet-name>Manager</servlet-name>
+      <url-pattern>/deploy</url-pattern>
+  </servlet-mapping>
+  <servlet-mapping>
+    <servlet-name>Manager</servlet-name>
+      <url-pattern>/undeploy</url-pattern>
+  </servlet-mapping>
+  <servlet-mapping>
+    <servlet-name>Manager</servlet-name>
+      <url-pattern>/reload</url-pattern>
+  </servlet-mapping>
+  <servlet-mapping>
+    <servlet-name>Manager</servlet-name>
+      <url-pattern>/save</url-pattern>
+  </servlet-mapping>
+  <servlet-mapping>
+    <servlet-name>Manager</servlet-name>
+      <url-pattern>/serverinfo</url-pattern>
+  </servlet-mapping>
+  <servlet-mapping>
+    <servlet-name>Manager</servlet-name>
+      <url-pattern>/roles</url-pattern>
+  </servlet-mapping>
+  <servlet-mapping>
+    <servlet-name>Manager</servlet-name>
+      <url-pattern>/resources</url-pattern>
+  </servlet-mapping>
+  <servlet-mapping>
+    <servlet-name>Status</servlet-name>
+    <url-pattern>/status/*</url-pattern>
+  </servlet-mapping>
+  <servlet-mapping>
+    <servlet-name>JMXProxy</servlet-name>
+      <url-pattern>/jmxproxy/*</url-pattern>
+  </servlet-mapping>
+  <servlet-mapping>
+    <servlet-name>HTMLManager</servlet-name>
+    <url-pattern>/html/*</url-pattern>
+  </servlet-mapping>
+
+  <!-- Define reference to the user database for looking up roles -->
+  <resource-env-ref>
+    <description>
+      Link to the UserDatabase instance from which we request lists of
+      defined role names.  Typically, this will be connected to the global
+      user database with a ResourceLink element in server.xml or the context
+      configuration file for the Manager web application.
+    </description>
+    <resource-env-ref-name>users</resource-env-ref-name>
+    <resource-env-ref-type>
+      org.apache.catalina.UserDatabase
+    </resource-env-ref-type>
+  </resource-env-ref>
+
+  <!-- Define a Security Constraint on this Application -->
+  <security-constraint>
+    <web-resource-collection>
+      <web-resource-name>HTMLManger and Manager command</web-resource-name>
+      <url-pattern>/jmxproxy/*</url-pattern>
+      <url-pattern>/html/*</url-pattern>
+      <url-pattern>/list</url-pattern>
+      <url-pattern>/expire</url-pattern>
+      <url-pattern>/sessions</url-pattern>
+      <url-pattern>/start</url-pattern>
+      <url-pattern>/stop</url-pattern>
+      <url-pattern>/install</url-pattern>
+      <url-pattern>/remove</url-pattern>
+      <url-pattern>/deploy</url-pattern>
+      <url-pattern>/undeploy</url-pattern>
+      <url-pattern>/reload</url-pattern>
+      <url-pattern>/save</url-pattern>
+      <url-pattern>/serverinfo</url-pattern>
+      <url-pattern>/status/*</url-pattern>
+      <url-pattern>/roles</url-pattern>
+      <url-pattern>/resources</url-pattern>
+    </web-resource-collection>
+    <auth-constraint>
+       <!-- NOTE:  This role is not present in the default users file -->
+       <role-name>manager</role-name>
+    </auth-constraint>
+  </security-constraint>
+
+  <!-- Define the Login Configuration for this Application -->
+  <login-config>
+    <auth-method>BASIC</auth-method>
+    <realm-name>Tomcat Manager Application</realm-name>
+  </login-config>
+
+  <!-- Security roles referenced by this web application -->
+  <security-role>
+    <description>
+      The role that is required to log in to the Manager Application
+    </description>
+    <role-name>manager</role-name>
+  </security-role>
+
+  <error-page>
+    <error-code>401</error-code>
+    <location>/401.jsp</location>
+  </error-page>
+
+</web-app>
Index: /nutchez-0.1/tomcat/webapps/manager/sessionDetail.jsp
===================================================================
--- /nutchez-0.1/tomcat/webapps/manager/sessionDetail.jsp	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/manager/sessionDetail.jsp	(revision 66)
@@ -0,0 +1,148 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<%@page session="false" contentType="text/html; charset=ISO-8859-1" %>
+<%@page import="java.util.Enumeration" %>
+<%@page import="javax.servlet.http.HttpSession" %>
+<%@page import="org.apache.catalina.Session" %>
+<%@page import="org.apache.catalina.manager.JspHelper" %>
+<!DOCTYPE html 
+     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<%--!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"--%>
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<% String path = (String) request.getAttribute("path");
+   Session currentSession = (Session)request.getAttribute("currentSession");
+   HttpSession currentHttpSession = currentSession.getSession();
+   String currentSessionId = currentSession.getId();
+   String submitUrl = ((HttpServletRequest)pageContext.getRequest()).getRequestURL().toString();
+%>
+<head>
+    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"/>
+	<meta http-equiv="pragma" content="no-cache"/><!-- HTTP 1.0 -->
+	<meta http-equiv="cache-control" content="no-cache,must-revalidate"/><!-- HTTP 1.1 -->
+	<meta http-equiv="expires" content="0"/><!-- 0 is an invalid value and should be treated as 'now' -->
+	<meta http-equiv="content-language" content="en"/>
+	<meta name="author" content="Cedrik LIME"/>
+	<meta name="copyright" content="copyright 2005-2007 the Apache Software Foundation"/>
+	<meta name="robots" content="noindex,nofollow,noarchive"/>
+	<title>Sessions Administration: details for <%= currentSessionId %></title>
+</head>
+<body>
+<h1>Details for Session <%= JspHelper.escapeXml(currentSessionId) %></h1>
+
+<table style="text-align: left;" border="0">
+  <tr>
+    <th>Session Id</th>
+    <td><%= currentSessionId %></td>
+  </tr>
+  <tr>
+    <th>Guessed Locale</th>
+    <td><%= JspHelper.guessDisplayLocaleFromSession(currentSession) %></td>
+  </tr>
+  <tr>
+    <th>Guessed User</th>
+    <td><%= JspHelper.guessDisplayUserFromSession(currentSession) %></td>
+  </tr>
+  <tr>
+    <th>Creation Time</th>
+    <td><%= JspHelper.getDisplayCreationTimeForSession(currentSession) %></td>
+  </tr>
+  <tr>
+    <th>Last Accessed Time</th>
+    <td><%= JspHelper.getDisplayLastAccessedTimeForSession(currentSession) %></td>
+  </tr>
+  <tr>
+    <th>Session Max Inactive Interval</th>
+    <td><%= JspHelper.secondsToTimeString(currentSession.getMaxInactiveInterval()) %></td>
+  </tr>
+  <tr>
+    <th>Used Time</th>
+    <td><%= JspHelper.getDisplayUsedTimeForSession(currentSession) %></td>
+  </tr>
+  <tr>
+    <th>Inactive Time</th>
+    <td><%= JspHelper.getDisplayInactiveTimeForSession(currentSession) %></td>
+  </tr>
+  <tr>
+    <th>TTL</th>
+    <td><%= JspHelper.getDisplayTTLForSession(currentSession) %></td>
+  </tr>
+</table>
+
+<p style="text-align: center;"><button type="button" onclick="window.location.reload()">Refresh</button></p>
+
+<div class="error"><%= JspHelper.escapeXml(request.getAttribute("error")) %></div>
+<div class="message"><%= JspHelper.escapeXml(request.getAttribute("message")) %></div>
+
+<table style="text-align: left;" border="1" cellpadding="2" cellspacing="2">
+<% int nAttributes = 0;
+   Enumeration attributeNamesEnumeration = currentHttpSession.getAttributeNames();
+   while (attributeNamesEnumeration.hasMoreElements()) {
+	   attributeNamesEnumeration.nextElement();
+	   ++nAttributes;
+   }
+%>
+	<caption style="font-variant: small-caps;"><%= JspHelper.formatNumber(nAttributes) %> attributes</caption>
+	<thead>
+		<tr>
+			<th>Remove Attribute</th>
+			<th>Attribute name</th>
+			<th>Attribute value</th>
+		</tr>
+	</thead>
+	<%--tfoot>
+		<tr>
+			<td colspan="3" style="text-align: center;">
+				TODO: set Max Inactive Interval on sessions
+			</td>
+		</tr>
+	</tfoot--%>
+	<tbody>
+<% attributeNamesEnumeration = currentHttpSession.getAttributeNames();
+   while (attributeNamesEnumeration.hasMoreElements()) {
+   	String attributeName = (String) attributeNamesEnumeration.nextElement();
+%>
+		<tr>
+			<td align="center"><form action="<%= submitUrl %>"><div><input type="hidden" name="path" value="<%= path %>" /><input type="hidden" name="action" value="removeSessionAttribute" /><input type="hidden" name="sessionId" value="<%= currentSessionId %>" /><input type="hidden" name="attributeName" value="<%= attributeName %>" /><input type="submit" value="Remove" /></div></form></td>
+			<td><%= JspHelper.escapeXml(attributeName) %></td>
+			<td><% Object attributeValue = currentHttpSession.getAttribute(attributeName); %><span title="<%= attributeValue == null ? "" : attributeValue.getClass().toString() %>"><%= JspHelper.escapeXml(attributeValue) %></span></td>
+		</tr>
+<% } // end while %>
+	</tbody>
+</table>
+
+<p style="text-align: center;"><button type="button" onclick="window.close()">Close window</button></p>
+
+<%--div style="display: none;">
+<p>
+	<a href="http://validator.w3.org/check?uri=referer"><img
+		src="http://www.w3.org/Icons/valid-html401"
+		alt="Valid HTML 4.01!" height="31" width="88"></a>
+	<a href="http://validator.w3.org/check?uri=referer"><img
+		src="http://www.w3.org/Icons/valid-xhtml10"
+		alt="Valid XHTML 1.0!" height="31" width="88" /></a>
+	<a href="http://validator.w3.org/check?uri=referer"><img
+		src="http://www.w3.org/Icons/valid-xhtml11"
+		alt="Valid XHTML 1.1!" height="31" width="88" /></a>
+</p>
+</div--%>
+
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/manager/sessionsList.jsp
===================================================================
--- /nutchez-0.1/tomcat/webapps/manager/sessionsList.jsp	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/manager/sessionsList.jsp	(revision 66)
@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<%@page session="false" contentType="text/html; charset=ISO-8859-1" %>
+<%@page import="java.util.Collection" %>
+<%@page import="java.util.Iterator" %>
+<%@page import="org.apache.catalina.manager.JspHelper" %>
+<%@page import="org.apache.catalina.Session" %>
+<!DOCTYPE html 
+     PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<% String path = (String) request.getAttribute("path");
+   String submitUrl = ((HttpServletRequest)pageContext.getRequest()).getRequestURL().append("?path=").append(path).toString();
+   Collection activeSessions = (Collection) request.getAttribute("activeSessions");
+%>
+<head>
+    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"/>
+	<meta http-equiv="pragma" content="no-cache"/><!-- HTTP 1.0 -->
+	<meta http-equiv="cache-control" content="no-cache,must-revalidate"/><!-- HTTP 1.1 -->
+	<meta http-equiv="expires" content="0"/><!-- 0 is an invalid value and should be treated as 'now' -->
+	<meta http-equiv="content-language" content="en"/>
+	<meta name="author" content="Cedrik LIME"/>
+	<meta name="copyright" content="copyright 2005-2007 the Apache Software Foundation"/>
+	<meta name="robots" content="noindex,nofollow,noarchive"/>
+	<title>Sessions Administration for <%= path %></title>
+</head>
+<body>
+<h1>Sessions Administration for <%= path %></h1>
+
+<p>Tips:</p>
+<ul>
+	<li>Click on a column to sort.</li>
+	<li>To view a session details and/or remove a session attributes, click on its id.</li>
+</ul>
+
+<div class="error"><%= JspHelper.escapeXml(request.getAttribute("error")) %></div>
+<div class="message"><%= JspHelper.escapeXml(request.getAttribute("message")) %></div>
+
+<form action="<%= submitUrl %>" method="post" id="sessionsForm">
+	<fieldset><legend>Active HttpSessions informations</legend>
+		<input type="hidden" name="action" id="sessionsFormAction" value="injectSessions"/>
+		<input type="hidden" name="sort" id="sessionsFormSort" value="<%= (String) request.getAttribute("sort") %>"/>
+		<% String order = (String) request.getAttribute("order");
+		   if (order == null || "".equals(order)) {
+		   	order = "ASC";
+		   }
+		%>
+		<input type="hidden" name="order" id="sessionsFormSortOrder" value="<%= order %>"/>
+		<input type="submit" name="refresh" id="refreshButton" value="Refresh Sessions list" onclick="document.getElementById('sessionsFormAction').value='refreshSessions'; return true;"/>
+		<%= JspHelper.formatNumber(activeSessions.size()) %> active Sessions<br/>
+		<table border="1" cellpadding="2" cellspacing="2" width="100%">
+			<thead>
+				<tr>
+					<th><a onclick="document.getElementById('sessionsFormSort').value='id'; document.getElementById('refreshButton').click(); return true;">Session Id</a></th>
+					<th><a onclick="document.getElementById('sessionsFormSort').value='locale'; document.getElementById('refreshButton').click(); return true;">Guessed Locale</a></th>
+					<th><a onclick="document.getElementById('sessionsFormSort').value='user'; document.getElementById('refreshButton').click(); return true;">Guessed User name</a></th>
+					<th><a onclick="document.getElementById('sessionsFormSort').value='CreationTime'; document.getElementById('refreshButton').click(); return true;">Creation Time</a></th>
+					<th><a onclick="document.getElementById('sessionsFormSort').value='LastAccessedTime'; document.getElementById('refreshButton').click(); return true;">Last Accessed Time</a></th>
+					<th><a onclick="document.getElementById('sessionsFormSort').value='UsedTime'; document.getElementById('refreshButton').click(); return true;">Used Time</a></th>
+					<th><a onclick="document.getElementById('sessionsFormSort').value='InactiveTime'; document.getElementById('refreshButton').click(); return true;">Inactive Time</a></th>
+					<th><a onclick="document.getElementById('sessionsFormSort').value='TTL'; document.getElementById('refreshButton').click(); return true;"><span title="Time To Live">TTL</span></a></th>
+				</tr>
+			</thead>
+			<% if (activeSessions.size() > 10) { %>
+			<tfoot><%-- <tfoot> is the same as <thead> --%>
+				<tr>
+					<th><a onclick="document.getElementById('sessionsFormSort').value='id'; document.getElementById('refreshButton').click(); return true;">Session Id</a></th>
+					<th><a onclick="document.getElementById('sessionsFormSort').value='locale'; document.getElementById('refreshButton').click(); return true;">Guessed Locale</a></th>
+					<th><a onclick="document.getElementById('sessionsFormSort').value='user'; document.getElementById('refreshButton').click(); return true;">Guessed User name</a></th>
+					<th><a onclick="document.getElementById('sessionsFormSort').value='CreationTime'; document.getElementById('refreshButton').click(); return true;">Creation Time</a></th>
+					<th><a onclick="document.getElementById('sessionsFormSort').value='LastAccessedTime'; document.getElementById('refreshButton').click(); return true;">Last Accessed Time</a></th>
+					<th><a onclick="document.getElementById('sessionsFormSort').value='UsedTime'; document.getElementById('refreshButton').click(); return true;">Used Time</a></th>
+					<th><a onclick="document.getElementById('sessionsFormSort').value='InactiveTime'; document.getElementById('refreshButton').click(); return true;">Inactive Time</a></th>
+					<th><a onclick="document.getElementById('sessionsFormSort').value='TTL'; document.getElementById('refreshButton').click(); return true;"><span title="Time To Live">TTL</span></a></th>
+				</tr>
+			</tfoot>
+			<% } // end if %>
+			<tbody>
+<% Iterator iter = activeSessions.iterator();
+   while (iter.hasNext()) {
+   	Session currentSession = (Session) iter.next();
+   	String currentSessionId = currentSession.getId();
+%>
+				<tr>
+					<td>
+<input type="checkbox" name="sessionIds" value="<%= currentSessionId %>" /><a href="<%= submitUrl %>&amp;action=sessionDetail&amp;sessionId=<%= currentSessionId %>" target="_new"><%= JspHelper.escapeXml(currentSessionId) %></a>
+					</td>
+					<td style="text-align: center;"><%= JspHelper.guessDisplayLocaleFromSession(currentSession) %></td>
+					<td style="text-align: center;"><%= JspHelper.guessDisplayUserFromSession(currentSession) %></td>
+					<td style="text-align: center;"><%= JspHelper.getDisplayCreationTimeForSession(currentSession) %></td>
+					<td style="text-align: center;"><%= JspHelper.getDisplayLastAccessedTimeForSession(currentSession) %></td>
+					<td style="text-align: center;"><%= JspHelper.getDisplayUsedTimeForSession(currentSession) %></td>
+					<td style="text-align: center;"><%= JspHelper.getDisplayInactiveTimeForSession(currentSession) %></td>
+					<td style="text-align: center;"><%= JspHelper.getDisplayTTLForSession(currentSession) %></td>
+				</tr>
+<% } // end while %>
+			</tbody>
+		</table>
+		<p style="text-align: center;">
+			<input type="submit" name="invalidate" value="Invalidate selected Sessions" onclick="document.getElementById('sessionsFormAction').value='invalidateSessions'; return true;"/>
+		</p>
+	</fieldset>
+</form>
+
+<p style="text-align: center;"><button type="button" onclick="window.close()">Close window</button></p>
+
+<%--div style="display: none;">
+<p>
+	<a href="http://validator.w3.org/check?uri=referer"><img
+		src="http://www.w3.org/Icons/valid-html401"
+		alt="Valid HTML 4.01!" height="31" width="88"></a>
+	<a href="http://validator.w3.org/check?uri=referer"><img
+		src="http://www.w3.org/Icons/valid-xhtml10"
+		alt="Valid XHTML 1.0!" height="31" width="88" /></a>
+	<a href="http://validator.w3.org/check?uri=referer"><img
+		src="http://www.w3.org/Icons/valid-xhtml11"
+		alt="Valid XHTML 1.1!" height="31" width="88" /></a>
+</p>
+</div--%>
+
+</body>
+</html>
Index: /nutchez-0.1/tomcat/webapps/manager/status.xsd
===================================================================
--- /nutchez-0.1/tomcat/webapps/manager/status.xsd	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/manager/status.xsd	(revision 66)
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!-- edited with XMLSPY v5 rel. 4 U (http://www.xmlspy.com) by peter lin (consultant) -->
+<!--W3C Schema generated by XMLSPY v5 rel. 4 U (http://www.xmlspy.com)-->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+	<xs:complexType name="connector">
+		<xs:sequence>
+			<xs:element name="threadInfo" type="threadInfo"/>
+			<xs:element name="requestInfo" type="requestInfo"/>
+			<xs:element name="workers" type="workers"/>
+		</xs:sequence>
+		<xs:attribute name="name" type="xs:string" use="required"/>
+	</xs:complexType>
+	<xs:complexType name="jvm">
+		<xs:sequence>
+			<xs:element name="memory" type="memory"/>
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="memory">
+		<xs:attribute name="free" type="xs:long" use="required"/>
+		<xs:attribute name="total" type="xs:long" use="required"/>
+		<xs:attribute name="max" type="xs:long" use="required"/>
+	</xs:complexType>
+	<xs:complexType name="requestInfo">
+		<xs:attribute name="maxTime" type="xs:long" use="required"/>
+		<xs:attribute name="processingTime" type="xs:int" use="required"/>
+		<xs:attribute name="requestCount" type="xs:long" use="required"/>
+		<xs:attribute name="errorCount" type="xs:long" use="required"/>
+		<xs:attribute name="bytesReceived" type="xs:long" use="required"/>
+		<xs:attribute name="bytesSent" type="xs:long" use="required"/>
+	</xs:complexType>
+	<xs:element name="status">
+		<xs:complexType>
+			<xs:sequence>
+				<xs:element name="jvm" type="jvm"/>
+				<xs:element name="connector" type="connector"/>
+			</xs:sequence>
+		</xs:complexType>
+	</xs:element>
+	<xs:complexType name="threadInfo">
+		<xs:attribute name="maxThreads" type="xs:int" use="required"/>
+		<xs:attribute name="minSpareThreads" type="xs:int" use="required"/>
+		<xs:attribute name="maxSpareThreads" type="xs:int" use="required"/>
+		<xs:attribute name="currentThreadCount" type="xs:int" use="required"/>
+		<xs:attribute name="currentThreadsBusy" type="xs:int" use="required"/>
+	</xs:complexType>
+	<xs:complexType name="worker">
+		<xs:attribute name="stage" type="xs:string" use="required"/>
+		<xs:attribute name="requestProcessingTime" type="xs:int" use="required"/>
+		<xs:attribute name="requestBytesSent" type="xs:long" use="required"/>
+		<xs:attribute name="requestBytesRecieved" type="xs:long" use="required"/>
+		<xs:attribute name="remoteAddr" type="xs:string" use="required"/>
+		<xs:attribute name="virtualHost" type="xs:string" use="required"/>
+		<xs:attribute name="method" type="xs:string" use="required"/>
+		<xs:attribute name="currentUri" type="xs:string" use="required"/>
+		<xs:attribute name="currentQueryString" type="xs:string" use="required"/>
+		<xs:attribute name="protocol" type="xs:string" use="required"/>
+	</xs:complexType>
+	<xs:complexType name="workers">
+		<xs:sequence>
+			<xs:element name="worker" type="worker"/>
+		</xs:sequence>
+	</xs:complexType>
+</xs:schema>
Index: /nutchez-0.1/tomcat/webapps/manager/xform.xsl
===================================================================
--- /nutchez-0.1/tomcat/webapps/manager/xform.xsl	(revision 66)
+++ /nutchez-0.1/tomcat/webapps/manager/xform.xsl	(revision 66)
@@ -0,0 +1,112 @@
+<?xml version="1.0"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  version="1.0">
+
+  <!-- Output method -->
+  <xsl:output encoding="iso-8859-1"
+              indent="no"/>
+
+  <xsl:template match="status">
+    <html>
+    <head>
+    	<TITLE>Tomcat Status</TITLE>
+		<STYLE type="text/css">
+			body, table, tr, td, a, div, span {
+				vertical-align : top;
+			}
+		</STYLE>
+    </head>
+    <body>
+      <div style='font-size:20px;'>Tomcat Status</div>
+
+      <xsl:apply-templates select="jvm"/>
+      <xsl:apply-templates select="connector"/>
+     </body>
+    </html>
+  </xsl:template>
+
+  <xsl:template match="jvm">
+   <xsl:apply-templates select="memory"/>
+  </xsl:template>
+
+  <xsl:template match="memory">
+    <table><tr>
+    		 <td><b>JVM:</b></td>
+    		 <td><b>free:</b> <xsl:value-of select="@free"/></td>
+    		 <td><b>total:</b> <xsl:value-of select="@total"/></td>
+    		 <td><b>max:</b> <xsl:value-of select="@max"/></td>
+    	   </tr>
+    </table><hr />
+  </xsl:template>
+
+  <xsl:template match="connector">
+	 <b>Connector -- </b> <xsl:value-of select="@name"/><br />
+
+  	<xsl:apply-templates select="threadInfo"/>
+  	<xsl:apply-templates select="requestInfo"/>
+  	<xsl:apply-templates select="workers"/>
+  </xsl:template>
+
+  <xsl:template match="threadInfo">
+    <table><tr>
+    		 <td><b>threadInfo </b></td>
+    		 <td><b>maxThreads:</b> <xsl:value-of select="@maxThreads"/></td>
+    		 <td><b>minSpareThreads:</b> <xsl:value-of select="@minSpareThreads"/></td>
+    		 <td><b>maxSpareThreads:</b> <xsl:value-of select="@maxSpareThreads"/></td>
+    		 <td><b>currentThreadCount:</b> <xsl:value-of select="@currentThreadCount"/></td>
+    		 <td><b>currentThreadsBusy:</b> <xsl:value-of select="@currentThreadsBusy"/></td>
+    	   </tr>
+    </table><hr />
+  </xsl:template>
+
+  <xsl:template match="requestInfo">
+    <table><tr>
+    		 <td><b>requestInfo </b></td>
+    		 <td><b>maxTime:</b> <xsl:value-of select="@maxTime"/></td>
+    		 <td><b>processingTime:</b> <xsl:value-of select="@processingTime"/></td>
+    		 <td><b>requestCount:</b> <xsl:value-of select="@requestCount"/></td>
+    		 <td><b>errorCount:</b> <xsl:value-of select="@errorCount"/></td>
+    		 <td><b>bytesReceived:</b> <xsl:value-of select="@bytesReceived"/></td>
+    		 <td><b>bytesSent:</b> <xsl:value-of select="@bytesSent"/></td>
+    	   </tr>
+    </table><hr />
+  </xsl:template>
+
+  <xsl:template match="workers">
+   <table>
+    <tr><th>Stage</th><th>Time</th><th>B Sent</th><th>B Recv</th><th>Client</th><th>VHost</th><th>Request</th></tr>
+  	<xsl:apply-templates select="worker"/>
+
+   </table><hr />
+  </xsl:template>
+
+  <xsl:template match="worker">
+   <tr>
+    <td><xsl:value-of select="@stage"/></td>
+    <td><xsl:value-of select="@requestProcessingTime"/></td>
+    <td><xsl:value-of select="@requestBytesSent"/></td>
+    <td><xsl:value-of select="@requestBytesReceived"/></td>
+    <td><xsl:value-of select="@remoteAddr"/></td>
+    <td><xsl:value-of select="@virtualHost"/></td>
+    <td><xsl:value-of select="@method"/> <xsl:value-of select="@currentUri"/>?<xsl:value-of select="@currentQueryString"/> <xsl:value-of select="@protocol"/></td>
+   </tr>
+  </xsl:template>
+
+</xsl:stylesheet>
Index: /nutchez-0.1/tomcat/work/Catalina/localhost/_/org/apache/jsp/anchors_jsp.java
===================================================================
--- /nutchez-0.1/tomcat/work/Catalina/localhost/_/org/apache/jsp/anchors_jsp.java	(revision 66)
+++ /nutchez-0.1/tomcat/work/Catalina/localhost/_/org/apache/jsp/anchors_jsp.java	(revision 66)
@@ -0,0 +1,265 @@
+package org.apache.jsp;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+import java.io.*;
+import java.util.*;
+import org.apache.nutch.html.Entities;
+import org.apache.nutch.searcher.*;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.nutch.util.NutchConfiguration;
+
+public final class anchors_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static final JspFactory _jspxFactory = JspFactory.getDefaultFactory();
+
+  private static java.util.List _jspx_dependants;
+
+  static {
+    _jspx_dependants = new java.util.ArrayList(1);
+    _jspx_dependants.add("/WEB-INF/taglibs-i18n.tld");
+  }
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fi18n_005fbundle_0026_005fbaseName_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fi18n_005fmessageArg_0026_005fvalue_005fnobody;
+
+  private javax.el.ExpressionFactory _el_expressionfactory;
+  private org.apache.AnnotationProcessor _jsp_annotationprocessor;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fi18n_005fbundle_0026_005fbaseName_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fi18n_005fmessageArg_0026_005fvalue_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _el_expressionfactory = _jspxFactory.getJspApplicationContext(getServletConfig().getServletContext()).getExpressionFactory();
+    _jsp_annotationprocessor = (org.apache.AnnotationProcessor) getServletConfig().getServletContext().getAttribute(org.apache.AnnotationProcessor.class.getName());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fi18n_005fbundle_0026_005fbaseName_005fnobody.release();
+    _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey.release();
+    _005fjspx_005ftagPool_005fi18n_005fmessageArg_0026_005fvalue_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    PageContext pageContext = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      response.setContentType("text/html; charset=UTF-8");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, false, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write('\n');
+
+  Configuration nutchConf = NutchConfiguration.get(application);
+  NutchBean bean = NutchBean.get(application, nutchConf);
+  // set the character encoding to use when interpreting request values 
+  request.setCharacterEncoding("UTF-8");
+  bean.LOG.info("anchors request from " + request.getRemoteAddr());
+  Hit hit = new Hit(Integer.parseInt(request.getParameter("idx")),
+                    request.getParameter("id"));
+  HitDetails details = bean.getDetails(hit);
+  String language =
+    ResourceBundle.getBundle("org.nutch.jsp.anchors", request.getLocale())
+    .getLocale().getLanguage();
+  String requestURI = HttpUtils.getRequestURL(request).toString();
+  String base = requestURI.substring(0, requestURI.lastIndexOf('/'));
+
+      out.write("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n");
+
+  // To prevent the character encoding declared with 'contentType' page
+  // directive from being overriden by JSTL (apache i18n), we freeze it
+  // by flushing the output buffer. 
+  // see http://java.sun.com/developer/technicalArticles/Intl/MultilingualJSP/
+  out.flush();
+
+      out.write('\n');
+      out.write('\n');
+      if (_jspx_meth_i18n_005fbundle_005f0(_jspx_page_context))
+        return;
+      out.write("\n");
+      out.write("<html lang=\"");
+      out.print( language );
+      out.write("\">\n");
+      out.write("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\n");
+      out.write("<head>\n");
+      out.write("<title>Nutch: ");
+      if (_jspx_meth_i18n_005fmessage_005f0(_jspx_page_context))
+        return;
+      out.write("</title>\n");
+      org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response, "/include/style.html", out, false);
+      out.write("\n");
+      out.write("<base href=\"");
+      out.print( base + "/" + language + "/" );
+      out.write("\">\n");
+      out.write("</head>\n");
+      out.write("\n");
+      out.write("<body>\n");
+      out.write("\n");
+      org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response,  language + "/include/header.html", out, false);
+      out.write("\n");
+      out.write("\n");
+      out.write("<h3>\n");
+      //  i18n:message
+      org.apache.taglibs.i18n.MessageTag _jspx_th_i18n_005fmessage_005f1 = (org.apache.taglibs.i18n.MessageTag) _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey.get(org.apache.taglibs.i18n.MessageTag.class);
+      _jspx_th_i18n_005fmessage_005f1.setPageContext(_jspx_page_context);
+      _jspx_th_i18n_005fmessage_005f1.setParent(null);
+      // /anchors.jsp(66,0) name = key type = null reqTime = true required = true fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
+      _jspx_th_i18n_005fmessage_005f1.setKey("page");
+      int _jspx_eval_i18n_005fmessage_005f1 = _jspx_th_i18n_005fmessage_005f1.doStartTag();
+      if (_jspx_eval_i18n_005fmessage_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+        if (_jspx_eval_i18n_005fmessage_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.pushBody();
+          _jspx_th_i18n_005fmessage_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+          _jspx_th_i18n_005fmessage_005f1.doInitBody();
+        }
+        do {
+          out.write('\n');
+          out.write(' ');
+          out.write(' ');
+          //  i18n:messageArg
+          org.apache.taglibs.i18n.MessageArgumentTag _jspx_th_i18n_005fmessageArg_005f0 = (org.apache.taglibs.i18n.MessageArgumentTag) _005fjspx_005ftagPool_005fi18n_005fmessageArg_0026_005fvalue_005fnobody.get(org.apache.taglibs.i18n.MessageArgumentTag.class);
+          _jspx_th_i18n_005fmessageArg_005f0.setPageContext(_jspx_page_context);
+          _jspx_th_i18n_005fmessageArg_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_i18n_005fmessage_005f1);
+          // /anchors.jsp(67,2) name = value type = null reqTime = true required = true fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
+          _jspx_th_i18n_005fmessageArg_005f0.setValue(details.getValue("url"));
+          int _jspx_eval_i18n_005fmessageArg_005f0 = _jspx_th_i18n_005fmessageArg_005f0.doStartTag();
+          if (_jspx_th_i18n_005fmessageArg_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fi18n_005fmessageArg_0026_005fvalue_005fnobody.reuse(_jspx_th_i18n_005fmessageArg_005f0);
+            return;
+          }
+          _005fjspx_005ftagPool_005fi18n_005fmessageArg_0026_005fvalue_005fnobody.reuse(_jspx_th_i18n_005fmessageArg_005f0);
+          out.write('\n');
+          int evalDoAfterBody = _jspx_th_i18n_005fmessage_005f1.doAfterBody();
+          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+            break;
+        } while (true);
+        if (_jspx_eval_i18n_005fmessage_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.popBody();
+        }
+      }
+      if (_jspx_th_i18n_005fmessage_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey.reuse(_jspx_th_i18n_005fmessage_005f1);
+        return;
+      }
+      _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey.reuse(_jspx_th_i18n_005fmessage_005f1);
+      out.write("\n");
+      out.write("</h3>\n");
+      out.write("\n");
+      out.write("<h3>");
+      if (_jspx_meth_i18n_005fmessage_005f2(_jspx_page_context))
+        return;
+      out.write("</h3>\n");
+      out.write("\n");
+      out.write("<ul>\n");
+
+  String[] anchors = bean.getAnchors(details);
+  if (anchors != null) {
+    for (int i = 0; i < anchors.length; i++) {
+
+      out.write("<li>");
+      out.print(Entities.encode(anchors[i]));
+      out.write('\n');
+   } 
+      out.write('\n');
+ } 
+      out.write("\n");
+      out.write("</ul>\n");
+      out.write("     \n");
+      org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response, "/include/footer.html", out, false);
+      out.write("\n");
+      out.write("\n");
+      out.write("</body>     \n");
+      out.write("</html>\n");
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          try { out.clearBuffer(); } catch (java.io.IOException e) {}
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_i18n_005fbundle_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  i18n:bundle
+    org.apache.taglibs.i18n.BundleTag _jspx_th_i18n_005fbundle_005f0 = (org.apache.taglibs.i18n.BundleTag) _005fjspx_005ftagPool_005fi18n_005fbundle_0026_005fbaseName_005fnobody.get(org.apache.taglibs.i18n.BundleTag.class);
+    _jspx_th_i18n_005fbundle_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_i18n_005fbundle_005f0.setParent(null);
+    // /anchors.jsp(52,0) name = baseName type = null reqTime = true required = true fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
+    _jspx_th_i18n_005fbundle_005f0.setBaseName("org.nutch.jsp.anchors");
+    int _jspx_eval_i18n_005fbundle_005f0 = _jspx_th_i18n_005fbundle_005f0.doStartTag();
+    if (_jspx_th_i18n_005fbundle_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fi18n_005fbundle_0026_005fbaseName_005fnobody.reuse(_jspx_th_i18n_005fbundle_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fi18n_005fbundle_0026_005fbaseName_005fnobody.reuse(_jspx_th_i18n_005fbundle_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_i18n_005fmessage_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  i18n:message
+    org.apache.taglibs.i18n.MessageTag _jspx_th_i18n_005fmessage_005f0 = (org.apache.taglibs.i18n.MessageTag) _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody.get(org.apache.taglibs.i18n.MessageTag.class);
+    _jspx_th_i18n_005fmessage_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_i18n_005fmessage_005f0.setParent(null);
+    // /anchors.jsp(56,14) name = key type = null reqTime = true required = true fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
+    _jspx_th_i18n_005fmessage_005f0.setKey("title");
+    int _jspx_eval_i18n_005fmessage_005f0 = _jspx_th_i18n_005fmessage_005f0.doStartTag();
+    if (_jspx_th_i18n_005fmessage_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_i18n_005fmessage_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_i18n_005fmessage_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_i18n_005fmessage_005f2(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  i18n:message
+    org.apache.taglibs.i18n.MessageTag _jspx_th_i18n_005fmessage_005f2 = (org.apache.taglibs.i18n.MessageTag) _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody.get(org.apache.taglibs.i18n.MessageTag.class);
+    _jspx_th_i18n_005fmessage_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_i18n_005fmessage_005f2.setParent(null);
+    // /anchors.jsp(71,4) name = key type = null reqTime = true required = true fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
+    _jspx_th_i18n_005fmessage_005f2.setKey("anchors");
+    int _jspx_eval_i18n_005fmessage_005f2 = _jspx_th_i18n_005fmessage_005f2.doStartTag();
+    if (_jspx_th_i18n_005fmessage_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_i18n_005fmessage_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_i18n_005fmessage_005f2);
+    return false;
+  }
+}
Index: /nutchez-0.1/tomcat/work/Catalina/localhost/_/org/apache/jsp/cached_jsp.java
===================================================================
--- /nutchez-0.1/tomcat/work/Catalina/localhost/_/org/apache/jsp/cached_jsp.java	(revision 66)
+++ /nutchez-0.1/tomcat/work/Catalina/localhost/_/org/apache/jsp/cached_jsp.java	(revision 66)
@@ -0,0 +1,298 @@
+package org.apache.jsp;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+import java.io.*;
+import java.util.*;
+import org.apache.nutch.searcher.*;
+import org.apache.nutch.parse.ParseData;
+import org.apache.nutch.metadata.Metadata;
+import org.apache.nutch.metadata.Nutch;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.nutch.util.NutchConfiguration;
+
+public final class cached_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static final JspFactory _jspxFactory = JspFactory.getDefaultFactory();
+
+  private static java.util.List _jspx_dependants;
+
+  static {
+    _jspx_dependants = new java.util.ArrayList(1);
+    _jspx_dependants.add("/WEB-INF/taglibs-i18n.tld");
+  }
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fi18n_005fbundle_0026_005fbaseName_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fi18n_005fmessageArg_0026_005fvalue_005fnobody;
+
+  private javax.el.ExpressionFactory _el_expressionfactory;
+  private org.apache.AnnotationProcessor _jsp_annotationprocessor;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fi18n_005fbundle_0026_005fbaseName_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fi18n_005fmessageArg_0026_005fvalue_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _el_expressionfactory = _jspxFactory.getJspApplicationContext(getServletConfig().getServletContext()).getExpressionFactory();
+    _jsp_annotationprocessor = (org.apache.AnnotationProcessor) getServletConfig().getServletContext().getAttribute(org.apache.AnnotationProcessor.class.getName());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fi18n_005fbundle_0026_005fbaseName_005fnobody.release();
+    _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey.release();
+    _005fjspx_005ftagPool_005fi18n_005fmessageArg_0026_005fvalue_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    PageContext pageContext = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      response.setContentType("text/html; charset=UTF-8");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, false, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write('\n');
+
+  Configuration nutchConf = NutchConfiguration.get(application);
+  NutchBean bean = NutchBean.get(application, nutchConf);
+  bean.LOG.info("cache request from " + request.getRemoteAddr());
+  Hit hit = new Hit(Integer.parseInt(request.getParameter("idx")),
+                    request.getParameter("id"));
+  HitDetails details = bean.getDetails(hit);
+  String id = "idx=" + hit.getIndexNo() + "&id=" + hit.getUniqueKey();
+
+  String language =
+    ResourceBundle.getBundle("org.nutch.jsp.cached", request.getLocale())
+    .getLocale().getLanguage();
+
+  Metadata metaData = bean.getParseData(details).getContentMeta();
+
+  String content = null;
+  String contentType = (String) metaData.get(Metadata.CONTENT_TYPE);
+  if (contentType.startsWith("text/html")) {
+    // FIXME : it's better to emit the original 'byte' sequence 
+    // with 'charset' set to the value of 'CharEncoding',
+    // but I don't know how to emit 'byte sequence' in JSP.
+    // out.getOutputStream().write(bean.getContent(details)) may work, 
+    // but I'm not sure.
+    String encoding = (String) metaData.get("CharEncodingForConversion"); 
+    if (encoding != null) {
+      try {
+        content = new String(bean.getContent(details), encoding);
+      }
+      catch (UnsupportedEncodingException e) {
+        // fallback to windows-1252
+        content = new String(bean.getContent(details), "windows-1252");
+      }
+    }
+    else 
+      content = new String(bean.getContent(details));
+  }
+
+      out.write("\n");
+      out.write("<!--\n");
+      out.write("<base href=\"");
+      out.print(details.getValue("url"));
+      out.write("\">\n");
+      out.write("-->\n");
+      out.write("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">\n");
+
+  out.flush();
+
+      out.write('\n');
+      out.write('\n');
+      if (_jspx_meth_i18n_005fbundle_005f0(_jspx_page_context))
+        return;
+      out.write("\n");
+      out.write("<h2 style=\"{color: rgb(255, 153, 0)}\">");
+      if (_jspx_meth_i18n_005fmessage_005f0(_jspx_page_context))
+        return;
+      out.write("</h2>\n");
+      out.write("<h3>\n");
+      //  i18n:message
+      org.apache.taglibs.i18n.MessageTag _jspx_th_i18n_005fmessage_005f1 = (org.apache.taglibs.i18n.MessageTag) _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey.get(org.apache.taglibs.i18n.MessageTag.class);
+      _jspx_th_i18n_005fmessage_005f1.setPageContext(_jspx_page_context);
+      _jspx_th_i18n_005fmessage_005f1.setParent(null);
+      // /cached.jsp(77,0) name = key type = null reqTime = true required = true fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
+      _jspx_th_i18n_005fmessage_005f1.setKey("page");
+      int _jspx_eval_i18n_005fmessage_005f1 = _jspx_th_i18n_005fmessage_005f1.doStartTag();
+      if (_jspx_eval_i18n_005fmessage_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+        if (_jspx_eval_i18n_005fmessage_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.pushBody();
+          _jspx_th_i18n_005fmessage_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+          _jspx_th_i18n_005fmessage_005f1.doInitBody();
+        }
+        do {
+          out.write('\n');
+          out.write(' ');
+          out.write(' ');
+          //  i18n:messageArg
+          org.apache.taglibs.i18n.MessageArgumentTag _jspx_th_i18n_005fmessageArg_005f0 = (org.apache.taglibs.i18n.MessageArgumentTag) _005fjspx_005ftagPool_005fi18n_005fmessageArg_0026_005fvalue_005fnobody.get(org.apache.taglibs.i18n.MessageArgumentTag.class);
+          _jspx_th_i18n_005fmessageArg_005f0.setPageContext(_jspx_page_context);
+          _jspx_th_i18n_005fmessageArg_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_i18n_005fmessage_005f1);
+          // /cached.jsp(78,2) name = value type = null reqTime = true required = true fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
+          _jspx_th_i18n_005fmessageArg_005f0.setValue(details.getValue("url"));
+          int _jspx_eval_i18n_005fmessageArg_005f0 = _jspx_th_i18n_005fmessageArg_005f0.doStartTag();
+          if (_jspx_th_i18n_005fmessageArg_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fi18n_005fmessageArg_0026_005fvalue_005fnobody.reuse(_jspx_th_i18n_005fmessageArg_005f0);
+            return;
+          }
+          _005fjspx_005ftagPool_005fi18n_005fmessageArg_0026_005fvalue_005fnobody.reuse(_jspx_th_i18n_005fmessageArg_005f0);
+          out.write('\n');
+          int evalDoAfterBody = _jspx_th_i18n_005fmessage_005f1.doAfterBody();
+          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+            break;
+        } while (true);
+        if (_jspx_eval_i18n_005fmessage_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.popBody();
+        }
+      }
+      if (_jspx_th_i18n_005fmessage_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey.reuse(_jspx_th_i18n_005fmessage_005f1);
+        return;
+      }
+      _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey.reuse(_jspx_th_i18n_005fmessage_005f1);
+      out.write("\n");
+      out.write("</h3>\n");
+      out.write("<hr>\n");
+      out.write("<!-- \n");
+      out.write("   FIXME: have to sanitize 'content' : e.g. removing unncessary part\n");
+      out.write("        of head elememt\n");
+      out.write("-->\n");
+
+   String caching = details.getValue("cache");
+   String url = details.getValue("url");
+   if (caching != null && !caching.equals(Nutch.CACHING_FORBIDDEN_NONE)) {
+
+      out.write("\n");
+      out.write("Display of this content was administratively prohibited by the webmaster.\n");
+      out.write("You may visit the original page instead: <a href=\"");
+      out.print(url);
+      out.write('"');
+      out.write('>');
+      out.print(url);
+      out.write("</a>.\n");
+
+     return;
+   }
+
+      out.write('\n');
+ if (contentType.startsWith("text/html")) {
+      out.write('\n');
+      out.write('\n');
+ if (content != null && !content.equals("")) {
+      out.write('\n');
+      out.print( content );
+      out.write('\n');
+ } else { 
+      out.write('\n');
+      if (_jspx_meth_i18n_005fmessage_005f2(_jspx_page_context))
+        return;
+      out.write('\n');
+ } 
+      out.write('\n');
+      out.write('\n');
+ } else { 
+      out.write("\n");
+      out.write("\n");
+      out.write("The cached content has mime type \"");
+      out.print(contentType);
+      out.write("\",\n");
+      out.write("click this <a href=\"./servlet/cached?");
+      out.print(id);
+      out.write("\">link</a> to download it directly.\n");
+      out.write("\n");
+ } 
+      out.write('\n');
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          try { out.clearBuffer(); } catch (java.io.IOException e) {}
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_i18n_005fbundle_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  i18n:bundle
+    org.apache.taglibs.i18n.BundleTag _jspx_th_i18n_005fbundle_005f0 = (org.apache.taglibs.i18n.BundleTag) _005fjspx_005ftagPool_005fi18n_005fbundle_0026_005fbaseName_005fnobody.get(org.apache.taglibs.i18n.BundleTag.class);
+    _jspx_th_i18n_005fbundle_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_i18n_005fbundle_005f0.setParent(null);
+    // /cached.jsp(74,0) name = baseName type = null reqTime = true required = true fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
+    _jspx_th_i18n_005fbundle_005f0.setBaseName("org.nutch.jsp.cached");
+    int _jspx_eval_i18n_005fbundle_005f0 = _jspx_th_i18n_005fbundle_005f0.doStartTag();
+    if (_jspx_th_i18n_005fbundle_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fi18n_005fbundle_0026_005fbaseName_005fnobody.reuse(_jspx_th_i18n_005fbundle_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fi18n_005fbundle_0026_005fbaseName_005fnobody.reuse(_jspx_th_i18n_005fbundle_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_i18n_005fmessage_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  i18n:message
+    org.apache.taglibs.i18n.MessageTag _jspx_th_i18n_005fmessage_005f0 = (org.apache.taglibs.i18n.MessageTag) _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody.get(org.apache.taglibs.i18n.MessageTag.class);
+    _jspx_th_i18n_005fmessage_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_i18n_005fmessage_005f0.setParent(null);
+    // /cached.jsp(75,38) name = key type = null reqTime = true required = true fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
+    _jspx_th_i18n_005fmessage_005f0.setKey("title");
+    int _jspx_eval_i18n_005fmessage_005f0 = _jspx_th_i18n_005fmessage_005f0.doStartTag();
+    if (_jspx_th_i18n_005fmessage_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_i18n_005fmessage_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_i18n_005fmessage_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_i18n_005fmessage_005f2(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  i18n:message
+    org.apache.taglibs.i18n.MessageTag _jspx_th_i18n_005fmessage_005f2 = (org.apache.taglibs.i18n.MessageTag) _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody.get(org.apache.taglibs.i18n.MessageTag.class);
+    _jspx_th_i18n_005fmessage_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_i18n_005fmessage_005f2.setParent(null);
+    // /cached.jsp(102,0) name = key type = null reqTime = true required = true fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
+    _jspx_th_i18n_005fmessage_005f2.setKey("noContent");
+    int _jspx_eval_i18n_005fmessage_005f2 = _jspx_th_i18n_005fmessage_005f2.doStartTag();
+    if (_jspx_th_i18n_005fmessage_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_i18n_005fmessage_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_i18n_005fmessage_005f2);
+    return false;
+  }
+}
Index: /nutchez-0.1/tomcat/work/Catalina/localhost/_/org/apache/jsp/explain_jsp.java
===================================================================
--- /nutchez-0.1/tomcat/work/Catalina/localhost/_/org/apache/jsp/explain_jsp.java	(revision 66)
+++ /nutchez-0.1/tomcat/work/Catalina/localhost/_/org/apache/jsp/explain_jsp.java	(revision 66)
@@ -0,0 +1,259 @@
+package org.apache.jsp;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+import java.io.*;
+import java.util.*;
+import org.apache.nutch.searcher.*;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.nutch.util.NutchConfiguration;
+
+public final class explain_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static final JspFactory _jspxFactory = JspFactory.getDefaultFactory();
+
+  private static java.util.List _jspx_dependants;
+
+  static {
+    _jspx_dependants = new java.util.ArrayList(1);
+    _jspx_dependants.add("/WEB-INF/taglibs-i18n.tld");
+  }
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fi18n_005fbundle_0026_005fbaseName_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fi18n_005fmessageArg_0026_005fvalue_005fnobody;
+
+  private javax.el.ExpressionFactory _el_expressionfactory;
+  private org.apache.AnnotationProcessor _jsp_annotationprocessor;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fi18n_005fbundle_0026_005fbaseName_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fi18n_005fmessageArg_0026_005fvalue_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _el_expressionfactory = _jspxFactory.getJspApplicationContext(getServletConfig().getServletContext()).getExpressionFactory();
+    _jsp_annotationprocessor = (org.apache.AnnotationProcessor) getServletConfig().getServletContext().getAttribute(org.apache.AnnotationProcessor.class.getName());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fi18n_005fbundle_0026_005fbaseName_005fnobody.release();
+    _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey.release();
+    _005fjspx_005ftagPool_005fi18n_005fmessageArg_0026_005fvalue_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    PageContext pageContext = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      response.setContentType("text/html; charset=UTF-8");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, false, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write('\n');
+
+  Configuration nutchConf = NutchConfiguration.get(application);
+  NutchBean bean = NutchBean.get(application, nutchConf);
+  // set the character encoding to use when interpreting request values 
+  request.setCharacterEncoding("UTF-8");
+  bean.LOG.info("explain request from " + request.getRemoteAddr());
+  Hit hit = new Hit(Integer.parseInt(request.getParameter("idx")),
+                    request.getParameter("id"));
+  HitDetails details = bean.getDetails(hit);
+  // get the lang from request
+  String queryLang = request.getParameter("lang");
+  if (queryLang == null) { queryLang = ""; }
+  Query query = Query.parse(request.getParameter("query"), queryLang, nutchConf);
+  String language =
+    ResourceBundle.getBundle("org.nutch.jsp.explain", request.getLocale())
+    .getLocale().getLanguage();
+  String requestURI = HttpUtils.getRequestURL(request).toString();
+  String base = requestURI.substring(0, requestURI.lastIndexOf('/'));
+
+      out.write("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n");
+
+  // To prevent the character encoding declared with 'contentType' page
+  // directive from being overriden by JSTL (apache i18n), we freeze it
+  // by flushing the output buffer. 
+  // see http://java.sun.com/developer/technicalArticles/Intl/MultilingualJSP/
+  out.flush();
+
+      out.write('\n');
+      out.write('\n');
+      if (_jspx_meth_i18n_005fbundle_005f0(_jspx_page_context))
+        return;
+      out.write("\n");
+      out.write("<html lang=\"");
+      out.print( language );
+      out.write("\">\n");
+      out.write("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\n");
+      out.write("<head>\n");
+      out.write("<title>Nutch: ");
+      if (_jspx_meth_i18n_005fmessage_005f0(_jspx_page_context))
+        return;
+      out.write("</title>\n");
+      org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response, "/include/style.html", out, false);
+      out.write("\n");
+      out.write("<base href=\"");
+      out.print( base  + "/" + language );
+      out.write("/\">\n");
+      out.write("</head>\n");
+      out.write("\n");
+      out.write("<body>\n");
+      out.write("\n");
+      org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response,  language + "/include/header.html", out, false);
+      out.write("\n");
+      out.write("\n");
+      out.write("<h3>");
+      if (_jspx_meth_i18n_005fmessage_005f1(_jspx_page_context))
+        return;
+      out.write("</h3>\n");
+      out.write("\n");
+      out.print(bean.getDetails(hit).toHtml());
+      out.write("\n");
+      out.write("\n");
+      out.write("<h3>");
+      //  i18n:message
+      org.apache.taglibs.i18n.MessageTag _jspx_th_i18n_005fmessage_005f2 = (org.apache.taglibs.i18n.MessageTag) _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey.get(org.apache.taglibs.i18n.MessageTag.class);
+      _jspx_th_i18n_005fmessage_005f2.setPageContext(_jspx_page_context);
+      _jspx_th_i18n_005fmessage_005f2.setParent(null);
+      // /explain.jsp(71,4) name = key type = null reqTime = true required = true fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
+      _jspx_th_i18n_005fmessage_005f2.setKey("scoreForQuery");
+      int _jspx_eval_i18n_005fmessage_005f2 = _jspx_th_i18n_005fmessage_005f2.doStartTag();
+      if (_jspx_eval_i18n_005fmessage_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+        if (_jspx_eval_i18n_005fmessage_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.pushBody();
+          _jspx_th_i18n_005fmessage_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+          _jspx_th_i18n_005fmessage_005f2.doInitBody();
+        }
+        do {
+          out.write('\n');
+          out.write(' ');
+          out.write(' ');
+          //  i18n:messageArg
+          org.apache.taglibs.i18n.MessageArgumentTag _jspx_th_i18n_005fmessageArg_005f0 = (org.apache.taglibs.i18n.MessageArgumentTag) _005fjspx_005ftagPool_005fi18n_005fmessageArg_0026_005fvalue_005fnobody.get(org.apache.taglibs.i18n.MessageArgumentTag.class);
+          _jspx_th_i18n_005fmessageArg_005f0.setPageContext(_jspx_page_context);
+          _jspx_th_i18n_005fmessageArg_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_i18n_005fmessage_005f2);
+          // /explain.jsp(72,2) name = value type = null reqTime = true required = true fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
+          _jspx_th_i18n_005fmessageArg_005f0.setValue(query);
+          int _jspx_eval_i18n_005fmessageArg_005f0 = _jspx_th_i18n_005fmessageArg_005f0.doStartTag();
+          if (_jspx_th_i18n_005fmessageArg_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fi18n_005fmessageArg_0026_005fvalue_005fnobody.reuse(_jspx_th_i18n_005fmessageArg_005f0);
+            return;
+          }
+          _005fjspx_005ftagPool_005fi18n_005fmessageArg_0026_005fvalue_005fnobody.reuse(_jspx_th_i18n_005fmessageArg_005f0);
+          out.write('\n');
+          int evalDoAfterBody = _jspx_th_i18n_005fmessage_005f2.doAfterBody();
+          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+            break;
+        } while (true);
+        if (_jspx_eval_i18n_005fmessage_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.popBody();
+        }
+      }
+      if (_jspx_th_i18n_005fmessage_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey.reuse(_jspx_th_i18n_005fmessage_005f2);
+        return;
+      }
+      _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey.reuse(_jspx_th_i18n_005fmessage_005f2);
+      out.write("\n");
+      out.write("</h3>\n");
+      out.write("\n");
+      out.print(bean.getExplanation(query, hit));
+      out.write('\n');
+      out.write('\n');
+      org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response, "/include/footer.html", out, false);
+      out.write("\n");
+      out.write("\n");
+      out.write("</body>     \n");
+      out.write("</html>\n");
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          try { out.clearBuffer(); } catch (java.io.IOException e) {}
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_i18n_005fbundle_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  i18n:bundle
+    org.apache.taglibs.i18n.BundleTag _jspx_th_i18n_005fbundle_005f0 = (org.apache.taglibs.i18n.BundleTag) _005fjspx_005ftagPool_005fi18n_005fbundle_0026_005fbaseName_005fnobody.get(org.apache.taglibs.i18n.BundleTag.class);
+    _jspx_th_i18n_005fbundle_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_i18n_005fbundle_005f0.setParent(null);
+    // /explain.jsp(54,0) name = baseName type = null reqTime = true required = true fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
+    _jspx_th_i18n_005fbundle_005f0.setBaseName("org.nutch.jsp.explain");
+    int _jspx_eval_i18n_005fbundle_005f0 = _jspx_th_i18n_005fbundle_005f0.doStartTag();
+    if (_jspx_th_i18n_005fbundle_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fi18n_005fbundle_0026_005fbaseName_005fnobody.reuse(_jspx_th_i18n_005fbundle_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fi18n_005fbundle_0026_005fbaseName_005fnobody.reuse(_jspx_th_i18n_005fbundle_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_i18n_005fmessage_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  i18n:message
+    org.apache.taglibs.i18n.MessageTag _jspx_th_i18n_005fmessage_005f0 = (org.apache.taglibs.i18n.MessageTag) _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody.get(org.apache.taglibs.i18n.MessageTag.class);
+    _jspx_th_i18n_005fmessage_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_i18n_005fmessage_005f0.setParent(null);
+    // /explain.jsp(58,14) name = key type = null reqTime = true required = true fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
+    _jspx_th_i18n_005fmessage_005f0.setKey("title");
+    int _jspx_eval_i18n_005fmessage_005f0 = _jspx_th_i18n_005fmessage_005f0.doStartTag();
+    if (_jspx_th_i18n_005fmessage_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_i18n_005fmessage_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_i18n_005fmessage_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_i18n_005fmessage_005f1(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  i18n:message
+    org.apache.taglibs.i18n.MessageTag _jspx_th_i18n_005fmessage_005f1 = (org.apache.taglibs.i18n.MessageTag) _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody.get(org.apache.taglibs.i18n.MessageTag.class);
+    _jspx_th_i18n_005fmessage_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_i18n_005fmessage_005f1.setParent(null);
+    // /explain.jsp(67,4) name = key type = null reqTime = true required = true fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
+    _jspx_th_i18n_005fmessage_005f1.setKey("page");
+    int _jspx_eval_i18n_005fmessage_005f1 = _jspx_th_i18n_005fmessage_005f1.doStartTag();
+    if (_jspx_th_i18n_005fmessage_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_i18n_005fmessage_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_i18n_005fmessage_005f1);
+    return false;
+  }
+}
Index: /nutchez-0.1/tomcat/work/Catalina/localhost/_/org/apache/jsp/index_jsp.java
===================================================================
--- /nutchez-0.1/tomcat/work/Catalina/localhost/_/org/apache/jsp/index_jsp.java	(revision 66)
+++ /nutchez-0.1/tomcat/work/Catalina/localhost/_/org/apache/jsp/index_jsp.java	(revision 66)
@@ -0,0 +1,74 @@
+package org.apache.jsp;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+import java.io.*;
+import java.util.*;
+
+public final class index_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static final JspFactory _jspxFactory = JspFactory.getDefaultFactory();
+
+  private static java.util.List _jspx_dependants;
+
+  private javax.el.ExpressionFactory _el_expressionfactory;
+  private org.apache.AnnotationProcessor _jsp_annotationprocessor;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _el_expressionfactory = _jspxFactory.getJspApplicationContext(getServletConfig().getServletContext()).getExpressionFactory();
+    _jsp_annotationprocessor = (org.apache.AnnotationProcessor) getServletConfig().getServletContext().getAttribute(org.apache.AnnotationProcessor.class.getName());
+  }
+
+  public void _jspDestroy() {
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    PageContext pageContext = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, false, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write('\n');
+
+  String language =
+    ResourceBundle.getBundle("org.nutch.jsp.search", request.getLocale())
+    .getLocale().getLanguage();
+  String requestURI = HttpUtils.getRequestURL(request).toString();
+  String base = requestURI.substring(0, requestURI.lastIndexOf('/'));
+  response.sendRedirect(language + "/");
+
+      out.write('\n');
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          try { out.clearBuffer(); } catch (java.io.IOException e) {}
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+}
Index: /nutchez-0.1/tomcat/work/Catalina/localhost/_/org/apache/jsp/search_jsp.java
===================================================================
--- /nutchez-0.1/tomcat/work/Catalina/localhost/_/org/apache/jsp/search_jsp.java	(revision 66)
+++ /nutchez-0.1/tomcat/work/Catalina/localhost/_/org/apache/jsp/search_jsp.java	(revision 66)
@@ -0,0 +1,1023 @@
+package org.apache.jsp;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+import java.io.*;
+import java.util.*;
+import java.net.*;
+import javax.servlet.http.*;
+import javax.servlet.*;
+import org.apache.nutch.html.Entities;
+import org.apache.nutch.metadata.Nutch;
+import org.apache.nutch.searcher.*;
+import org.apache.nutch.plugin.*;
+import org.apache.nutch.clustering.*;
+import org.apache.hadoop.conf.*;
+import org.apache.nutch.util.NutchConfiguration;
+
+public final class search_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+
+  /**
+   * Number of hits to retrieve and cluster if clustering extension is available
+   * and clustering is on. By default, 100. Configurable via nutch-conf.xml.
+   */
+  private int HITS_TO_CLUSTER;
+
+  /**
+   * Maximum hits per page to be displayed.
+   */
+  private int MAX_HITS_PER_PAGE;
+
+  /**
+   * An instance of the clustering extension, if available.
+   */
+  private OnlineClusterer clusterer;
+  
+  /**
+   * Nutch configuration for this servlet.
+   */
+  private Configuration nutchConf;
+
+  /**
+   * Initialize search bean.
+   */
+  public void jspInit() {
+    super.jspInit();
+    
+    final ServletContext application = getServletContext(); 
+    nutchConf = NutchConfiguration.get(application);
+	  HITS_TO_CLUSTER = nutchConf.getInt("extension.clustering.hits-to-cluster", 100);
+    MAX_HITS_PER_PAGE = nutchConf.getInt("searcher.max.hits.per.page", -1);
+
+    try {
+      clusterer = new OnlineClustererFactory(nutchConf).getOnlineClusterer();
+    } catch (PluginRuntimeException e) {
+      super.log("Could not initialize online clusterer: " + e.toString());
+    }
+  }
+
+  private static final JspFactory _jspxFactory = JspFactory.getDefaultFactory();
+
+  private static java.util.List _jspx_dependants;
+
+  static {
+    _jspx_dependants = new java.util.ArrayList(3);
+    _jspx_dependants.add("/WEB-INF/taglibs-i18n.tld");
+    _jspx_dependants.add("/more.jsp");
+    _jspx_dependants.add("/cluster.jsp");
+  }
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fi18n_005fbundle_0026_005fbaseName_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fi18n_005fmessageArg_0026_005fvalue_005fnobody;
+
+  private javax.el.ExpressionFactory _el_expressionfactory;
+  private org.apache.AnnotationProcessor _jsp_annotationprocessor;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fi18n_005fbundle_0026_005fbaseName_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fi18n_005fmessageArg_0026_005fvalue_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _el_expressionfactory = _jspxFactory.getJspApplicationContext(getServletConfig().getServletContext()).getExpressionFactory();
+    _jsp_annotationprocessor = (org.apache.AnnotationProcessor) getServletConfig().getServletContext().getAttribute(org.apache.AnnotationProcessor.class.getName());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fi18n_005fbundle_0026_005fbaseName_005fnobody.release();
+    _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey.release();
+    _005fjspx_005ftagPool_005fi18n_005fmessageArg_0026_005fvalue_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    PageContext pageContext = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      response.setContentType("text/html; charset=UTF-8");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, false, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+
+  // The Nutch bean instance is initialized through a ServletContextListener 
+  // that is setup in the web.xml file
+  NutchBean bean = NutchBean.get(application, nutchConf);
+  // set the character encoding to use when interpreting request values 
+  request.setCharacterEncoding("UTF-8");
+
+  bean.LOG.info("query request from " + request.getRemoteAddr());
+
+  // get query from request
+  String queryString = request.getParameter("query");
+  if (queryString == null)
+    queryString = "";
+  String htmlQueryString = Entities.encode(queryString);
+  
+  // a flag to make the code cleaner a bit.
+  boolean clusteringAvailable = (clusterer != null);
+
+  String clustering = "";
+  if (clusteringAvailable && "yes".equals(request.getParameter("clustering")))
+    clustering = "yes";
+
+  int start = 0;          // first hit to display
+  String startString = request.getParameter("start");
+  if (startString != null)
+    start = Integer.parseInt(startString);
+
+  int hitsPerPage = 10;          // number of hits to display
+  String hitsString = request.getParameter("hitsPerPage");
+  if (hitsString != null)
+    hitsPerPage = Integer.parseInt(hitsString);
+  if(MAX_HITS_PER_PAGE > 0 && hitsPerPage > MAX_HITS_PER_PAGE)
+    hitsPerPage = MAX_HITS_PER_PAGE;
+
+  int hitsPerSite = 2;                            // max hits per site
+  String hitsPerSiteString = request.getParameter("hitsPerSite");
+  if (hitsPerSiteString != null)
+    hitsPerSite = Integer.parseInt(hitsPerSiteString);
+
+  String sort = request.getParameter("sort");
+  boolean reverse =
+    sort!=null && "true".equals(request.getParameter("reverse"));
+
+  String params = "&hitsPerPage="+hitsPerPage
+     +(sort==null ? "" : "&sort="+sort+(reverse?"&reverse=true":""));
+
+  int hitsToCluster = HITS_TO_CLUSTER;            // number of hits to cluster
+
+  // get the lang from request
+  String queryLang = request.getParameter("lang");
+  if (queryLang == null) { queryLang = ""; }
+  Query query = Query.parse(queryString, queryLang, nutchConf);
+  bean.LOG.info("query: " + queryString);
+  bean.LOG.info("lang: " + queryLang);
+
+  String language =
+    ResourceBundle.getBundle("org.nutch.jsp.search", request.getLocale())
+    .getLocale().getLanguage();
+  String requestURI = HttpUtils.getRequestURL(request).toString();
+  String base = requestURI.substring(0, requestURI.lastIndexOf('/'));
+  String rss = "../opensearch?query="+htmlQueryString
+    +"&hitsPerSite="+hitsPerSite+"&lang="+queryLang+params;
+
+      out.write("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n");
+
+  // To prevent the character encoding declared with 'contentType' page
+  // directive from being overriden by JSTL (apache i18n), we freeze it
+  // by flushing the output buffer. 
+  // see http://java.sun.com/developer/technicalArticles/Intl/MultilingualJSP/
+  out.flush();
+
+      out.write('\n');
+      out.write('\n');
+      if (_jspx_meth_i18n_005fbundle_005f0(_jspx_page_context))
+        return;
+      out.write("\n");
+      out.write("<html lang=\"");
+      out.print( language );
+      out.write("\">\n");
+      out.write("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\n");
+      out.write("<head>\n");
+      out.write("<title>Nutch: ");
+      if (_jspx_meth_i18n_005fmessage_005f0(_jspx_page_context))
+        return;
+      out.write("</title>\n");
+      out.write("<link rel=\"icon\" href=\"img/favicon.ico\" type=\"image/x-icon\"/>\n");
+      out.write("<link rel=\"shortcut icon\" href=\"img/favicon.ico\" type=\"image/x-icon\"/>\n");
+      out.write("<link rel=\"alternate\" type=\"application/rss+xml\" title=\"RSS\" href=\"");
+      out.print(rss);
+      out.write("\"/>\n");
+      org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response, "include/style.html", out, false);
+      out.write("\n");
+      out.write("<base href=\"");
+      out.print( base  + "/" + language );
+      out.write("/\">\n");
+      out.write("<script type=\"text/javascript\">\n");
+      out.write("<!--\n");
+      out.write("function queryfocus() { document.search.query.focus(); }\n");
+      out.write("// -->\n");
+      out.write("</script>\n");
+      out.write("</head>\n");
+      out.write("\n");
+      out.write("<body onLoad=\"queryfocus();\">\n");
+      out.write("\n");
+      org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response,  language + "/include/header.html", out, false);
+      out.write("\n");
+      out.write("\n");
+      out.write(" <form name=\"search\" action=\"../search.jsp\" method=\"get\">\n");
+      out.write(" <input name=\"query\" size=44 value=\"");
+      out.print(htmlQueryString);
+      out.write("\">\n");
+      out.write(" <input type=\"hidden\" name=\"hitsPerPage\" value=\"");
+      out.print(hitsPerPage);
+      out.write("\">\n");
+      out.write(" <input type=\"hidden\" name=\"lang\" value=\"");
+      out.print(language);
+      out.write("\">\n");
+      out.write(" <input type=\"submit\" value=\"");
+      if (_jspx_meth_i18n_005fmessage_005f1(_jspx_page_context))
+        return;
+      out.write("\">\n");
+      out.write(" ");
+ if (clusteringAvailable) { 
+      out.write("\n");
+      out.write("   <input id=\"clustbox\" type=\"checkbox\" name=\"clustering\" value=\"yes\" ");
+ if (clustering.equals("yes")) { 
+      out.write("CHECKED");
+ } 
+      out.write(">\n");
+      out.write("    <label for=\"clustbox\">");
+      if (_jspx_meth_i18n_005fmessage_005f2(_jspx_page_context))
+        return;
+      out.write("</label>\n");
+      out.write(" ");
+ } 
+      out.write("\n");
+      out.write(" <a href=\"help.html\">help</a>\n");
+      out.write(" </form>\n");
+      out.write("\n");
+      out.write('\n');
+      out.write('\n');
+
+   // how many hits to retrieve? if clustering is on and available,
+   // take "hitsToCluster", otherwise just get hitsPerPage
+   int hitsToRetrieve = (clusteringAvailable && clustering.equals("yes") ? hitsToCluster : hitsPerPage);
+
+   if (clusteringAvailable && clustering.equals("yes")) {
+     bean.LOG.info("Clustering is on, hits to retrieve: " + hitsToRetrieve);
+   }
+
+   // perform query
+    // NOTE by Dawid Weiss:
+    // The 'clustering' window actually moves with the start
+    // position.... this is good, bad?... ugly?....
+   Hits hits;
+   try{
+     hits = bean.search(query, start + hitsToRetrieve, hitsPerSite, "site",
+                        sort, reverse);
+   } catch (IOException e){
+     hits = new Hits(0,new Hit[0]);	
+   }
+   int end = (int)Math.min(hits.getLength(), start + hitsPerPage);
+   int length = end-start;
+   int realEnd = (int)Math.min(hits.getLength(), start + hitsToRetrieve);
+
+   Hit[] show = hits.getHits(start, realEnd-start);
+   HitDetails[] details = bean.getDetails(show);
+   Summary[] summaries = bean.getSummary(details, query);
+   bean.LOG.info("total hits: " + hits.getTotal());
+
+      out.write('\n');
+      out.write('\n');
+      //  i18n:message
+      org.apache.taglibs.i18n.MessageTag _jspx_th_i18n_005fmessage_005f3 = (org.apache.taglibs.i18n.MessageTag) _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey.get(org.apache.taglibs.i18n.MessageTag.class);
+      _jspx_th_i18n_005fmessage_005f3.setPageContext(_jspx_page_context);
+      _jspx_th_i18n_005fmessage_005f3.setParent(null);
+      // /search.jsp(222,0) name = key type = null reqTime = true required = true fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
+      _jspx_th_i18n_005fmessage_005f3.setKey("hits");
+      int _jspx_eval_i18n_005fmessage_005f3 = _jspx_th_i18n_005fmessage_005f3.doStartTag();
+      if (_jspx_eval_i18n_005fmessage_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+        if (_jspx_eval_i18n_005fmessage_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.pushBody();
+          _jspx_th_i18n_005fmessage_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+          _jspx_th_i18n_005fmessage_005f3.doInitBody();
+        }
+        do {
+          out.write('\n');
+          out.write(' ');
+          out.write(' ');
+          //  i18n:messageArg
+          org.apache.taglibs.i18n.MessageArgumentTag _jspx_th_i18n_005fmessageArg_005f0 = (org.apache.taglibs.i18n.MessageArgumentTag) _005fjspx_005ftagPool_005fi18n_005fmessageArg_0026_005fvalue_005fnobody.get(org.apache.taglibs.i18n.MessageArgumentTag.class);
+          _jspx_th_i18n_005fmessageArg_005f0.setPageContext(_jspx_page_context);
+          _jspx_th_i18n_005fmessageArg_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_i18n_005fmessage_005f3);
+          // /search.jsp(223,2) name = value type = null reqTime = true required = true fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
+          _jspx_th_i18n_005fmessageArg_005f0.setValue(new Long((end==0)?0:(start+1)));
+          int _jspx_eval_i18n_005fmessageArg_005f0 = _jspx_th_i18n_005fmessageArg_005f0.doStartTag();
+          if (_jspx_th_i18n_005fmessageArg_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fi18n_005fmessageArg_0026_005fvalue_005fnobody.reuse(_jspx_th_i18n_005fmessageArg_005f0);
+            return;
+          }
+          _005fjspx_005ftagPool_005fi18n_005fmessageArg_0026_005fvalue_005fnobody.reuse(_jspx_th_i18n_005fmessageArg_005f0);
+          out.write('\n');
+          out.write(' ');
+          out.write(' ');
+          //  i18n:messageArg
+          org.apache.taglibs.i18n.MessageArgumentTag _jspx_th_i18n_005fmessageArg_005f1 = (org.apache.taglibs.i18n.MessageArgumentTag) _005fjspx_005ftagPool_005fi18n_005fmessageArg_0026_005fvalue_005fnobody.get(org.apache.taglibs.i18n.MessageArgumentTag.class);
+          _jspx_th_i18n_005fmessageArg_005f1.setPageContext(_jspx_page_context);
+          _jspx_th_i18n_005fmessageArg_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_i18n_005fmessage_005f3);
+          // /search.jsp(224,2) name = value type = null reqTime = true required = true fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
+          _jspx_th_i18n_005fmessageArg_005f1.setValue(new Long(end));
+          int _jspx_eval_i18n_005fmessageArg_005f1 = _jspx_th_i18n_005fmessageArg_005f1.doStartTag();
+          if (_jspx_th_i18n_005fmessageArg_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fi18n_005fmessageArg_0026_005fvalue_005fnobody.reuse(_jspx_th_i18n_005fmessageArg_005f1);
+            return;
+          }
+          _005fjspx_005ftagPool_005fi18n_005fmessageArg_0026_005fvalue_005fnobody.reuse(_jspx_th_i18n_005fmessageArg_005f1);
+          out.write('\n');
+          out.write(' ');
+          out.write(' ');
+          //  i18n:messageArg
+          org.apache.taglibs.i18n.MessageArgumentTag _jspx_th_i18n_005fmessageArg_005f2 = (org.apache.taglibs.i18n.MessageArgumentTag) _005fjspx_005ftagPool_005fi18n_005fmessageArg_0026_005fvalue_005fnobody.get(org.apache.taglibs.i18n.MessageArgumentTag.class);
+          _jspx_th_i18n_005fmessageArg_005f2.setPageContext(_jspx_page_context);
+          _jspx_th_i18n_005fmessageArg_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_i18n_005fmessage_005f3);
+          // /search.jsp(225,2) name = value type = null reqTime = true required = true fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
+          _jspx_th_i18n_005fmessageArg_005f2.setValue(new Long(hits.getTotal()));
+          int _jspx_eval_i18n_005fmessageArg_005f2 = _jspx_th_i18n_005fmessageArg_005f2.doStartTag();
+          if (_jspx_th_i18n_005fmessageArg_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fi18n_005fmessageArg_0026_005fvalue_005fnobody.reuse(_jspx_th_i18n_005fmessageArg_005f2);
+            return;
+          }
+          _005fjspx_005ftagPool_005fi18n_005fmessageArg_0026_005fvalue_005fnobody.reuse(_jspx_th_i18n_005fmessageArg_005f2);
+          out.write('\n');
+          int evalDoAfterBody = _jspx_th_i18n_005fmessage_005f3.doAfterBody();
+          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+            break;
+        } while (true);
+        if (_jspx_eval_i18n_005fmessage_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.popBody();
+        }
+      }
+      if (_jspx_th_i18n_005fmessage_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey.reuse(_jspx_th_i18n_005fmessage_005f3);
+        return;
+      }
+      _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey.reuse(_jspx_th_i18n_005fmessage_005f3);
+      out.write('\n');
+      out.write('\n');
+
+// be responsive
+out.flush();
+
+      out.write("\n");
+      out.write("\n");
+      out.write("<br><br>\n");
+      out.write("\n");
+ if (clustering.equals("yes") && length != 0) { 
+      out.write("\n");
+      out.write("<table border=0 cellspacing=\"3\" cellpadding=\"0\">\n");
+      out.write("\n");
+      out.write("<tr>\n");
+      out.write("\n");
+      out.write("<td valign=\"top\">\n");
+      out.write("\n");
+ } 
+      out.write('\n');
+      out.write('\n');
+
+  for (int i = 0; i < length; i++) {      // display the hits
+    Hit hit = show[i];
+    HitDetails detail = details[i];
+    String title = detail.getValue("title");
+    String url = detail.getValue("url");
+    String id = "idx=" + hit.getIndexNo() + "&id=" + hit.getUniqueKey();
+    String summary = summaries[i].toHtml(true);
+    String caching = detail.getValue("cache");
+    boolean showSummary = true;
+    boolean showCached = true;
+    if (caching != null) {
+      showSummary = !caching.equals(Nutch.CACHING_FORBIDDEN_ALL);
+      showCached = !caching.equals(Nutch.CACHING_FORBIDDEN_NONE);
+    }
+
+    if (title == null || title.equals("")) {      // use url for docs w/o title
+      title = url;
+    }
+    
+      out.write("\n");
+      out.write("    <b><a href=\"");
+      out.print(url);
+      out.write('"');
+      out.write('>');
+      out.print(Entities.encode(title));
+      out.write("</a></b>\n");
+      out.write("    ");
+      out.write('\n');
+
+    // @author John Xing
+    // show meta info (currently type, size, date of last-modified)
+    // for each hit. These info are indexed by ./src/plugin/index-more.
+
+    // do not show unless we have something
+    boolean showMore = false;
+
+    // Content-Type
+    String primaryType = detail.getValue("primaryType");
+    String subType = detail.getValue("subType");
+
+    String contentType = subType;
+    if (contentType == null)
+      contentType = primaryType;
+    if (contentType != null) {
+      contentType = "[<span class=\"contentType\">" + contentType + "</span>]";
+      showMore = true;
+    } else {
+      contentType = "";
+    }
+
+    // Content-Length
+    String contentLength = detail.getValue("contentLength");
+    if (contentLength != null) {
+      contentLength = "(" + contentLength + " bytes)";
+      showMore = true;
+    } else {
+      contentLength = "";
+    }
+
+    // Last-Modified
+    String lastModified = detail.getValue("lastModified");
+    if (lastModified != null) {
+      Calendar cal = new GregorianCalendar();
+      cal.setTimeInMillis(new Long(lastModified).longValue());
+      lastModified = cal.get(Calendar.YEAR)
+                  + "." + (1+cal.get(Calendar.MONTH)) // it is 0-based
+                  + "." + cal.get(Calendar.DAY_OF_MONTH);
+      showMore = true;
+    } else {
+      lastModified = "";
+    }
+
+      out.write('\n');
+      out.write('\n');
+ if (showMore) {
+    if ("text".equalsIgnoreCase(primaryType)) { 
+      out.write("\n");
+      out.write("    <br><font size=-1><nobr>");
+      out.print(contentType);
+      out.write(' ');
+      out.print(contentLength);
+      out.write(' ');
+      out.print(lastModified);
+      out.write("</nobr></font>\n");
+  } else { 
+      out.write("\n");
+      out.write("    <br><font size=-1><nobr>");
+      out.print(contentType);
+      out.write(' ');
+      out.print(contentLength);
+      out.write(' ');
+      out.print(lastModified);
+      out.write(" - <a href=\"../text.jsp?");
+      out.print(id);
+      out.write('"');
+      out.write('>');
+      if (_jspx_meth_i18n_005fmessage_005f4(_jspx_page_context))
+        return;
+      out.write("</a></nobr></font>\n");
+  }
+  } 
+      out.write('\n');
+      out.write("\n");
+      out.write("    ");
+ if (!"".equals(summary) && showSummary) { 
+      out.write("\n");
+      out.write("    <br>");
+      out.print(summary);
+      out.write("\n");
+      out.write("    ");
+ } 
+      out.write("\n");
+      out.write("    <br>\n");
+      out.write("    <span class=\"url\">");
+      out.print(Entities.encode(url));
+      out.write("</span>\n");
+      out.write("    ");
+
+      if (showCached) {
+        
+      out.write("(<a href=\"../cached.jsp?");
+      out.print(id);
+      out.write('"');
+      out.write('>');
+      if (_jspx_meth_i18n_005fmessage_005f5(_jspx_page_context))
+        return;
+      out.write("</a>) ");
+
+    }
+    
+      out.write("\n");
+      out.write("    (<a href=\"../explain.jsp?");
+      out.print(id);
+      out.write("&query=");
+      out.print(URLEncoder.encode(queryString, "UTF-8"));
+      out.write("&lang=");
+      out.print(queryLang);
+      out.write('"');
+      out.write('>');
+      if (_jspx_meth_i18n_005fmessage_005f6(_jspx_page_context))
+        return;
+      out.write("</a>)\n");
+      out.write("    (<a href=\"../anchors.jsp?");
+      out.print(id);
+      out.write('"');
+      out.write('>');
+      if (_jspx_meth_i18n_005fmessage_005f7(_jspx_page_context))
+        return;
+      out.write("</a>)\n");
+      out.write("    ");
+ if (hit.moreFromDupExcluded()) {
+    String more =
+    "query="+URLEncoder.encode("site:"+hit.getDedupValue()+" "+queryString, "UTF8")
+    +params+"&hitsPerSite="+0
+    +"&lang="+queryLang
+    +"&clustering="+clustering;
+      out.write("\n");
+      out.write("    (<a href=\"../search.jsp?");
+      out.print(more);
+      out.write('"');
+      out.write('>');
+      if (_jspx_meth_i18n_005fmessage_005f8(_jspx_page_context))
+        return;
+      out.write("\n");
+      out.write("     ");
+      out.print(hit.getDedupValue());
+      out.write("</a>)\n");
+      out.write("    ");
+ } 
+      out.write("\n");
+      out.write("    <br><br>\n");
+ } 
+      out.write('\n');
+      out.write('\n');
+ if (clustering.equals("yes") && length != 0) { 
+      out.write("\n");
+      out.write("\n");
+      out.write("</td>\n");
+      out.write("\n");
+      out.write("<!-- clusters -->\n");
+      out.write("<td style=\"border-right: 1px dotted gray;\" />&#160;</td>\n");
+      out.write("<td align=\"left\" valign=\"top\" width=\"25%\">\n");
+      out.write('\n');
+
+
+// @author Dawid Weiss
+//
+// PERFORMANCE/USER INTERFACE NOTE:
+//
+// What I do here is merely a demonstration. In real life the clustering
+// process should be done in a separate "processing" stream, most likely
+// a separate HTML frame that the user's browser requests data to.
+// We don't want the user to wait with plain snippets until the clusters
+// are created.
+//
+// Also: clustering is resource consuming, so a cache of recent queries 
+// would be in place. Besides, such cache would also be beneficial for the
+// purpose of re-querying existing clusters (remember that the
+// clustering extension may be a heuristic returning a DIFFERENT set of
+// clusters for an identical input).
+// See www.vivisimo.com for details of how this can be done using frames, or
+// http://carrot.cs.put.poznan.pl for an example of a Javascript solution.
+
+// cluster the hits
+HitsCluster [] clusters = null;
+if (clusterer != null) {
+  final long clusteringStart = System.currentTimeMillis();
+  try {
+    clusters = clusterer.clusterHits( details, Summary.toStrings(summaries) );
+    final long clusteringDuration = System.currentTimeMillis() - clusteringStart;
+    bean.LOG.info("Clustering took: " + clusteringDuration + " milliseconds.");
+  } catch (Exception e) {
+    // failed to do clustering (see below)
+  }
+}
+
+if (clusterer == null) {
+  
+      out.write("No clustering extension found.");
+
+} else {
+  if (clusters == null) {
+    
+      out.write("Unable to do clustering.");
+
+  } else if (clusters.length == 0) {
+    
+      out.write("No clusters found.");
+
+  } else {
+    // display top N clusters and top Q documents inside them.
+    int N = 10;
+    int Q = 3;
+    int maxLabels = 2;
+    
+    int displayCounter = 0;
+    N = Math.min(N, clusters.length );
+
+    for (int clusterIndex = 0 ; clusterIndex < N ; clusterIndex++) {
+      HitsCluster cluster = clusters[ clusterIndex ];
+      String [] clusterLabels = cluster.getDescriptionLabels();
+      
+      // probably leave it on for now
+      //if (cluster.isJunkCluster()) continue;
+
+      // output cluster label.
+      
+      out.write("<div style=\"margin: 0px; padding: 0px; font-weight: bold;\">");
+
+      for (int k=0;k<maxLabels && k<clusterLabels.length;k++) {
+        if (k>0) out.print(", ");
+        out.print( Entities.encode(clusterLabels[k]) );
+      }
+      
+      out.write("</div>");
+
+       
+      // now output sample documents from the inside
+      HitDetails[] documents = cluster.getHits();
+      if (documents.length > 0) {
+        
+      out.write("<ul style=\"font-size: 90%; margin-top: .5em;\">");
+
+        for (int k = 0; k < Q && k < documents.length; k++) {
+          HitDetails detail = documents[ k ];
+          String title = detail.getValue("title");
+          String url = detail.getValue("url");
+          if (title == null || title.equals("")) title = url;
+          if (title.length() > 35) title = title.substring(0,35) + "...";
+          
+      out.write("\n");
+      out.write("            <li><a href=\"");
+      out.print(url);
+      out.write('"');
+      out.write('>');
+      out.print( Entities.encode(title) );
+      out.write("</a></li>\n");
+      out.write("          ");
+
+        }
+        
+      out.write("</ul>");
+
+      }
+       
+      // ignore subclusters for now, ALTHOUGH HIERARCHICAL CLUSTERING
+      // METHODS DO EXIST AND ARE VERY USEFUL
+      // HitsCluster [] subclusters = cluster.getSubclusters();
+    }
+  }
+}
+
+
+      out.write('\n');
+      out.write("\n");
+      out.write("</td>\n");
+      out.write("\n");
+      out.write("</tr>\n");
+      out.write("</table>\n");
+      out.write("\n");
+ } 
+      out.write('\n');
+      out.write('\n');
+
+
+if ((hits.totalIsExact() && end < hits.getTotal()) // more hits to show
+    || (!hits.totalIsExact() && (hits.getLength() > start+hitsPerPage))) {
+
+      out.write("\n");
+      out.write("    <form name=\"next\" action=\"../search.jsp\" method=\"get\">\n");
+      out.write("    <input type=\"hidden\" name=\"query\" value=\"");
+      out.print(htmlQueryString);
+      out.write("\">\n");
+      out.write("    <input type=\"hidden\" name=\"lang\" value=\"");
+      out.print(queryLang);
+      out.write("\">\n");
+      out.write("    <input type=\"hidden\" name=\"start\" value=\"");
+      out.print(end);
+      out.write("\">\n");
+      out.write("    <input type=\"hidden\" name=\"hitsPerPage\" value=\"");
+      out.print(hitsPerPage);
+      out.write("\">\n");
+      out.write("    <input type=\"hidden\" name=\"hitsPerSite\" value=\"");
+      out.print(hitsPerSite);
+      out.write("\">\n");
+      out.write("    <input type=\"hidden\" name=\"clustering\" value=\"");
+      out.print(clustering);
+      out.write("\">\n");
+      out.write("    <input type=\"submit\" value=\"");
+      if (_jspx_meth_i18n_005fmessage_005f9(_jspx_page_context))
+        return;
+      out.write('"');
+      out.write('>');
+      out.write('\n');
+ if (sort != null) { 
+      out.write("\n");
+      out.write("    <input type=\"hidden\" name=\"sort\" value=\"");
+      out.print(sort);
+      out.write("\">\n");
+      out.write("    <input type=\"hidden\" name=\"reverse\" value=\"");
+      out.print(reverse);
+      out.write('"');
+      out.write('>');
+      out.write('\n');
+ } 
+      out.write("\n");
+      out.write("    </form>\n");
+
+    }
+
+if ((!hits.totalIsExact() && (hits.getLength() <= start+hitsPerPage))) {
+
+      out.write("\n");
+      out.write("    <form name=\"showAllHits\" action=\"../search.jsp\" method=\"get\">\n");
+      out.write("    <input type=\"hidden\" name=\"query\" value=\"");
+      out.print(htmlQueryString);
+      out.write("\">\n");
+      out.write("    <input type=\"hidden\" name=\"lang\" value=\"");
+      out.print(queryLang);
+      out.write("\">\n");
+      out.write("    <input type=\"hidden\" name=\"hitsPerPage\" value=\"");
+      out.print(hitsPerPage);
+      out.write("\">\n");
+      out.write("    <input type=\"hidden\" name=\"hitsPerSite\" value=\"0\">\n");
+      out.write("    <input type=\"hidden\" name=\"clustering\" value=\"");
+      out.print(clustering);
+      out.write("\">\n");
+      out.write("    <input type=\"submit\" value=\"");
+      if (_jspx_meth_i18n_005fmessage_005f10(_jspx_page_context))
+        return;
+      out.write('"');
+      out.write('>');
+      out.write('\n');
+ if (sort != null) { 
+      out.write("\n");
+      out.write("    <input type=\"hidden\" name=\"sort\" value=\"");
+      out.print(sort);
+      out.write("\">\n");
+      out.write("    <input type=\"hidden\" name=\"reverse\" value=\"");
+      out.print(reverse);
+      out.write('"');
+      out.write('>');
+      out.write('\n');
+ } 
+      out.write("\n");
+      out.write("    </form>\n");
+
+    }
+
+      out.write("\n");
+      out.write("\n");
+      out.write("<table bgcolor=\"3333ff\" align=\"right\">\n");
+      out.write("<tr><td bgcolor=\"ff9900\"><a href=\"");
+      out.print(rss);
+      out.write("\"><font color=\"ffffff\"><b>RSS</b>\n");
+      out.write("</font></a></td></tr>\n");
+      out.write("</table>\n");
+      out.write("\n");
+      out.write("<p>\n");
+      out.write("<a href=\"http://wiki.apache.org/nutch/FAQ\">\n");
+      out.write("<img border=\"0\" src=\"../img/poweredbynutch_01.gif\">\n");
+      out.write("</a>\n");
+      out.write("\n");
+      org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response, "/include/footer.html", out, false);
+      out.write("\n");
+      out.write("\n");
+      out.write("</body>\n");
+      out.write("</html>\n");
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          try { out.clearBuffer(); } catch (java.io.IOException e) {}
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_i18n_005fbundle_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  i18n:bundle
+    org.apache.taglibs.i18n.BundleTag _jspx_th_i18n_005fbundle_005f0 = (org.apache.taglibs.i18n.BundleTag) _005fjspx_005ftagPool_005fi18n_005fbundle_0026_005fbaseName_005fnobody.get(org.apache.taglibs.i18n.BundleTag.class);
+    _jspx_th_i18n_005fbundle_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_i18n_005fbundle_005f0.setParent(null);
+    // /search.jsp(153,0) name = baseName type = null reqTime = true required = true fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
+    _jspx_th_i18n_005fbundle_005f0.setBaseName("org.nutch.jsp.search");
+    int _jspx_eval_i18n_005fbundle_005f0 = _jspx_th_i18n_005fbundle_005f0.doStartTag();
+    if (_jspx_th_i18n_005fbundle_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fi18n_005fbundle_0026_005fbaseName_005fnobody.reuse(_jspx_th_i18n_005fbundle_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fi18n_005fbundle_0026_005fbaseName_005fnobody.reuse(_jspx_th_i18n_005fbundle_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_i18n_005fmessage_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  i18n:message
+    org.apache.taglibs.i18n.MessageTag _jspx_th_i18n_005fmessage_005f0 = (org.apache.taglibs.i18n.MessageTag) _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody.get(org.apache.taglibs.i18n.MessageTag.class);
+    _jspx_th_i18n_005fmessage_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_i18n_005fmessage_005f0.setParent(null);
+    // /search.jsp(157,14) name = key type = null reqTime = true required = true fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
+    _jspx_th_i18n_005fmessage_005f0.setKey("title");
+    int _jspx_eval_i18n_005fmessage_005f0 = _jspx_th_i18n_005fmessage_005f0.doStartTag();
+    if (_jspx_th_i18n_005fmessage_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_i18n_005fmessage_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_i18n_005fmessage_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_i18n_005fmessage_005f1(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  i18n:message
+    org.apache.taglibs.i18n.MessageTag _jspx_th_i18n_005fmessage_005f1 = (org.apache.taglibs.i18n.MessageTag) _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody.get(org.apache.taglibs.i18n.MessageTag.class);
+    _jspx_th_i18n_005fmessage_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_i18n_005fmessage_005f1.setParent(null);
+    // /search.jsp(178,29) name = key type = null reqTime = true required = true fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
+    _jspx_th_i18n_005fmessage_005f1.setKey("search");
+    int _jspx_eval_i18n_005fmessage_005f1 = _jspx_th_i18n_005fmessage_005f1.doStartTag();
+    if (_jspx_th_i18n_005fmessage_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_i18n_005fmessage_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_i18n_005fmessage_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_i18n_005fmessage_005f2(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  i18n:message
+    org.apache.taglibs.i18n.MessageTag _jspx_th_i18n_005fmessage_005f2 = (org.apache.taglibs.i18n.MessageTag) _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody.get(org.apache.taglibs.i18n.MessageTag.class);
+    _jspx_th_i18n_005fmessage_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_i18n_005fmessage_005f2.setParent(null);
+    // /search.jsp(181,26) name = key type = null reqTime = true required = true fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
+    _jspx_th_i18n_005fmessage_005f2.setKey("clustering");
+    int _jspx_eval_i18n_005fmessage_005f2 = _jspx_th_i18n_005fmessage_005f2.doStartTag();
+    if (_jspx_th_i18n_005fmessage_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_i18n_005fmessage_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_i18n_005fmessage_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_i18n_005fmessage_005f4(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  i18n:message
+    org.apache.taglibs.i18n.MessageTag _jspx_th_i18n_005fmessage_005f4 = (org.apache.taglibs.i18n.MessageTag) _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody.get(org.apache.taglibs.i18n.MessageTag.class);
+    _jspx_th_i18n_005fmessage_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_i18n_005fmessage_005f4.setParent(null);
+    // /more.jsp(66,114) name = key type = null reqTime = true required = true fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
+    _jspx_th_i18n_005fmessage_005f4.setKey("viewAsText");
+    int _jspx_eval_i18n_005fmessage_005f4 = _jspx_th_i18n_005fmessage_005f4.doStartTag();
+    if (_jspx_th_i18n_005fmessage_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_i18n_005fmessage_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_i18n_005fmessage_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_i18n_005fmessage_005f5(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  i18n:message
+    org.apache.taglibs.i18n.MessageTag _jspx_th_i18n_005fmessage_005f5 = (org.apache.taglibs.i18n.MessageTag) _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody.get(org.apache.taglibs.i18n.MessageTag.class);
+    _jspx_th_i18n_005fmessage_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_i18n_005fmessage_005f5.setParent(null);
+    // /search.jsp(273,43) name = key type = null reqTime = true required = true fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
+    _jspx_th_i18n_005fmessage_005f5.setKey("cached");
+    int _jspx_eval_i18n_005fmessage_005f5 = _jspx_th_i18n_005fmessage_005f5.doStartTag();
+    if (_jspx_th_i18n_005fmessage_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_i18n_005fmessage_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_i18n_005fmessage_005f5);
+    return false;
+  }
+
+  private boolean _jspx_meth_i18n_005fmessage_005f6(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  i18n:message
+    org.apache.taglibs.i18n.MessageTag _jspx_th_i18n_005fmessage_005f6 = (org.apache.taglibs.i18n.MessageTag) _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody.get(org.apache.taglibs.i18n.MessageTag.class);
+    _jspx_th_i18n_005fmessage_005f6.setPageContext(_jspx_page_context);
+    _jspx_th_i18n_005fmessage_005f6.setParent(null);
+    // /search.jsp(276,109) name = key type = null reqTime = true required = true fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
+    _jspx_th_i18n_005fmessage_005f6.setKey("explain");
+    int _jspx_eval_i18n_005fmessage_005f6 = _jspx_th_i18n_005fmessage_005f6.doStartTag();
+    if (_jspx_th_i18n_005fmessage_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_i18n_005fmessage_005f6);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_i18n_005fmessage_005f6);
+    return false;
+  }
+
+  private boolean _jspx_meth_i18n_005fmessage_005f7(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  i18n:message
+    org.apache.taglibs.i18n.MessageTag _jspx_th_i18n_005fmessage_005f7 = (org.apache.taglibs.i18n.MessageTag) _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody.get(org.apache.taglibs.i18n.MessageTag.class);
+    _jspx_th_i18n_005fmessage_005f7.setPageContext(_jspx_page_context);
+    _jspx_th_i18n_005fmessage_005f7.setParent(null);
+    // /search.jsp(277,38) name = key type = null reqTime = true required = true fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
+    _jspx_th_i18n_005fmessage_005f7.setKey("anchors");
+    int _jspx_eval_i18n_005fmessage_005f7 = _jspx_th_i18n_005fmessage_005f7.doStartTag();
+    if (_jspx_th_i18n_005fmessage_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_i18n_005fmessage_005f7);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_i18n_005fmessage_005f7);
+    return false;
+  }
+
+  private boolean _jspx_meth_i18n_005fmessage_005f8(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  i18n:message
+    org.apache.taglibs.i18n.MessageTag _jspx_th_i18n_005fmessage_005f8 = (org.apache.taglibs.i18n.MessageTag) _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody.get(org.apache.taglibs.i18n.MessageTag.class);
+    _jspx_th_i18n_005fmessage_005f8.setPageContext(_jspx_page_context);
+    _jspx_th_i18n_005fmessage_005f8.setParent(null);
+    // /search.jsp(284,39) name = key type = null reqTime = true required = true fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
+    _jspx_th_i18n_005fmessage_005f8.setKey("moreFrom");
+    int _jspx_eval_i18n_005fmessage_005f8 = _jspx_th_i18n_005fmessage_005f8.doStartTag();
+    if (_jspx_th_i18n_005fmessage_005f8.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_i18n_005fmessage_005f8);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_i18n_005fmessage_005f8);
+    return false;
+  }
+
+  private boolean _jspx_meth_i18n_005fmessage_005f9(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  i18n:message
+    org.apache.taglibs.i18n.MessageTag _jspx_th_i18n_005fmessage_005f9 = (org.apache.taglibs.i18n.MessageTag) _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody.get(org.apache.taglibs.i18n.MessageTag.class);
+    _jspx_th_i18n_005fmessage_005f9.setPageContext(_jspx_page_context);
+    _jspx_th_i18n_005fmessage_005f9.setParent(null);
+    // /search.jsp(317,32) name = key type = null reqTime = true required = true fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
+    _jspx_th_i18n_005fmessage_005f9.setKey("next");
+    int _jspx_eval_i18n_005fmessage_005f9 = _jspx_th_i18n_005fmessage_005f9.doStartTag();
+    if (_jspx_th_i18n_005fmessage_005f9.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_i18n_005fmessage_005f9);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_i18n_005fmessage_005f9);
+    return false;
+  }
+
+  private boolean _jspx_meth_i18n_005fmessage_005f10(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  i18n:message
+    org.apache.taglibs.i18n.MessageTag _jspx_th_i18n_005fmessage_005f10 = (org.apache.taglibs.i18n.MessageTag) _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody.get(org.apache.taglibs.i18n.MessageTag.class);
+    _jspx_th_i18n_005fmessage_005f10.setPageContext(_jspx_page_context);
+    _jspx_th_i18n_005fmessage_005f10.setParent(null);
+    // /search.jsp(334,32) name = key type = null reqTime = true required = true fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
+    _jspx_th_i18n_005fmessage_005f10.setKey("showAllHits");
+    int _jspx_eval_i18n_005fmessage_005f10 = _jspx_th_i18n_005fmessage_005f10.doStartTag();
+    if (_jspx_th_i18n_005fmessage_005f10.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_i18n_005fmessage_005f10);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fi18n_005fmessage_0026_005fkey_005fnobody.reuse(_jspx_th_i18n_005fmessage_005f10);
+    return false;
+  }
+}
Index: /nutchez-0.1/tomcat/work/Catalina/localhost/manager/org/apache/jsp/_401_jsp.java
===================================================================
--- /nutchez-0.1/tomcat/work/Catalina/localhost/manager/org/apache/jsp/_401_jsp.java	(revision 66)
+++ /nutchez-0.1/tomcat/work/Catalina/localhost/manager/org/apache/jsp/_401_jsp.java	(revision 66)
@@ -0,0 +1,119 @@
+package org.apache.jsp;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+
+public final class _401_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static final JspFactory _jspxFactory = JspFactory.getDefaultFactory();
+
+  private static java.util.List _jspx_dependants;
+
+  private javax.el.ExpressionFactory _el_expressionfactory;
+  private org.apache.AnnotationProcessor _jsp_annotationprocessor;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _el_expressionfactory = _jspxFactory.getJspApplicationContext(getServletConfig().getServletContext()).getExpressionFactory();
+    _jsp_annotationprocessor = (org.apache.AnnotationProcessor) getServletConfig().getServletContext().getAttribute(org.apache.AnnotationProcessor.class.getName());
+  }
+
+  public void _jspDestroy() {
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write("<!--\n");
+      out.write("  Licensed to the Apache Software Foundation (ASF) under one or more\n");
+      out.write("  contributor license agreements.  See the NOTICE file distributed with\n");
+      out.write("  this work for additional information regarding copyright ownership.\n");
+      out.write("  The ASF licenses this file to You under the Apache License, Version 2.0\n");
+      out.write("  (the \"License\"); you may not use this file except in compliance with\n");
+      out.write("  the License.  You may obtain a copy of the License at\n");
+      out.write("\n");
+      out.write("      http://www.apache.org/licenses/LICENSE-2.0\n");
+      out.write("\n");
+      out.write("  Unless required by applicable law or agreed to in writing, software\n");
+      out.write("  distributed under the License is distributed on an \"AS IS\" BASIS,\n");
+      out.write("  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n");
+      out.write("  See the License for the specific language governing permissions and\n");
+      out.write("  limitations under the License.\n");
+      out.write("-->\n");
+
+  response.setHeader("WWW-Authenticate", "Basic realm=\"Tomcat Manager Application\"");
+
+      out.write("\n");
+      out.write("<html>\n");
+      out.write(" <head>\n");
+      out.write("  <title>401 Unauthorized</title>\n");
+      out.write("  <style>\n");
+      out.write("    <!--\n");
+      out.write("    BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;font-size:12px;}\n");
+      out.write("    H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;}\n");
+      out.write("    PRE, TT {border: 1px dotted #525D76}\n");
+      out.write("    A {color : black;}A.name {color : black;}\n");
+      out.write("    -->\n");
+      out.write("  </style>\n");
+      out.write(" </head>\n");
+      out.write(" <body>\n");
+      out.write("   <h1>401 Unauthorized</h1>\n");
+      out.write("   <p>\n");
+      out.write("    You are not authorized to view this page. If you have not changed\n");
+      out.write("    any configuration files, please examine the file\n");
+      out.write("    <tt>conf/tomcat-users.xml</tt> in your installation. That\n");
+      out.write("    file will contain the credentials to let you use this webapp.\n");
+      out.write("   </p>\n");
+      out.write("   <p>\n");
+      out.write("    You will need to add <tt>manager</tt> role to the config file listed above.\n");
+      out.write("    For example:\n");
+      out.write("<pre>\n");
+      out.write("&lt;role rolename=\"manager\"/&gt;\n");
+      out.write("&lt;user username=\"tomcat\" password=\"s3cret\" roles=\"manager\"/&gt;\n");
+      out.write("</pre>\n");
+      out.write("   </p>\n");
+      out.write("   <p>\n");
+      out.write("    For more information - please see the\n");
+      out.write("    <a href=\"/docs/manager-howto.html\">Manager App HOW-TO</a>.\n");
+      out.write("   </p>\n");
+      out.write(" </body>\n");
+      out.write("\n");
+      out.write("</html>\n");
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          try { out.clearBuffer(); } catch (java.io.IOException e) {}
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+}
Index: /nutchez-0.1/urls/urls.txt
===================================================================
--- /nutchez-0.1/urls/urls.txt	(revision 66)
+++ /nutchez-0.1/urls/urls.txt	(revision 66)
@@ -0,0 +1,2 @@
+http://wiki.apache.org/hadoop/
+http://wiki.apache.org/nutch/
Index: /nutchez-0.1/webapps/datanode/WEB-INF/web.xml
===================================================================
--- /nutchez-0.1/webapps/datanode/WEB-INF/web.xml	(revision 66)
+++ /nutchez-0.1/webapps/datanode/WEB-INF/web.xml	(revision 66)
@@ -0,0 +1,43 @@
+<?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">
+<!--
+Automatically created by Tomcat JspC.
+-->
+<web-app>
+
+
+    <servlet>
+        <servlet-name>org.apache.hadoop.hdfs.server.datanode.browseDirectory_jsp</servlet-name>
+        <servlet-class>org.apache.hadoop.hdfs.server.datanode.browseDirectory_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.hadoop.hdfs.server.datanode.tail_jsp</servlet-name>
+        <servlet-class>org.apache.hadoop.hdfs.server.datanode.tail_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.hadoop.hdfs.server.datanode.browseBlock_jsp</servlet-name>
+        <servlet-class>org.apache.hadoop.hdfs.server.datanode.browseBlock_jsp</servlet-class>
+    </servlet>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.hadoop.hdfs.server.datanode.browseDirectory_jsp</servlet-name>
+        <url-pattern>/browseDirectory.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.hadoop.hdfs.server.datanode.tail_jsp</servlet-name>
+        <url-pattern>/tail.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.hadoop.hdfs.server.datanode.browseBlock_jsp</servlet-name>
+        <url-pattern>/browseBlock.jsp</url-pattern>
+    </servlet-mapping>
+
+</web-app>
+
Index: /nutchez-0.1/webapps/hdfs/WEB-INF/web.xml
===================================================================
--- /nutchez-0.1/webapps/hdfs/WEB-INF/web.xml	(revision 66)
+++ /nutchez-0.1/webapps/hdfs/WEB-INF/web.xml	(revision 66)
@@ -0,0 +1,33 @@
+<?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">
+<!--
+Automatically created by Tomcat JspC.
+-->
+<web-app>
+
+
+    <servlet>
+        <servlet-name>org.apache.hadoop.hdfs.server.namenode.nn_005fbrowsedfscontent_jsp</servlet-name>
+        <servlet-class>org.apache.hadoop.hdfs.server.namenode.nn_005fbrowsedfscontent_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.hadoop.hdfs.server.namenode.dfshealth_jsp</servlet-name>
+        <servlet-class>org.apache.hadoop.hdfs.server.namenode.dfshealth_jsp</servlet-class>
+    </servlet>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.hadoop.hdfs.server.namenode.nn_005fbrowsedfscontent_jsp</servlet-name>
+        <url-pattern>/nn_browsedfscontent.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.hadoop.hdfs.server.namenode.dfshealth_jsp</servlet-name>
+        <url-pattern>/dfshealth.jsp</url-pattern>
+    </servlet-mapping>
+
+</web-app>
+
Index: /nutchez-0.1/webapps/hdfs/index.html
===================================================================
--- /nutchez-0.1/webapps/hdfs/index.html	(revision 66)
+++ /nutchez-0.1/webapps/hdfs/index.html	(revision 66)
@@ -0,0 +1,20 @@
+<meta HTTP-EQUIV="REFRESH" content="0;url=dfshealth.jsp"/>
+<html>
+
+<head>
+<title>Hadoop Administration</title>
+</head>
+
+<body>
+
+<h1>Hadoop Administration</h1>
+
+<ul>
+
+<li><a href="dfshealth.jsp">DFS Health/Status</a></li>
+
+</ul>
+
+</body>
+
+</html>
Index: /nutchez-0.1/webapps/job/WEB-INF/web.xml
===================================================================
--- /nutchez-0.1/webapps/job/WEB-INF/web.xml	(revision 66)
+++ /nutchez-0.1/webapps/job/WEB-INF/web.xml	(revision 66)
@@ -0,0 +1,183 @@
+<?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">
+<!--
+Automatically created by Tomcat JspC.
+-->
+<web-app>
+
+
+    <servlet>
+        <servlet-name>org.apache.hadoop.mapred.jobqueue_005fdetails_jsp</servlet-name>
+        <servlet-class>org.apache.hadoop.mapred.jobqueue_005fdetails_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.hadoop.mapred.jobtracker_jsp</servlet-name>
+        <servlet-class>org.apache.hadoop.mapred.jobtracker_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.hadoop.mapred.machines_jsp</servlet-name>
+        <servlet-class>org.apache.hadoop.mapred.machines_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.hadoop.mapred.taskdetailshistory_jsp</servlet-name>
+        <servlet-class>org.apache.hadoop.mapred.taskdetailshistory_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.hadoop.mapred.jobhistory_jsp</servlet-name>
+        <servlet-class>org.apache.hadoop.mapred.jobhistory_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.hadoop.mapred.jobconf_005fhistory_jsp</servlet-name>
+        <servlet-class>org.apache.hadoop.mapred.jobconf_005fhistory_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.hadoop.mapred.loadhistory_jsp</servlet-name>
+        <servlet-class>org.apache.hadoop.mapred.loadhistory_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.hadoop.mapred.jobdetailshistory_jsp</servlet-name>
+        <servlet-class>org.apache.hadoop.mapred.jobdetailshistory_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.hadoop.mapred.jobtaskshistory_jsp</servlet-name>
+        <servlet-class>org.apache.hadoop.mapred.jobtaskshistory_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.hadoop.mapred.jobfailures_jsp</servlet-name>
+        <servlet-class>org.apache.hadoop.mapred.jobfailures_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.hadoop.mapred.taskdetails_jsp</servlet-name>
+        <servlet-class>org.apache.hadoop.mapred.taskdetails_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.hadoop.mapred.analysejobhistory_jsp</servlet-name>
+        <servlet-class>org.apache.hadoop.mapred.analysejobhistory_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.hadoop.mapred.jobblacklistedtrackers_jsp</servlet-name>
+        <servlet-class>org.apache.hadoop.mapred.jobblacklistedtrackers_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.hadoop.mapred.jobdetails_jsp</servlet-name>
+        <servlet-class>org.apache.hadoop.mapred.jobdetails_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.hadoop.mapred.jobtasks_jsp</servlet-name>
+        <servlet-class>org.apache.hadoop.mapred.jobtasks_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.hadoop.mapred.jobconf_jsp</servlet-name>
+        <servlet-class>org.apache.hadoop.mapred.jobconf_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.hadoop.mapred.taskstats_jsp</servlet-name>
+        <servlet-class>org.apache.hadoop.mapred.taskstats_jsp</servlet-class>
+    </servlet>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.hadoop.mapred.jobqueue_005fdetails_jsp</servlet-name>
+        <url-pattern>/jobqueue_details.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.hadoop.mapred.jobtracker_jsp</servlet-name>
+        <url-pattern>/jobtracker.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.hadoop.mapred.machines_jsp</servlet-name>
+        <url-pattern>/machines.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.hadoop.mapred.taskdetailshistory_jsp</servlet-name>
+        <url-pattern>/taskdetailshistory.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.hadoop.mapred.jobhistory_jsp</servlet-name>
+        <url-pattern>/jobhistory.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.hadoop.mapred.jobconf_005fhistory_jsp</servlet-name>
+        <url-pattern>/jobconf_history.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.hadoop.mapred.loadhistory_jsp</servlet-name>
+        <url-pattern>/loadhistory.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.hadoop.mapred.jobdetailshistory_jsp</servlet-name>
+        <url-pattern>/jobdetailshistory.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.hadoop.mapred.jobtaskshistory_jsp</servlet-name>
+        <url-pattern>/jobtaskshistory.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.hadoop.mapred.jobfailures_jsp</servlet-name>
+        <url-pattern>/jobfailures.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.hadoop.mapred.taskdetails_jsp</servlet-name>
+        <url-pattern>/taskdetails.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.hadoop.mapred.analysejobhistory_jsp</servlet-name>
+        <url-pattern>/analysejobhistory.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.hadoop.mapred.jobblacklistedtrackers_jsp</servlet-name>
+        <url-pattern>/jobblacklistedtrackers.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.hadoop.mapred.jobdetails_jsp</servlet-name>
+        <url-pattern>/jobdetails.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.hadoop.mapred.jobtasks_jsp</servlet-name>
+        <url-pattern>/jobtasks.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.hadoop.mapred.jobconf_jsp</servlet-name>
+        <url-pattern>/jobconf.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.hadoop.mapred.taskstats_jsp</servlet-name>
+        <url-pattern>/taskstats.jsp</url-pattern>
+    </servlet-mapping>
+
+</web-app>
+
Index: /nutchez-0.1/webapps/job/index.html
===================================================================
--- /nutchez-0.1/webapps/job/index.html	(revision 66)
+++ /nutchez-0.1/webapps/job/index.html	(revision 66)
@@ -0,0 +1,20 @@
+<meta HTTP-EQUIV="REFRESH" content="0;url=jobtracker.jsp"/>
+<html>
+
+<head>
+<title>Hadoop Administration</title>
+</head>
+
+<body>
+
+<h1>Hadoop Administration</h1>
+
+<ul>
+
+<li><a href="jobtracker.jsp">JobTracker</a></li>
+
+</ul>
+
+</body>
+
+</html>
Index: /nutchez-0.1/webapps/static/hadoop.css
===================================================================
--- /nutchez-0.1/webapps/static/hadoop.css	(revision 66)
+++ /nutchez-0.1/webapps/static/hadoop.css	(revision 66)
@@ -0,0 +1,129 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+body {
+  background-color : #ffffff;
+  font-family : sans-serif;
+}
+
+.small {
+  font-size : smaller;
+}
+
+div#dfsnodetable tr#row1, div#dfstable td#col1 {
+	font-weight : bolder;
+}
+
+div#dfstable td#col1 {
+	vertical-align : top;
+}
+
+div#dfstable td#col3 {
+	text-align : right;
+}
+
+div#dfsnodetable caption {
+	text-align : left;
+}
+
+div#dfsnodetable a#title {
+	font-size : larger;
+	font-weight : bolder;
+}
+
+div#dfsnodetable td, th {
+	border-bottom-style : none;
+        padding-bottom : 4px;
+        padding-top : 4px;       
+}
+
+div#dfsnodetable A:link, A:visited {
+	text-decoration : none;       
+}
+
+div#dfsnodetable th.header, th.headerASC, th.headerDSC {
+        padding-bottom : 8px;
+        padding-top : 8px;       
+}
+div#dfsnodetable th.header:hover, th.headerASC:hover, th.headerDSC:hover,
+                 td.name:hover {
+        text-decoration : underline;
+	cursor : pointer;
+}
+
+div#dfsnodetable td.blocks, td.size, td.pcused, td.adminstate, td.lastcontact {
+	text-align : right;
+}
+
+div#dfsnodetable .rowNormal .header {
+	background-color : #ffffff;
+}
+div#dfsnodetable .rowAlt, .headerASC, .headerDSC {
+	background-color : lightyellow;
+}
+
+div#dfstable table {
+	white-space : pre;
+}
+
+div#dfsnodetable td, div#dfsnodetable th, div#dfstable td {
+	padding-left : 10px;
+	padding-right : 10px;
+}
+
+td.perc_filled {
+  background-color:#AAAAFF;
+}
+
+td.perc_nonfilled {
+  background-color:#FFFFFF;
+}
+
+line.taskgraphline {
+  stroke-width:1;stroke-linecap:round;  
+}
+
+#quicklinks {
+	margin: 0;
+	padding: 2px 4px;
+	position: fixed;
+	top: 0;
+	right: 0;
+	text-align: right;
+	background-color: #eee;
+	font-weight: bold;
+}
+
+#quicklinks ul {
+	margin: 0;
+	padding: 0;
+	list-style-type: none;
+	font-weight: normal;
+}
+
+#quicklinks ul {
+	display: none;
+}
+
+#quicklinks a {
+	font-size: smaller;
+	text-decoration: none;
+}
+
+#quicklinks ul a {
+	text-decoration: underline;
+}
Index: /nutchez-0.1/webapps/static/jobconf.xsl
===================================================================
--- /nutchez-0.1/webapps/static/jobconf.xsl	(revision 66)
+++ /nutchez-0.1/webapps/static/jobconf.xsl	(revision 66)
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+<xsl:output method="html"/>
+<xsl:template match="configuration">
+<table border="1" align="center" >
+<tr>
+ <th>name</th>
+ <th>value</th>
+</tr>
+<xsl:for-each select="property">
+<tr>
+  <td width="35%"><b><xsl:value-of select="name"/></b></td>
+  <td width="65%"><xsl:value-of select="value"/></td>
+</tr>
+</xsl:for-each>
+</table>
+</xsl:template>
+</xsl:stylesheet>
Index: /nutchez-0.1/webapps/static/jobtracker.js
===================================================================
--- /nutchez-0.1/webapps/static/jobtracker.js	(revision 66)
+++ /nutchez-0.1/webapps/static/jobtracker.js	(revision 66)
@@ -0,0 +1,151 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+function checkButtonVerbage()
+{
+  var inputs = document.getElementsByName("jobCheckBox");
+  var check = getCheckStatus(inputs);
+
+  setCheckButtonVerbage(! check);
+}
+
+function selectAll()
+{
+  var inputs = document.getElementsByName("jobCheckBox");
+  var check = getCheckStatus(inputs);
+
+  for (var i in inputs) {
+    if ('jobCheckBox' == inputs[i].name) {
+      if ( inputs[i].parentNode.parentNode.style.display != 'none') {
+        inputs[i].checked = ! check;
+      }
+    }
+  }
+
+  setCheckButtonVerbage(check);
+}
+
+function getCheckStatus(inputs)
+{
+  var check = true;
+
+  for (var i in inputs) {
+    if ('jobCheckBox' == inputs[i].name) {
+      if ( inputs[i].parentNode.parentNode.style.display != 'none') {
+        check = (inputs[i].checked && check);
+      }
+    }
+  }
+
+  return check;
+}
+
+
+function setCheckButtonVerbage(check)
+{
+  var op = document.getElementById("checkEm");
+  op.value = check ? "Select All" : "Deselect All";
+}
+
+function applyfilter()
+{
+  var cols = ["job","priority","user","name"];
+  var nodes = [];
+  var filters = [];
+
+  for (var i = 0; i < cols.length; ++i) {
+    nodes[i] = document.getElementById(cols[i] + "_0" );
+  }
+
+  var filter = document.getElementById("filter");
+  filters = filter.value.split(' ');
+
+  var row = 0;
+  while ( nodes[0] != null ) {
+    //default display status
+    var display = true;
+
+    // for each filter
+    for (var filter_idx = 0; filter_idx < filters.length; ++filter_idx) {
+
+      // go check each column
+      if ((getDisplayStatus(nodes, filters[filter_idx], cols)) == 0) {
+        display = false;
+        break;
+      }
+    }
+
+    // set the display status
+    nodes[0].parentNode.style.display = display ? '' : 'none';
+
+    // next row
+    ++row;
+
+    // next set of controls
+    for (var i = 0; i < cols.length; ++i) {
+      nodes[i] = document.getElementById(cols[i] + "_" + row);
+    }
+  }  // while
+}
+
+function getDisplayStatus(nodes, filter, cols)
+{
+  var offset = filter.indexOf(':');
+
+  var search = offset != -1 ? filter.substring(offset + 1).toLowerCase() : filter.toLowerCase();
+
+  for (var col = 0; col < cols.length; ++col) {
+    // a column specific filter
+    if (offset != -1 ) {
+      var searchCol = filter.substring(0, offset).toLowerCase();
+
+         if (searchCol == cols[col]) {
+         // special case jobs to remove unnecessary stuff
+         return containsIgnoreCase(stripHtml(nodes[col].innerHTML), search);
+          }
+     } else if (containsIgnoreCase(stripHtml(nodes[col].innerHTML), filter)) {
+       return true;
+     }
+   }
+
+  return false;
+}
+
+function stripHtml(text)
+{
+  return text.replace(/<[^>]*>/g,'').replace(/&[^;]*;/g,'');
+}
+
+function containsIgnoreCase(haystack, needle)
+{
+  return haystack.toLowerCase().indexOf(needle.toLowerCase()) != -1;
+}
+
+function confirmAction()
+{
+  return confirm("Are you sure?");
+}
+
+function toggle(id)
+{
+  if ( document.getElementById(id).style.display != 'block') {
+    document.getElementById(id).style.display = 'block';
+  }
+  else {
+    document.getElementById(id).style.display = 'none';
+  }
+}
Index: /nutchez-0.1/webapps/task/WEB-INF/web.xml
===================================================================
--- /nutchez-0.1/webapps/task/WEB-INF/web.xml	(revision 66)
+++ /nutchez-0.1/webapps/task/WEB-INF/web.xml	(revision 66)
@@ -0,0 +1,23 @@
+<?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">
+<!--
+Automatically created by Tomcat JspC.
+-->
+<web-app>
+
+
+    <servlet>
+        <servlet-name>org.apache.hadoop.mapred.tasktracker_jsp</servlet-name>
+        <servlet-class>org.apache.hadoop.mapred.tasktracker_jsp</servlet-class>
+    </servlet>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.hadoop.mapred.tasktracker_jsp</servlet-name>
+        <url-pattern>/tasktracker.jsp</url-pattern>
+    </servlet-mapping>
+
+</web-app>
+
Index: /nutchez-0.1/webapps/task/index.html
===================================================================
--- /nutchez-0.1/webapps/task/index.html	(revision 66)
+++ /nutchez-0.1/webapps/task/index.html	(revision 66)
@@ -0,0 +1,1 @@
+<meta HTTP-EQUIV="REFRESH" content="0;url=tasktracker.jsp"/>
