comme l'a dit phnatomass en général si on met Apache devant un serveur J2EE (Tomcat ou autre), c'est pour servir le contenu statique (images, feuilles de style css, fichiers .js). Apache est beaucoup plus performant qu'un serveur J2EE pour servir du contenu statique (dans WebLogic, et j'imagine dans Tomcat, ca passe par une servlet...)
On peut aussi activer le mod_gzip dans Apache très facilement pour compresser les pages html retournées par Tomcat.
Et un autre argument comme dit plus haut, c'est la sécurité, en isolant le serveur J2EE de l'Internet par exemple, en ne laissant qu'Apache en frontal.