Si vous avez une bonne compréhension de HTML, CSS et JavaScript, vous avez une longueur d'avance sur de nombreuses personnes qui finissent par faire du développement Web. Les concepts derrière JSP sont très similaires à PHP. Les bizarreries sont différentes. Un servlet est le nom d'un morceau de code Java qui sert une demande. C'est vraiment ça. L'ensemble du framework Struts d'origine était un seul servlet.
J'ajouterais Tomcat ou Jetty à votre liste de technologies à apprendre. Tomcat est l'implémentation originale du conteneur de servlets Java et s'avère également être un serveur Web complet et plutôt populaire. GlassFish est construit dessus. J'ai utilisé Jetty au lieu de Tomcat dans mes nouveaux projets car c'est plus simple, plus flexible et plus rapide. Jetty a été conçu pour créer des services Web par opposition aux applications Web. Mais une application Web n'est qu'un service Web qui sert du HTML en réponse aux demandes HTTP brutes, donc si vous comprenez HTTP (dont vous pouvez apprendre les parties importantes en quelques heures à un jour), il est très facile de travailler avec.
Vous pouvez créer un petit site Web avec Tomcat et JSP ( tutoriel ici ou JSF) en sachant exactement ce que vous savez et en passant quelques heures à parcourir des tutoriels. De cette façon, vous pouvez commencer où vous êtes à l'aise avant de vous étirer. Créez ensuite un javax.servlet.http.HttpServlet qui écrit "<html> <head> <title> Hi </title> </head> <body> <h1> Hello World </h1> </body> </ html > "à l'objet de réponse, répertoriez-le dans votre Tomcat web.xml et envoyez-lui une demande HTTP à partir d'un navigateur Web. Ce n'est pas sorcier. Tous les frameworks Web Java sont des variantes de ces deux activités de base.
Si vous empruntez la voie de la jetée, elle est encore moins structurée. Découvrez cet exemple Hello Jetty .
Si vous voulez simplement créer un blog ou un site de commerce électronique standard, je commencerais par SquareSpace ou Wordpress ou quelque chose du genre . Vous obtenez tellement de choses sur le marché, il n'y a plus aucun moyen de justifier le codage personnalisé.
La force de Java pour les applications Web réside dans sa fiabilité, sa maintenabilité et ses performances. PHP ou Ruby / Rails est plus simple, mais Java évoluera autant que vous le souhaitez. Je ne suis renversé par aucun des cadres Web Java. Lorsque vous avez une équipe de personnes travaillant sur une grande application Web ou que vous devez utiliser Hibernate, un framework comme Spring brille vraiment. Le printemps est le plus populaire. Lorsque vous vous familiarisez avec les servlets et JSP / JSF, découvrez comment Spring les relie à un modèle de données.
Si vous créez un blog ou un système de gestion de contenu, vous pouvez peut-être vous en sortir avec une base de données NoSQL. Mais je dirais que les bases de données NoSQL ne sont fondamentalement qu'une couche de mise en cache sur un système de fichiers, plutôt que de remplacer les bases de données relationnelles. Je pense qu'il est rare qu'un projet qui soit bien adapté à une base de données NoSQL soit approprié à développer en Java.
Les choses qui nécessitent toujours un code personnalisé et performant (en Java, PHP, peu importe) auront probablement une base de données relationnelle / SQL qui les alimentera. Je vous recommanderais tout d'abord de vous familiariser avec SQL et JDBC (Java Database Connectivity). Une fois que vous êtes à l'aise avec le monde des objets Java et le monde des bases de données relationnelles et SQL, vous pouvez apprendre Ebean / JPA (Java Persistence API) / ORM (Object to Relational Mapping) qui relie le monde des objets au monde relationnel.
Les ORM sont délicats et étranges. La plupart en valent finalement la peine. Ebean est le plus simple que je connaisse. Je suis plus à l'aise avec ça après 8 mois qu'avec Hibernate après 12 ans. Je connais beaucoup de gens qui utilisent Spring avec Hibernate et ils ne semblent pas avoir de problème, ni même être particulièrement conscients de ce que fait ou fait Hibernate, donc je dirais que si vous allez utiliser Hibernate, faites-le jusqu'au printemps. Peut-être juste parce que j'ai travaillé plus longtemps avec lui, j'ai réussi à bloquer complètement Hibernate avec quelques cartes de hachage pour les tests, ce qui est génial (aperçu disponible sur demande).
Vous possédez déjà certaines des compétences les plus importantes. Prenez les autres un par un et essayez de ne pas vous laisser submerger.