Apache Tomcat has become almost the defacto server for serving Java-based applications on the internet. We use Tomcat for our Java web applications and just recently also for our Android software development classes.We chose Tomcat as it was the most widely-used Java web application programming server at that time. Also, most of our resources were tailored to work with Tomcat, and our colleagues who underwent Java web application development was also taught using Tomcat.Features-wise, it's a complete solution. Plus, a lot of other developers are also using it, and the project has been steadily supported by Apache.
Room for Improvement:
The main gripe that I have with Tomcat is it's speed and size. Understandably, Java-based systems have the pre-conceived notion of being slow. However, being exposed to other web servers like the Apache web server really makes you wish Tomcat is as fast as it is. It does take time to load even on current hardware and newly-deployed applications also tend to load slowly during first access.Another grip is size. Size in terms of its memory usage and its installation. Again, compared to Apache, Tomcat really takes-up a lot of memory resources. As a rule of thumb, you need to have a lot of memory on the server which will run Tomcat. Installation size is also big, and it can take a while to download the installation package.
Overall, Tomcat is still a recommended product for use with Java web application development and Android application development. Though it has speed and size issues, it's still the most widely-used development web server for Java and Android web and application development. Just make sure you have a server that has more than enough memory if you use Tomcat, as it tends to use a lot of it.