Anno 2012 Je ne recommanderais pas d'utiliser Servlets et JSP comme couche de présentation. Cela faisait fureur en 2002, mais c'était il y a une décennie.
Aujourd'hui, Java EE a une excellente structure MVC appelée JSF. Il vaut mieux utiliser cela à la place. Vous voulez probablement récupérer des Widgets de la bibliothèque de composants PrimeFaces, car tous les Widgets standard sont un peu basiques. Une bibliothèque utilitaire comme OmniFaces est un excellent ajout.
En ce qui concerne les DAO; n'allez pas aussi loin que d'utiliser directement le gestionnaire d'entité dans les beans de support (JSF), mais si vous utilisez déjà des classes de service (limites transactionnelles) pour votre logique métier, l'utilisation d'un DAO peut également être excessive. Il existe encore quelques petits avantages d'un DAO, comme un dao.findByName (...) semble un peu plus clair que le chargement d'une requête nommée, la définition d'un paramètre, et obtenir un (unique) résultat, mais le coût est que vous devez gérer un DAO séparé pour chaque entité, probablement en plus de certains services.
Votre déclaration sur les SFSB est trop extrême. Un débutant devrait être prudent avec eux, et un utilisateur avancé devrait probablement les utiliser avec modération, mais à mon humble avis, ils ne sont * pas * quelque chose à éviter à tout prix. IFF vous les utilisez, vous voulez probablement leur donner une portée CDI si. –