I read a lot about GlassFish application server that it supports the whole Java EE 6 specification. But which does Tomcat support?
I know that Tomcat is a JSP/Servle
Tomcat supports depending on it's version:
JSTL 1.0 : Servlet 2.3 : JSP 1,2 (tomcat 4)
JSTL 1.1 : Servlet 2.4 : JSP 2.0 (tomcat 5)
JSTL 1.2 : Servlet 2.5 : JSP 2.1 (tomcat 6)
That tomcat offers no EJB support by default has already be answered. EasyBeans covers this issue.
To include JSF 1.2 in tomcat6 there is a tutorial
EDIT: Unfortunately there is no single dependency(/compatibility) matrix out there. JPA is an API, which is implemented by i.g. Hibernate. It should not be hard to find out which versions match. And yes they can be used with Tomcat (besides) Spring.