Ce tutoriel a été initialement rédigé sur le Site du Zéro par Coyote sous licence CC BY-NC-SA.
La création d'applications web avec Java EE semble compliquée à beaucoup de débutants. Une énorme nébuleuse de sigles en tout genre gravite autour de la plate-forme, un nombre conséquent de technologies et d'approches différentes existent : servlet, JSP, Javabean, MVC, JDBC, JNDI, EJB, JPA, JMS, JSF, Struts, Spring, Tomcat, Glassfish, JBoss, WebSphere, WebLogic… La liste n'en finit pas, et pour un novice ne pas étouffer sous une telle avalanche est bien souvent mission impossible !
Soyons honnêtes, ce tutoriel ne vous expliquera pas le fonctionnement et l'utilisation de toutes ces technologies. Car ça aussi, c'est mission impossible ! Il faudrait autant de tutos…
Non, ce cours a pour objectif de guider vos premiers pas dans l'univers Java EE : après quelques explications sur les concepts généraux et les bonnes pratiques en vigueur, vous allez entrer dans le vif du sujet et découvrir comment créer un projet web, en y ajoutant de la complexité au fur et à mesure que le cours avancera. À la fin du cours, vous serez capables de créer une application web qui respecte les standards reconnus dans le domaine et vous disposerez des bases nécessaires pour utiliser la plupart des technologies se basant sur Java EE.
Je profite de cette introduction pour tordre le cou à une erreur trop courante : l'appellation « JEE » n'existe pas ! Les créateurs de Java EE ont même dédié une page web à cette fausse appellation.
Comment lire ce cours ?
Un contenu conséquent est prévu, mais je ne vais volontairement pas être exhaustif : les technologies abordées sont très vastes, et l'objectif du cours est de vous apprendre à créer une application. Si je vous réécrivais la documentation de la plate-forme Java EE en français, ça serait tout simplement imbuvable. Je vais ainsi fortement insister sur des points non documentés et des pratiques que je juge importantes, et être plus expéditif sur certains points, pour lesquels je me contenterai de vous présenter les bases et de vous renvoyer vers les documentations et sources officielles pour plus d'informations. Je vous invite donc à ne pas vous limiter à la seule lecture de ce cours, et à parcourir chacun des liens que j'ai mis en place tout au long des chapitres.
Enfin, avant d'attaquer sachez que ce cours ne part pas totalement de zéro : il vous faut des bases en Java afin de ne pas vous sentir largués dès les premiers chapitres. Ainsi, si vous n'êtes pas encore familier avec le langage, vous pouvez lire les parties 1 et 2 du tutoriel sur le Java de Zeste de Savoir.
Les bases du Java EE
Premiers pas avec Java EE
-
La servlet
-
Servlet avec vue…
-
Transmission de données
-
Le JavaBean
-
La technologie JSP (1/2)
-
La technologie JSP (2/2)
-
Des problèmes de vue ?
-
TP Fil rouge - Étape 1
Une bonne vue grâce à la JSTL
-
Objectifs et configuration
-
La bibliothèque Core
-
JSTL core : exercice d'application
-
La bibliothèque xml
-
JSTL xml : exercice d'application
-
Faisons le point !
-
TP Fil rouge - Étape 2
Une application interactive !
-
Formulaires : le b.a.-ba
-
Formulaires : à la mode MVC
-
TP Fil rouge - Étape 3
-
La session : connectez vos clients
-
Le filtre : créez un espace membre
-
Le cookie : le navigateur vous ouvre ses portes
-
TP Fil rouge - Étape 4
-
Formulaires : l'envoi de fichiers
-
Le téléchargement de fichiers
-
TP Fil rouge - Étape 5
Les bases de données avec Java EE
-
Introduction à MySQL et JDBC
-
Communiquez avec votre BDD
-
Le modèle DAO
-
TP Fil rouge - Étape 6
-
Gérer un pool de connexions avec BoneCP
Aller plus loin avec JPA et JSF
-
Les annotations
-
La persistance des données avec JPA
-
TP Fil rouge - Étape 7
-
Introduction aux frameworks MVC
-
Premiers pas avec JSF
-
La gestion d'un formulaire avec JSF
-
L'envoi de fichiers avec JSF
Annexes
Avancement du cours
Après plus d'un an sans retouches, le cours va bientôt être mis à jour ! J'y apporte actuellement des corrections de forme, et des modifications importantes sont prévues sur le fond :
- mise à jour vers Java EE 7 ;
- présentation d'HikariCP, en alternative à BoneCP ;
- rédaction d'un chapitre détaillant le templating avec JSF ;
- rédaction de nombreux chapitres supplémentaires sur JSF et JPA.
Et après ?
J'espère que ce modeste cours vous ouvrira les portes vers des technologies non abordées ici, notamment :
- d'autres frameworks MVC, comme Spring ou Stripes ;
- d'autres frameworks de persistance, comme Hibernate ou MyBatis.
Autour du développement web en Java, les sujets sont vastes et les outils nombreux, mais tous vous sont accessibles : n'hésitez pas à vous y plonger, et pourquoi pas à vous lancer dans la rédaction d'un tutoriel à leur sujet !