0% ont trouvé ce document utile (0 vote)
37 vues24 pages

javaEE 1

Le document présente une introduction à la création d'applications web en utilisant des technologies Java telles que Servlets, JDBC et JSP. Il décrit l'architecture 3-tiers, le fonctionnement du conteneur web Apache Tomcat, ainsi que le déploiement et la gestion des applications web. Enfin, il explique le cycle de vie d'un servlet et comment interagir avec des formulaires HTML pour traiter des requêtes client.

Transféré par

Sergi Gine Rius
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)
37 vues24 pages

javaEE 1

Le document présente une introduction à la création d'applications web en utilisant des technologies Java telles que Servlets, JDBC et JSP. Il décrit l'architecture 3-tiers, le fonctionnement du conteneur web Apache Tomcat, ainsi que le déploiement et la gestion des applications web. Enfin, il explique le cycle de vie d'un servlet et comment interagir avec des formulaires HTML pour traiter des requêtes client.

Transféré par

Sergi Gine Rius
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

Patrick Albers – Oriana Licchelli

Plan

 Application Web
– Servlet
– JDBC
– JSP

2
Architecture 3-tiers

fonctions d'affichage,
il ne fait que des
requêtes vers le
effectue tous les calculs
serveur
ou fait des requêtes vers
d'autres serveurs
additionnels (e.g. vers de
SGBD)
4
Application Web
Assemblage de composants de serveurs Web, de contenu et
d’informations de configuration

Conteneur Web = environnement d’exécution d’une application Web

Plate-forme JEE est une solution portable, sécurisée et standardisée, où


c’est possible de spécifier :
– le cycle de vie des composants
– les comportements que le composant implémente
– les services que le serveur rend aux composants

 Les spécifications JEE définissent plusieurs composants Web


– Servlets Java (“servlets”)
– Java Server Pages (JSP)

5
Conteneur Web

Pour exécuter des applications Web, il faut utiliser un


conteneur Web

 De nombreuses versions commerciales :


– Tomcat Server d’Apache
– JBoss
– WebSphere Application Server d’IBM

 Nous utiliserons Apache Tomcat

6
Apache Tomcat

 Écrit en Java

 Il peut être utilisé sur n’importe quel système disposant


d’une machine virtuelle

 Il est disponible gratuitement sous forme d’une licence


Open Source

 Il fournit les bibliothèques de façon à concevoir des


applications web

7
Hiérarchie des répertoires Tomcat
 bin – scripts de lancement et d’arrêt du
Serveur Tomcat

 common/lib ou common/classes – jar et


*.class utilisés par Tomcat pour
fonctionner.

 conf – fichiers de configuration


(server.xml, web.xml et tomcat-
users.xml)

 logs – fichiers de logs relatifs à des


erreurs

 shared/lib – fichiers jar communs à


toutes les Servlets

 webapps – zone de déploiement

8
Déploiement des application Web

 Une application Web est contenue dans un répertoire physique


sur le serveur (dans le répertoire WebApps)

Application
Web

9
Application Web
 Le déploiement va permettre d’indiquer à Tomcat (conteneur Web):
– où se trouve le répertoire physique de votre application Web
– quel est le contexte de l’application Web

 Un contexte constitue une vue sur le fonctionnement de l’application


Web, et il permet d’accéder à chacune des ressources de
l’application

 Pour accéder à une ressource, on peut utiliser l’adresse :


http://localhost:8080/NomApplication/NomRessource
localhost = Adresse du Serveur
8080 = Port
NomApplication = Contexte de l’application Web
NomRessource = Nom de la ressource que nous intéresse

10
Déclaration serveurs d'applications

Lancer Eclipse et vérifier que le workspace d’Eclipse


pointe bien sur un répertoire sans espaces

1) Téléchargez Eclipse JavaEE et désarchivez


2) Téléchargez Tomcat et désarchivez
3) Lancez Eclipse avec un nouveau workspace et
faire le lien entre Eclipse et Tomcat

dans le menu : Window>Preferences>Server>RuntimeEnvironment,
cliquez sur le bouton Add

Choisissez la bonne version de Tomcat (11)

Recopiez le chemin du répertoire où se trouve Tomcat

Puis cliquez sur « Finish » et « Apply and close »

11
Déclaration serveurs d'applications

4) Allez dans l’onglet Servers (Window>Show


view>Servers), cliquez sur le lien pour créer
un nouveau serveur (ou bouton droit>new
server), cliquez sur Next puis Finish.
Ne démarrez pas le serveur tout de suite
(flèche verte)
5) double cliquez sur le nom du serveur :
Tomcat. Dans « Server Locations »,
sélectionnez « use Tomcat installation ».
Sauvez la configuration en tapant Ctrl-S.

12
Déclaration serveurs d'applications

Cette option permet à Eclipse de modifier


Tomcat, les changements seront alors visibles
aussi via un navigateur en dehors d’Eclipse.

6) Pour voir si cela fonctionne, démarrez le


serveur Tomcat en cliquant sur la flèche verte.
Puis dans le navigateur, allez à l’adresse :
http://localhost:8080

13
Déclaration serveurs d'applications

7) Ouvrez le fichier conf/tomcat-users.xml, qui


se trouve dans le répertoire de tomcat, et
ajoutez :
<role rolename="manager-gui"/>
<user password="network" roles="manager-gui"
username="tomcat">

8) Dans http://localhost:8080, cliquez sur


« Manager App », pour accéder aux
applications déployées sur Tomcat.

14
Tomcat Manager App

9) Choisissez /examples
Puis testez les différents
servlets
Visualisez le code de :
HelloWorld

15
Servlet
Les serveurs Web sont capables de renvoyer des fichiers présents
sur le serveur en réponse à une requête d’un client
Problème
– pour envoyer une page HTML contenant par exemple une liste
d’articles répondant à différents critères, il faut la créer
dynamiquement
Solution
– Servlets Java
Définition
– Un « servlet » est un programme qui s’exécute du côté
serveur.
Il reçoit une requête du client, il effectue des traitements et
renvoie le résultat au client.
Un servlet peut être invoqué plusieurs fois en même temps
pour répondre à plusieurs requêtes simultanées.
16
Exécution d’un Servlet

 Le client effectue une requête qui est


envoyée via le protocole HTTP au serveur
 Le serveur doit exécuter le servlet en charge
de la requête
– Il vérifie si c’est la première exécution du servlet
– Si oui, il crée un objet (instance) du servlet
– Il appelle cette instance du servlet en passant les
informations de la requête
 Le servlet crée la réponse en format HTML et
l’envoie au client via le protocole HTTP

17
Servlet : API Java
 Langage utilisé = Java
– avantages : portabilité, accès à toutes les APIs de Java
(JDBC pour l’accès aux bases de données, etc)
 Outil de développement : Java Server Development Kit (JSDK)
 API servlet : ensemble de classes dans deux packages
– javax.servlet - classes pour développer des servlets
génériques indépendantes d’un protocole
– javax.servlet.http - classes pour développer des servlets qui
reposent sur le protocole HTTP utilisé par les serveurs Web
– le protocole HTTP a des méthodes comme GET, POST,
PUT, DELETE et TRACE
– la classe javax.servlet.http.HttpServlet a les méthodes :
doGet, doPost, doPut, doDelete, doTrace et service.

18
Structure d’un Servlet
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class HelloWorld extends HttpServlet {

public void doGet (HttpServletRequest req, HttpServletResponse res)


throws ServletException, IOException
{ ... }
public void doPost (HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException
{ ... }
public void service (HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException
{ ... }

19
Servlet : exemple Hello world
1) créez le projet Dynamic Web Project :
helloProject.
2) Choisissez la cible : « Target runtime » sur Tomcat, et cliquez sur Next et sur
Finish.

Les fichiers source Java devront se trouver dans la répertoire Java Ressources
> src
3) Créez le paquetage helloProject dans src
4) Créez le servlet HelloWorld dans ce paquetage, vérifiez que l’URL est
bien /HelloWorld, et choisissez la méthode doGet
5) Remplacez le code de doGet par le code de
examples/servlets/Hello World
6) Ajoutez ce projet dans le serveur Tomcat :
bouton droit sur le nom du serveur>Add and Remove
Ajoutez le projet dans la colonne de droite (Configured)
Si le serveur n’est pas démarré, démarrez le.
7) Dans le navigateur, tapez : http://localhost:8080/helloProject/HelloWorld

20
Servlet : cycle de vie

 chargement du servlet - lorsqu'un servlet est demandé pour la première


fois, le conteneur crée l'objet (instance)

 initialisation du servlet - une fois que le conteneur a intégré l'objet du


servlet, il lui invoque la méthode init qui sera invoquée qu'une seule et
unique fois durant toute la vie du servlet

 sollicitation de la part d’un client - à chaque requête HTTP, le conteneur


détermine qu‘il est le servlet associé. A partir de là, un thread du servlet
démarre

 finalisation du servlet - quand le conteneur de servlets décidera qu'il n'a


plus besoin de tel servlet, il invoquera la méthode destroy
– le servlet est détaché du conteneur et le garbage collector pourra supprimer
l'instance à tout moment

21
Servlet et Formulaires
 Mécanisme pour appeler un servlet dans une page HTML
<FORM></FORM>

 Dans le formulaire, chaque composant est défini au moyen d’une


balise particulière
SELECT, INPUT, TEXTAREA, …

 Options de la balise <FORM>


– METHOD, pour indiquer le type de requête GET ou POST
– ACTION, pour connaître le nom de la ressource à appeler (le servlet)

 Chaque composant (SELECT par exemple) a l'option NAME qui


permet d’identifier le composant (NAME="mon_composant")

 En cliquant sur le bouton SUBMIT du formulaire, toutes les données


sont envoyées (via HttpServletRequest) au servlet indiqué dans la
balise FORM. Le servlet utilise ces données pour créer la réponse
et l’envoyer au client via l’objet réponse (HttpServletResponse)

22
Servlet : Hello World (suite)

 Dans l’application « helloProject » :


– Écrire une page html « index.html » qui appelle le
servlet « HelloWorld » avec la méthode GET
– Dans WebContent, créez le fichier HTML :
index.html
– Ajoutez un formulaire pour appeler le servlet
– Testez de nouveau :
http://localhost:8080/helloProject/index.html

23
Exercice 1

Définir une nouvelle application « biblio » qui


affiche un message de bienvenue avec le nom et
le prénom de l’utilisateur avec les méthodes get
et post à l’aide deux formulaires distincts

24

Vous aimerez peut-être aussi