Avant-propos 1. Avant-propos...3 2. Organisation du guide...3 3. À qui s'adresse ce guide?...4



Documents pareils
TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web.

JOnAS Day 5.1. Outils de développements

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués

PHP 5.4 Développez un site web dynamique et interactif

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki

Europa. Développement JEE 5. avec Eclipse. K a r i m D j a a f a r. A v e c l a c o n t r i b u t i o n d e O l i v i e r S a l v a t o r i

10. Base de données et Web. OlivierCuré

Application Web et J2EE

Introduction à la plateforme J2EE

SIO Page 1 de 5. Applications Web dynamiques. Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault

Formation en Logiciels Libres. Fiche d inscription

Cours en ligne Développement Java pour le web

Java pour le Web. Cours Java - F. Michel

Un serveur d'archivage

Web Tier : déploiement de servlets

SITE WEB E-COMMERCE ET VENTE A DISTANCE

Refonte front-office / back-office - Architecture & Conception -

Compte Rendu d intégration d application

7 villa de la citadelle Né le 13 mai Arcueil Nationalité : Française. Développeur Web JEE COMPÉTENCES

Outil de planification en ligne pour des créations de rendez-vous ou de sondage

Environnements de Développement

Internet Information Services (versions 7 et 7.5) Installation, configuration et maintenance du serveur Web de Microsoft

IBM DB2 Alphablox. d administration GC

1. Installation d'un serveur d'application JBoss:

Auto-évaluation Aperçu de l architecture Java EE

Utilisation de Jakarta Tomcat

A. Architecture du serveur Tomcat 6

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

PROCEDURE D'INSTALLATION OPENREPORTS

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux

contact@nqicorp.com - Web :

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

CQP Développeur Nouvelles Technologies (DNT)

Le développement d applications Web

arcopole Studio Annexe 7 Architectures Site du programme arcopole :

Catalogue des Formations Techniques

TP réseau Android. Bidouilles Tomcat. a) Installer tomcat : il suffit de dézipper l'archive apache-tomcat windowsx64.zip.

Livre Blanc WebSphere Transcoding Publisher

Business Intelligence avec SQL Server 2012

Projet Java EE Approfondi

JOnAS Day 5.1. Clustering

Joomla! Création et administration d'un site web - Version numérique

Application web de gestion de comptes en banques

JavaServer Pages (JSP)

Apache Tomcat 6. Guide d'administration du serveur Java EE sous Windows et Linux. Résumé. Étienne LANGLET

Chapitre 1 Windows Server

J2EE - Introduction. Développement web - Java. Plan du chapitre

Expert technique J2EE

Programme ASI Développeur

Etude de l ENT de l Université de Paris 5. Mise en place d outils de suivi de la charge de l ENT (monitoring)

Groupe Eyrolles, 2004 ISBN :

Installation et prise en main

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

WebSSO, synchronisation et contrôle des accès via LDAP

contact@nqicorp.com - Web :

Technologies Web. Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya. Université Pierre et Marie Curie

Réf. : S2I-CIELL2-PI-1.0. Version : 1.0. Auteurs : S2I-TOULON

L Authentification de Librex dans Active Directory (Kerberos)

DRUPAL Réalisez des développements professionnels avec PHP (2ième édition)

ASP.NET MVC 4 Développement d'applications Web en C# - Concepts et bonnes pratiques

Messagerie asynchrone et Services Web

Installation. Conception, mise en œuvre, hébergement, exploitation et

Chapitre 1 Introduction

JOnAS 5. Serveur d application d

Jahia. Guillaume Monnette École Ingénieurs 2000 Marne-La-Vallée IR3

Table des matières Page 1

ECLIPSE ET PDT (Php development tools)

DotNet. Plan. Les outils de développement

Hassene BELGACEM. Expériences Professionnelles. JEE architect / Technical leader. Ingénieur Informatique. Cycle Préparatoire

les techniques d'extraction, les formulaires et intégration dans un site WEB

Connexion à SQL Server 2005 à partir du serveur d application SJSAS 9 Utilisation d une interface JDBC

Serveur d'application à la juste taille

Vulgarisation Java EE Java EE, c est quoi?

1 JBoss Entreprise Middleware

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean.

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

Dossier Technique. Détail des modifications apportées à GRR. Détail des modifications apportées à GRR Le 17/07/2008. Page 1/10

Documentation de la plate forme JOnAS

Groupe Eyrolles, 2005, ISBN :

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Authentification avec CAS sous PRONOTE.net Version du lundi 19 septembre 2011

Quick Start Installation de MDweb version 2.3

Web Application Models

et Groupe Eyrolles, 2006, ISBN :

ACCORD-CADRE DE TECHNIQUES DE L'INFORMATION ET DE LA COMMUNICATION. PROCEDURE ADAPTEE En application des articles 28 et 76 du Code des Marchés Publics

IBM WebSphere Application Server 5.0 : Administration avancée

Technologies Web, Serveurs Web et d'applications

Gestion du service des enseignements

GLPI (Gestion Libre. 2 ième édition. Nouvelle édition. de Parc Informatique)

Documentation de la plate forme JOnAS. Frederic Maistre

Utilisation de GCM (Google Cloud Messaging) pour Android. Partie préliminaire éventuelle : Création d'un AVD lisant GCM

Présentation de SOFI 2.0

Armand PY-PATINEC 2010

Ingénieur Développement Nouvelles Technologies

Etude de cas : PGE JEE V2

Développement d'applications Web HTML5 L'art et la manière avec Visual Studio 2015 et TFS

arcopole Studio Version 3.3

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

Transcription:

Les exemples cités tout au long de cet ouvrage sont téléchargeables à l'adresse suivante : http://www.editions-eni.fr. Saisissez la référence ENI de l'ouvrage EP5EJAV dans la zone de recherche et validez. Cliquez sur le titre du livre puis sur le lien de téléchargement. Avant-propos 1. Avant-propos...3 2. Organisation du guide...3 3. À qui s'adresse ce guide?...4 Chapitre 1 Objectifs et spécifications de Java EE 1. Les conventions...13 1.1 Les conventions du guide, de Java, de codage et les règles de nommage. 13 1.2 Les conventions du guide...13 1.3 Les conventions de codage...13 1.4 Les conventions Java...14 2. Définitions de J2EE/Java EE...18 2.1 Pourquoi choisir Java EE....19 2.2 L'API Java EE (JDBC, Servlets, JSP).... 19 2.2.1 Les Servlets...20 2.2.2 Les JSP (Java Server Page)...21 2.2.3 LES EJB (Entreprise Java Bean)....23 2.3 Les autres API...24 3. Encodage des applications Java...24 3.1 Présentation...24 3.2 Les fichiers...25 3.3 Les pages JSP et JSPF...25 3.4 Les pages HTML/XHTML...26 3.5 Les feuilles de style XSL...26 3.6 Code Java....26 3.7 Encodage de la JVM...27 3.8 Gestion de l'encodage...28 4. Les architectures Web....29 4.1 Les types d'architectures....29 4.2 L'architecture MVC (Model View Controller).... 33

2 Java EE Guide de développement d'applications web en Java 4.3 Les différents modules Java EE...34 5. Mise en place de l'environnement...35 5.1 Installation du JDK (Java Development Kit).... 36 5.1.1 Installation sous Windows....36 5.1.2 Installation sous Linux....39 6. Installation du serveur d'applications Java EE (Tomcat)... 40 6.1 Quelle version choisir?...41 7. Installation de l'environnement de développement (IDE) Eclipse.... 46 7.1 Présentation...46 7.2 Installation...46 7.3 Les plug-ins Eclipse...47 7.4 Lancement d'eclipse et paramétrage du serveur Java EE (Tomcat)....47 7.5 En résumé...51 Chapitre 2 Le serveur d'applications Apache-Tomcat 1. Qu'est-ce que Tomcat?...52 1.1 Présentation et définition...52 1.2 La fondation Apache...52 1.3 Le projet Jakarta....52 1.4 Évolutions de Tomcat...53 2. Installation de Tomcat...53 2.1 Quelle version choisir?...53 2.2 Installation sous Windows...53 2.3 Installation sous Linux...53 2.4 Mise en place de la partie administration de Tomcat...57 2.5 Augmenter la mémoire allouée à Tomcat...58 3. Coupler Tomcat et le serveur Web Apache...59 3.1 Présentation...59 3.2 Un connecteur pour l'intégration du serveur Web....60 3.2.1 Fonctionnement...60 3.2.2 Installation du module mod_jk...60 3.2.3 Configurer le module mod_jk....61 3.2.4 Créer le fichier de configuration du travailleur...62 4. Architecture et configuration de Tomcat...64 4.1 Les composants de Tomcat...64 4.2 Arborescence du serveur...64

Table des matières 3 5. Rappels XML...66 6. Les fichiers de configuration Tomcat...74 7. Le fichier de configuration des applications....79 8. Le fichier de configuration des utilisateurs...80 9. Le fichier de configuration de la sécurité...81 10. Arborescence d'un projet Tomcat...81 10.1 Le descripteur de déploiement web.xml...83 10.2 Déployer un premier projet...84 10.2.1 Projet simple manuellement....85 10.2.2 Projet simple avec Eclipse....86 10.3 Déployer un projet Java EE avec un fichier war...91 11. Analyse, monitoring et supervision.... 93 11.1 Présentation...93 11.2 Tester la montée en charge...94 11.3 JConsole et MC4J, des consoles JMX... 95 11.3.1 JConsole...96 11.3.2 MC4J....101 11.4 JMeter et les tests de montée en charge...104 12. Apache-Tomcat et SSL/HTTPS....110 12.1 Présentation...110 12.2 En résumé...111 Chapitre 3 Les JavaServer Page 1. Qu'est-ce qu'une JavaServer Page?...112 1.1 Présentation...112 1.2 Introduction....112 1.3 JASPER...113 1.4 Cycle de vie d'une Servlet...113 2. Déclarations, commentaires et scriptlets... 114 2.1 Présentation...114 2.2 Les éléments JSP....114 2.3 Les directives...114 2.4 Les scripts...118 2.4.1 Les déclarations...119 2.4.2 Les scriptlets...120 2.4.3 Les expressions....120

4 Java EE Guide de développement d'applications web en Java 2.4.4 Les commentaires...121 2.4.5 Les actions....122 3. Les objets implicites...130 3.1 Présentation...130 3.2 Utilisation...130 4. Premières JSP simples...133 4.1 Présentation...133 4.2 Utilisation...135 5. Gérer les exceptions et erreurs en JSP...139 5.1 Présentation...139 5.2 La directive page....140 5.3 Le descripteur de déploiement (web.xml)... 141 6. Bibliothèque de tags JSTL...143 6.1 Présentation...143 6.2 Utilisation...144 6.3 Implémentation...145 6.4 Utilisation de bibliothèques...146 6.4.1 La bibliothèque core....146 6.4.2 La bibliothèque XML...147 6.4.3 La bibliothèque I18n...151 6.4.4 La bibliothèque DataBase...155 7. Bibliothèque de balises personnalisées...156 7.1 Présentation...156 7.2 Actions personnalisées...156 7.3 Mise en place...156 7.4 Mise en place d'un fichier de description....158 7.5 Configuration de la librairie dans le descripteur web.xml...159 7.6 Utilisation d'une librairie personnalisée....159 7.7 Gestionnaire de balises et gestion des attributs...160 7.8 Gestionnaire de balises et gestion du corps des balises...163 7.9 Gestionnaire de balises et gestion du contenu du corps....165 8. Les JavaBeans ou Beans....169 8.1 Présentation...169 8.2 Utilisation...170 8.3 Librairies de gestion des JavaBeans...175 8.4 Sérialiser des JavaBeans....188 8.4.1 Sérialiser un objet...189 8.4.2 Désérialiser un objet...190

Table des matières 5 8.4.3 Sérialisation et désérialisation en XML...192 9. Transfert de contrôle...200 9.1 Présentation...200 9.2 Utilisation...200 9.2.1 Transfert du contrôle d'une Servlet à une page JSP....200 9.2.2 Transfert du contrôle d'une page JSP à une Servlet....204 9.2.3 Transfert du contrôle d'une page JSP à une autre page JSP...204 10. Travailler avec des fichiers et répertoires...205 10.1 Présentation...205 10.2 Travailler avec les répertoires...205 10.3 Travailler avec les fichiers....208 10.4 En résumé...209 Chapitre 4 Les Servlets 1. Qu'est-ce qu'une Servlet?...210 1.1 Présentation...210 1.2 Requêtes HTTP...210 1.2.1 Comment le serveur va répondre aux requêtes des clients?...212 2. Le projet BetaBoutique...212 2.1 Présentation...212 2.2 Expression des besoins...212 2.3 Maquettes de la plate-forme...214 2.3.1 Découpage utilisé....214 2.3.2 Catalogue des articles....214 2.3.3 Fiche article...215 2.3.4 Rechercher un article...216 2.3.5 Authentification...217 2.3.6 Créer un compte...217 2.3.7 Gérer le compte client...218 2.3.8 Acheter des articles...219 2.3.9 Gérer les commandes...219 2.3.10 Gérer les articles....219 3. Première Servlet...220 3.1 Cycle de vie d'une Servlet...220 3.2 Fonctionnement d'une Servlet (la classe HttpServlet)... 221 3.2.1 La méthode service()... 222

6 Java EE Guide de développement d'applications web en Java 3.2.2 La méthode init().... 222 3.2.3 La méthode destroy()... 222 3.3 Invocation d'une Servlet...223 3.3.1 Comment effectuer le lien entre la Servlet et l'url?...227 3.3.2 Comment cela fonctionne-t-il?...227 3.3.3 L'objet response...228 3.3.4 L'objet request...232 3.3.5 La méthode dopost()... 233 4. Servlet authentification...233 4.1 Gérer l'authentification client...233 4.1.1 Comment cela fonctionne-t-il?...237 5. Interface ServletConfig...240 5.1 Présentation...240 5.2 Initialisation d'une Servlet...240 6. Interface ServletContext...242 6.1 Présentation...242 6.2 Utilisation...242 6.3 Récupérer des paramètres...243 6.4 Ajouter des paramètres....245 6.5 Mise en application...245 7. Traitement des requêtes...249 7.1 Présentation...249 7.1.1 Récupérer des paramètres transmis par le client...249 7.1.2 Gérer les attributs du contexte de la requête...250 7.1.3 Récupérer des informations sur l'url de la requête...250 7.1.4 Récupérer des informations sur le client...250 7.1.5 Récupérer des informations sur le serveur....250 8. Traitement des réponses...251 9. Synchronisation des traitements...253 10. État des clients...254 10.1 Les cookies...254 10.1.1 Envoyer des cookies dans la réponse....255 10.1.2 Récupérer des cookies dans la requête...255 10.1.3 Supprimer un cookie...257 10.2 Les sessions...257 10.2.1 Obtenir une session...257 10.2.2 Travailler avec une session...257

Table des matières 7 10.2.3 Sessions et réécriture d'url...259 11. Les filtres...260 11.1 Présentation...260 11.2 Utilisation...261 11.2.1 La déclaration du filtre....261 12. Interface RequestDispatcher...264 12.1 Présentation...264 12.1.1 Déléguer et transmettre...264 12.1.2 Inclure des données...264 12.2 Utilisation...265 12.2.1 Explications...265 13. Introduction au modèle MVC....269 13.1 Présentation...269 13.2 Utilisation...270 13.2.1 Les spécifications...270 14. Gestion des exceptions, erreurs et page d'accueil... 280 14.1 Gestion des exceptions...280 14.2 Gestions des pages d'erreurs...280 14.3 Gestion de la page d'accueil...282 15. En résumé....283 Chapitre 5 Java et les bases de données 1. Travailler avec une base de données...284 1.1 Présentation...284 1.2 Connexion aux bases de données...285 1.3 Utilisation de l'api JDBC...287 2. Partage de connexions....306 2.1 Présentation...306 2.2 Initialisation d'une connexion....306 3. Écouteurs/listeners et cycle de vie...315 3.1 Présentation...315 3.2 Utilisation...315 3.3 Mise en place d'une connexion partagée...316 4. Sources de données et pools de connexion....319 4.1 Présentation...319 4.2 JNDI...320

8 Java EE Guide de développement d'applications web en Java 4.3 Utilisation d'un objet DataSource...320 4.4 Mise en place...324 5. Bases de données et MVC....326 5.1 Présentation...326 5.2 Modèle conceptuel des données et base de données...327 5.3 Optimisations...336 5.3.1 Informations liées et mise en forme...336 5.3.2 Gestion des recherches...339 6. Classe modèle...343 6.1 Présentation...343 6.2 Mise en place...343 6.3 Optimisation avec JavaScript...352 6.4 Optimisation avec Ajax...355 6.5 Optimisation des Servlets....362 7. Modèle et JavaBean...381 7.1 Présentation...381 7.2 Utilisation...382 7.3 Conclusion....384 8. Les transactions...384 8.1 Présentation...384 8.2 Utilisation...385 8.3 Gestion des transactions....387 8.4 Optimisations...391 9. Multilingue et JDBC....394 9.1 Présentation...394 9.2 Mise en place...395 10. Authentification et Realms...401 10.1 Présentation...401 10.2 Les types d'authentification...401 10.2.1 Authentification de base...401 10.2.2 Authentification par Digest...401 10.2.3 Authentification par certificat...402 10.3 Gestion des Realms...402 10.4 Mise en place des Realms...402 10.5 Realm et base de données....404 10.6 Informations relatives au Realm...407 10.7 Realm et sécurité...407 10.8 Realm et formulaire personnalisé...408

Table des matières 9 10.9 En résumé...410 Chapitre 6 Framework Java EE 1. Framework...412 1.1 Présentation...412 1.2 Pourquoi utiliser un framework...413 1.3 Les différents frameworks....413 1.4 Quel framework choisir?...413 2. Apache-Struts...414 2.1 Présentation...414 2.2 Struts et MVC...414 2.3 Installation du framework...416 3. Projet Web...420 3.1 Présentation...420 3.2 Spécification de l'application de chat...421 4. Formulaires Struts...424 4.1 Présentation...424 4.2 JavaBean ActionForm...425 4.3 Le contrôleur Action....426 4.4 Le fichier de configuration struts-config.xml....427 5. Vues et Struts....431 5.1 Présentation...431 5.2 Les taglibs Struts...431 5.3 La classe de gestion des formulaires (ActionForm)....432 5.4 Les formulaires dynamiques (DynaForms)...435 5.5 Le fichier de propriétés et de langues...441 6. Les validations et vérifications de données...444 6.1 Présentation...444 6.2 Validation par méthode (reset() et validate())... 444 6.2.1 La méthode reset()... 444 6.2.2 La méthode validate()...445 6.3 Les Validators....448 6.4 Les DynaForms et Validators...451 6.5 Mise en forme...456 6.6 Validations en JavaScript...458

10 Java EE Guide de développement d'applications web en Java 7. Le contrôleur Struts...460 7.1 Présentation...460 7.2 Utilisation et déclaration de la classe ActionServlet....460 7.3 Les classes Actions...461 7.4 La méthode execute()... 463 7.5 Les méthodes Helper...471 8. Développement du module d'administration...474 8.1 Présentation...474 8.2 Mise en place...474 8.3 Installation de Struts...477 8.4 Installation du pool de connexion à la base de données....479 8.5 Liste des utilisateurs...481 8.5.1 Création du JavaBean....482 8.5.2 Déclaration du JavaBean de formulaire....482 8.5.3 Définition du routage...483 8.5.4 Codage de la classe de gestion des actions...483 8.5.5 Codage du modèle...485 8.5.6 Codage de la vue JSP...487 8.6 Consultation de la fiche utilisateur....489 8.7 Création d'un nouvel utilisateur...492 8.8 Modification de la fiche utilisateur...498 8.9 Activation des vérifications JavaScript...502 8.10 Suppression d'un utilisateur...502 8.11 Gestion de l'état du serveur...504 8.12 Gestion des salons...509 8.13 Gestion des inscriptions et interactivité...517 8.14 Gestion des connexions utilisateur et interactivité...527 9. Web2.0...534 9.1 Présentation...534 9.2 Tableaux redimensionnables....534 9.3 Champs redimensionnables...536 9.4 Bulles d'aide...537 9.5 Menu contextuel...539 9.6 Les arrondis...541 9.7 Aide dynamique et remplissages génériques...542 9.8 Éditeur de texte évolué...546 9.9 Date et calendrier....548 9.10 Effets d'attente....549

Table des matières 11 9.11 Feuilles de style dynamiques....551 10. En résumé....553 Chapitre 7 Techniques avancées 1. Gestion des traces et des logs...555 1.1 Présentation...555 1.2 L'API LOG4J....555 1.3 Mise en place de L'API LOG4J...555 1.3.1 Logger...556 1.3.2 Appenders...557 1.3.3 Layouts...557 1.4 Configuration dynamique....558 2. Ant : Another Neat Tool... 565 2.1 Présentation...565 2.2 Utilisation...565 2.3 Génération de l'archive d'un projet Java EE...569 3. Déployer un projet Java EE...572 3.1 Présentation...572 3.2 Mise en production d'un projet Java EE...573 3.3 Déploiement d'un projet Java EE à distance...576 4. Optimisation de la mémoire...578 4.1 Présentation...578 4.2 Gestion dynamique de la mémoire...579 5. En résumé....582 Index...583