Créez votre application web avec Java EE

Apprenez pas à pas, en suivant les bonnes pratiques.

Ce contenu est obsolète. Il peut contenir des informations intéressantes mais soyez prudent avec celles-ci.

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

  1. Introduction au Java EE

    1. Pour commencer

    2. Qu'est-ce que Java EE ?

    3. Internet n'est pas le web !

    4. Comment ça marche

    5. Les langages du web

  2. Le Java EE mis à nu !

    1. Principes de fonctionnement

    2. Le modèle MVC : en théorie

    3. Le modèle MVC : en pratique

  3. Outils et environnement de développement

    1. L'IDE Eclipse

    2. Le serveur Tomcat

    3. Structure d'une application Java EE

Premiers pas avec Java EE

  1. La servlet

    1. Derrière les rideaux

    2. Création

    3. Mise en place

    4. Mise en service

  2. Servlet avec vue…

    1. Introduction aux JSP

    2. Mise en place d'une JSP

    3. Mise en relation avec notre servlet

  3. Transmission de données

    1. Données issues du serveur : les attributs

    2. Données issues du client : les paramètres

  4. Le JavaBean

    1. Objectifs

    2. Structure

    3. Mise en place

  5. La technologie JSP (1/2)

    1. Les balises

    2. Les directives

    3. La portée des objets

    4. Les actions standard

  6. La technologie JSP (2/2)

    1. Expression Language

    2. Les objets implicites

  7. Des problèmes de vue ?

    1. Nettoyons notre exemple

    2. Complétons notre exemple...

    3. Le point sur ce qu'il nous manque

    4. Documentation

  8. TP Fil rouge - Étape 1

    1. Objectifs

    2. Conseils

    3. Correction

Une bonne vue grâce à la JSTL

  1. Objectifs et configuration

    1. C'est sa raison d'être… ♫

    2. Configuration

  2. La bibliothèque Core

    1. Les variables et expressions

    2. Les conditions

    3. Les boucles

    4. Les liens

    5. Les autres bibliothèques de la JSTL

  3. JSTL core : exercice d'application

    1. Les bases de l'exercice

    2. Correction

  4. La bibliothèque xml

    1. La syntaxe XPath

    2. Les actions de base

    3. Les conditions

    4. Les boucles

    5. Les transformations

  5. JSTL xml : exercice d'application

    1. Les bases de l'exercice

    2. Correction

  6. Faisons le point !

    1. Reprenons notre exemple

    2. Quelques conseils

    3. Documentation

  7. TP Fil rouge - Étape 2

    1. Objectifs

    2. Conseils

    3. Correction

Une application interactive !

  1. Formulaires : le b.a.-ba

    1. Mise en place

    2. Contrôle : côté servlet

    3. Affichage : côté JSP

  2. Formulaires : à la mode MVC

    1. Analyse de notre conception

    2. Création du modèle

    3. Reprise de la servlet

    4. Reprise de la JSP

  3. TP Fil rouge - Étape 3

    1. Objectifs

    2. Conseils

    3. Correction

  4. La session : connectez vos clients

    1. Le formulaire

    2. Le principe de la session

    3. Le modèle

    4. La servlet

    5. Les vérifications

    6. Derrière les rideaux

  5. Le filtre : créez un espace membre

    1. Restreindre l'accès à une page

    2. Le principe du filtre

    3. Restreindre l'accès à un ensemble de pages

    4. Retour sur l'encodage UTF-8

  6. Le cookie : le navigateur vous ouvre ses portes

    1. Le principe du cookie

    2. Souvenez-vous de vos clients !

    3. À propos de la sécurité

  7. TP Fil rouge - Étape 4

    1. Objectifs

    2. Conseils

    3. Correction

  8. Formulaires : l'envoi de fichiers

    1. Création du formulaire

    2. Récupération des données

    3. Enregistrement du fichier

    4. Problèmes et limites

    5. Intégration dans MVC

  9. Le téléchargement de fichiers

    1. Une servlet dédiée

    2. Une solution plus simple

    3. L'état d'un téléchargement

    4. Réaliser des statistiques

  10. TP Fil rouge - Étape 5

    1. Objectifs

    2. Conseils

    3. Correction

Les bases de données avec Java EE

  1. Introduction à MySQL et JDBC

    1. Présentation des bases de données

    2. Préparation de la base avec MySQL

    3. Mise en place de JDBC dans le projet

    4. Création d'un bac à sable

  2. Communiquez avec votre BDD

    1. Chargement du driver

    2. Connexion à la base, création et exécution d'une requête

    3. Mise en pratique

    4. Les limites du système

    5. Les requêtes préparées

  3. Le modèle DAO

    1. Objectifs

    2. Principe

    3. Création

    4. Intégration

    5. Vérifications

  4. TP Fil rouge - Étape 6

    1. Objectifs

    2. Conseils

    3. Correction

  5. Gérer un pool de connexions avec BoneCP

    1. Contexte

    2. Principe

    3. Mise en place

Aller plus loin avec JPA et JSF

  1. Les annotations

    1. Présentation

    2. Principe

    3. Avec l'API Servlet 3.0

  2. La persistance des données avec JPA

    1. Généralités

    2. Principe

    3. Mise en place

    4. Tests et vérifications

    5. Aller plus loin

    6. ORM, ou ne pas ORM ?

  3. TP Fil rouge - Étape 7

    1. Objectifs

    2. Conseils

    3. Correction

  4. Introduction aux frameworks MVC

    1. Généralités

    2. Framework MVC basé sur les requêtes

    3. Framework MVC basé sur les composants

  5. Premiers pas avec JSF

    1. Qu'est-ce que JSF ?

    2. Facelets et composants

    3. Premier projet

    4. Les ressources

    5. JSF, ou ne pas JSF ?

  6. La gestion d'un formulaire avec JSF

    1. Une inscription classique

    2. Une inscription ajaxisée

    3. Une inscription contrôlée

  7. L'envoi de fichiers avec JSF

    1. Le problème

    2. Les bibliothèques de composants

    3. L'envoi de fichier avec Tomahawk

    4. Et plus si affinités...

Annexes

  1. Débugger un projet

    1. Les fichiers de logs

    2. Le mode debug d'Eclipse

    3. Quelques outils de tests

  2. Empaquetage et déploiement d'un projet

    1. Mise en boîte du projet

    2. Déploiement du projet



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 !

Aucun commentaire

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte