Sorularınızın cevabı proje gereksinimlerinize bağlıdır. Mesaj kuyrukları, konteyner tarafından yönetilen global işlemler vb. Java EE özelliklerine ihtiyacınız yoksa tomcat + spring ile gidin.
Ayrıca deneyimlerime dayanarak, çok fazla web hizmeti entegrasyonu, zamanlama, mesaj kuyrukları gerektiren projelerin en iyi Java EE yığını kullanılarak en iyi şekilde yapıldığını buldum. İşin iyi yanı, yay kullanarak bir uygulama sunucusunda çalışan Java EE modülleri ile entegre olabilmenizdir.
Java EE 6, önceki sürümlerden çok farklı ve gerçekten her şeyi çok daha kolay hale getiriyor. Java EE 6, çeşitli Java topluluğundan en iyi fikirleri birleştirir - örneğin Spring çerçevesinden Rod Johnson, Java EE 6'da Dependency Injection JSR'nin yapımında aktif olarak yer aldı. Java EE 6 kullanmanın bir yararı, buna göre kodlama yapıyor olmanızdır. bazı organizasyonlarda satıcı desteği vb. için önemli olabilecek bir standart.
GlassFish v3, Java EE 6'yı destekler ve oldukça hafiftir ve gerçekten hızlı başlar. Geliştirmelerim için glassfish v3 kullanıyorum ve yapılandırması gerçekten çok kolay. Sunucunuzu grafiksel olarak yönetmenize olanak tanıyan oldukça kullanıcı dostu bir yönetici konsoluyla birlikte gelir.
GlassfishV3 ve JSF 2 kullanıyorsanız, Java EE 6'nın, JSF'de kolayca konuşmalar (örneğin, sihirbaz benzeri sayfalar) oluşturmanıza izin veren CDI özelliklerinden yararlanabilirsiniz.
Bununla birlikte, Java EE 6'yı kullanmak, yeni bir API öğrenmenizi de gerektirir. Mevcut zaman dilimine bağlı olarak, sizin için en iyi seçim olmayabilir. Tomcat yıllardır ortalıkta ve tomcat + yay kombinasyonu birçok web projesi tarafından benimsendi, bu da birçok dokümantasyon / forumun etrafta olduğu anlamına geliyor.