{"id":726,"date":"2018-08-18T09:02:31","date_gmt":"2018-08-18T01:02:31","guid":{"rendered":"http:\/\/down.cdhaha.net\/?p=726"},"modified":"2018-08-18T09:02:31","modified_gmt":"2018-08-18T01:02:31","slug":"apache-tomcat","status":"publish","type":"post","link":"http:\/\/down.cdhaha.net\/?p=726","title":{"rendered":"Apache Tomcat 9.0.11"},"content":{"rendered":"<p><a href=\"http:\/\/tomcat.apache.org\" target=\"_blank\"><img decoding=\"async\" class=\"alignright\" title=\"Tomcat\" src=\"wp-content\/uploads\/2009\/12\/tomcat.gif\" alt=\"Tomcat\" \/><\/a>Tomcat\u662f\u7531Apache\u8f6f\u4ef6\u57fa\u91d1\u4f1a\u4e0b\u5c5e\u7684Jakarta\u9879\u76ee\u5f00\u53d1\u7684\u4e00\u4e2aServlet\u5bb9\u5668\uff0c\u6309\u7167Sun Microsystems\u63d0\u4f9b\u7684\u6280\u672f\u89c4\u8303\uff0c\u5b9e\u73b0\u4e86\u5bf9Servlet\u548cJavaServer Page\uff08JSP\uff09\u7684\u652f\u6301\uff0c\u5e76\u63d0\u4f9b\u4e86\u4f5c\u4e3a Web\u670d\u52a1\u5668\u7684\u4e00\u4e9b\u7279\u6709\u529f\u80fd\uff0c\u5982Tomcat\u7ba1\u7406\u548c\u63a7\u5236\u5e73\u53f0\u3001\u5b89\u5168\u57df\u7ba1\u7406\u548cTomcat\u9600\u7b49\u3002<\/p>\n<p>\u7531\u4e8eTomcat\u672c\u8eab\u4e5f\u5185\u542b\u4e86\u4e00\u4e2a HTTP\u670d\u52a1\u5668\uff0c\u5b83\u4e5f\u53ef\u4ee5\u88ab\u89c6\u4f5c\u4e00\u4e2a\u5355\u72ec\u7684Web\u670d\u52a1\u5668\u3002\u4f46\u662f\uff0c\u4e0d\u80fd\u5c06 Tomcat \u548c Apache Web \u670d\u52a1\u5668\u6df7\u6dc6\uff0cApache Web Server \u662f\u4e00\u4e2a\u7528 C \u8bed\u8a00\u5b9e\u73b0\u7684 HTTP web server\uff1b\u8fd9\u4e24\u4e2a HTTP web server \u4e0d\u662f\u6346\u7ed1\u5728\u4e00\u8d77\u7684\u3002Apache Tomcat \u5305\u542b\u4e86\u4e00\u4e2a\u914d\u7f6e\u7ba1\u7406\u5de5\u5177\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u7f16\u8f91 XML \u683c\u5f0f\u7684\u914d\u7f6e\u6587\u4ef6\u6765\u8fdb\u884c\u914d\u7f6e\u3002<br \/>\n<!--more--><\/p>\n<p>Tomcat 9.0.11 (markt)<br \/>\nCatalina<\/p>\n<p>    Add: Make the isLocked() method of the LockOutRealm public and expose the method via JMX. (markt)<br \/>\n    Add: 53387: Add support for regular expression capture groups to the SSI servlet and filter. (markt)<br \/>\n    Fix: 53411: Improve the handling of HTTP requests that do not explicitly specify a host name when no default host is configured. Also improve the tracking of changes to the default host as hosts are added and removed while Tomcat is running. (markt)<br \/>\n    Fix: Ensure that the HTTP Vary header is set correctly when using the CORS filter and improve the cacheability of requests that pass through the COPRS filter. (markt)<br \/>\n    Fix: 62527: Revert restriction of JNDI to the java: namespace. (remm)<br \/>\n    Add: Introduce a new class &#8211; MultiThrowable &#8211; to report exceptions when multiple actions are taken where each action may throw an exception but all actions are taken before any errors are reported. Use this new class when reporting multiple container (e.g. web application) failures during start. (markt)<br \/>\n    Fix: Correctly decode URL paths (+ should not be decoded to a space in the path) in the RequestDispatcher and the web application class loader. (markt)<br \/>\n    Add: Make logout more robust if JASPIC subject is unexpectedly unavailable. (markt)<br \/>\n    Fix: 62547: JASPIC cleanSubject() was not called on logout when the authenticator was configured to cache the authenticated Principal. Patch provided by Guillermo Gonz\u00e1lez de Ag\u00fcero. (markt)<br \/>\n    Add: 62559: Add jaxb-*.jar to the list of JARs ignored by StandardJarScanner. (markt)<br \/>\n    Add: 62560: Add oraclepki.jar to the list of JARs ignored by StandardJarScanner. (markt)<br \/>\n    Add: 62607: Return a non-zero exit code from catalina.[bat|sh] run if Tomcat fails to start. (markt)<br \/>\n    Fix: Use short circuit logic to prevent potential NPE in CorsFilter. (fschumacher)<br \/>\n    Code: Simplify construction of appName from container name in JAASRealm. (fschumacher)<br \/>\n    Code: Remove ServletException from declaration of Tomcat.addWebapp(String,String) since it is never thrown. Patch provided by Tzafrir. (markt)<\/p>\n<p>Coyote<\/p>\n<p>    Code: Refactor HTTP date creation and parsing to reduce code duplication, reduce the use of ThreadLocals and to increase the use of caching. (markt)<br \/>\n    Fix: 56676: Add a default location for the native library, as ${catalina.home}\/bin, which the testsuite already uses. (remm)<br \/>\n    Update: 60560: Add support for using an inherited channel to the NIO connector. Based on a patch submitted by Thomas Meyer with testing and suggestions by Coty Sutherland. (remm)<br \/>\n    Fix: 62507: Ensure that JSSE based TLS connectors work correctly with a DKS keystore. (markt)<br \/>\n    Fix: Refactor code that adds an additional header name to the Vary HTTP response header to use a common utility method that addresses several additional edge cases. (markt)<br \/>\n    Fix: 62515: When a connector is configured (via setting bindOnInit to false) to bind\/unbind the server socket during start\/stop, close the socket earlier in the stop process so new connections do not sit in the TCP backlog during the shutdown process only to be dropped as stop completes. In this scenario new connections will now be refused immediately. (markt)<br \/>\n    Fix: 62526: Correctly handle PKCS12 format key stores when the key store password is configured to be the empty string. (markt)<br \/>\n    Fix: 62605: Ensure ReadListener.onDataAvailable() is called when the initial request body data arrives after the request headers when using asynchronous processing over HTTP\/2. (markt)<br \/>\n    Fix: 62614: Ensure that WriteListener.onWritePossible() is called after isReady() returns false and the window size is subsequently incremented when using asynchronous processing over HTTP\/2. (markt)<\/p>\n<p>Jasper<\/p>\n<p>    Add: 53492: Make the Java file generation process multi-threaded. By default, one thread will be used per core. Based on a patch by Dan Fabulich. (markt)<br \/>\n    Add: 62453: Add a performance optimisation for using expressions in tags that depend on uninitialised tag attributes with implied scope. Generally, using an explicit scope with tag attributes in EL is the best way to avoid various potential performance issues. (markt)<br \/>\n    Fix: Correctly decode URL paths (+ should not be decoded to a space in the path) in the Jasper class loader. (markt)<br \/>\n    Fix: 62603: Fix a potential race condition when development mode is disabled and background compilation checks are enabled. It was possible that some updates would not take effect and\/or ClassNotFoundExceptions would occur. (markt)<\/p>\n<p>WebSocket<\/p>\n<p>    Fix: 62596: Remove the limit on the size of the initial HTTP upgrade request used to establish the web socket connection. (markt)<\/p>\n<p>Web applications<\/p>\n<p>    Add: 62558: Add Russian translations for the Manager and Host Manager web applications. Based on a patch by Ivan Krasnov. (markt)<br \/>\n    Add: Add documents for Static Membership service. (kfujino)<br \/>\n    Add: 62561: Add advanced class loader configuration information regarding the use of the Server and Shared class loaders to the documentation web application. (markt)<\/p>\n<p>Tribes<\/p>\n<p>    Fix: Ensures that the specified rxBufSize is correctly set to receiver buffer size. (kfujino)<br \/>\n    Fix: Correct the stop order of the Channel components. It stops in the reverse order to that at startup. (kfujino)<br \/>\n    Add: Added new StaticMembership implementation. This implementation does not require any additional configuration of other ChannelInterceptors. It works only with membership service. (kfujino)<\/p>\n<p>Other<\/p>\n<p>    Update: Support building with Java 9+ while preserving the Java 8 compatibility at runtime (requires Ant 1.9.8 or later). (ebourg)<br \/>\n    Update: Update WSDL4J library to version 1.6.3 (from 1.6.2). (kkolinko)<br \/>\n    Update: Update JUnit library to version 4.12 (from 4.11). (kkolinko)<br \/>\n    Update: Downgrade CGLib library used for testing with EasyMock to version 2.2.2 (from 2.2.3) as version 2.2.3 is not available from Maven Central. (markt)<br \/>\n    Add: Implement checksum checks when downloading dependencies that are used to build Tomcat. (kkolinko)<br \/>\n    Fix: Fixed spelling. Patch provided by Jimmy Casey via GitHub. (violetagg)<br \/>\n    Update: Update the internal fork of Apache Commons Pool 2 to 3e02523 (2018-08-09) to pick up some bug fixes and enhancements. (markt)<br \/>\n    Update: Update the internal fork of Apache Commons DBCP 2 to abc0484 (2018-08-09) to pick up some bug fixes and enhancements. (markt)<br \/>\n    Fix: Correct various spelling errors throughout the source code and documentation. Patch provided by Kazuhiro Sera. (markt)<\/p>\n<div class=\"but_down\"><a href=\"http:\/\/mirrors.tuna.tsinghua.edu.cn\/apache\/tomcat\/tomcat-9\/v9.0.11\/bin\/apache-tomcat-9.0.11.zip\"target=\"_blank\"><span>Apache Tomcat V9<\/span><\/a><div class=\"clear\"><\/div><\/div>\n<div class=\"but_down\"><a href=\"http:\/\/mirror.bit.edu.cn\/apache\/tomcat\/tomcat-8\/v8.5.33\/bin\/apache-tomcat-8.5.33.zip\"target=\"_blank\"><span>Apache Tomcat V8<\/span><\/a><div class=\"clear\"><\/div><\/div>\n<div class=\"but_down\"><a href=\"http:\/\/mirror.bit.edu.cn\/apache\/tomcat\/tomcat-7\/v7.0.90\/bin\/apache-tomcat-7.0.90.zip\"target=\"_blank\"><span>Apache Tomcat V7<\/span><\/a><div class=\"clear\"><\/div><\/div>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>Tomcat\u662f\u7531Apache\u8f6f\u4ef6\u57fa\u91d1\u4f1a\u4e0b\u5c5e\u7684Jakarta\u9879\u76ee\u5f00\u53d1\u7684\u4e00\u4e2aServlet\u5bb9\u5668\uff0c\u6309\u7167Sun Microsystems\u63d0\u4f9b\u7684\u6280\u672f\u89c4\u8303\uff0c\u5b9e\u73b0\u4e86\u5bf9Servlet\u548cJavaServer Page\uff08JSP\uff09\u7684\u652f\u6301\uff0c\u5e76\u63d0\u4f9b\u4e86\u4f5c\u4e3a Web\u670d\u52a1\u5668\u7684\u4e00\u4e9b\u7279\u6709\u529f\u80fd\uff0c\u5982Tomcat\u7ba1\u7406\u548c\u63a7\u5236\u5e73\u53f0\u3001\u5b89\u5168\u57df\u7ba1\u7406\u548cTomcat\u9600\u7b49\u3002 \u7531\u4e8eTomcat\u672c\u8eab\u4e5f\u5185\u542b\u4e86\u4e00\u4e2a HTTP\u670d\u52a1\u5668\uff0c\u5b83\u4e5f\u53ef\u4ee5\u88ab\u89c6\u4f5c\u4e00\u4e2a\u5355\u72ec\u7684Web\u670d\u52a1\u5668\u3002\u4f46\u662f\uff0c\u4e0d\u80fd\u5c06 Tomcat \u548c Apache Web \u670d\u52a1\u5668\u6df7\u6dc6\uff0cApache Web Server \u662f\u4e00\u4e2a\u7528 C \u8bed\u8a00\u5b9e\u73b0\u7684 HTTP web server\uff1b\u8fd9\u4e24\u4e2a HTTP&#8230;<!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[267],"tags":[292,489],"_links":{"self":[{"href":"http:\/\/down.cdhaha.net\/index.php?rest_route=\/wp\/v2\/posts\/726"}],"collection":[{"href":"http:\/\/down.cdhaha.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/down.cdhaha.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/down.cdhaha.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/down.cdhaha.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=726"}],"version-history":[{"count":0,"href":"http:\/\/down.cdhaha.net\/index.php?rest_route=\/wp\/v2\/posts\/726\/revisions"}],"wp:attachment":[{"href":"http:\/\/down.cdhaha.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=726"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/down.cdhaha.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=726"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/down.cdhaha.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=726"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}