0% ont trouvé ce document utile (0 vote)
14 vues77 pages

Introduction à Servlet et JSP en Java

Transféré par

Yvann Assale
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
14 vues77 pages

Introduction à Servlet et JSP en Java

Transféré par

Yvann Assale
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Java : Servlet et JSP

◼Présentation
• Programmation web pour Java
✓ Servlet et JSP sont le coté programmation web pour Java
✓ Servlet s’exécute dans un moteur de Servlet ou
conteneur de Servlet permettant d’établir lien entre
Servlet et Serveur Web
✓ Conteneurs de Servlet :
◼ Tomcat – Jboss – Glassfish – Java Server Web …
• Définitions
✓ Servlet programme écrit en Java et qui génère une page
HTML (le code Java contient du HTML).
✓ JSP c’est du HTML qui contient des tags spéciaux <% …
1
Java : Servlet et JSP
◼Servlet
• Principe d’écriture d’une servlet
✓ Servlet morceau de code Java exécuté dans des serveurs
multithreadés tel qu’un serveur HTTP.
✓ Une Servlet implémente l’interface [Link]
◼ Soit directement
◼ Soit en dérivant d’une classe implémentant cette interface
✓ Le cycle de vie d’une Servlet est :
◼ Servlet créée puis initialisée par la méthode init. La méthode init
s’exécute qu’une seule fois, à la 1ère invocation de la Servlet
◼ Les services aux clients sont exécutés par méthode service et ses
dérivées
◼ Servlet est détruite et les ressources libérées : méthode destroy
ASSALE Adjé Louis Java : Servlet & JSP 2
Java : Servlet et JSP
◼Servlet
• Principe d’écriture d’une servlet
✓ Structure de base d’une Servlet :

ASSALE Adjé Louis Java : Servlet & JSP 3


Java : Servlet et JSP
◼Servlet
• Principe d’écriture d’une servlet
✓ Pour faciliter le traitement des serveurs web (HTTP),
classe Servlet affinée en [Link].
Cette classe contient les méthodes
◼ doGet pour les requêtes http de type GET : mode d’appel par
défaut à partir de l’url du navigateur, les paramètres sont
concaténés à l’url : ?var="val"
◼ doPost pour les requêtes http de type POST : méthode
permettant d’envoyer de nombreuses données généralement via
un formulaire (tag <form>) bien que doGet soit possible
◼ qui remplacent la méthode service de la classe mère
◼ La Servlet doit contenir obligatoirement l’une ou l’autre de ces
méthodes
ASSALE Adjé Louis Java : Servlet & JSP 4
Java : Servlet et JSP
◼Servlet
• Principe d’écriture d’une servlet
✓ Structure de base d’une Servlet http :

ASSALE Adjé Louis Java : Servlet & JSP 5


Java : Servlet et JSP
◼Servlet
• Exemples1 :
✓ Envoi de contenu HTML à un client web :

ASSALE Adjé Louis Java : Servlet & JSP 6


Java : Servlet et JSP
◼Servlet
• Exemples2 :
✓ Récupération de paramètres envoyés par un client web :
◼ On a 2 programmes :
◼ Un programme HTML «[Link] » contenant le formulaire

à envoyer

ASSALE Adjé Louis Java : Servlet & JSP 7


Java : Servlet et JSP
◼Servlet
• Exemples2 :
✓ Récupération de paramètres envoyés par un client web :
◼ Une Servlet « [Link] » pour traiter le formulaire

paramètre name="nom" du
formulaire HTML récupéré par la
Servlet par :
[Link]("nom")

ASSALE Adjé Louis Java : Servlet & JSP 8


Java : Servlet et JSP
◼Servlet
• Récupération des paramètres de formulaires
✓ Méthode getParameterNames() de l’objet Request.
◼ Enumeration flds = [Link]();
◼ éléments de l’énumération sont parcourus par nextElement()

String champ =(String) [Link]();


◼ Valeur de l’élément est récupérer par :

String valeur = [Link](champ);


◼ La méthode hasMoreElements() teste s’il y a encore des

éléments : while([Link]())

ASSALE Adjé Louis Java : Servlet & JSP 9


Java : Servlet et JSP
◼Servlet
• Récupération des entêtes
✓ Méthode getHeaderNames() de l’objet Request.
◼ Les éléments de l’énumération sont parcourus par nextElement()
On récupère la valeur de l’élément par : getHeader(element)
◼ En fait la méthode [Link](entete) permet

d’obtenir un entête http précise


Nom Entête signification
Accept Les formats MIME acceptés par le navigateur
AcceptEncoding Format d’encodage accepté
AcceptLanguage Langages acceptés
Host au format hote:port indique machine et port à contacter
Referer L’URL demandée par le navigateur
ASSALE Adjé Louis Java : Servlet & JSP 10
Java : Servlet et JSP
◼Servlet
• Récupération des informations d’environnement
✓ L’objet Request de type HttpServletRequest fournit :
◼ Des méthodes permettant de récupérer des informations sur
l’environnement d’exécution de la Servlet :
Méthodes signification
getServeName() Nom du serveur web
getServerPort() Port de travail du serveur
getMethod() Méthode GET ou POST utilisée pour faire la requête
getRemoteHost() nom de la machine du client
getRemoteAddr() Adresse IP de la machine du client
getContentType() Type de contenu envoyé par le navigateur
getRequestURI() URI demandée par le navigateur, partie de l’URL placée
ASSALE Adjé Louis après hote:port dans
Java [Link]
: Servlet & JSP 11
Java : Servlet et JSP
◼Servlet
• Accès à une base de données
✓ Une Servlet accède à un SGBD via une API JDBC
◼ Elle dispose des classes contenues dans le paquetage [Link].*
✓ Exemple : recherche d’étudiants dont les noms commencent par
un certain nombre de lettre dans une base oracle. On aura
besoin de 2 fichiers :
◼ Un fichier HTML contenant un formulaire dans lequel on va saisir les
1ère lettres
◼ Une Servlet Java qui va traiter les données envoyées par le formulaire

ASSALE Adjé Louis Java : Servlet & JSP 12


Java : Servlet et JSP
◼Servlet
• Accès à une base de données
◼ Le fichier HTML contenant le formulaire

ASSALE Adjé Louis Java : Servlet & JSP 13


Java : Servlet et JSP
◼Servlet
• Accès à une base de données
◼ Le fichier de la Servlet Java « [Link] »

ASSALE Adjé Louis Java : Servlet & JSP 14


Java : Servlet et JSP
◼Servlet
• Accès à une base de données
◼ Le fichier de la Servlet Java « [Link] »

ASSALE Adjé Louis Java : Servlet & JSP 15


Java : Servlet et JSP
◼Servlet
• Suivi de session : 4 méthodes 
✓ Réécriture d’URL : passage de paramètres
◼ Ajout dans la chaine de requête de la Servlet d’informations
supplémentaires d’identification de session. Exemple
◼ <a href=[Link]

Expédier</a>
lien contenant l’ID d’un utilisateur
✓ Champs de formulaires cachés
◼ Mettre les données de session dans des champs « hidden »via la
balise INPUT de type HIDDEN
◼ <Input Type = "hidden" Name = "uid" Value = "assale">

ASSALE Adjé Louis Java : Servlet & JSP 16


Java : Servlet et JSP
◼Servlet
• Suivi de session : 4 méthodes 
✓ Cookies
◼ Création d’un cookie via la classe Cookie de [Link].*
◼ Cookie unCookie = new Cookie(nom, valeur)

nom et valeur variables de type String


◼ Attributs des cookies : méthodes de l’objet Cookie
◼ getValue/setValue : récupérer/attribuer la valeur

◼ getName/setName : récupérer/attribuer le nom

◼ getComment/setComment : récupérer/attribuer des


commentaires
◼ getMaxAge/setMaxAge : récupérer/attribuer le délai restant

avant expiration du cookie (en seconde). Par défaut le cookie


est défini pour la session courante
17
Java : Servlet et JSP
◼Servlet
• Suivi de session : 4 méthodes 
✓ Cookies
◼ Attributs des cookies : : méthodes de l’objet Cookie
◼ getPath/setPath : récupérer/attribuer le répertoire du cookie

◼ Ecriture et lecture d’un cookie


◼ Méthode addCookie(cookie) de l’objet HttpServletResponse

permet d’écrire un cookie sur le disque du client


◼ Méthode getCookies() de l’objet HttpServletRequest permet

de lire les cookies enregistrés sur le disque du client


◼ Exemple
… d’envoie d’un cookie
String nom = [Link] ("nom") ;
Cookie unCookie = new Cookie ("nom", nom) ;

18
[Link] (unCookie) ;
Java : Servlet et JSP
◼Servlet
• Suivi de session : 4 méthodes 
✓ Cookies


◼ Exemple de récupération des cookies
Cookie[] cookies = [Link] () ;
String nom = recupereCookieValeur (cookies, "nom") ;

//on définit la fonction recupereCookieValeur
public static String recupereCookieValeur (Cookie[] cookies, String cookieNom)
{
for ( int i=0; i<[Link]; i++){ Cookie cookie = cookies[i];
if ( [Link] ([Link]()))
return ([Link]());
}
return ("non trouvé")
ASSALE Adjé Louis Java : Servlet & JSP 19
}
Java : Servlet et JSP
◼Servlet
• Suivi de session : 4 méthodes 
✓ API HttpSession
◼ Ensemble de méthodes de l’objet HttpSession pour gérer le suivi
des sessions. Objet HttpServletRequest dispose de méthode
getSession() pour récupérer ou créer une session
◼ HttpSession laSession = [Link]();

◼ Quelques méthodes de l’objet HttpSession


◼ getId() : retourn un String identifiant la session en cours

◼ getAttribute(String chef) : récupère la valeur d’un objet


identifié par une clé rangé dans la session
◼ setAttribute(String clef, type valeur) : range un objet identifié

par une clé dans la session avec sa valeur


◼ removeAttribute(String clef) : supprime l’objet de la session
20
Java : Servlet et JSP
◼JSP (Java Server Pages)
• Principe
✓ Alternative à ASP/PHP
◼ Page HTML contenant du code Java dans les balises : <%...%>
◼ 3 types d’éléments peuvent être insérés :
◼ Eléments de scripts : insérer des instructions Java

◼ Directives : permet le contrôle de la structure

◼ Actions : pour importer des composants existants

◼ Les JSP sont traduites en Servlet et ont un cycle de vie identique


◼ Méthode jspInit() correspond à la méthode init()

◼ Méthode _jspService()  méthode service() d’une Servlet

◼ Enfin méthode jspDestroy()  à destroy() d’une Servlet

◼ Dans Tomcat, fichiers JSP placés dans répertoire de l’application


ASSALE Adjé Louis Java : Servlet & JSP 21
Java : Servlet et JSP
◼JSP (Java Server Pages)
• Éléments de scripts
✓ 4 types d’éléments de scripts
✓ Commentaires
◼ Pas pris en compte dans l’exécution: la syntaxe :
◼ <%-- ceci est un commentaire --%>

✓ Déclarations
◼ Permet de déclarer méthodes et variables d’instance connus dans
toute la page JSP et partagés par tous les utilisateurs
◼ On peut définir les méthodes jspInit() et jspDestroy()
◼ La syntaxe est : <%! Déclarations %> Exemple :
◼ <%! private int un_entrier;
private int somme(int a, int b){return(a+b);}
%> 22
Java : Servlet et JSP
◼JSP (Java Server Pages)
• Éléments de scripts
✓ expressions
◼ Permet d’évaluer une expression et renvoyer sa valeur sous
forme d’un String. Une expression correspond à [Link](…)
d’une Servlet et se termine par un (;). Les objets implicites
request, response, session, out, … peuvent être utilisés
◼ La syntaxe est : <%= expression %>
◼ Exemple : JSP qui affiche la date du jour

Java : Servlet & JSP 23


Java : Servlet et JSP

◼JSP (Java Server Pages)


• Éléments de scripts
✓ scriptlets
◼ Génère code Java qui sera placé dans la méthode _jspService()
◼ Dès qu’une structure de contrôle(if, for, while, …) est nécessaire,
une scriptlet doit être écrite
◼ La syntaxe est : <% scriptlet %>
◼ Ils ont accès au variables, beans déclarés et objets implicites :
◼ request : requête courante objet HttpServletRequest

◼ response : réponse courante objet HttpServletResponse

◼ session : session courante objet HttpSession

◼ out : flot de sortie permet écriture sur la réponse objet

[Link] ou [Link]
◼ in : flot d’entrée objet [Link] 24
Java : Servlet et JSP
◼JSP (Java Server Pages)
• Éléments de scripts
✓ scriptlets
◼ Ils ont accès au variables, beans déclarés et objets implicites :
◼ application : espace de données partagé entre toutes les

JSP objet SevletContext(getServletConfig().getContext())


◼ page : instance de Servlet associée à la JSP courante (this)

◼ config : contient les paramètres d’initialisation de la Servlet

objet ServletConfig
◼ pageContext, … : contient les attributs de la page
énumération de la classe PageContext

Java : Servlet & JSP 25


Java : Servlet et JSP
◼JSP (Java Server Pages)
• Éléments de scripts
✓ scriptlets Exemple :

Récupération du nom et
prénom d’une personne en
paramètre et lui envoyer
une salutation

Java : Servlet & JSP 26


Java : Servlet et JSP
◼JSP (Java Server Pages)
• Les directives
✓ Indique au conteneur la façon de gérer la Servlet
◼ La syntaxe est : <%@ directive %>
◼ 3 types de directives
✓ Les directives de pages
◼ Syntaxe : <%@page...%>
◼ Définir les attributs spécifiques à une page :
◼ Les « Import » nécessaires au code Java :

<%@page import = "[Link].*", "[Link].*"%>


◼ Le type MIME du contenu retourné :

<%@page contentType = text/html%>


<%@page contentType = text/plain%>
ASSALE Adjé Louis Java : Servlet & JSP 27
Java : Servlet et JSP
◼JSP (Java Server Pages)
• Les directives
✓ Les directives de pages
◼ Définir les attributs spécifiques à une page :
◼ Fournir URL de la JSP à charger en cas d’erreur :

<%@page errorPage = "[Link]"%>


◼ Définir si la JSP est une page invoquée en cas d’erreur :

<%@page isErrorPage = "true"%>


◼ Définir le langage de script utilisé :

<%@page language = "Java"%>


◼ Déclarer si la JSP peut être exécutée par +sieurs clients à la

fois
<%@page isThreadSafe = "false"%>
◼ …
ASSALE Adjé Louis Java : Servlet & JSP 28
Java : Servlet et JSP
◼JSP (Java Server Pages)
• Les directives
✓ Les directives de pages – Exemple : calcul de pgcd

ASSALE Adjé Louis Java : Servlet & JSP 29


Java : Servlet et JSP
◼JSP (Java Server Pages)
• Les directives
✓ Les directives d’inclusion
◼ Permet d’inclure le contenu d’un autre fichier – inclusion
effectuée au moment de traduction de la page avant compilation
◼ Types de fichiers pouvant être inclus :
◼ HTML, éléments de scripts, directives, actions, …

◼ La syntaxe : <%@include file = "chemin_relatif_du_fichier"%>


◼ Exemple : <%@include file = "[Link]"%>
◼ [Link] doit se trouver dans le home du serveur web

ASSALE Adjé Louis Java : Servlet & JSP 30


Java : Servlet et JSP
◼JSP (Java Server Pages)
• Les directives
✓ Les directives de balises personnalisées
◼ Permet d’indiquer une bibliothèque de balises : adresse et préfixe
◼ Ces balises peuvent être mélangées aux balises JSP standards et
HTML. La syntaxe est :
◼ <%@taglib prefix= prefixe uri = emplacement%>

◼ JSTL (Java server pages Standard Tag Lib) offre ensemble de


tags avec fonctionnalités suivantes :
◼ Tag de structure (itération, conditionnement, …)

◼ Internalisation

◼ Exécution de requête SQL

◼ Utilisation de document XML

ASSALE Adjé Louis Java : Servlet & JSP 31


Java : Servlet et JSP
◼JSP (Java Server Pages)
• Les éléments d’actions
✓ Permet de faire des traitements au moment où la page
est demandée par le client :
◼ Inclure dynamiquement un fichier
◼ Rediriger vers une autre page
◼ Utiliser des Java Beans – etc.
◼ La syntaxe est : <jsp:…/>
✓ jsp:include
◼ Identique à la directive <%@include ... sauf que l’inclusion est
faite au moment de la requête donc après compilation
◼ L’élément d’action jsp:param permet de passer des informations
à la ressource à inclure
ASSALE Adjé Louis Java : Servlet & JSP 32
Java : Servlet et JSP
◼JSP (Java Server Pages)
• Les éléments d’actions
✓ jsp:include – Exemple :
◼ <jsp:include page = "[Link]" flush =" true">
<jsp:param name = "nom" value = "toto"/>
<jsp:param name = "prenom" value = "luc"/>
<jsp:param name = "adresse" value = "abidjan"/>
</jsp:include>
✓ jsp:forward
◼ Passe le contrôle de la requête à une autre ressource
◼ Utilise également jsp:param pour passer des informations
◼ Exemple :
<jsp:forward page = fichier_redirect.jsp>
<jsp:param name = "nom_param" value = "valeur"/>
33
</jsp:forward>
Java : Servlet et JSP
◼JSP (Java Server Pages)
• Les éléments d’actions
✓ Utilisation de Java Bean :
◼ Modèle de composant Java permettant de construire application
en assemblant des entités logicielles par programme
◼ Modèle de composant décrit par un ensemble d’APIs
◼ Dans architecture des application web, composant métiers sont
implantés par des Java Bean
◼ Un Bean est un objet Java dont la classe respecte des directives :
◼ Un constructeur public sans argument (peut être omis)

◼ Des propriétés « prop » accessibles au travers de getteurs et

setteurs
◼ Méthode de lecture de propriétés : type getNomPropriété()

◼ Méthode d’écriture de proriété : void setNomPropriété(type)


Java : Servlet et JSP
◼JSP (Java Server Pages)
• Les éléments d’actions
✓ Utilisation de Java Bean :
◼ Inclusion dans une page JSP – la syntaxe est :
◼<jsp:useBean id = "nomDuBean"

[scope = "page|request|session|application"]
class = "[Link]"
[type = "typeDuBean">]
</jsp:useBean>
◼Type utiliser pour transtypage : indique soit une classe mère
soit une interface de la classe
◼ Permet de séparer partie traitement de partie présentation
◼ Permet d’instancier un composant JavaBean
◼ Après exécution, un Bean rend son résultat à la JSP ou Servlet
Java : Servlet et JSP
◼JSP (Java Server Pages)
• Les éléments d’actions
✓ Utilisation de Java Bean :
◼ Inclusion dans une page JSP – la syntaxe est :
◼Utilisation de Bean évite emploi de méthode

getRequestParameter(…)
◼Valeur de paramètre d’une requête peut être utilisée
directement pour renseigner la propriété d’un Bean
◼Un serveur peut gérer la portée d’un Bean en le liant soit à une
page, une requête, une session ou une application

ASSALE Adjé Louis Java : Servlet & JSP 36


Java : Servlet et JSP
◼JSP (Java Server Pages)
• Les éléments d’actions
✓ Utilisation de Java Bean :
◼ Récupération et modification des valeurs d’instance de JavaBean
◼Récupération <jsp:getProperty name="idBean"

property="nomProp"/>  <%=[Link]()%>
◼ Modification
– attribuer automatiquement aux attributs valeurs récupérées
de la requête : <jsp:setProperty name="idBean"
property="*"/>
- attribuer directement une valeur de paramètre à un attribut :
<jsp:setProperty name="idBean" property="maProp"
param="nomParam"/>
- attribuer directement valeur à un attribut : <jsp:setProperty
name="idBean" property="maProp" value="valeur"/>
Java : Servlet et JSP
◼JSP (Java Server Pages)
• Les éléments d’actions
✓ Utilisation de Java Bean : Exemple : le Java Bean

ASSALE Adjé Louis Java : Servlet & JSP 38


Java : Servlet et JSP
◼JSP (Java Server Pages)
• Les éléments d’actions
✓ Utilisation de Java Bean : Exemple : la page JSP

ASSALE Adjé Louis Java : Servlet & JSP 39


Java : Servlet et JSP
◼Mise en œuvre
• Tomcat : serveur d’application
✓ Installation
◼ Télécharger l’application via le lien :
[Link] pour la version 9.x
◼ Pour Windows 2 formats disponibles : fichier zip et fichier exe
◼ Dézipper le fichier zip dans un répertoire et procéder à la

configuration
✓ Organisation des répertoires de Tomcat

ASSALE Adjé Louis Java : Servlet & JSP 40


Java : Servlet et JSP
◼Mise en œuvre
• Tomcat : serveur d’application
✓ Organisation des répertoires de Tomcat

Scripts de lancement et d’arrêt du serveur Tomcat


Fichiers de configuration : [Link], [Link] et
[Link]

jar utilisés par Tomcat pour fonctionner. Inclut les


librairies de spécification de Java EE

Zone de déploiement

ASSALE Adjé Louis Java : Servlet & JSP 41


Java : Servlet et JSP
◼Mise en œuvre
• Tomcat : serveur d’application
✓ Configuration
◼ Modifier la variable PATH de l’OS de sorte à désigner le répertoire
bin de Tomcat et du JDK

ASSALE Adjé Louis Java : Servlet & JSP 42


Java : Servlet et JSP
◼Mise en œuvre
• Tomcat : serveur d’application
✓ Configuration
◼ Créer 3 variables d’environnement :
◼ CATALINA_HOME qui pointe sur le répertoire Tomcat

◼ JAVA_HOME qui désigne le répertoire du JDK

◼ Et CLASSPATH qui pointe sur les fichiers lib de Tomcat

ASSALE Adjé Louis Java : Servlet & JSP 43


Java : Servlet et JSP
◼Mise en œuvre
• Tomcat : serveur d’application
✓ Configuration
◼ Tester Tomcat :
◼ Démarrer Tomcat en tapant : startup en ligne de commande

◼ Lancer le navigateur avec : localhost:8080

◼ Arrêter Tomcat en tapant : shutdown options

◼ Port par défaut 8080 en cas de conflit on peut changer de port :


◼ Ouvrir le fichier [Link] et changer le numéro de port

ASSALE Adjé Louis Java : Servlet & JSP 44


Java : Servlet et JSP
◼Mise en œuvre
• Tomcat : serveur d’application
✓ Configuration – test de Tomcat :

ASSALE Adjé Louis Java : Servlet & JSP 45


Java : Servlet et JSP
◼Mise en œuvre
• Tomcat : serveur d’application
✓ Configuration: ajout, suppression et modification de rôles
◼ Un rôle permet d’ajouter des utilisateurs et de définir des droits
sur les Servlets utilisés pour l’identification à base de rôles
◼ Les rôles sont définis dans le fichier [Link]
◼ À la 1ère utilisation du serveur il faut nécessairement ajouter

les comptes admin et manager


◼ Les Servlets à identification par rôles n’autorisent que les

utilisateurs dont les rôles sont test

ASSALE Adjé Louis Java : Servlet & JSP 46


Java : Servlet et JSP
◼Mise en œuvre
• Tomcat : serveur d’application
✓ Configuration du « user » permettant d’utiliser Tomcat
◼ Tomcat a prédéfinit 8 rôles répartis en 2 classes admin/manager
◼ manager-gui permet accès à HTML GUI et pages status

◼ manager-script → interface texte et pages status

◼ manager-jmx → à JMX proxy et pages status

◼ manager-status → seulement aux pages status

◼ Les rôles sont définis dans le fichier [Link]


◼ Un « user »peut jouer un ou plusieurs rôles

◼ On va déclarer un « user » nommé « tomcat » qui va jouer

les 4 rôles manager et un user « admin »pour jouer les 4


rôles admin
ASSALE Adjé Louis Java : Servlet & JSP 47
Java : Servlet et JSP
◼Mise en œuvre
• Tomcat : serveur d’application
✓ Configuration du « user » permettant d’utiliser Tomcat
◼ Copier le script suivant dans le fichier [Link]

ASSALE Adjé Louis Java : Servlet & JSP 48


Java : Servlet et JSP
◼Mise en œuvre
• Tomcat : serveur d’application
✓ Configuration du « user » admin
◼ Ajouter le script suivant dans le fichier [Link]

ASSALE Adjé Louis Java : Servlet & JSP 49


Java : Servlet et JSP
◼Mise en œuvre
• Tomcat : serveur d’application
✓ Configuration : droits des utilisateurs

tomcat

admin

ASSALE Adjé Louis Java : Servlet & JSP 50


Java : Servlet et JSP
◼Mise en œuvre
• Tomcat : serveur d’application
✓ Configuration : déploiement d’application
◼ Le déploiement d’une application passe par +sieurs étapes
1. Créer dans le répertoire webapps le répertoire de votre projet
◼ Expl: création du répertoire monweb dans webapps

2. Créer un sous-répertoire WEB-INF au répertoire du projet


◼ Créer un sous-répertoire classes à WEB-INF pour loger les

classes des Servlets


◼ Copier le fichier [Link] de examples/WEB-INF dans le
WEB-INF du projet et l’adapter (voir plus loin)
3. Créer dans le répertoire conf/catalina/localhost un fichier xml
dont le nom est identique à celui du projet. Ce fichier définira
le contexte de l’application
ASSALE Adjé Louis Java : Servlet & JSP 51
Java : Servlet et JSP
◼Mise en œuvre
• Tomcat : serveur d’application
✓ Configuration : déploiement d’application
◼ Le contexte de l’application est un fichier xml avec la balise
« contexte » contenant les attributs suivants :
◼ path="/monweb" : URL d’accès

◼ docBase="${[Link]}/webapps/monweb" : chemin

d’accès absolu aux fichiers ou


docBase="/monweb" : chemin relatif par rapport à webapps
◼ reloadable="true" : détection automatique des changements
et rechargement si besoin
◼ workDir="/work/Catalina/localhost/monweb" répertoire

temporaire dans lequel l’application pourrait effectuer des


opérations
ASSALE Adjé Louis Java : Servlet & JSP 52
Java : Servlet et JSP
◼Mise en œuvre
• Tomcat : serveur d’application
✓ Configuration : déploiement d’application
◼ Fichier [Link] définissant le « contexte » de l’application :

ASSALE Adjé Louis Java : Servlet & JSP 53


Java : Servlet et JSP
◼Mise en œuvre
• Tomcat : serveur d’application
✓ Configuration : déploiement d’application
◼ Le fichier [Link] enregistre la description de toutes les Servlets
de l’application, chaque Servlet créée est définie par 2 balises :
◼ La balise <servlet></servlet> qui contient 2 autres balises :
◼ <servlet-name> qui spécifie un nom à la Servlet

◼ <servlet-class> qui spécifie le fichier .class de la Servlet

◼ La balise <servlet-mapping></servlet-mapping> spécifie


comment la Servlet sera appelée dans l’URL
◼ <servlet-name> reprend le nom de la Servlet

◼ <url-pattern> spécifie l’url d’appel

ASSALE Adjé Louis Java : Servlet & JSP 54


Java : Servlet et JSP
◼Mise en œuvre
• Tomcat : serveur d’application
✓ Configuration : déploiement d’application

ASSALE Adjé Louis Java : Servlet & JSP 55


Java : Servlet et JSP
◼Mise en œuvre
• Tomcat dans Eclipse
✓ Installation du plug-in Tomcat dans Eclipse
◼ Ouvrir les préférences d’Eclipse

ASSALE Adjé Louis Java : Servlet & JSP 56


Java : Servlet et JSP
◼Mise en œuvre
• Tomcat dans Eclipse
✓ Installation du plug-in Tomcat dans Eclipse
◼ Ouvrir le panneau des serveurs disponibles

ASSALE Adjé Louis Java : Servlet & JSP 57


Java : Servlet et JSP
◼Mise en œuvre
• Tomcat dans Eclipse
✓ Installation du plug-in Tomcat dans Eclipse
◼ Cliquer sur Add et Ajouter un serveur Tomcat

ASSALE Adjé Louis Java : Servlet & JSP 58


Java : Servlet et JSP
◼Mise en œuvre
• Tomcat dans Eclipse
✓ Installation du plug-in Tomcat dans Eclipse
◼ Choisir le répertoire d’installation de Tomcat et Terminer

ASSALE Adjé Louis Java : Servlet & JSP 59


Java : Servlet et JSP
◼Mise en œuvre
• Tomcat dans Eclipse
✓ Installation du plug-in Tomcat dans Eclipse
◼ L’installation de Tomcat dans Eclipse est validée

ASSALE Adjé Louis Java : Servlet & JSP 60


Java : Servlet et JSP
◼Mise en œuvre
• Tomcat dans Eclipse
✓ Création d’un projet web
◼ Faire File/New/Project et choisir Web/Dynamic Web Projet

ASSALE Adjé Louis Java : Servlet & JSP 61


Java : Servlet et JSP
◼Mise en œuvre
• Tomcat dans Eclipse
✓ Création d’un projet web
◼ Nommer le projet

ASSALE Adjé Louis Java : Servlet & JSP 62


Java : Servlet et JSP
◼Mise en œuvre
• Tomcat dans Eclipse
✓ Création d’un projet web
◼ Répertoire de rangement des
fichiers source – conserver le
choix par défaut

ASSALE Adjé Louis Java : Servlet & JSP 63


Java : Servlet et JSP
◼Mise en œuvre
• Tomcat dans Eclipse
✓ Création d’un projet web
◼ Répertoire de rangement des ressources du projet web : page
HTML, fichier multimédia, fichier Javascript, etc…
Possibilité de générer automatiquement
le fichier [Link]. Ce fichier sera rangé
dans webapp/WEB-INF

Eclipse demande d’utiliser la perspective Java EE

ASSALE Adjé Louis Java : Servlet & JSP 64


Java : Servlet et JSP
◼Mise en œuvre
• Tomcat dans Eclipse
✓ Création d’un projet web
◼ Structure du projet dans la
vue Project Explorer

ASSALE Adjé Louis Java : Servlet & JSP 65


Java : Servlet et JSP
◼Mise en œuvre
• Tomcat dans Eclipse
✓ Création d’une 1ère Servlet
◼ Cliquer sur icône « Create new Servlet »

Icône fournie par la


perspective Java EE

ASSALE Adjé Louis Java : Servlet & JSP 66


Java : Servlet et JSP
◼Mise en œuvre
• Tomcat dans Eclipse
✓ Création d’une 1ère Servlet
◼ Fixation des paramètre de la Servlet

• Nom de la servlet utilisé dans le fichier [Link]


• Ses paramètres d’initialisation
• Le ou les paramètres URL mappings

ASSALE Adjé Louis Java : Servlet & JSP 67


Java : Servlet et JSP
◼Mise en œuvre
• Tomcat dans Eclipse
✓ Création d’une 1ère Servlet
◼ Méthodes à générer

Eclipse peut générer différentes méthodes


standard de la servlet : init(), doGet() ou doPost()

ASSALE Adjé Louis Java : Servlet & JSP 68


Java : Servlet et JSP
◼Mise en œuvre
• Tomcat dans Eclipse
✓ Création d’une 1ère Servlet
◼ Ecriture du code d’une 1ère servlet

ASSALE Adjé Louis Java : Servlet & JSP 69


Java : Servlet et JSP
◼Mise en œuvre
• Tomcat dans Eclipse
✓ Création d’une instance de Tomcat
◼ Dans la vue servers, faire New server

ASSALE Adjé Louis Java : Servlet & JSP 70


Java : Servlet et JSP
◼Mise en œuvre
• Tomcat dans Eclipse
✓ Création d’une instance de Tomcat
◼ Ajout de projet

ASSALE Adjé Louis Java : Servlet & JSP 71


Java : Servlet et JSP
◼Mise en œuvre
• Tomcat dans Eclipse
✓ Exécution d’une servlet
◼ Clique-droit sur le projet puis Run As/Run on Server
L’information s’affiche dans une page
web dont l’URL est :
localhost:8080/monprojet/Bonjour

ASSALE Adjé Louis Java : Servlet & JSP 72


Java : Servlet et JSP
◼Mise en œuvre
• Tomcat dans Eclipse
✓ Création d’une 1ère JSP
◼ Clique-droit sur le projet puis New/JSP File

ASSALE Adjé Louis Java : Servlet & JSP 73


Java : Servlet et JSP
◼Mise en œuvre
• Tomcat dans Eclipse
✓ Création d’une 1ère JSP
◼ Choisir le répertoire de
la JSP puis nommer la

ASSALE Adjé Louis Java : Servlet & JSP 74


Java : Servlet et JSP
◼Mise en œuvre
• Tomcat dans Eclipse
✓ Création d’une 1ère JSP
◼ Choisir le type de JSP

ASSALE Adjé Louis Java : Servlet & JSP 75


Java : Servlet et JSP
◼Mise en œuvre
• Tomcat dans Eclipse
✓ Création d’une 1ère JSP
◼ Ecriture du code de la JSP

ASSALE Adjé Louis Java : Servlet & JSP 76


Java : Servlet et JSP
◼Mise en œuvre
• Tomcat dans Eclipse
✓ Exécution de la JSP
◼ Click-droit sur le fichier puis Run As/Run on Server

ASSALE Adjé Louis Java : Servlet & JSP 77

Vous aimerez peut-être aussi