This article is written for people that currently use Tomcat 4.0.x or older and wish to start using more recent, more functional version. At the moment the latest release of a Tomcat is 4.1.10. It supports specifications of servlets version 2.3 and for Java Server Pages version 1.2.
The main changes comparing with the 4.0 version are:
* A new unified connector called Coyote. It supports several protocols at once (HTTP/1.1, AJP 1.3 and JNI).
* Improved productivity and characteristics of using memory.
* The administrating functions based on JMX (JMX gives Tomcat flexibility and enhancement, based on MBeans components). // A brand new feature.
* The administrating of Webapp's based on JSP and Struts
* Fully rebuilt Jasper JSP Compiler.
* The Tomcat Manager is improved for better integration with the development tools (Such as Ant).
What's new in Coyote connector?
First of all, it combines 3 basic connectors and it significantly enlights administrating. Also it supports the renewed JK connector which is
called simply: JK2. At the moment the difference is in:
* "Advanced" system of authorisation during connection.
* Basic authorisation system, where a shared secret key is present in web server and servlet engine.
* Basic protocol negotiation, just to be sure that if functionnalities are added to AJP14 in the future, current implementations will still
* Right compilation of unknown packets.
* Enhanced environment variables that are transfered from web server to servlet engine.
* New SSL information needed to support Servlet 2.3 API has been added.
Also realisation of HTTP connector now supports CGI and SSI files compilation.
What does the new JSP compiler (Jasper 2) mean by itself?
It is a rewritten jasper compiler for significant increasement of productivity and flexibility.
* JSP Custom Tag Pooling - The java objects instantiated for JSP Custom Tags can now be pooled
and reused. This significantly boosts the performance of JSP pages which use custom tags.
* Background JSP compilation - if Tomcat finds a change in some jsp it has to recompile it. The old compiler was blocking this JSP until full recompilation and only after it
was finished it was making JSP accessible. This feature of new compiler lets the old version of JSP continue its work while it is compiling the new version.
* Recompile JSP when included page changes - Jasper 2 can now detect when a page included
at compile time from a JSP has changed and then recompile the parent JSP.
* Ant used to compile JSP pages - The Ant Build Tool is now used to perform JSP java source
code compilation. This is one of the main new features that affords to enhance the possibilities of a compiler.
Important Notice: When you upgrade to Tomcat 4.1 that now Jasper 2 uses it is important to remove all .class (servlets) files from your work directory because of miscompatibility on the byte code level (i.e. servlets).
Also new options in managing compiler's operations are added, which afford you to use external compiler.
And finally, the most interesting part from my point of view is Tomcat Web Server Administration
I think it is a large step towards becoming more user-friendly. Essentially, it is a web interface that you can administrate your Tomcat
with. You can make almost all changes which administrators were forced to make through vi before with it :)
In conclusion I want to ask the ones that will read this article to do me a favour. Your opinion on this new Tomcat, its attractiveness for a user, hosting companies and developers is of a high interest for us. Which new features seem more attractive and useful to you? What do you think is missing in this new version? And, of course, the main part - if you were an owner of java hosting account, would you like to start using the new version of Tomcat or not?