Apache Tomcat
Apache Tomcat
9.0.38

4.0

Apache Tomcat free download for Mac

Apache Tomcat9.0.38

17 September 2020

Open source implementation of the Java Servlet.

Overview

The Apache Tomcat software is an open source implementation of the Java Servlet, JavaServer Pages, Java Expression Language and Java WebSocket technologies. The Java Servlet, JavaServer Pages, Java Expression Language and Java WebSocket specifications are developed under the Java Community Process.

The Apache Tomcat software is developed in an open and participatory environment and released under the Apache License version 2. The Apache Tomcat project is intended to be a collaboration of the best-of-breed developers from around the world. We invite you to participate in this open development project. To learn more about getting involved, click here.

Apache Tomcat software powers numerous large-scale, mission-critical web applications across a diverse range of industries and organizations. Some of these users and their stories are listed on the PoweredBy wiki page.

What's new in Apache Tomcat

Version 9.0.38:
Catalina:
  • Pre-load the CoyoteOutputStream class to prevent a potential exception when running under a security manager. Patch provided by Johnathan Gilday.
  • If a request is not matched to a Context, delay issuing the 404 response to give the rewrite valve, if configured, an opportunity to rewrite the request.
  • Change top package name for generated emebedded classes to avoid conflict with default host name on case insensitive filesystems.
  • Add missing code generation for remaining digester rules.
  • Add a dedicated loader for generated code to avoid dynamic class loading.
  • Refactor the Default servlet to provide a single method that can be overridden (generateETag()) should a custom entity tag format be required.
  • Improve the validation of entity tags provided with conditional requests. Requests with headers that contain invalid entity tags will be rejected with a 400 response code. Improve the matching algorithm used to compare entity tags in conditional requests with the entity tag for the requested resource. Based on a pull request by Sergey Ponomarev.
  • Correct the description of the storage format for salted hashes in the Javadoc for MessageDigestCredentialHandler and refactor the associated code for clarity. Based on a patch provided by Milo van der Zee.
  • Correct the path vaidation to allow the use of the file system root for the docBase attribute of a Context. Note that such a configuration should be used with caution.
  • Added filtering expression for requests that are not supposed to use session in PersistentValve.
  • Use the correct method to calculate session idle time in PersistentValve.
  • Fix path used by the health check valve when it is not associated with a Context.
  • The JASPIC authenticator now checks the ServerAuthModule for jakarta.servlet.http.authType and, if present, uses the value provided. Based on a patch by Robert Rodewald.
  • The JASPIC authenticator now checks the value of jakarta.servlet.http.registerSession set by the ServerAuthModule when decideing whether or nor to register the session. Based on a patch by Robert Rodewald.
Coyote:
  • For requests containing the Expect: 100-continue header, add optional support to delay sending an intermediate 100 status response until the servlet reads the request body, allowing the servlet the opportunity to respond without asking for the request body. Based on a pull request by malaysf.
  • Refactor the implementation of ServletInputStream.available() to provide a more accurate return value, particularly when end of stream has been reached.
  • Refactor the stopping of the acceptor to ensure that the acceptor thread stops when a connector is started immediately after it is stopped.
  • Improve compatibility with FIPS keystores. When a FIPS keystore is configured and the keystore contains multiple keys, the alias attribute will be ignored and the key used will be implementation dependent.
  • Improve handling HTTP/2 stream reset frames received from clients.
  • Avoid a potential NPE in the AprEndpoint if a socket is closed in one thread at the same time as the poller is processing an event for that socket in another.
  • Avoid several potential NPEs introduced in the changes in the previous release to reduce the memory footprint of closed HTTP/2 streams.
  • Refactor the HTTP/2 implementation to more consistently return a stream closed error if errors occur after a stream has been reset by the client.
  • Improve handling of HTTP/2 stream level flow control errors and notify the stream immediately if it is waiting for an allocation when the flow control error occurs.
  • Ensure that window update frames are sent for HTTP/2 connections to account for DATA frames containing padding including when the associated stream has been closed.
  • Ensure that window update frames are sent for HTTP/2 connections and streams to account for DATA frames containing zero-length padding.
  • Revert the changes to reduce the memory footprint of closed HTTP/2 streams as they triggered multiple regressions in the form of NullPointerExceptions.
  • Ensure that the HTTP/2 overhead protection check is performed after each HTTP/2 frame is processed.
WebSocket:
  • Requests received via proxies may be marked as using the ws or wss protocol rather than http or https. Ensure that such requests are not rejected. PR provided by Ronny Perinke.
  • Fix a potential issue where the write lock for a WebSocket connection may not be released if an exception occurs during the write.
  • Add support for a read idle timeout and a write idle timeout to the WebSocket session via custom properties in the user properties instance associated with the session. Based on a pull request by sakshamverma.
  • Web applications:
  • Remove the localization of the text output of the Manager application list of contexts and the Host Manager application list of hosts so that the output is more consistent. PR provided by Holomark.
  • Clean-up / standardize the XSL files used to generate the documentation. PR provided by John Bampton.
  • Clarify the effects of some options for cluster channelSendOptions. Patch provided by Mitch Claborn.
  • Remove the out of date functional specification secton from the documentation web application.
  • Extracted CSS styles from the Manager we application for better code maintenance and replaced the GIF logo with SVG.
  • Add document for PersistentValve.
Other:
  • Correct a regression in the fix for 64540 and include org.apache.tomcat.util.modeler.modules and org.apache.tomcat.util.net.jsse in the list of exported packages.
  • Remove the local copy of javax.transaction.xa package which is only used during compilation. The package is provided by the JRE from Java 1.4 onwards so the local copy should be unnecessary.
  • Improve the quality of the Japanese translations provided with Apache Tomcat. Includes contributions from Yuki Shira.
  • Use a non-zero exit code if the service.bat does not complete normally.
  • Update the internal fork of Apache Commons BCEL to 6.5.0. Code clean-up only.
  • Update the internal fork of Apache Commons Codec to 53c93d0 (2020-08-18, 1.15-SNAPSHOT). Code clean-up.
  • Update the internal fork of Apache Commons FileUpload to c25a4e3 (2020-08-26, 2.0-SNAPSHOT). Code clean-up and RFC 2231 support.
  • Update the internal fork of Apache Commons Pool to 2.8.1. Code clean-up and improved abandoned pool handling.
  • Update the internal fork of Apache Commons DBCP to 6d232e5 (2020-08-11, 2.8.0-SNAPSHOT). Code clean-up various bug fixes.
  • Update the packaged version of the Tomcat Native Library to 1.2.25.

Related articles

Join over 500,000 subscribers.

Subscribe for our newsletter with best Mac offers from MacUpdate.

How would you rate Apache Tomcat app?

4 Reviews of Apache Tomcat

4
UglyStuff
22 December 2010
Version: 7.0.5

Most helpful

Don't know if I'm mistaken or not, but it says here you must have Tiger or higher AND Java 6, but far as I know, Java 6 can't be installed in Tiger, unless you want to go SoyBean... Wouldn't it be better to say "Leopard and above", knowing that you can install Java 6 on Leopard with a little tinkering? Aside from that, it's really a nice app, with a good-looking interface, that really lets you manage the server end.
(1)
Banksywan
19 December 2012
Version: 7.0.29
Download link is broken (page not found).
(0)
4
UglyStuff
22 December 2010
Version: 7.0.5
Don't know if I'm mistaken or not, but it says here you must have Tiger or higher AND Java 6, but far as I know, Java 6 can't be installed in Tiger, unless you want to go SoyBean... Wouldn't it be better to say "Leopard and above", knowing that you can install Java 6 on Leopard with a little tinkering? Aside from that, it's really a nice app, with a good-looking interface, that really lets you manage the server end.
(1)
4.75
Anonymous
13 October 2003
Version: 4.1.27
Wow - that was *easy* to install. I remember the last time I tried to install Jakarta Tomcat a couple of years ago, it was a bit tricker than this.. This time, I just downloaded it, gunzipped it, untarred it, and it was done.. Just run the bin/startup.sh and you're home free.. Not bad!
(0)
Pratibha Marisetti
12 August 2003
Version: 4.1.27
Hi All, Is Tomcat 4.1.27 compatible with AIX 5.1? I am having problems while I am trying to login as Tomcat Administration but I can login as Tomcat Manager under Administration after installing successfully. Any ideas??? Thanks is advance! Pratibha
(0)
Show comment (1)
Free

4.0

App requirements: 
  • Intel 64
  • Intel 32
  • Mac OS X 10.6.8 or later
License: 
FreeAbsolutely Free

Downloaded & Installed 19,714 times

Similar apps
GlassFish
GlassFish
Open Source Java EE Reference Implementation.
Is this app is similar to GlassFish? Vote to improve the quality of this list.
Vote results
0
Upvotes
2
Total score
0
Downvotes
AMPPS
AMPPS
Auto-install stack with Apache, Mysql, PHP, Perl, Python.
Is this app is similar to AMPPS? Vote to improve the quality of this list.
Vote results
0
Upvotes
2
Total score
0
Downvotes
Apache TomEE
Apache TomEE
Web server and web application environment.
Is this app is similar to Apache TomEE? Vote to improve the quality of this list.
Vote results
0
Upvotes
2
Total score
0
Downvotes