Below is a table, originally created by Roger Keays
(you can see the original blog post here
), comparing the feature sets of Glassfish and Tomcat. See a missing or inaccurate entry? It's a wiki, so jump in and help us keep this up-to-date and accurate!
| Pri | Standard features | Tomcat | WebLogic | Websphere | Glassfish | Comment |
| 1 | Adoption levels | high | ? | ? | good | Glassfish is new |
| 2 | Scalable | ok | ? | ? | yes | Glassfish has grizzly |
| 2 | Latest Web Tier JCP Specs. JSF 1.2, JSP 2.1, JSTL 1.2. | 6.0.24 | ? | ? | yes | TC 6 is not STABLE yet |
| 2 | Apache httpd integration through module | yes | yes | ? | yes | ajp hack no longer needed in v3 |
| 3 | Includes Java EE 5 Container | no | yes | ? | yes | Weblogic is available with EE 5 (WLS) and without (WLX), only different license files |
| 3 | Dependency injection | no | ? | ? | yes | |
| 3 | Container managed transactions | no | ? | ? | yes | |
| 3 | OpenJPA entities enhanced automatically | no | ? | ? | yes | |
| 4 | JDBC authentication | yes | ? | ? | yes | In Glassfish v1 ur1 |
| Virtual server features | ||||||
| 1 | Support for virtual hosting | yes | ? | ? | yes | |
| 1 | Deploy same webapp to multiple hosts | yes | ? | ? | yes | |
| 1 | Configure same webapp differently | yes | ? | ? | yes | Possible in Tomcat's context.xml or server.xml |
| 2 | Per virtual host logging | ok | ? | ? | yes | Tomcat's JULI is a bit buggy [1], [2] |
| 2 | Each host has their own authentication realm | yes | ? | ? | yes | |
| 3 | Each host has their own deployment dir | yes | ? | ? | no | |
| 4 | Each host has a jailed manager | yes | ? | ? | no | |
| 4 | Support for alternate docroots | no | ? | ? | yes | |
| 4 | Each host can listen on a different port | ok | ? | ? | yes | Tomcat requires an additional <Service> containers [3] |
| 5 | Each host can listen on an arbitrary combination of ports | no | ? | ? | yes | For Tomcat, a host in one <Service> cannot share ports with a host in another <Service> [4] |