1. Supports de cours
  2. Jakarta EE - Développez des applications web en Java

Jakarta EE Développez des applications web en Java

  • En stock
  • Expédié en 24h00
  • Livraison à partir de 0,01 €
  • Version en ligne offerte pendant 1 an
  • 1 h d'accès gratuit à tous nos livres et vidéos pour chaque commande
  • Accessible immédiatement et pour une durée de 10 ans
  • Version HTML
  • Accès illimité 24h/24, 7J/7
  • Accès illimité 24h/24, 7J/7
  • Tous les livres en ligne, les vidéos et les cours enregistrés ENI
  • Plus de 10 nouveautés livres et vidéos chaque mois
  • Les nouveautés disponibles le jour de leur sortie
  • Accès 100% en ligne

Présentation

Ce livre s'adresse aux développeurs souhaitant monter en compétences sur le développement d'applications web, côté serveur, avec les technologies essentielles de Jakarta EE. Des connaissances sur le langage Java sont un prérequis nécessaire à la bonne compréhension du livre.

Tout au long des chapitres, l'auteur aide le lecteur à mettre en place des projets au travers de l'IDE Eclipse lui permettant d'explorer le fonctionnement des technologies décrites.

Le premier chapitre présente Jakarta EE, le protocole HTTP et l'environnement de développement utilisé (Java, Eclipse, Tomcat et MySQL). Les deux chapitres suivants présentent en détail les fondamentaux du développement web avec les servlets et les JSP ainsi que les technologies suivantes : les filtres, les événements, les sessions, les cookies, l'EL et les balises JSTL. Le quatrième chapitre traite de la persistance des données, un élément incontournable pour créer une application. La première partie de ce chapitre détaille l'utilisation de l'API JDBC et la seconde partie montre la puissance d'un ORM en présentant la spécification JPA. À l'issue de ces quatre premiers chapitres, le lecteur est capable de créer ses premières applications web en Java.

Pour aller encore plus loin dans la connaissance et la maîtrise des technologies Java liées au développement web, le cinquième chapitre présente la notion de Framework qui permet d'architecturer les applications et d'industrialiser le développement. À ce titre, les bases du Framework JSF sont présentées. Les deux chapitres suivants sont dédiés à la mise en œuvre de technologies complémentaires : les Services Web REST et les WebSockets. Enfin, le dernier chapitre s'attarde sur le déploiement d'une application sur Tomcat en traitant des sujets incontournables que sont la sécurité (l'authentification, l'autorisation, HTTPS) et la journalisation. Un focus est aussi réalisé sur la mise en place du HTTP/2.

Table des matières

  • Introduction à Jakarta EE
    • 1. Introduction
    • 2. L'écosystème Java
    • 3. La plateforme Java SE
      • 3.1 Introduction
      • 3.2 Les différentes implémentations de la plateforme
      • 3.3 Installation du JDK sur Windows
        • 3.3.1 Installation de la plateforme OpenJDK
        • 3.3.2 Installation de la plateforme Oracle JDK
        • 3.3.3 Configuration des variables d'environnement
        • 3.3.4 Tester le bon fonctionnement
      • 3.4 Installation du JDK sur Linux
        • 3.4.1 Installation de la plateforme OpenJDK
        • 3.4.2 Installation de la plateforme Oracle JDK
        • 3.4.3 Configuration de la variable JAVA_HOME
        • 3.4.4 Tester le bon fonctionnement
    • 4. La plateforme Jakarta EE
      • 4.1 Introduction
      • 4.2 Le processus d’évolution de la plateforme
      • 4.3 Les serveurs d’applications
        • 4.3.1 La notion de conteneur
        • 4.3.2 Différents serveurs d’applications
      • 4.4 Les spécifications Jakarta EE
      • 4.5 La répartition des spécifications
    • 5. Le protocole HTTP
      • 5.1 Introduction
      • 5.2 Les URI
      • 5.3 La requête
        • 5.3.1 La structure
        • 5.3.2 Les types de requêtes
        • 5.3.3 Les attributs de requêtes
      • 5.4 La réponse
        • 5.4.1 La structure
        • 5.4.2 Les codes de statut
        • 5.4.3 Les attributs de réponses
      • 5.5 La gestion du cache
      • 5.6 La gestion de l'authentification
      • 5.7 Les types de médias
    • 6. L'environnement de développement
      • 6.1 Tomcat
        • 6.1.1 Téléchargement
        • 6.1.2 Installation sur Windows
        • 6.1.3 Installation sur Linux
      • 6.2 MySQL
        • 6.2.1 Téléchargement
        • 6.2.2 Installation sur Windows
        • 6.2.3 Installation sur Linux
      • 6.3 Eclipse
        • 6.3.1 Téléchargement et installation
        • 6.3.2 Premier démarrage
        • 6.3.3 Configuration
        • 6.3.4 Création d'un projet d'application web
        • 6.3.5 Déploiement et exécution d'une application web
      • 6.4 Gradle
        • 6.4.1 Présentation
        • 6.4.2 La gestion des dépendances
    • 7. Les exemples du livre
      • 7.1 Introduction
      • 7.2 Description fonctionnelle
      • 7.3 Le diagramme de classes d'analyses
      • 7.4 La base de données
    • 8. Conclusion
  • Les servlets
    • 1. Introduction
    • 2. La structure d'une application web
      • 2.1 Présentation
      • 2.2 La structure logique d'une application web
      • 2.3 La structure physique d'une application web
        • 2.3.1 Présentation
        • 2.3.2 Le paramétrage
    • 3. Le projet
    • 4. Les servlets
      • 4.1 Qu'est-ce qu'une servlet ?
      • 4.2 Le cycle de vie d'une servlet
      • 4.3 La première servlet
        • 4.3.1 La création de la servlet
        • 4.3.2 La déclaration d'une servlet
        • 4.3.3 Les paramètres d'initialisation d'une servlet
        • 4.3.4 La mise en évidence du cycle de vie d'une servlet
      • 4.4 La classe HttpServlet
      • 4.5 Les différents contextes
        • 4.5.1 Le contexte d'application
        • 4.5.2 Le contexte de session
        • 4.5.3 Le contexte de requête
      • 4.6 La lecture de la requête
        • 4.6.1 Lecture des informations de l'URL
        • 4.6.2 Lecture de l'en-tête de la requête
        • 4.6.3 Lecture des paramètres
      • 4.7 La création de la réponse
        • 4.7.1 Écriture de l'en-tête de la réponse
        • 4.7.2 Écriture du corps de la réponse
        • 4.7.3 La gestion de l'envoi de la réponse
        • 4.7.4 Premier exemple de mise en œuvre
        • 4.7.5 Déléguer la création de la réponse
        • 4.7.6 Second exemple de mise en œuvre
        • 4.7.7 La redirection
        • 4.7.8 La gestion des erreurs
      • 4.8 Les servlets asynchrones
    • 5. Le suivi de l'activité de l'utilisateur
      • 5.1 Présentation
      • 5.2 Les cookies
        • 5.2.1 Présentation
        • 5.2.2 La création d'un cookie
        • 5.2.3 La lecture d'un cookie
      • 5.3 La session
        • 5.3.1 Présentation
        • 5.3.2 Le suivi de session
        • 5.3.3 La création d'une session
        • 5.3.4 L'utilisation d'une session
        • 5.3.5 La liaison d'attributs
    • 6. Les filtres
      • 6.1 Présentation
      • 6.2 Mise en œuvre
        • 6.2.1 La création d'un filtre
        • 6.2.2 La déclaration du filtre
        • 6.2.3 L'utilisation d'un filtre
    • 7. Les événements
      • 7.1 Présentation
      • 7.2 Le paramétrage des classes
      • 7.3 Les événements liés au contexte d'application
      • 7.4 Les événements liés au contexte de session
      • 7.5 Les événements liés au contexte de requête
    • 8. La sécurité
    • 9. Conclusion
  • La présentation avec les JSP
    • 1. Introduction
    • 2. Le projet
      • 2.1 La création du projet
      • 2.2 La création d'une JSP
    • 3. Le principe d'exécution
    • 4. Le paramétrage d'une JSP
    • 5. Les directives
      • 5.1 Présentation
      • 5.2 La directive page
        • 5.2.1 Présentation
        • 5.2.2 Les attributs de la directive
        • 5.2.3 Un exemple de mise en œuvre
      • 5.3 La directive taglib
        • 5.3.1 Présentation
        • 5.3.2 Les attributs de la directive
        • 5.3.3 Un exemple de mise en œuvre
      • 5.4 La directive include
        • 5.4.1 Présentation
        • 5.4.2 Les attributs de la directive
        • 5.4.3 Un exemple de mise en œuvre
    • 6. Les éléments de script
      • 6.1 Présentation
      • 6.2 Les déclarations
        • 6.2.1 Présentation
        • 6.2.2 Un exemple de mise en œuvre
      • 6.3 Les scriptlets
        • 6.3.1 Présentation
        • 6.3.2 Un exemple de mise en œuvre
      • 6.4 Les expressions
        • 6.4.1 Présentation
        • 6.4.2 Un exemple de mise en œuvre
      • 6.5 Les commentaires
      • 6.6 L'EL (Expression Language)
    • 7. Les objets disponibles dans une JSP
      • 7.1 Présentation
      • 7.2 Un exemple de mise en œuvre
    • 8. La gestion des erreurs
      • 8.1 Présentation
      • 8.2 Les erreurs à la transformation
      • 8.3 Les erreurs à l'exécution
      • 8.4 L'utilisation de l'instruction try/catch
      • 8.5 L'utilisation des pages d'erreur JSP
      • 8.6 L'utilisation des pages d'erreur globales
    • 9. L'utilisation de fragments
      • 9.1 Présentation
      • 9.2 L'inclusion statique
      • 9.3 L'inclusion dynamique
      • 9.4 Un exemple d'inclusion
      • 9.5 Une inclusion variable
    • 10. Les actions standards
      • 10.1 Présentation
      • 10.2 Qu'est-ce qu'un JavaBean ?
      • 10.3 <jsp:useBean>
        • 10.3.1 Présentation
        • 10.3.2 Exemple
      • 10.4 <jsp:setProperty>
        • 10.4.1 Présentation
        • 10.4.2 Exemple
      • 10.5 <jsp:getProperty>
        • 10.5.1 Présentation
        • 10.5.2 Exemple
      • 10.6 <jsp:include>
      • 10.7 <jsp:forward>
      • 10.8 <jsp:param>
    • 11. L'EL (Expression Language)
      • 11.1 Présentation
      • 11.2 La syntaxe
      • 11.3 Les objets disponibles
      • 11.4 La recherche dans les différents contextes
      • 11.5 Les opérateurs
        • 11.5.1 Les opérateurs arithmétiques
        • 11.5.2 L'opérateur de concaténation des chaînes de caractères
        • 11.5.3 Les opérateurs de comparaison
        • 11.5.4 Les opérateurs logiques
        • 11.5.5 L'opérateur empty
        • 11.5.6 L'opérateur conditionnel
        • 11.5.7 L'opérateur d'assignation
        • 11.5.8 L'opérateur point-virgule
        • 11.5.9 Les parenthèses
        • 11.5.10 La précédence des opérateurs
      • 11.6 La manipulation des énumérés
      • 11.7 La manipulation des variables et méthodes statiques
      • 11.8 La manipulation des collections
        • 11.8.1 La création
        • 11.8.2 L'exploitation
      • 11.9 La gestion des erreurs
    • 12. Les balises JSTL
      • 12.1 Présentation
      • 12.2 Les modifications du projet
      • 12.3 L'utilisation d'une librairie dans une JSP
      • 12.4 La librairie de base (core)
        • 12.4.1 <c:out>
        • 12.4.2 <c:set>
        • 12.4.3 <c:remove>
        • 12.4.4 <c:catch>
        • 12.4.5 <c:if>
        • 12.4.6 <c:choose>, <c:when>, <c:otherwise>
        • 12.4.7 <c:forEach>
        • 12.4.8 <c:forTokens>
        • 12.4.9 <c:import>
        • 12.4.10 <c:url>
        • 12.4.11 <c:redirect>
        • 12.4.12 <c:param>
      • 12.5 La librairie d'internationalisation et de formatage (fmt)
        • 12.5.1 Les principes
        • 12.5.2 La définition de la Locale
        • 12.5.3 Le chargement des ressources
        • 12.5.4 L'affichage des messages
        • 12.5.5 Un exemple de mise en œuvre
        • 12.5.6 <fmt:timeZone> et <fmt:setTimeZone>
        • 12.5.7 <fmt:formatDate> et <fmt:parseDate>
        • 12.5.8 <fmt:formatNumber> et <fmt:parseNumber>
      • 12.6 La librairie de fonctions (fn)
        • 12.6.1 fn:contains
        • 12.6.2 fn:containsIgnoreCase
        • 12.6.3 fn:endsWith
        • 12.6.4 fn:escapeXml
        • 12.6.5 fn:indexOf
        • 12.6.6 fn:join
        • 12.6.7 fn:length
        • 12.6.8 fn:replace
        • 12.6.9 fn:split
        • 12.6.10 fn:startsWith
        • 12.6.11 fn:substring
        • 12.6.12 fn:substringAfter
        • 12.6.13 fn:substringBefore
        • 12.6.14 fn:toLowerCase
        • 12.6.15 fn:toUpperCase
        • 12.6.16 fn:trim
    • 13. Les balises personnalisées
      • 13.1 Présentation
      • 13.2 La création d'une balise personnalisée
      • 13.3 L'utilisation d'une balise personnalisée
      • 13.4 L'envoi d'informations à une balise personnalisée
      • 13.5 La récupération d'informations d'une balise personnalisée
    • 14. Conclusion
  • La persistance des données avec JDBC et JPA
    • 1. Introduction
    • 2. La spécification JDBC
      • 2.1 Description
      • 2.2 Les différents types de pilotes
      • 2.3 L'API JDBC
      • 2.4 Le projet
        • 2.4.1 La création du projet
        • 2.4.2 Le référencement du pilote JDBC
      • 2.5 La connexion
        • 2.5.1 Introduction
        • 2.5.2 La première connexion
        • 2.5.3 La mise en place d'un pool de connexion
        • 2.5.4 Compléments sur l'interface Connection
      • 2.6 L'exploitation des données
        • 2.6.1 L'interface Statement
        • 2.6.2 L'interface PreparedStatement
        • 2.6.3 L'interface CallableStatement
        • 2.6.4 L'utilisation du ResultSet
        • 2.6.5 La gestion des exceptions
      • 2.7 La gestion des transactions
      • 2.8 Conclusion
    • 3. La spécification JPA
      • 3.1 Description
      • 3.2 Les principales implémentations
      • 3.3 L'API JPA
        • 3.3.1 Les entités
        • 3.3.2 Le gestionnaire d'entités
        • 3.3.3 Les transactions
      • 3.4 Le projet
      • 3.5 La connexion
        • 3.5.1 Le fichier persistence.xml
        • 3.5.2 L'EntityManager et l'EntityManagerFactory
      • 3.6 Le mappage
        • 3.6.1 Le contexte
        • 3.6.2 Les annotations indispensables : @Entity et @Id
        • 3.6.3 La gestion des tables : @Table, @SecondaryTable
        • 3.6.4 La gestion des variables membres : @Column, @Basic, @Transient
        • 3.6.5 La gestion avancée des variables membres
        • 3.6.6 La gestion de l'héritage
        • 3.6.7 La gestion des clés primaires simples : @Id, @GeneratedValue
        • 3.6.8 La gestion des clés primaires composites avec @IdClass
        • 3.6.9 La gestion des clés primaires composites avec @EmbeddedId,@Embeddable et @MapsId
        • 3.6.10 La gestion des relations 1:1
        • 3.6.11 La gestion des relations 1:n
        • 3.6.12 La gestion des relations n:m
        • 3.6.13 Les annotations @JoinColumn et @JoinTable
        • 3.6.14 La gestion des collections
        • 3.6.15 La gestion des Map
      • 3.7 L'exploitation des données
        • 3.7.1 Les méthodes de l'EntityManager
        • 3.7.2 L’utilisation des transactions
        • 3.7.3 L’enregistrement d’une entité
        • 3.7.4 La recherche d’une entité par son identité
        • 3.7.5 La modification d’une entité
        • 3.7.6 La suppression d’une entité
        • 3.7.7 Les traitements complexes
        • 3.7.8 Le chargement différé
        • 3.7.9 Le tri
        • 3.7.10 La manipulation d’une entité détachée
        • 3.7.11 La validation des données
      • 3.8 Le JPQL
        • 3.8.1 Présentation
        • 3.8.2 L'exécution d'une requête JPQL
        • 3.8.3 Les requêtes simples
        • 3.8.4 Les requêtes avec restrictions
        • 3.8.5 Les requêtes imbriquées
        • 3.8.6 Les requêtes paramétrées
        • 3.8.7 Les requêtes avec jointure
        • 3.8.8 Les calculs d'agrégats
        • 3.8.9 Les requêtes nommées
        • 3.8.10 Les fonctions disponibles
        • 3.8.11 L'exploitation du résultat
      • 3.9 L'API Criteria
      • 3.10 JPA et l'injection de dépendances
        • 3.10.1 Présentation
        • 3.10.2 L'implémentation
        • 3.10.3 La mise en place
    • 4. Conclusion
  • Le framework de présentation JSF
    • 1. Présentation générale
    • 2. Présentation de JSF
      • 2.1 Généralités
      • 2.2 Principes de fonctionnement
      • 2.3 Le projet
    • 3. Le paramétrage général
      • 3.1 Le fichier faces-config.xml
      • 3.2 Le fichier beans.xml
      • 3.3 Le fichier web.xml
    • 4. L'exemple
    • 5. Les managedBeans
      • 5.1 Présentation
      • 5.2 Mise en œuvre
    • 6. Les facelets
      • 6.1 Les librairies
      • 6.2 L'EL (Expression Language)
      • 6.3 Mise en œuvre
    • 7. Les conversions
    • 8. Les validations
      • 8.1 La validation dans la facelet
      • 8.2 La validation dans un validateur
      • 8.3 La validation avec la spécification Bean Validation
    • 9. L'internationalisation
      • 9.1 La création des fichiers .properties
      • 9.2 La déclaration dans le fichier faces-config.xml
      • 9.3 La modification des facelets
      • 9.4 L'internationalisation des validateurs
      • 9.5 Bean Validation et l'internationalisation
      • 9.6 L'utilisation des messages paramétrés
    • 10. Conclusion
  • Les services web REST
    • 1. Introduction
    • 2. Présentation des services web REST
      • 2.1 Les principes
      • 2.2 Les caractéristiques
      • 2.3 Vers les services web REST
      • 2.4 Les limitations
    • 3. La mise en place de l'environnement de développement
      • 3.1 Le choix d'une implémentation
      • 3.2 La mise en place du projet et des dépendances
    • 4. La spécification JAX-RS
      • 4.1 Introduction
      • 4.2 Le fonctionnement général
    • 5. La configuration de l'application
    • 6. L'exposition des ressources
      • 6.1 Présentation
      • 6.2 La classe ressource et ses méthodes
      • 6.3 L'extraction et l'injection d'informations
      • 6.4 Les types de retours des méthodes ressources
    • 7. La validation des données
      • 7.1 Les annotations
      • 7.2 Le paramétrage des implémentations JAX-RS
      • 7.3 La validation des informations élémentaires
      • 7.4 La validation des entités
    • 8. Les providers
      • 8.1 Présentation
      • 8.2 Les entity providers
      • 8.3 Les exceptions providers
    • 9. Les filtres et les intercepteurs
      • 9.1 Les filtres
      • 9.2 Les intercepteurs
    • 10. Complément sur le déploiement
    • 11. L'API cliente
      • 11.1 Introduction
      • 11.2 Le fonctionnement général
      • 11.3 La mise en place du projet et des dépendances
      • 11.4 La mise en œuvre
    • 12. Le côté client en JavaScript
      • 12.1 Introduction
      • 12.2 La mise en place du projet
      • 12.3 Une requête GET retournant un contenu JSON
      • 12.4 Une requête POST envoyant un contenu JSON
    • 13. Conclusion
  • Introduction aux WebSockets
    • 1. Introduction
    • 2. Le fonctionnement
      • 2.1 Les étapes de la communication
      • 2.2 L'établissement de la communication
    • 3. La spécification WebSocket
    • 4. L'exemple
    • 5. Le côté serveur
      • 5.1 La mise en place de l'environnement de développement
      • 5.2 Le développement par annotations
      • 5.3 La session
      • 5.4 Les encodeurs et les décodeurs
    • 6. Le côté serveur de l'exemple
    • 7. Le côté client en Java
      • 7.1 Introduction
      • 7.2 La mise en place de l'environnement de développement
      • 7.3 Le développement par annotations
      • 7.4 La mise en place de la communication
    • 8. Le côté client en JavaScript
      • 8.1 Introduction
      • 8.2 L'interface WebSocket
      • 8.3 Le côté client de l'exemple
    • 9. Conclusion
  • Déploiement d’applications sur Tomcat
    • 1. Introduction
    • 2. L'installation de l'environnement
      • 2.1 L'installation de Java
      • 2.2 L'installation de Tomcat
        • 2.2.1 La vérification préalable
        • 2.2.2 Le téléchargement de Tomcat
        • 2.2.3 L'installation à partir d'une archive
        • 2.2.4 L'installation à partir d'un installeur sur un environnement Windows
        • 2.2.5 La vérification du bon fonctionnement
    • 3. L'architecture
      • 3.1 L'organisation physique
      • 3.2 L'organisation logique
    • 4. L'administration générale
      • 4.1 L'application à déployer
        • 4.1.1 Le projet
        • 4.1.2 La livraison
        • 4.1.3 La gestion du nom de domaine
      • 4.2 Vue d'ensemble
      • 4.3 Le fichier server.xml
        • 4.3.1 La structure générale
        • 4.3.2 La balise <Server>
        • 4.3.3 La balise <Service>
        • 4.3.4 La balise <Connector>
        • 4.3.5 La balise <Executor>
        • 4.3.6 La balise <Engine>
        • 4.3.7 La balise <Host>
        • 4.3.8 La balise <Alias>
        • 4.3.9 La balise <Context>
        • 4.3.10 La balise <Valve>
        • 4.3.11 Les balises <Resource> et <ResourceLink>
    • 5. La mise en place de la sécurité
      • 5.1 La restriction d'accès
        • 5.1.1 La restriction sur l'adresse IP de l'émetteur
        • 5.1.2 La restriction sur l'adresse IP du serveur
      • 5.2 L'authentification et l'autorisation
        • 5.2.1 Présentation
        • 5.2.2 Les ressources à protéger
        • 5.2.3 Les autorisations
        • 5.2.4 Le schéma d'authentification
        • 5.2.5 La base de comptes
      • 5.3 Le chiffrement
        • 5.3.1 La théorie
        • 5.3.2 La mise en œuvre
      • 5.4 L’utilisation du HTTP/2
        • 5.4.1 Introduction
        • 5.4.2 Mise en œuvre
        • 5.4.3 Focus sur le push
    • 6. La gestion des logs
      • 6.1 Les logs d'accès
      • 6.2 Les logs de l'activité logicielle
        • 6.2.1 Le mécanisme
        • 6.2.2 Le paramétrage
    • 7. Conclusion
    • Index

Auteur

Thierry RICHARDEn savoir plus

Après 8 ans en tant qu'ingénieur d'études dans différentes ESN, Thierry RICHARD a été formateur à ENI Ecole pendant 10 ans avant d’occuper le poste de coordinateur technique au sein de la même structure. Il est spécialisé dans les techniques de développement objet en environnement .NET et Java. Son expérience s'allie à ses compétences pédagogiques pour fournir au lecteur un livre réellement opérationnel sur le développement d'applications en Java.

Caractéristiques

  • Niveau Expert
  • Nombre de pages 616 pages
  • Parution juin 2022
    • Livre (broché) - 17 x 21 cm
    • ISBN : 978-2-409-03623-1
    • EAN : 9782409036231
    • Ref. ENI : EP2JEE
  • Niveau Expert
  • Parution juin 2022
    • HTML
    • ISBN : 978-2-409-03624-8
    • EAN : 9782409036248
    • Ref. ENI : LNEP2JEE

Téléchargements

En complétant ce formulaire, vous acceptez d'être contacté afin de recevoir des informations sur nos produits et services ainsi que nos communications marketing. Vous aurez la possibilité de vous désabonner de nos communications à tout moment. Pour plus d'informations sur notre politique de protection des données, cliquez ici.
  • Des fichiers complémentaires (874 Ko)