Blog ENI : Toute la veille numérique !
En raison d'une opération de maintenance, le site Editions ENI sera inaccessible le mardi 10 décembre, en début de journée. Nous vous invitons à anticiper vos achats. Nous nous excusons pour la gêne occasionnée
En raison d'une opération de maintenance, le site Editions ENI sera inaccessible le mardi 10 décembre, en début de journée. Nous vous invitons à anticiper vos achats. Nous nous excusons pour la gêne occasionnée
  1. Livres et vidéos
  2. Struts 2 - Développez votre application web moderne avec Java

Struts 2 Développez votre application web moderne avec Java

Informations

Livraison possible dès le 11 décembre 2024
  • Livraison à partir de 0,01 €
  • Version en ligne offerte pendant 1 an
Livres rédigés par des auteurs francophones et imprimés à Nantes

Caractéristiques

  • Livre (broché) - 17 x 21 cm
  • ISBN : 978-2-409-04064-1
  • EAN : 9782409040641
  • Ref. ENI : EISTRUTS

Informations

  • Consultable en ligne immédiatement après validation du paiement et pour une durée de 10 ans.
  • Version HTML
Livres rédigés par des auteurs francophones et imprimés à Nantes

Caractéristiques

  • HTML
  • ISBN : 978-2-409-04065-8
  • EAN : 9782409040658
  • Ref. ENI : LNEISTRUTS
Ce livre s’adresse aux développeurs Java qui souhaitent implémenter des applications web modernes avec le fra­mework open source Struts 2 permettant d’optimiser leur temps de développement.  Après une introduction et la présentation de l’installation de l’environnement de travail, le lecteur découvre l’archi­tecture de Struts 2 et la gestion d’une base de données avec ce framework. Puis, il acquiert progressivement les compétences nécessaires à la conception d’une application web :...
Consulter des extraits du livre en ligne Aperçu du livre papier
  • Niveau Confirmé à Expert
  • Nombre de pages 417 pages
  • Parution juin 2023
  • Niveau Confirmé à Expert
  • Parution juin 2023
Ce livre s’adresse aux développeurs Java qui souhaitent implémenter des applications web modernes avec le fra­mework open source Struts 2 permettant d’optimiser leur temps de développement.  

Après une introduction et la présentation de l’installation de l’environnement de travail, le lecteur découvre l’archi­tecture de Struts 2 et la gestion d’une base de données avec ce framework. Puis, il acquiert progressivement les compétences nécessaires à la conception d’une application web : conception de formulaires, gestion des sessions utilisateur ainsi que la conception et la mise en place des services web en ayant recours aux plugins REST, AJAX et JSON. Trois chapitres présentent également les tests uni­taires, la gestion des exceptions et des erreurs ainsi que les règles de sécurité à mettre en œuvre.  

Tout au long du livre, de nombreux exemples permettent au lecteur de comprendre les différents mécanismes à mettre en œuvre pour concevoir et développer une applica­tion web Java avec le framework Struts 2.
 
En fin d’ouvrage, l’autrice propose un exercice pratique avec le développement d’une application à destination d’un artisan du BTP qui devra permettre de visualiser la liste des clients, d’ajouter, supprimer et modifier un client, de consul­ter les devis en cours et de mettre à jour les données per­sonnelles d’un client.

Téléchargements

Introduction
  1. 1. Le framework Struts 2
  2. 2. Public
  3. 3. Description de l'ouvrage
  4. 4. Présentation de l'application Devis Pro
Installation : environnement de travail
  1. 1. Installation de l'EDI Eclipse
    1. 1.1 Installation du Java SE Development Kit
      1. 1.1.1 Installation sous Linux
      2. 1.1.2 Installation sous Windows
    2. 1.2 Installation d'Eclipse
      1. 1.2.1 Sous Windows
      2. 1.2.2 Sous Linux
      3. 1.2.3 Étapes communes à Windows et Linux
  2. 2. Java 11
    1. 2.1 De Java 8 à Java 11
    2. 2.2 De Java 11 à Java 19
  3. 3. Installation et configuration de Struts 2.5.2.29
    1. 3.1 Ajouter Struts 2 dans Eclipse
    2. 3.2 Création d'un projet Struts 2 avec Maven
      1. 3.2.1 Créer le projet Maven sous Eclipse
      2. 3.2.2 Ajouter les dépendances Struts 2 dans le pom.xml
      3. 3.2.3 Ajouter le fichier web.xml au projet
    3. 3.3 Arborescence d'un projet Struts 2 avec Maven
  4. 4. Installation de Tomcat
  5. 5. Installation de PostgreSQL
    1. 5.1 Installation
      1. 5.1.1 Sous Linux
      2. 5.1.2 Sous Windows
    2. 5.2 Ajouter un pilote JDBC
  6. 6. Installation de JUnit
  7. 7. Installation de Svn, Git, Maven et Jenkins
    1. 7.1 Maven
    2. 7.2 Svn
    3. 7.3 Git
    4. 7.4 Jenkins
  8. 8. Installation d'Apache
Architecture Struts
  1. 1. Les bases du Java EE : JSP, JavaBeans, servlets
    1. 1.1 Premiers pas avec Java EE
      1. 1.1.1 Principes d’application web
      2. 1.1.2 Architecture Java EE standard
    2. 1.2 Les JSP
      1. 1.2.1 Présentation
      2. 1.2.2 Exemple
    3. 1.3 Les JavaBeans
      1. 1.3.1 Présentation
      2. 1.3.2 Exemple
    4. 1.4 Servlets
  2. 2. Principes du design pattern MVC2
    1. 2.1 Design pattern MVC
    2. 2.2 MVC2 avec Struts 2
  3. 3. Les fichiers de configuration Struts
    1. 3.1 Le fichier web.xml
    2. 3.2 Le fichier struts.xml
  4. 4. Les actions
    1. 4.1 Créer la vue ou le formulaire d’authentification
    2. 4.2 Créer la classe Action pour l'authentification
    3. 4.3 Définir l'action et le résultat dans struts.xml
    4. 4.4 Créer les vues pour la redirection
    5. 4.5 Exécuter l'application
  5. 5. Les intercepteurs
  6. 6. Le FilterDispatcher
  7. 7. Les tags de formulaires Struts 2
    1. 7.1 Introduction
    2. 7.2 Liste des tags
      1. 7.2.1 Les principaux tags
      2. 7.2.2 Les messages d'erreur
  8. 8. ONGL, internationalisation et intégrations
    1. 8.1 Expressions OGNL
      1. 8.1.1 Introduction
      2. 8.1.2 Exemple
      3. 8.1.3 Autres expressions OGNL
    2. 8.2 Internationalisation
      1. 8.2.1 Principes
      2. 8.2.2 Fichiers de propriétés
      3. 8.2.3 Mise en pratique
    3. 8.3 Intégration de Tiles dans Struts 2
      1. 8.3.1 Introduction
      2. 8.3.2 Intégration du plug-in Tiles
      3. 8.3.3 Exemple
    4. 8.4 Intégration de Spring dans Struts 2
Les bases de données avec Java EE
  1. 1. Modélisation de la base de données avec UML 2
    1. 1.1 Cahier des charges
    2. 1.2 Interface utilisateur
    3. 1.3 Schéma UML2 : base de données devisprobtp
      1. 1.3.1 Schéma global de la base de données devis pro BTP
      2. 1.3.2 Informations relatives à la table Artisan
      3. 1.3.3 Informations relatives à la table Client
      4. 1.3.4 Informations relatives à la table Devis
      5. 1.3.5 Informations relatives à la table Facture
    4. 1.4 Script SQL base de données devisprobtp
  2. 2. Design pattern DAO
    1. 2.1 Description
    2. 2.2 Classe Client
    3. 2.3 Description des requêtes SQL
    4. 2.4 Implémentation du pattern DAO
      1. 2.4.1 Implémentation
      2. 2.4.2 PostgreSQL driver
    5. 2.5 Connexion DAO
  3. 3. Connexion à la base de données
    1. 3.1 Pattern singleton
    2. 3.2 Connexion
  4. 4. Persistance des données
    1. 4.1 Ajouter un client
    2. 4.2 Modifier une fiche client
    3. 4.3 Supprimer une fiche client
  5. 5. Requête paramétrée, tri, pagination
    1. 5.1 Requête paramétrée
      1. 5.1.1 Implémentation SQL
      2. 5.1.2 Implémentation Java
    2. 5.2 Ajouter le tri et la pagination
      1. 5.2.1 Tri croissant descendant
      2. 5.2.2 La pagination
  6. 6. Gestion des transactions
    1. 6.1 Introduction
    2. 6.2 Gestion des transactions
      1. 6.2.1 Valider une transaction
      2. 6.2.2 Annuler une transaction
  7. 7. Utilisation du framework Hibernate
    1. 7.1 Installation du plug-in
    2. 7.2 Hibernate
    3. 7.3 Équivalence table/objet
      1. 7.3.1 Classe Client encapsulant les données
      2. 7.3.2 Fichier XML correspondant
      3. 7.3.3 Configuration propriétés de connexion
  8. 8. Bonnes pratiques et mise en cache
    1. 8.1 Bonnes pratiques
      1. 8.1.1 Formatage du code SQL
      2. 8.1.2 Limiter le volume de données manipulé
      3. 8.1.3 Les vues
      4. 8.1.4 Les index
    2. 8.2 Mise en cache
Conception d’une application web avec Struts
  1. 1. Conception des formulaires HTML5/JSP/Bootstrap
    1. 1.1 Introduction à HTML
      1. 1.1.1 Introduction
      2. 1.1.2 Les principales balises
    2. 1.2 HTML5 : les apports
      1. 1.2.1 De nouvelles balises pour structurer un document
      2. 1.2.2 De nouveaux éléments pour le multimédia
      3. 1.2.3 De nouveaux éléments de formulaire
      4. 1.2.4 De nouveaux attributs
      5. 1.2.5 Autres éléments
      6. 1.2.6 Les API HTML5
    3. 1.3 Structurer ses pages
  2. 2. Traitement des données d’un formulaire
    1. 2.1 Gérer l’accès aux données
      1. 2.1.1 La balise
      2. 2.1.2 La balise
      3. 2.1.3 La balise
      4. 2.1.4 La balise
    2. 2.2 Itération, tri et condition
      1. 2.2.1 La balise
      2. 2.2.2 La balise
      3. 2.2.3 Les balises , et
  3. 3. Gestion des sessions utilisateur
    1. 3.1 Définir une variable de session
    2. 3.2 Enregistrer
    3. 3.3 Supprimer
    4. 3.4 Exemple complet
  4. 4. Cookies et HTML Storage
    1. 4.1 Objet Java cookie
    2. 4.2 HTML Storage versus les cookies
      1. 4.2.1 Intérêt du HTML Storage
      2. 4.2.2 Compatibilité des navigateurs
      3. 4.2.3 L’objet localStorage
      4. 4.2.4 L’objet sessionStorage
  5. 5. Envoi de fichier
    1. 5.1 Télécharger un fichier
      1. 5.1.1 La balise
      2. 5.1.2 La balise
    2. 5.2 Mise en œuvre
  6. 6. Action asynchrone avec AJAX
    1. 6.1 Principe
    2. 6.2 Mise en œuvre
    3. 6.3 Exemple d'implémentation
      1. 6.3.1 Ajouter le plug-in Struts jQuery
      2. 6.3.2 Le tag Struts jQuery
      3. 6.3.3 La classe AjaxAction
      4. 6.3.4 La page JSP de résultat
      5. 6.3.5 Exécuter la page JSP sous Tomcat
Angular et Struts
  1. 1. Introduction à Angular
    1. 1.1 Introduction
    2. 1.2 Les bases du JavaScript
      1. 1.2.1 Syntaxe
      2. 1.2.2 Commentaires
      3. 1.2.3 Indentation
      4. 1.2.4 Noms de variables et de fonctions
      5. 1.2.5 Types simples
      6. 1.2.6 Les variables et opérateurs arithmétiques
      7. 1.2.7 Les autres opérateurs
      8. 1.2.8 Concaténation
      9. 1.2.9 Conditions
      10. 1.2.10 Boucles
      11. 1.2.11 Switch
      12. 1.2.12 Tableau à une dimension
      13. 1.2.13 Tableau multidimensionnel
      14. 1.2.14 Fonctions sans arguments
      15. 1.2.15 Fonctions avec arguments
      16. 1.2.16 Fonctions avec valeur retournée
      17. 1.2.17 JavaScript et les objets
      18. 1.2.18 Objet String
      19. 1.2.19 Objet Date
      20. 1.2.20 L'objet Window et ses méthodes
      21. 1.2.21 L'objet Document et ses méthodes
      22. 1.2.22 Log et alerte
      23. 1.2.23 Modifier les propriétés CSS
      24. 1.2.24 Les événements
      25. 1.2.25 La méthode addEventListener
    3. 1.3 jQuery et jQuery UI
      1. 1.3.1 Librairie jQuery
      2. 1.3.2 Fonctionnement de base de jQuery
      3. 1.3.3 Sélectionner les éléments
      4. 1.3.4 Récupérer et modifier le contenu HTML
      5. 1.3.5 Récupérer ou modifier les propriétés CSS
      6. 1.3.6 Récupérer ou modifier la classe CSS
      7. 1.3.7 Récupérer ou modifier la classe CSS
      8. 1.3.8 Méthode de formulaire
      9. 1.3.9 Valider les formulaires
  2. 2. Plug-in Angular sous Struts 2
    1. 2.1 Installer l'environnement
    2. 2.2 Bases pour créer une application
      1. 2.2.1 Introduction
      2. 2.2.2 Le module
      3. 2.2.3 Le contrôleur
      4. 2.2.4 Les scopes
      5. 2.2.5 Le modèle
      6. 2.2.6 Les directives
      7. 2.2.7 Le Data Binding
      8. 2.2.8 Les directives : éléments de formulaire
      9. 2.2.9 Les propriétés Angular pour les formulaires
  3. 3. Exemple
Les services REST avec Struts
  1. 1. Principe
    1. 1.1 Protocole HTTP
    2. 1.2 Conventions
      1. 1.2.1 L’URI comme identifiant des ressources
      2. 1.2.2 Les verbes HTTP identifiant des opérations
      3. 1.2.3 Les réponses HTTP comme représentations des ressources
      4. 1.2.4 Code HTTP pour les réponses
      5. 1.2.5 Utiliser les versions
  2. 2. Implémenter un CRUD
    1. 2.1 Introduction
    2. 2.2 Mise en œuvre
      1. 2.2.1 Les fichiers de configuration Struts
      2. 2.2.2 Le contrôleur
      3. 2.2.3 JavaBean
      4. 2.2.4 Les classes liées à la récupération des données
      5. 2.2.5 Tester les services REST
  3. 3. Sécurité des services
    1. 3.1 Utiliser HTTPS
    2. 3.2 Ajouter une authentification
    3. 3.3 Utiliser une clé d'API
    4. 3.4 Utiliser OAuth2
  4. 4. Performance
    1. 4.1 Tester le bon fonctionnement de l'API REST
    2. 4.2 Surveiller les services web
Les tests unitaires sous Struts
  1. 1. Introduction
  2. 2. JUnit
    1. 2.1 Introduction
    2. 2.2 Ajouter le plug-in JUnit
  3. 3. Méthodologie
    1. 3.1 Principes des tests unitaires avec JUnit
      1. 3.1.1 Répertoire de tests pour JUnit
      2. 3.1.2 Méthode de test
      3. 3.1.3 Les assertions
      4. 3.1.4 Exécution des tests JUnit sous Eclipse
    2. 3.2 Exemple
Gestion des exceptions et des erreurs sous Struts
  1. 1. Introduction
  2. 2. Balise exception
  3. 3. Balise global-exception
  4. 4. Balise exception-mapping
  5. 5. Log4j 2
    1. 5.1 Ajouter Log4j 2 au projet
    2. 5.2 Acquisition d'un logger
    3. 5.3 Les niveaux de logs
Règles de sécurité
  1. 1. Généralités
  2. 2. Règles à mettre en œuvre avec Struts 2
    1. 2.1 Protéger l’accès des pages JSP
    2. 2.2 Utiliser Spring Security pour l'authentification
    3. 2.3 Faille de sécurité : mettre à jour
    4. 2.4 Injection OGNL
    5. 2.5 Désactiver le plug-in Config Browser
    6. 2.6 Désactiver le mode dev
    7. 2.7 Utiliser l'encodage UTF-8
    8. 2.8 Définir des pages d'erreur
    9. 2.9 Exclure des classes et des packages
  3. 3. Méthodologie
    1. 3.1 Création du projet Struts2SpringSecurity
    2. 3.2 Configuration du pom.xml
    3. 3.3 Configuration du web.xml
    4. 3.4 Configuration du Spring
    5. 3.5 Créer les actions
    6. 3.6 Créer les vues
Développez l’application Devis Pro BTP
  1. 1. Introduction
  2. 2. Spécification
    1. 2.1 Partie front-end
      1. 2.1.1 Le menu horizontal
      2. 2.1.2 Gestion des clients
      3. 2.1.3 Gestion des devis
    2. 2.2 Partie back-end
      1. 2.2.1 Afficher et modifier les informations personnelles
      2. 2.2.2 Gérer la connexion et la déconnexion
    3. 2.3 Service REST pour les devis
Développement additionnel
  1. 1. Introduction
  2. 2. La base de données SQL
  3. 3. Front
    1. 3.1 Le menu horizontal
      1. 3.1.1 Fichier header.jsp
      2. 3.1.2 stylesheet.css
    2. 3.2 Gestion des clients
      1. 3.2.1 listeClients.jsp
      2. 3.2.2 erreurClients.jsp
      3. 3.2.3 struts.xml
      4. 3.2.4 Client.java
      5. 3.2.5 ClientDAO.java
      6. 3.2.6 SQLConstant.java
      7. 3.2.7 ClientAction.java
    3. 3.3 Gestion des devis
      1. 3.3.1 listedevis.jsp
      2. 3.3.2 login.css
      3. 3.3.3 struts.xml
      4. 3.3.4 DevisCompletDAO.java
      5. 3.3.5 DevisComplet.java
      6. 3.3.6 DevisCompletAction.java
      7. 3.3.7 SQLConstant.java
  4. 4. Back
    1. 4.1 index.jsp
    2. 4.2 welcome.jsp
    3. 4.3 struts.xml
    4. 4.4 LoginAction.java
    5. 4.5 LoginDAO.java
    6. 4.6 SQLConstant.java
    7. 4.7 AccountAction.java
  5. 5. Service REST
    1. 5.1 DevisController.java
    2. 5.2 struts.xml
    3.  
    4.  
    5.  
    6.  
    7.  
    8. Index
    9.  
Auteur : Christelle  DAVEZAC

Christelle DAVEZAC

Diplômée du Master Interaction Homme-Machine, formation co-habilitée par l'Université Toulouse 3 et l'ENAC (Ecole Nationale de l’Aviation Civile), Christelle DAVEZAC exerce depuis une dizaine d’années le métier d’Ingénieur projet en Système d’information et en développement d’applications web, Java et Android. Passionnée par les nouvelles technologies, elle s’est spécialisée dans le développement IHM, le génie logiciel, l’ergonomie, la programmation objet et le développement d’applications Java. Elle est aujourd’hui chargée d’enseignement en développement Java, Web Java, en Responsive Web Design et en intégration Web auprès de l’Université Toulouse 3. Ces différentes expériences lui permettent de transmettre aux lecteurs une expertise pointue de la conception et du développement d’applications web Java avec Struts.


En savoir plus

Découvrir tous ses livres

  • Java et Struts 2 Coffrets de 2 livres : Maîtrisez le développement d'applications web modernes

Nos nouveautés

voir plus