Amazing comprehensive web development software for PC

Apache Tomcat

Apache Tomcat

  -  13.9 MB  -  Open Source
Apache Tomcat is an open-source implementation of Java Servlet, JavaServer Pages (JSP), and WebSocket technologies.

Developed and maintained by the Apache Software Foundation (ASF), Tomcat serves as a robust, lightweight, and highly configurable web server and servlet container.

Apache Tomcat for Windows is primarily used for deploying Java-based web applications and is favored by developers due to its flexibility, scalability, and extensive community support.

Tomcat acts as a middleware solution, allowing developers to deploy Java-based applications with ease.

While it is not a full-fledged application server like JBoss or WebSphere, it provides essential functionalities required for running Java web applications efficiently.

Main Features

Servlet and JSP Support – Runs Java Servlets and JavaServer Pages (JSP) applications seamlessly.

Lightweight and Fast – Uses minimal system resources, making it a great option for small to medium-scale applications.

Built-in Security Features – Supports Secure Socket Layer (SSL), role-based authentication, and access control.

Extensive Configuration – Highly customizable through XML configuration files.

WebSocket Support – Implements WebSocket API for real-time communication.

Open-Source and Free – Maintained by Apache, it benefits from community contributions and regular updates.

Integration with Other Tools – Compatible with tools like Eclipse, NetBeans, and IntelliJ IDEA for development and debugging.

Load Balancing and Clustering – Can be used in large-scale distributed applications.

User Interface

Apache Tomcat does not have a graphical user interface (GUI) like other application servers. Instead, it is managed through a web-based administration panel or configuration files.

Users interact with Tomcat through:
  • A web-based manager application for deploying and managing applications.
  • Command-line interface (CLI) for configuring settings.
  • Server.xml and web.xml files for manual configuration.
  • Although the UI is minimal, the web-based manager offers a convenient way to deploy and monitor applications.
Installation and Setup

Download Tomcat from the official Apache website.

Extract the ZIP Archive to a directory of your choice (e.g., C:\ApacheTomcat).

Set Environment Variables:
  • Add the JAVA_HOME variable pointing to your JDK installation.
  • Add Tomcat’s bin folder to the system's PATH.
  • Start Tomcat by running startup.bat from the bin folder.
  • Access the Tomcat Server by opening http://localhost:8080 in a web browser.
How to Use
  • Deploy an Application – Place your .war file in the webapps directory, and Tomcat will automatically deploy it.
  • Start and Stop the Server – Use startup.bat and shutdown.bat from the bin folder.
  • Modify Configurations – Edit server.xml and web.xml to change settings like ports, security, and resource allocation.
  • Access Manager GUI – Navigate to http://localhost:8080/manager/html for application management.
  • Enable Security – Configure roles in tomcat-users.xml for user authentication and access control.
FAQ

What is Apache Tomcat used for?
Apache Tomcat is a web server and servlet container used to deploy and run Java-based web applications.

Is Apache Tomcat free?
Yes, Tomcat is completely free and open-source under the Apache License 2.0.

How do I change the default port in Tomcat?
Edit server.xml and change the port number.

How do I deploy a WAR file in Tomcat?
Copy your .war file to the webapps folder, and Tomcat will automatically deploy it on the next startup.

Alternatives

Jetty – A lightweight Java servlet engine optimized for embedded applications.

JBoss (WildFly) – A full-fledged application server with advanced Java EE capabilities.

GlassFish – A Java EE server providing advanced enterprise features.

Nginx + Tomcat – Used together to improve performance and handle static files efficiently.

Resin – A commercial Java application server with additional enterprise-grade features.

Pricing

Apache Tomcat is completely FREE and open-source, licensed under Apache License 2.0. There are no hidden costs, making it a great choice for individuals and businesses alike.

System Requirements
  • Operating System: Windows 10, 11, Windows Server 2016/2019
  • Java Runtime: JDK 8 or later
  • Memory: Minimum 512MB RAM (Recommended 1GB or more)
  • Disk Space: 100MB (More required for large applications)
  • CPU: Any modern processor
PROS
  • Free and open-source
  • Lightweight with low memory consumption
  • Supports Java Servlets, JSP, and WebSockets
  • Highly configurable and extensible
  • Strong community support
CONS
  • No built-in GUI for easy configuration
  • Requires manual configuration for advanced features
  • Lacks enterprise-level features found in full Java EE servers
  • Performance tuning can be complex
  • Security configurations need to be handled carefully
Conclusion

Apache Tomcat is a powerful, lightweight, and highly flexible solution for deploying Java web applications. While it may lack the full-stack enterprise features of servers like WildFly or GlassFish, its simplicity and efficiency make it a preferred choice for developers who need a robust servlet container.

With a strong community, extensive documentation, and regular updates, Tomcat remains a leading choice for Java application deployment.

Note: Requires Java Runtime Environment.

Why is this app published on FileHorse? (More info)
  • Apache Tomcat 11.0.8 Screenshots

    The images below have been resized. Click on them to view the screenshots in full size.

    Apache Tomcat 11.0.8 Screenshot 1
  • Apache Tomcat 11.0.8 Screenshot 2
  • Apache Tomcat 11.0.8 Screenshot 3
  • Apache Tomcat 11.0.8 Screenshot 4
  • Apache Tomcat 11.0.8 Screenshot 5

What's new in this version:

Catalina:
- Fix: Add support for the java:module namespace which mirrors the java:comp namespace
- Fix: 69690: Calling HttpServletRequest.getParameter() and related methods for a request with content type multipart/form-data when the mapped servlet does not have a @MultipartConfig or equivalent should not trigger an exception. Note that calling getPart() or getParts() is these circumstances will trigger an exception
- Fix: Support parsing of multiple path parameters separated by ; in a single URL segment. Based on pull request #860 by Chenjp
- Fix: 69699: Encode redirect URL used by the rewrite valve with the session id if appropriate, and handle cross context with different session configuration when using rewrite
- Add: #863: Add support for comments at the end of lines in text rewrite map files to align behaviour with Apache httpd. Pull request provided by Chenjp
- Fix: 69706: Fix saved request serialization issue in FORM introduced when allowing infinite session timeouts
- Fix: Expand the path checks for Pre-Resources and Post-Resources mounted at a path within the web application

Coyote:
- Code: #861: Refactor TaskQueue to use the new interface RetryableQueue which enables better integration of custom Executors which provide their own BlockingQueue implementation. Pull request provided by Paulo Almeida
- Add: Provide finer grained control of multi-part request processing via two new attributes on the Connector element. maxPartCount limits the total number of parts in a multi-part request and maxPartHeaderSize limits the size of the headers provided with each part. Add support for these new attributes to the ParameterLimitValve

Jasper:
- Fix: 69696: Mark the JSP wrapper for reload after a failed compilation
- Web applications:
- Fix: 69694: Improve error reporting of deployment tasks done using the manager webapp when a copy operation fails

Other:
- Fix: Add thread name to webappClassLoader.stackTraceRequestThread message. Patch provided by Felix Zhang
- Update: Update Tomcat Native to 2.0.9
- Update: Update the internal fork of Apache Commons FileUpload to 1.6.0-RC1 (2025-06-05)
- Update: Update EasyMock to 5.6.0
- Update: Update Checkstyle to 10.25.0
- Fix: Use the full path when the installer for Windows sets calls icacls.exe to set file permissions
- Update: Improvements to Japanese translations provided by tak7iji