The Java 2 Enterprise Edition is kind of a super-spec—it incorporates other specifications, including the Servlets 2.4 spec and the JSP 2.0 spec. That’s for the web Container. But the J2EE 1.4 spec also includes the Enterprise JavaBean 2.1 specification, for the EJB Container. In other words, the web Container is for web components (Servlets and JSPs), and the EJB Container is for business components.
A fully-compliant J2EE application server must have both a web Container and an EJB Container (plus other things including a JNDI and JMS implementation). Tomcat is just a web Container! It is still compliant with the portions of the J2EE spec that address the web Container.
Tomcat is a web Container, not a full J2EE application server, because Tomcat does not have an EJB Container.
A J2EE application server includes both a web Container AND an EJB Container.
Tomcat is a web Container, but NOT a full J2EE application server.
A J2EE 1.4 server includes the Servlet spec 2.4, JSP spec 2.0, and EJB spec 2.1.
Q: So Tomcat is a standalone web Container... does that mean there are standalone EJB Containers?
A: In the old days, say, the year 2000, you could find complete J2EE application servers, standalone web Containers, and standalone EJB Containers. But today, virtually all EJB Containers are part of full J2EE servers, although there are still a few standlone web ...