Uploaded by ahmed ajmii

INTROWCD CH01 Introduction Au Développement Web

advertisement
SERVLET & JSP
CHAPITRE 1
INTRODUCTION AU
DÉVELOPPEMENT WEB
Yosri ZOUARI
05-2019
JEE ?
Plan de formation
Introduction aux développement WEB
Le modèle Servlet
L’application WEB
Le conteneur WEB
Les Sessions
Java Server Page
JSP Tag Librairies
Plan
Architecture n-Tiers
Naissance Du World Wide Web
Limites de HTML et l’évolution vers le contenu dynamique
JEE
Les Annotations


Les Méta-Annotations
Les annotations Standards
Introduction au protocole HTTP
L’outil de gestion de projet Maven


Utilisation de Maven
Configuration de Maven
Mainframe, Client/Serveur, Architecture n-Tiers
Comment l’architecture IT a évolué?
Mainframe, Client/Serveur, Architecture n-Tiers
Le modèle à 1 Tiers centralisé
Le modèle à 1 niveau (ou tiers)
correspond à un binaire dans lequel
s’exécutent toutes les couches, de la
présentation à la persistance
C’est l’exemple de l’application
utilisée en monoposte ou sur un
réseau de serveurs de fichiers
Les données sont stockées sur un
fichier local ou partagées sur un
serveur de fichiers
Le modèle à 1 Tiers centralisé
Avantages
 Conception
 Programmation
 Administration
 Puissance
centralisée
Inconvénients
 IHM
 Pas
de bureautique
Le modèle à 1 Tiers répartie
Plusieurs utilisateurs
partagent des fichiers de
données stockés sur un
server commun
Le moteur de serveur de
données est exécuté
indépendamment sur chaque
poste client
A/I du modèle à 1 Tiers répartie
Avantages
 Ergonomie
IHM
Inconvénients
 Saturation
du réseau
 Conflit d’accès aux données
 confidentialité
Migration vers 2-Tiers
Le modèle à 2 Tiers
Le modèle à 2 niveaux (ou tiers), encore
appelé « client/serveur première
génération », repose sur l’utilisation de
moteurs de bases de données
relationnelles.
Ces moteurs permettent de distribuer la
gestion de la persistance sur un serveur
Ce modèle a typiquement permis de mieux
répondre au besoin d’accès concurrents et
de supporter d’importants volumes 
Flexibilité
A/I du modèle à 2 Tiers
Avantages
Interface utilisateur riche
 Données centralisées
 Efficace pour un nombre réduit de clients

Inconvénients
Fat client
 Coût de maintenance poste client
 Montée en charge
 Limitation du nombre de clients possibles

Migration vers 3-Tiers
Le modèle à 3 Tiers
Un troisième niveau intermédiaire fait
son apparition
Une architecture partagée entre :
Un client demandeur de ressources,
équipée d'une interface utilisateur
(généralement un navigateur) chargée
de la présentation
 Le serveur d'application (middleware),
chargé de fournir la ressource mais
faisant appel à un autre serveur
 Le serveur de données, fournissant au
serveur d'application les données dont il
a besoin

Le modèle à 3 Tiers et le WEB
A/I du modèle à 3 Tiers
Avantages
 Client
léger
 Bonne gestion des ressources
 Bonne gestion de la montée
en charge
 Maintenance transparente
Inconvénients
 Montée
en charge atteinte
Le modèle à n Tiers
Dans l'architecture à 3 niveaux,
chaque serveur (niveaux 2 et 3)
effectue une tâche (un service)
spécialisée.
Problème : Un serveur peut avoir
besoin de solliciter les services d'un ou
plusieurs autres serveurs afin de fournir
son propre service.
Solution : L’architecture à N niveaux
permet de distribuer plus librement la
logique applicative, ce qui facilite la
répartition de la charge entre tous les
niveaux.
A/I du modèle à N Tiers
Avantages


elle sépare nettement tous les niveaux de
l'application
elle offre de grandes capacités d'extension
Inconvénients
 En général, les divers services s'appuient
sur des technologies très variées : nécessite
de gérer l'hétérogénéité et
l'interopérabilité


Utilisation de Framework / outils
supplémentaires
Les services étant plus découpés et
distribués, pose plus de problèmes liés à la
distribution
Naissance Du World Wide Web
Décrire les protocoles conçus pour la mise en place du World Wide Web
Naissance du World Wide Web
Introduction au TCP/IP - Besoin
Invention des réseaux de données a exigé certaines conditions de
réalisation :
 Échange de données entre les ordinateurs et différentes appareils
 Échange de données via différents moyens de communications :
câble ou sans fil
 Identification de l’expéditeur et du récepteur de données
Besoin :
un protocole de communication ; règles de communication via
lesquelles les partenaires peuvent communiquer
 Une identification formelle de l’expéditeur et du récepteur

Solution : TCP/IP
Naissance du World Wide Web
Introduction au TCP/IP - Définition
C’est quoi TCP ? :
 TCP : Transmission Control Protocol
 Standard de communication des données via réseau
 Découpe le données en paquets avant de les envoyer via réseau et
rassemble paquets de données une fois reçus au dentinaire
C’est quoi IP ? :
IP : Internet Protocol
 Permet de données une adresse logique à chaque composant du
réseau pour pouvoir l’identifier lors de l’échange de données via
TCP

Naissance du World Wide Web
Introduction au TCP/IP - Scénario
Naissance du World Wide Web
HTTP - Besoin
Grace au TCP/IP on a établi un protocole d’échange de
données entre machine
Besoin : Protocol d’échange de données entre application qui
permet :
 Identifier l’expéditeur et le récepteur
 Décrit le processus d’échange de données entre l’expéditeur
et le récepteur
 Décrit comment les données sont échangées entre l’expéditeur
et le récepteur
Solution : HTTP
Naissance du World Wide Web
HTTP - Définition
C’est quoi HTTP ? :
 HTTP : Hyper Text Transfer Protocol
 Le protocole d’échange entre client et serveur
 L'ensemble des règles régissant le format et le contenu de
la conversation entre un client Web et le serveur
Naissance du World Wide Web
URL - Besoin
Dans le web on a besoin :
Identifier le protocole utiliser
 Identifier emplacement ou la source est placée
 Nom du fichier cible

Comment identifier l’emplacement exacte d’une ressource ?
Définir une adresse qui répond aux 3 besoins décrit ci dessous
 Une adresse lisible et compréhensible par l’humain

Solution : URL
Naissance du World Wide Web
URL - Solution
C’est quoi URL ? :
URL : Uniform Resource Locator
 Nommage courant : adresse Web
 Cette adresse sert à désigner une ressource présente sur le web par
une suite de caractère ASCII
 Resource peut être :





Texte
Image
Vidéo
Son
Naissance du World Wide Web
DNS - Besoin
Besoin :

Identification des ordinateurs cibles via des IP est un peut difficile
pour l’être humain  risque d’erreur lors de l’écriture de IP est
importante

Une adresse IP n’est pas significatif d’un ordinateur qui fournit un
service/contenu cible
Solution : DNS
Naissance du World Wide Web
DNS - Définition
C’est quoi DNS ? :

DNS : Domain Name System

serveur avec un logiciel et une
base de donnée qui remplace
automatiquement l'adresse du
domaine au format
alphanumérique comme
www.votredomaine.com par
l'adresse IP numérique
Naissance du World Wide Web
HTML - Besoin
Besoin :
 Ecrire des documents hypertextuels liant les différentes
ressources d’Internet avec des hyperliens
 Accéder
 Format
à des documents riches en composants graphiques
standard des documents
Solution : HTML
Naissance du World Wide Web
HTML - Définition
C’est quoi HTML ? :
HTML : HyperText Markup Language
 langage de balisage == langage de marquage
 permet de structurer le contenu des pages web dans différents
éléments

Limites de HTML et l’évolution vers le contenu dynamique
Limites de HTML, JavaScript & CGI
Evolution vers le contenu dynamique
Les limites du HTML
Faible interaction avec l’utilisateur : contenue statique
Mise jour du contenue doit être faite manuellement dans
la page HTML
Impossible de séparer le contenu de la présentation
Nombre limité de balises
Introduction à JavaScript
C’est quoi JavaScript ? :
 Développé
par Netscape en 1995 sous le nom LiveScript
puis adopté par tout les navigateurs.
 Il a pour but de dynamiser les pages WEB.
 C’est un language de script Orienté Objet.
 Il est exécuté côté navigateur sans compilation.
 Il peut être mis dans une page HTML ou dans un fichier à
part d’extension .JS.
Les limites de JavaScript
Les fonctionnalités avancées ne sont possibles qu’avec
les applets JAVA ou ActiveX
Pas d’accès au disque utilisateur en dehors de la zone
dédiée
Pas de possibilité de récupérer l’IP utilisateur
Pas de possibilité d’interfaçage avec une BD
Contrôle sur les formulaires sur le poste client qui peut
les supprimer et les surpasser
Introduction à CGI
CGI : Common Gateway Interface
Offre une façon standard pour les navigateurs WEB pour:
Appeler un programme sur le serveur
 Passer des données à un programme sur le serveur
 Recevoir des données à partir d’un programme sur le serveur

C’est une interface entre programme du serveur et d’autres
programmes
Il n’est pas propre à un langage de programmation
spécifique
Comment ça marche le CGI ?
Les limites de CGI
Développé en C
Nécessite une compilation pour chaque installation sur un
Serveur
Configuration complexe
Développement complexe
Evolution vers le contenu dynamique
Besoin :
 Technologie
portable, simple et riche qui simplifie le
développements.
 Technologie qui permet le développement d’applications Web
dynamiques.
Solution :
 Technologie
basée sur le language portable JAVA
 Cette technologie sera appelée JSP/Servlet
 JSP/Servlet font partie du standard JEE
C’est quoi une Servlet ?
C’est la base de la programmation web JEE
C’est une classe JAVA qui tourne dans un server
d’application
Elle est exécutée lorsque l’URL qu’elle est liée est
invoquée par un navigateur client
Elle génère une page HTML dynamique
Comment ça marche une Servlet ?
C’est quoi une JSP ?
JSP = Java Server Page
Une JSP est un fichier contenant du code HTML et des
fragments de code Java exécutés sur le moteur de
Servlet
Les pages JSP sont converties en Servlet par le moteur
de Servlets lors du premier appel à la JSP
JAVA / JEE
C’est quoi Java EE?
Pourquoi Java EE?
De quoi il est composé?
C’est quoi son avantage?
C’est quoi Java EE ?
JAVA EE n’est pas JAVA, n’est pas JavaScript
JAVA JEE = JAVA Entreprise Edition = NORME
 Proposée
par SUN
 Adoptée par un consortium de sociétés internationales
Pourquoi ? : Besoin d’un STANDARD de développement
d’application d’entreprise
But ? : Monter des plateformes basée sur ce STANDARD
C’est quoi une Plateforme ?
Une plateforme est une base générique qui fournit un
ensemble de fonctionnalités utiles pour une majorité
d’applications.
JAVA EE est une plateforme :
 Fournit
un ensemble d’API (Application Programming Interface)
 Fournit un ensemble de spécifications générales (standard)
JSR 168, JSR 303, JSR 317, …
Contenu de JEE
On distingue trois types d’API:

Composant :



Composants WEB: Servlet, JSP (Java Server Page)
Composants métier: EJB (Entreprise Java Bean)
Service d’Infrastructure :



JDBC (Java Data Base Access): une API d’accès à la base de données
JNDI (Java Naming and Directory Interface): une API d’accès aux services de
nommages et aux annuaires d’entreprises tels que DNS et LDAP
JTA/JTS (Java Transaction API/ Java Transaction Service) est une API définissant
des interfaces standard avec un gestionnaire de transactions
Contenu de JEE
 Service
de communication :

JAAS (Java Authentication et Autorisation Service) une API de AA

Java Mail : une API d’envoie de mail

JMS (Java Message Service) : fournit des mécanismes de
communications asynchrone

RMI (Remote Methode Invocation  appel de procédures à
distance) : une API de communication d’objet distants
Contenu de JEE
Contenu de JEE
Avantages de JEE
Séparer les 3 couches: présentation, traitement et données
Avantages de JEE
Pour le développeur :



Une plateforme de qualité, standard et libre
Communauté puissante
Vaste choix d’articles, de tutoriaux, de guideline, de livres, de groupes et
de forums
Pour la société :




Liberté de développement et innovation
Communauté et vendeurs travaillent ensemble pour l’évolution de la
plateforme d’où la rentabilité
Pas d’API propriétaire à développer ou à maintenir
Facilité de recrutement et gain en temps de formation
Récapitulons
C’est quoi Java JEE?
Pourquoi Java JEE?
Que contient JEE?
Pourquoi est-elle importante?
Les Annotations
C’est quoi une annotation ?
Contexte
On utilise plusieurs fichiers de configurations dans les grands
développements
Fichier de configuration


Temps de rédaction
Connaissance de syntaxe obligatoire et différente d’un fichier à un autre
Fichier de mapping


Un vrai casse tête
Fichier correct rarement du premier coup
Besoin : une solution qui


Réduit nombre des fichiers de configuration
Centralise le code Java et la configuration dans un seul emplacement
Solution :
les Annotations
C’est quoi une Annotation ?
Une technique qui permet d’ajouter des informations à
une





Classe
Propriété
Méthode
Paramètre
Enum constant
Ces informations seront traitées lors de la
compilation ou le déploiement
Annotation peut être :


Fournie par JAVA ou un Framework JEE
Développée par le développeur
Format :
@AnnotationName(0-NAttributes)
Exemple d’une annotation
L'annotation « @Override » est
utilisée lors de la redéfinition
d’une méthode dans une sousclasse
L'annotation « @Override » est
optionnelle et souvent ajoutée
par l’IDE lors de la génération
des méthodes à implémenter
d’une interface ou une classe
abstraite
Les Méta-Annotations
C’est quoi une méta-annotation ?
Quand utiliser une méta-annotation ?
Comment utiliser une méta-annotation ?
Les méta-annotations
Définition
Servent à marquer d'autres annotations
Indiquer au compilateur comment et quand il doit
interpréter les annotations qui les utilisent.
Servent à créer des annotations.
Utilisées par les annotations standards de JAVA
Emplacement :
package java.lang.annotation
@Documented & @Inherit
@Documented : indique à l'utilitaire JavaDoc que
l'annotation doit être présente dans la documentation
générée.
@Inherit : indique que l'annotation doit être héritée par
les classes filles d'une classe marquée
@Retention
@Retention :


Permet de régler une durée de vie pour l’annotation  indique au
compilateur comment il doit la gérer.
Elle prend un paramètre qui se trouve dans l'énumération
java.lang.annotation.RetentionPolicy , à savoir :



RetentionPolicy.CLASS : Les annotations seront enregistrées dans le fichier .class
par le compilateur mais ils ne seront pas utilisables par la JVM au moment de
l’exécution.
RetentionPolicy.RUNTIME : Les annotations seront enregistrées dans le
fichier .class par le compilateur et seront utilisables par la JVM pendant
l'exécution du programme, grâce à l'introspection.
RetentionPolicy.SOURCE : Les annotations ne seront pas enregistrées dans le
fichier .class, par conséquent, elles ne pourront être utilisées que par des outils
sachant lire des fichiers source, comme l'utilitaire JavaDoc, le compilateur...
@Target
Définition
@Target :
Permet de cibler sur quels éléments du langage nous pourrons utiliser
des annotations.
 Accepte un paramètre qui est représenté par une énumération
présente dans le package java.lang.annotation.ElementType et qui
définit quel type de données qu’on peut utiliser

@Target
Enumération ElementType
Les Annotations Standards
C’est quoi une annotation standard ?
Quand utiliser une annotation standard ?
Comment utiliser une annotation standard ?
Les Annotations Standards
Définition
Les annotations standards sont des annotations marqueurs
proposées par JAVA.
Elles sont au nombre de 3 :
 @Deprecated
 @SuppressWarnings
 @Override
Les Annotations Standards
@Deprecated
@Deprecated : Indique au compilateur que l'élément marqué
ne devrait plus être utilisé.
Les Annotations Standards
@SuppressWarnings
@SuppressWarnings :
 permet
d'indiquer au compilateur que certains éléments du
code ne doivent pas générer de warning lors de la compilation.
Elle prend en paramètre un tableau de String correspondant
aux différents cas pouvant être gérés par cette annotation
Les Annotations Standards
@SuppressWarnings
Les Annotations Standards
@Override
@Override : ne doit être utilisée que sur des méthodes
redéfinies via le principe d'héritage. Elle informe le
compilateur qu'une méthode est redéfinie et donc que
celle-ci doit être présente dans la classe mère.
Introduction au protocole HTTP
C’est quoi HTTP?
Quels sont les détails du protocoles?
Comment utiliser HTTP?
C’est quoi le protocole HTTP ?
HTTP : Hyper Text Transfer Protocol
C’est le protocole d’échange entre client et
serveur
C’est l'ensemble des règles régissant le
format et le contenu de la conversation entre
un client Web et le serveur
Scénario d’échange
Méthodes d’une requête HTTP
HEAD : demande des informations concernant la
ressource
GET : demande des informations et la ressource
désignée
POST : envoi de données (formulaire vers le serveur)
et demande la ressource désignée
PUT : enregistrement du corps de la requête à l ’URL
indiquée
DELETE : suppression de la ressource désignée par l
’URL
Classification des méthodes HTTP
« Idempotent » et « Safe »
Idempotent : Le
résultat de la requête
est toujours le même
indépendamment du
nombre de fois on a
exécuté la même
requête
Safe : La requête
n’affecte pas des
ressources sur le
serveur
Entête d’une requête HTTP
On peut spécifier 5 paramètres :
 From : Donne l'e-mail de la personne contrôlant le navigateur (cela
peut poser des problèmes de respect de la vie privée).
 Referer : URL de l'objet qui amène la requête (URL de la page où se
trouve le lien)
 User-Agent : l'identifiant du navigateur. Sert pour adapter la réponse
au navigateur
 Authorization : permet à un client de s'authentifier auprès du serveur
 If-Modified-Since : permet de faire des GET conditionnels
Exploitons ensemble une page Web avec Firebug
Entête d’une réponse HTTP
Server : modèle du serveur WEB
Retry-After : date ou nombre de secondes pour un ressai en cas de code 503
(service unavailable)
Set-Cookie : créer ou modifie un cookie sur le client
Last-Modified : date de dernière modification du doc. Utilisé par les caches
Content-Length : taille du document en octet utilisé par le client pour gauger la
progression des chargements
Content-Encoding : type encodage du document renvoyé compress, x-gzip, x-zip
Content-Language : le langage du document retourné
fr, en
Content-Location : URI de l ’entité quand l ’URI est à plusieurs endroits
Codes des statuts HTTP
Qu’est ce qu’on va afficher avec HTTP?
HTTP c’est pour transférer du texte
Problème : comment afficher ce texte?

Solution : Navigateur
Problème : Afficher quoi? Comment interpréter le contenu? Est ce qu’il est
le même d’un serveur à autre? Est-ce qu’on va afficher du texte brute?
Comment on va répartir le texte sur la page? Pas d’images? Pas de lien
vers d’autres pages? Pas de tableau comme Excel? Pas de couleur? Pas
de police de texte?

Solution : HTML (HyperText Markup Language)
Problème : On intégrer tout dans une page HTML; contenu et mise en
forme, C’est devenue chaotique et difficile à maintenir! Quoi faire?

Solution : Séparer le contenue de la mise en forme


HTML : pour l’envoie du contenue
CSS : pour le design et la mise en forme
L’outil de gestion de projets Maven
C’est quoi Maven?
Pourquoi Maven?
Comment on utilise Maven?
C’est quoi Maven?
Maven est un outil de gestion et de compréhension des
logiciels sur la base du concept de Project Object Model
(POM) qui peut gérer la construction du projet, la
génération de rapport et de documentation
POM? : C’est la pièce maitresse de Maven. C’est un
fichier XML contenant la configuration détaillée du
projet utilisée par Maven pour construire le projet
Construction (build)? : c’est la procédure de compilation
d’un projet dans une structure adéquate à sa nature
Pourquoi Maven?
Maven est plus qu'un simple outil de build
Maven a été construit pour certains objectifs
Maven fournit:




Processus de construction facile
Système de construction uniforme
Information de Qualité sur le projet
Guide pour les meilleures pratiques de développement
Ce que Maven a réalisé :




Visibilité
Réutilisabilité
Maintenabilité
Compréhensibilité "accumulateur de la connaissance"
Comment Maven gère les dépendances?
Mécanisme
Maven s'appuie sur des « repositories » de librairies (jar).
Ces « repositories » peuvent être locaux à la machine ou
accessibles via HTTP.
A sa première exécution, Maven télécharge les différents
plugins dont il a besoin et les installe dans le répertoire
« .maven/repository » situé dans le répertoire de travail de
l'utilisateur.
Ces même librairies peuvent être réutilisées entre les
différents projets.
Si on ne spécifie pas explicitement dans le fichier de
configuration l’emplacement du repository, IL SERA par
défaut « ${user.home}/.m2/repository »
Comment Maven gère les dépendances?
Illustration
Comment Maven gère les dépendances?
Identification de la version
Comment on configure Maven?
Le fichier « settings.xml » contient la configuration globale de Maven.
C'est un document XML dont le tag racine est le tag « <settings> ».
Plusieurs tags fils permettent de préciser les éléments de la configuration :
Utilisation de Maven
Comment utiliser Maven ?
Quelles sont les commandes de Maven?
La construction d’un projet se passe en différentes phases
successives qui décrivent le cycle de vie ( Build Lifecycle ) :
validate : vérifier qui le POM est correct et complet.
 compile : compile les sources du projet qui se trouvent dans
« src/main/java » et place les fichiers comples (.class) dans le
dossier target.
 test : compile les tests qui se trouvent dans « src/test/java » et
lance l’intégralité des tests, les tests compilés sont placés dans
le dossier target.

Quelles sont les commandes de Maven?
 package
: construire le projet dans le format adéquat cité dans
la balise « packaging » sous le dossier « target ».
 install : utilise le package généré à la phase « package » et
l’ajoute au dépôt. A utiliser pour une API : elle peut être dés
lors être utilisée comme dépendance pour un autre projet.
 deploy : déploie l’application selon la configuration
mentionnée.
 clean : détruit la compilation précédente sous le répertoire
« target »
Quelles sont les commandes de Maven?
illustration
Manipulons ensemble Maven
Télécharger et installer Maven
Ajouter une variable d’environnement « M2_HOME »
Ajouter « M2_HOME » à la variable « PATH »
Accéder à la console
Taper mvn –version
Taper mvn archetype:generate
Exploitons ensemble le plugin Maven sous Eclipse
Exploitons le repository
Exploitons le fichier de configuration
Utilisation de Maven avec les IDE
Comment utiliser Maven avec
les IDE ? : Les IDE comme
Eclipse, NetBeans et IntelliJ
intègrent Maven et permet
de créer et manipuler les
projets avec
Configuration de Maven
dans Eclipse IDE :
Création de projet avec Maven dans IDE (1)
Création de projet avec Maven dans Eclipse IDE :
Création de projet avec Maven dans IDE (2)
Choisir le projet à partir
du catalogue de Maven
dans Eclipse IDE :
Exécution d’un projet avec Maven
Accès à l’interface de configuration
Exécution d’un projet avec Maven
Créer une nouvelle configuration
Exécution d’un projet avec Maven
Configurer la commande Maven
Configuration de Maven
Comment configurer Maven ?
Fichier « pom.xml »
Description
Fichier « pom.xml » contient un ensemble de balises
classifiés en 4 catégories :
 Balise
de bases (The Basics)
Fichier « pom.xml »
Description
 Balises
de configuration (Build Settings)
Fichier « pom.xml »
Description
 Balises
d’information (Project Information)
Fichier « pom.xml »
Description
 Balises
de configuration de l’environnement (Environement
Settings)
Fichier « pom.xml »
The Basics
modelVersion : version du fichier « pom.xml ».
groupId : indique appartenance du projet sous forme de nom
cours séparés par des « . ». Lorsqu'il est stocké dans un
repository, le groupe agit comme une structure de package
Java dans un système d'exploitation. Les termes sont remplacés
par les séparateurs de répertoires spécifiques du OS.
artifactId : la version du projet.
Packaging : type du paquetage du projet à générer après
compilation ; war, jar, …
dependancies : sous cette balise qu’on va ajoute les
dépendances du projet.
Fichier « pom.xml »
The Basics
properties :
expose toutes les propriétés
de java.lang.System qu’on
peut redéfinir comme la
version de Java :
 On peut définir nos propres
propriétés pour pouvoir les
utiliser après.
 L’exemple suivant est une
pratique courant dans les
projets :

Fichier « pom.xml »
Build Settings
finalName : Il s'agit du nom du projet fourni lors de la
construction finale. La valeur par défaut est ${artifactId} ${version}.
Fichier « pom.xml »
Environment Settings
profiles :



permet de définir un ou plusieurs profile pour un même projet.
Dans un même projet, on des configurations différentes pour des
environnements différents
Pour éviter le changement manuelle du fichier pour chaque
environnement, Maven a introduit la notion de profile pour :



Ajouter/Remplacer une dépendance particulière comme le JDBC qui peut
différer d’un environnement ou d’un client à un autre
Spécifier le type du packaging qui peut différer d’un environnement à un autre
Exemple :
Récapitulons
C’est quoi l’architecture n-tiers ?
C’est quoi JEE ?
C’est quoi HTTP ?
C’est quoi Maven ?
Download