(Mise à jour mars 2020)
Tout d'abord, "Java EE" est depuis septembre 2019 renommé " Jakarta EE ", à partir de la version 8. Historiquement, il y avait aussi le terme "J2EE" qui couvrait les versions 1.2 à 1.4. Les "Java EE" couvraient les versions 5 à 8. Voir aussi Java Platform, Enterprise Edition, History sur Wikipedia .
De quoi ai-je besoin exactement?
Je suppose que vous connaissez déjà les technologies côté client comme HTML , CSS et JS , donc je n'entrerai pas dans les détails. Je suppose également que vous connaissez déjà Java de base. Suivez les didacticiels Java d' Oracle et, si possible, procurez-vous également un livre ou un cours OCP .
Ensuite, vous pouvez commencer avec JSP / Servlet pour apprendre les concepts de base du développement Web Java. Vous trouverez de bons didacticiels dans les chapitres 3 à 8 du didacticiel Java EE 5 d' Oracle et sur Coreservlets.com ( débutant-intermédiaire et avancé, également JDBC ). Notez que depuis Java EE 6, JSP est supprimé du tutoriel Java EE au profit de JSF et que JSP n'a pratiquement pas changé depuis lors. C'est pourquoi vous pouvez utiliser en toute sécurité le didacticiel Java EE 5 assez ancien pour cela. La chose la plus importante en ce qui concerne JSP est le fait que l'écriture de code Java brut dans des fichiers JSP à l'aide de <%
scriptlets %>
est officiellement déconseillée depuis 2003. Voir aussi Comment éviter le code Java dans les fichiers JSP? Donc, tous les didacticiels qui couvrent encore les scriptlets doivent être ignorés car ils vous entraîneront certainement dans une spirale descendante d'apprentissage des mauvaises pratiques.
Ici, sur Stack Overflow, vous pouvez également trouver de belles pages wiki sur JSP , Servlets , JSTL et EL où vous pouvez en apprendre l'essentiel et trouver des liens plus utiles.
Tomcat semble être un bon serveur Web pour Java.
C'est. Il est cependant limité en capacités. Il s'agit essentiellement d'un conteneur de servlet barebones, implémentant uniquement les parties JSP / Servlet de l'énorme API Java EE. Si jamais vous souhaitez passer à EJB ou JPA, alors vous souhaitez en choisir un autre, par exemple WildFly , TomEE , Payara , Liberty , WebLogic , etc. Sinon, vous devez utiliser Spring au lieu de Java EE. Il n'est pas possible d'installer EJB dans un conteneur de servlet barebones sans modifier le moteur principal, vous auriez en cas de Tomcat réinventer TomEE. Voir aussi Qu'est-ce que Java EE exactement? , Comment installer et configurer correctement les bibliothèques JSF via Maven? et Comment installer et utiliser CDI sur Tomcat?
Je sais qu'il y a Hibernate pour un ORM.
Auparavant, à l'ère J2EE, lorsque JPA n'existait pas et que EJB2 était terrible, Hibernate était un framework autonome et souvent utilisé en combinaison avec Spring pour supplanter EJB. Depuis l'introduction de JPA dans Java EE 5 (2006), Hibernate est devenu une implémentation JPA. Vous pouvez apprendre JPA à Jakarta EE tutorial part VIII . En outre, EJB3 a été beaucoup amélioré sur la base des enseignements tirés du printemps. Voir aussi Quand est-il nécessaire ou pratique d'utiliser Spring ou EJB3 ou tous ensemble?
Java a-t-il MVC? Et JSP? MVC et JSP peuvent-ils être ensemble? JavaBeans?
Vous pouvez , mais c'est beaucoup de réinvention de la roue quand il s'agit de lier le modèle à la vue (conversion, validation, changement d'écouteurs, etc.). Le framework MVC de Java EE est appelé JSF . Avant Java EE 6, il fonctionnait sur JSP, qui est une technologie de vue assez ancienne. JSP a été remplacé par Facelets . Vous pouvez apprendre JSF à Jakarta EE tutorial part III chapitres 7 - 17 . Vous pouvez également utiliser JSF sur Tomcat, vous n'avez qu'à l'installer séparément. Les instructions d'installation peuvent être trouvées sur la page d'accueil de Mojarra. WildFly, TomEE, Payara, Liberty, WebLogic, etc. comme étant une implémentation complète de Java EE fournissent déjà JSF (et CDI, BV, JSONP, JAX-RS, EJB, JPA, etc.) hors de la boîte, donc vous n'avez pas besoin de installez-le séparément. Voir aussi Comment installer et configurer correctement les bibliothèques JSF via Maven?
Peut-être un livre qui couvre tout cela?
Il existe plusieurs livres. Je recommanderais de commencer par un livre axé sur Jakarta EE en général , un livre plus axé sur JSF et un livre plus axé sur JPA . Assurez-vous de choisir le livre le plus récent couvrant le sujet. Recherchez d'abord la version disponible la plus récente, puis assurez-vous que le livre choisi le couvre. Par conséquent, ne choisissez certainement pas un vieux livre pour Java EE 5 ou JSF 1.0, alors qu'il existe déjà Jakarta EE 8 et JSF 2.3.
Enfin et surtout, veuillez ignorer les sites de grattage d'extraits de code gérés par des amateurs, qui se concentrent principalement sur les revenus publicitaires plutôt que sur l'enseignement, tels que roseindia, tutorialspoint, javabeat, journaldev, javatpoint, codejava, etc. Ils sont facilement reconnaissables en perturbant les liens publicitaires / des bannières et des extraits de code JSP contenant des scriptlets .
Voir également:
Au minimum,
C'est "décent". Si vous n'êtes pas amateur d'EJB, vous n'aurez probablement pas besoin d'apprendre autre chose. Glassfish 3 semble être assez cool ces derniers temps, mais je n'ai pas encore beaucoup joué avec. Notez que c'est "plus" qu'un serveur Web. Il s'agit d'un conteneur de servlet (ce qui signifie qu'il peut exécuter des applications à l'aide de la technologie de servlet).
Environ un million de cadres différents. Vraiment, en choisir un est vraiment "difficile". Il est très tentant de les essayer tous, mais finalement impossible.
Je suis un peu anti-ORM, mais Hibernate est ce dont vous avez besoin si vous avez besoin d'un ORM "complet". Vous pouvez également essayer des ORM "partiels", tels que le support JDBC de Spring ou iBatis.
Oui, la plupart des frameworks Web Java font MVC. Le MVC de Spring est sympa, mais je ne peux rien recommander d'autre (surtout pas Struts 1!). JSP n'est qu'un moteur de modèles HTML (ou XML). JSP à l'ancienne, avec du code Java intégré n'est pas cool; JSP moderne avec des fichiers de balises et des bibliothèques est assez bon.
Je suppose que la plupart des frameworks vous permettront d'utiliser JSP pour rendre vos Vs; Le MVC et les Struts de Spring le font. Certains vous permettront également d'utiliser autre chose (Velocity, Freemarker, etc.).
Beans n'est qu'une convention pour les objets. Fondamentalement, cela signifie que vous utilisez des getters et setters (ou des alternatives) et que vous suivez certaines règles. Ceux-ci devraient permettre à votre objet d'être manipulé par certains outils. L'exemple typique est une interface graphique, certains outils vous permettront de créer des composants GUI pour éditer des beans arbitraires (c'est-à-dire qu'ils rendront un formulaire pour éditer ses champs).
la source
Vous avez besoin de HTML, CSS et JavaScript - tous les suspects habituels pour le développement Web.
Tomcat a un serveur Web intégré, mais c'est un moteur servlet / JSP . Apache est le serveur Web pur.
Vous devez apprendre JSP, qui est un langage de modèle pour générer des servlets qui génèrent une sortie HTML. Vous voudrez les écrire en utilisant JSTL, pas des scriptlets.
Si vous utilisez des applications CRUD, vous devrez apprendre JDBC et les bases de données relationnelles. Vous devriez le faire avant d'essayer Hibernate ou tout autre ORM, car c'est la base sur laquelle ils sont construits.
Les JavaBeans ne sont que des normes pour les objets Java.
Si vous êtes prêt, je recommanderais le framework Spring.
la source
Java a différents cadres comme Struts2 , Spring MVC
JSP est une bibliothèque de modèles. Il existe peu d'alternatives que vous pouvez essayer comme FreeMarker et Velocity . AFAIK Freemarker est une nouvelle bibliothèque de modèles émergente. C'est léger que JSP . Consultez ce FreeMarker : une alternative ouverte à JSP - JavaWorld
Je prends MVC comme cadre mentionné précédemment. Tous les frameworks prennent en charge JSP mais vous devez vérifier la prise en charge des autres bibliothèques de modèles dans la documentation des frameworks respectifs. AFAIK Struts2 a un très bon support pour Freemarker.
Je n'en sais pas grand-chose. Mais en utilisant des beans, nous pouvons directement mapper des données de formulaire vers des bases de données.
Chaque framework a son propre livre. Pour Struts2 - Struts 2 en action
String MVC - Jetez un œil à ces questions recommandant des livres pour Spring et Spring MVC. Suggestion de livre pour le framework Spring et Spring Books: lequel choisir
Fremarker a une très bonne documentation - FreeMarker Manual
Pour commencer le développement Web en Java -
http://www.amazon.com/SCWCD-Exam-Study-Kit-Certification/dp/1930110596
la source
Je considère que la plupart des options de développement Web Java traditionnelles sont assez lourdes, et il existe de bonnes alternatives:
Play est un framework MVC qui vise à être léger, simple et permettant un développement rapide - tout en restant avec du Java pur, par opposition à un langage basé sur JVM plus dynamique. C'est assez nouveau mais déjà impressionnant, et une bonne communauté s'est rapidement développée autour de lui.
Grails est un framework MVC, inspiré de Ruby on Rails, qui est écrit et utilise Groovy , un langage de script basé sur Java. Grails est mature, robuste et largement respecté, avec une communauté forte. Groovy est essentiellement un sur-ensemble de Java, avec une meilleure syntaxe et quelques fonctionnalités intéressantes telles que les fermetures, donc l'apprendre est un excellent moyen d'apprendre Java.
Si vous avez besoin / souhaitez créer des sites Web / services / applications RESTful , Restlet est un cadre fantastique - je suis un grand fan. C'est simple, direct et pourtant flexible. Grande communauté aussi.
L'App Engine de Google est également une option intéressante. Il est hébergé, ce qui peut ou non être intéressant, mais il a une API assez simple et un bon SDK.
Je suis sûr qu'il y en a d'autres, mais ce sont ceux auxquels je peux penser du haut de ma tête.
Bonne chance et amusez-vous bien!
la source
Je suis une programmation PHP / C et j'ai trouvé groovy me permettre de sauter dans Java sans apprendre toutes les classes et paradigmes inhérents à la programmation java. Groovy m'a permis d'être productif rapidement, tout en prenant le temps d'en savoir plus sur java et tous les outils / frameworks / bibliothèques disponibles.
la source
Si vous n'avez pas l'habitude de travailler avec html, css, xml, javascript etc.
Essayez le framework Vaadin , il est bien documenté, facile à apprendre et permet de faire une belle interface utilisateur de manière simple. (il suffit d'écrire du code Java, bien sûr, vous avez besoin d'un serveur de servlet, Tomcat ou Jetty ira bien)
la source
Mieux vous apprenez java.Then vous apprenez Servlets et JSP.Ensuite, allez pour MVC, vous allez à Struts ou Spring ou tout autre framework compatible java / java.
la source
Comme vous êtes nouveau sur Java, je vous recommande fortement d'apprendre d'abord le langage de base. Cela vous aidera quelle que soit la technologie dans laquelle vous choisissez de faire votre application Web.
Une bonne ressource en ligne est le tutoriel Sun Java - http://java.sun.com/docs/books/tutorial/
la source