Forums often gets confused about the use of Glassfish or Tomcat, asking if it rather than use one another.
Looking at the logs blog often arrives people performing their research "Glassfish Tomcat VS" or "Glassfish or Tomcat" or "against Glassfish Tomcat" then it is clear that a newbie who comes close to Java EE is a bit of confusion about this choice.
The dispute has been clarified .. It 'a comparison that does not make sense!
Glassfish is a 4x4 off-road, is a city car Tomcat.
If I go to town in "off-road" stree I choosee the 4x4 otherwise if I am in a city I have to go with a city car because its use is easier.
Returning on the technical aspects ..
We assume that the platform Java EE consists of various and different technologies: JSP, Servlets, JMS, MDB, EJB, JPA etc etc. (See http://java.sun.com/javaee/technologies/)
Tomcat is able to support only a small part of Java EE, mainly relating to JSP and Servlet, which is why it is called a Tomcat Servlet Container.
JSPs are also the servlet
An Application Server Java EE as Glassfish instead fully supports Java EE.
Glassfish (which in its commercial version with sun supports is called Sun Application Server) is the reference implementation for Java EE.
There are several alternatives to Glassfish:
The comparison Glassfish vs a list of servers has more sense than the title of the article!
An Application Server is able to do the same things that can make Tomcat, since it is a servlet container, so often there are comparisons of performance among the common features of Tomcat and Glassfish
I personally prefer to apply the reasoning in the example of off-road car vs city car, in the sense that I take the car from the garage which is closest to the needs of the project.
It is also not excluded, in a complex architecture, the use of both types of servers, for example tomcat for front-end and Glassfish for the back-end.