1. Un EJB es un tipo de estructura que se ejecuta en un contenedor EJB, no tienen nada que ver con los servlet. Una aplicación JEE puede ser web y/o EJB.
http://www.slideshare.net/aobandot/jee-y-tomcat
2. Más o menos es así, lo que te tiene que quedar claro es que JSP se compila en el servidor generando un HTML que es lo que se le manda al navegador. Una JSP sirve para modelar el HTML, pero cuanto menos código java pongas en ella mejor, para eso están los servlet. En realidad una JSP es un servlet orientado a "pintar" la página.