Apache Tomcat is a web server developed in Java that aims to provide you with a pure Java environment for running web applications. These applications can be run in the interface of an Internet browser such as Firefox, Chrome or Internet Explorer.
In web development, Apache HTTP server is used in order to provide the backbone of multiple websites by processing the requests of the clients. While the HTTP server delivers the webpages to the end user, Tomcat is the tool that provides servlet support in order to add dynamic content to the server.
If you are creating a website that also includes Java code and applets, this application can help the web server run them instead of running in the user’s Internet browser. This greatly improves the reliability of the application and the response time for the end user.
The main components of the server are the servlet container, the HTTP connector and the JSP engine that runs the dynamic content. The servlet container, also known as Catalina, directly interacts with the Java applications and ensures that the access rights of the user are correctly maintained during the session.
The communication between the server and the clients are handled by the HTTP connector that listens to the TCP connections and sends the requests to the JSP Engine. It is also responsible of sending the feedback back to the client after it has been processed.
While there are other alternatives to Tomcat, there are some advantages that make it a reliable solution. First of all, it is a non-commercial solution that can be implemented in any project with minimal resources. On the other hand, the server is developed by a large community that provides support and feedback for the developers.
Overall, due to its features and large pool of resources Apache Tomcat is a viable solution for both small users and large companies that use Java applets on their websites.
What's New in This Release:
Catalina:
· 54247: Prevent ClassNotFoundExceptions on stop when running as a service. (markt)
· 54249: Ensure resource properties are available when the context path contains encoded characters such as a space. This triggered compilation issues in Jasper. Patch provided by Polina Genova. (markt)
· 54256: Improve error reporting when a JAR file fails extension validation by including the name of the JAR file in the exception. (markt)
· Allow web applications to be stopped cleanly even if filters throw exceptions when their destroy() method is called. (markt/kkolinko)
· Fix memory leak of servlet instances when running with a SecurityManager and either init() or destroy() methods fail or the servlet is a SingleThreadModel one. (kkolinko)
· Cleanup method cache lookup code in SecurityUtil class. (kkolinko)
· Make the Tomcat 7 non-JSR356 WebSocket implementation non-blocking (where supported by the connector) between the HTTP upgrade and the first WebSocket message from the client to the server....