Vous pouvez commencer par apprendre les bases de Servlets et JSP. Ce sont les blocs de construction pour les frameworks d'applications web.
Je ne passerais pas trop beaucoup de temps sur les servlets au-delà d'une compréhension de la façon dont ils fonctionnent généralement. La plupart des tâches lourdes sont effectuées par les frameworks d'applications web ces jours-ci. Une fois que vous serez familiarisé avec les principes de base de Java en tant que page Web, passez à des frameworks plus sophistiqués tels que JSF, Spring Web MVC ou Struts. Ces frameworks utilisent tous le modèle de conception MVC, que vous avez peut-être utilisé avec les frameworks PHP (sinon, c'est un très bon principe à apprendre). Tous ces projets sont bien documentés et ont une communauté importante.
En note, je pense que JSF a une courbe d'apprentissage plus raide que Spring ou Struts. Si vous êtes intéressé par JSF, je vous recommande de regarder dans le framework Seam, qui utilise JSF mais qui en simplifie également l'utilisation. Vous pouvez apprendre JSF + Seam simultanément.
En ce qui concerne les livres ... pour JSF, j'aime Core JavaServer Faces. Pour le printemps, j'aime Le printemps en action.
Un autre beau livre qui vaut la peine de jeter un oeil à est Expert One-on-One J2EE développement sans EJB (http://www.wrox.com/WileyCDA/WroxTitle/productCd-0764558315.html) . Il est écrit par Rod Johnson, qui a créé Spring. Beaucoup des principes décrits ici sont encore bons même si c'est un livre de 2004. – svachon