Java EE

Java EE pour le Web

  • L’environnement de développement
    • Téléchargement des outils
    • Installation des outils
    • Configuration de Java dans Eclipse
    • Intégration de Tomcat dans Eclipse
  • Une première application
    • Qu’est-ce qu’une application Java EE ?
    • Création d’un projet dans Eclipse
    • Déploiement depuis Eclipse et test de l’application
      • Le contexte racine de déploiement (root context)
    • Packaging de l’application
  • Introduction à Maven
    • Pourquoi utiliser Maven ?
    • Caractéristiques principales de Maven
    • Installation de Maven
    • Un premier projet avec Maven
    • Le fichier pom.xml
    • Import du projet Maven dans Eclipse
    • Test de l’application dans Tomcat
    • Gérer le projet avec Maven
    • Exécution de Maven dans Eclipse
  • Les Servlets
    • Structure d’une servlet HTTP
    • Configuration du déploiement d’une servlet
      • Chemin absolu d’URL dans une application Web
      • Motif d’URL d’une Servlet
    • Utilisation du fichier de déploiement web.xml
    • Exercice
  • Le conteneur Web
    • Cycle de vie des servlets
    • Exercice
    • Servlet et programmation concurrente
    • Exercice
  • Les attributs d’une application Web
    • Attribut de portée requête
    • Attribut de portée session
      • Session HTTP : comment cela marche-t-il ?
    • Les attributs de portée application
    • Exercices
  • JSP : Java Server Pages
    • Exercice
    • EL : Expression Language
    • Les opérateurs dans l’expression language
    • Les objets implicites dans une JSP
    • La résolution de portée des attributs dans une JSP
      • Expression Language et gestion des exceptions
    • Les directives de JSP
      • La directive page
      • La directive include
    • Les balises d’action JSP
    • Les Taglibs et la JSTL
      • JSTL core
      • JSTL formater
      • JSTL functions
      • JSTL SQL
      • JSTL XML
    • Exercices
  • MVC et RequestDispatcher
    • Le modèle MVC
    • Le request dispatcher
    • Exemple de MVC (sans validation)
    • Exemple de MVC (avec validation)
    • Exercice
  • Web listeners et filtres
    • Les listeners Web
    • Déclaration des listeners Web
    • Exemple d’utilisation d’un listener
    • Les filtres de Servlet
    • Déclaration des filtres
    • Implémentation d’un filtre
    • Cas d’utilisation de filtres
      • Gestion de l’UTF-8
      • Génération de log
  • Les API Web avec JAX-RS
    • La notion de ressource
    • Configurer une application Web pour JAX-RS
    • Implémenter des ressources avec JAX-RS
      • Les annotations de méthodes
      • Paramètre dans le chemin d’URI
    • Data binding
    • Générer une réponse
    • Gérer des exceptions
    • Implémenter un client HTTP
  • Sécurisation d’une application Web
    • Déclarer des contraintes de sécurité
    • Configuration de l’authentification dans Tomcat
    • Configuration https dans Tomcat
    • Exercice
    • Login à partir d’un formulaire Web

Java EE ORM

  • Accès aux bases de données : JDBC
    • Préambule : try-with-resources
    • Le pilote de base de données
    • Création d’une connexion
    • L’URL de connexion et la classe des pilotes
    • Les requêtes SQL (Statement)
    • Le Statement
    • Le ResultSet
    • Le PreparedStatement
      • L’injection SQL
    • Récupération des clés générées
    • Le CallableStatement
    • La transaction
  • JDBC dans une application Web
    • Accès à une DataSource
    • Injection d’une DataSource
    • Déclaration de la DataSource dans le fichier web.xml
    • Déclaration d’une DataSource dans Tomcat
  • Les entités JPA
    • Les ORM (Object-Relational Mapping)
    • Les entités JPA
    • L’EntityManager
      • Obtenir un EntityManager
      • Créer une fabrique d’EntityManager
    • Manipuler des entités à partir d’un EntityManager
      • La méthode persist
      • La méthode find
      • La méthode refresh
      • La méthode merge
      • La méthode detach
      • La méthode remove
  • Les requêtes JPA
    • Les requêtes Natives
    • Les requêtes JPQL
      • Les requêtes par programmation
    • Utilisation de requêtes nommées
  • Les relations avec JPA
    • La relation 1:1 (one to one)
    • La relation n:1 (many to one)
    • La relation 1:n (one to many)
    • La relation n:n (many to many)
    • Les relations bi-directionnelles
    • La propagation en cascade
    • Requêtes JPQL et jointure
    • Fetch lazy ou fetch eager
    • Relation avec des attributs
      • Solution 1 : Référencer la clé composée avec @IdClass
      • Solution 2 : Référencer la clé composée avec @EmbeddedId
      • Solution 3 : Utiliser une clé technique simple
  • L’héritage avec JPA
    • L’annotation @Inheritance
      • Héritage avec une seule table
    • Héritage avec jointure de tables
    • Héritage avec une table par classe
    • L’héritage et les requêtes JPQL polymorphiques
    • Un cas à part : fusion de la super classe

API Web et service Web

  • Introduction : Service Web et API Web
  • HTTP, REST et les API Web
    • Le protocole HTTP
      • Structure des messages
      • Exercice
      • Les codes de statut
      • Les méthodes HTTP
      • Propriétés des méthodes HTTP
      • Les en-têtes HTTP
      • Exercice
    • HTTP : les cas d’utilisation
      • Obtenir la représentation d’une ressource
      • Obtenir uniquement les meta-informations d’une ressource
      • Créer une ressource dont on connait l’URI
      • Créer une ressource dont on ne connait pas l’URI
      • Supprimer l’accès à une ressource
      • Mettre à jour une ressource
      • Mettre à jour partiellement une ressource
      • Exécuter un processus de traitement
      • Connaître les méthodes autorisées
      • Traitement asynchrone d’une requête
      • Les redirections
        • Évolution du service
        • URI volatile et canonicalisation d’URI
        • Séparer le traitement de la requête de son résultat
    • HTTP : la négociation de contenu
      • La négociation de type de contenu
      • La négociation de jeu de caractères
      • La négociation de langue
      • L’en-tête Vary
    • HTTP : les requêtes conditionnelles
      • Demander une représentation à jour
      • Créer une ressource si elle n’existe pas déjà
      • Altérer une ressource sous condition
      • Altérer une ressource si elle existe
    • HTTP : la gestion du cache
      • Serveur d’origine et intermédiaires
      • Principe générale de la gestion du cache
      • La fraîcheur d’une réponse
      • La revalidation
      • Les directives de stratégie de cache
      • L’invalidation de cache
      • Enrichissement des en-têtes par les intermédiaires
    • HTTP : les liens
      • L’en-tête Link
      • Les types de relation
      • Les attributs optionnels d’un lien
    • REST
      • La ressource
      • URI informative ou URI opaque ?
      • Ressource contre RPC
      • La représentation
      • Les contraintes REST
        • Client/Serveur
        • Interface uniforme
        • Sans état (stateless)
        • Mise en cache (caching)
        • Layered system
        • Code on demand
      • Hypermédia
        • Les formats hypermédias
        • L’en-tête Link
        • Les apports de l’hypermédia
      • REST : ça veut dire quoi ?
      • Les API Web
      • Références
        • Sites Web & articles
        • Livres
        • Applications de démo
      • Exercices
  • Les services Web SOAP / WSDL
    • Les services Web avec Java
      • La quête de l’interopérabilité
      • SOAP : structure des messages
      • Web Service Description Language (WSDL)
      • Développer un service Web SOAP
      • Exercice
      • Les outils Java de génération
        • WSDL → Java (Contract first)
      • Consommer un service Web avec JAX-WS
      • Exercice
      • Implémenter des services Web avec JAX-WS
      • Déployer un service Web dans un serveur Tomcat
      • Exercice
      • Pour aller plus loin
    • Annexe : XML
      • Structure du langage
      • Structure du document
      • Exercice
      • Espaces de noms XML
      • Schémas XML
      • Pour aller plus loin…
Java EE
D'autres formations sont sur https://gayerie.dev
  • »
  • Recherche


Par David Gayerie - - https://gayerie.dev

Licence Creative Commons Cette œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Partage dans les Mêmes Conditions 3.0 France