• Aucun résultat trouvé

TP architecture MVC Ce TP utilise tomcat 7, sous windows et des

N/A
N/A
Protected

Academic year: 2022

Partager "TP architecture MVC Ce TP utilise tomcat 7, sous windows et des"

Copied!
8
0
0

Texte intégral

(1)

TP architecture MVC

Ce TP utilise tomcat 7, sous windows et des .bat windows. Il utilise la version Java EE avec les web.xml (version 2.4). Il n'utilise pas d'environnement spécifique.

0°) Préliminaire

a) Créer un dossier dans lequel vous travaillerez pour tout ce TP : ce sera votre répertoire de travail. Recopier, dans un répertoire éditable par exemple sous C:\www\tomcat, tout l'arborescence de tomcat que vous avez trouvé sur internet (à partir de http://tomcat.apache.org) ou bien sur votre disque (il peut être ! sous C:\Program Files\ApacheTomcat).

b) Créer le fichier script lanceTomcat.bat, qui va permettre de lancer le serveur tomcat.

fichier lanceTomcat.bat ---

@REM Les valeurs des variables ci dessous sont surement à

@REM changer et dépendent de votre environnement set JAVA_HOME=C:\Applications\jdk

set CATALINA_HOME=C:\Applications\Tomcat-7.0.34

%CATALINA_HOME%\bin\startup.bat ---

L'exemple ci dessus a supposé que le JDK (pas le JRE) Java est rangé sous C:\Applications\jdk, et tomcat est installé sous C:\Applications\Tomcat- 7.0.34. Il faut sûrement changer ces valeurs, c'est à dire ajuster les deux variables JAVA_HOME et CATALINA_HOME correctement en fonction des configuration de vos machines.

Sauvegarder ce script dans votre répertoire de travail.

c) Ouvrer une fenêtre dos dans votre répertoire de travail et lancer lanceTomcat.bat.

d) Ouvrer un navigateur et connecter vous à l'URL http://localhost:8080. Vous devriez avoir une fenêtre comme :

(2)

e) Créer le fichier script arreteTomcat.bat, qui va permettre de lancer le serveur tomcat.

fichier arreteTomcat.bat ---

@REM Les valeurs des variables ci dessous sont surement à

@REM changer et dépendent de votre environnement set JAVA_HOME=C:\Applications\jdk

set CATALINA_HOME=C:\Applications\Tomcat-7.0.34

%CATALINA_HOME%\bin\shutdown.bat ---

En ajustant les variables comme indiqué en b).

f) lancer le script arreteTomcat.bat. Tomcat doit être arrêté, Vérifier le en essayer de vous connecter dans votre navigateur à l'URL http://localhost:8080.

g) relancer tomcat et, après avoir obtenu, la page d'URL http://localhost:8080, cliquer sur le "bouton" "Manager App" (au milieu de la fenêtre à droite).

(3)

Une fenêtre doit apparaître demandant Utilisateur et Mot de passe. Taper le couple (admin, admin). Si vous ne parvenez pas à vous connecter, lisez le message d'erreur !

Bon, en fait, pour corriger cette erreur d'accès (;-)), éditer le fichier conf\tomcat- users.xml (fichier de configuration tomcat-users.xml situé dans le répertoire conf sous l'arborescence de tomcat). Pour Tomcat 7, il devra contenir :

<?xml version='1.0' encoding='utf-8'?>

<tomcat-users>

<role rolename="manager-gui"/>

<user username="admin" password="admin" roles="manager-gui"/>

</tomcat-users>

(comme indiqué dans le message d'erreur;-)).

Remarque :

En cas de problème arrêter et relancer le serveur tomcat (cf. étape g). Après authentification du gestionnaire de tomcat dans votre navigateur, et en cliquant sur le lien "Lister les applications", vous devez obtenir une page comme :

(4)

Construction d'une application Web : page d'accueil index.html

Il faut désormais préparer une arborescence conforme aux spécifications Java EE pour construire un site web dynamique c'est à dire une application web. Pour cela créer un répertoire SiteWebTP qui est une copie de la future application web lorsqu'elle sera déployée.

1°) Dues aux spécifications Java EE, il faut placer, à partir de la racine de ce répertoire SiteWebTP,

le répertoire WEB-INF

le répertoire classes où seront placées les servlets compilés

le fichier web.xml de la manière suivante :

classes et lib étant des répertoires, sous répertoires du répertoire WEB-INF. Attention la casse est obligatoire.

Construire la page HTML index.html, la mettre dans cette arborescence.

2°) Ecrire un fichier web.xml de la forme : fichier web.xml :

---

<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns="http://java.sun.com/xml/ns/j2ee"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"

version="2.4">

<display-name>TP servlets / JSP</display-name>

<description>un TP illustrant les servlets et les JSP</description>

<welcome-file-list>

(5)

</web-app>

---

(On peut trouver les spécifications complètes d'un fichier web.xml à http://wiki.metawerx.net/wiki/Web.xml).

Le ranger au bon endroit (conforme à l'arborescence indiqué à la question précédente)

3°) Construire une archive auth.war à l'aide de la commande jar. en mettant la page index.html dans cette archive. On écrire utiliser le script suivant :

fichier construitWar.bat ---

cd SiteWebTP

jar cvf auth.war . copy auth.war ..

del auth.war cd ..

---

Ce fichier sera mis dans le répertoire père du répertoire SiteWebTP.

Lancer alors ce script. Vous devez obtenir le fichier auth.war dans votre répertoire de lancement.

4°) Déployer cette archive dans le serveur web tomcat, à l'aide de l'outil Gestionnaire d'applications WEB Tomcat qui est la page que vous avez obtenu à la question g). Il faut pour cela aller en bas de cette page et déployer (téléverser !) auth.war.

5°) Accéder à votre magnifique site web (euh une page HTML !) à l'aide d'un navigateur web après avoir lancé le serveur web tomcat à l'aide d'une URL de la forme http://localhost:8080/auth/

Constructions de pages JSP

6°) Transformer la page index.html ci dessus en page index.jsp. Que doit on faire à propos de son contenu ? Accéder à cette nouvelle page à l'aide de l'URL

http://localhost:8080/auth/index.jsp puis à l'aide de l'URL

http://localhost:8080/auth/

Remarque :

Il faut évidemment reconstruire l'archive auth.war et la redéployer. Sans compter qu'il est prudent de retirer l'ancienne application web auth.war avant de déployer la nouvelle :

(6)

On comprend alors que le besoin d'outils se fera vite sentir !

7°) Ecrire une page JSP qui retourne au client web la page suivante :

On construira un formulaire dont le code pourra être :

<form action="AuthentificationServlet" method="post">

<br/>Login : <input type="text" name="login"><br/>

<br/>Mot de passe : <input type="password" name="motDePasse"><br/>

<br/><input type="submit" value="Envoyer" />

<input type="reset" value="Effacer" />

</form>

Dans un tel formulaire, lorsque l'utilisateur clique sur le bouton Envoyer, une connexion est faite sur la servlet dont l'URL se termine par AuthentificationServlet.

8°) Faire afficher la page JSP ci dessus avec une URL de la forme : http://localhost:8080/auth/authentification.jsp

Il faudra pour cela, en plus d'écrire cette page JSP, reconstruire l'archive auth.war et redéployer cette archive (en ayant auparavant retiré l'ancienne).

Construction de servlets 9°) Construire la servlet accessible par l'URL

http://localhost:8080/auth/AuthentificationServlet

(7)

<servlet>

<servlet-name>unNomQuelconque</servlet-name>

<servlet-class>AuthentificationServlet</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>unNomQuelconque</servlet-name>

<url-pattern>/AuthentificationServlet</url-pattern>

</servlet-mapping>

---

- écrire une servlet (eh oui). Cette servlet doit fabriquer et retourner une page comme

si le couple (nom de login, mot de passe) est correct On pourra prendre le couple (auth, authpw).

Si ce couple n'est pas correct on doit avoir une page comme :

Le code source (c'est à dire le .java) de cette servlet doit être mise dans le répertoire src (à créer) sous répertoire du répertoire père de SiteWebTP. Bref le code AuthentificationServlet.java de la servlet ne doit pas être mis sous l'arborescence SiteWebTP.

Pour récupérer les valeurs mises par l'utilisateur dans les composants graphiques de nom login et motDePasse, on utilisera la méthode :

public String getParameter(String nomComposantGraphique) de la classe HttpServletRequest.

Pour compiler et déployer la servlet, on pourra utiliser, quitte à l'adapter, le script : fichier compileEtDeploieAuthentificationServlet.bat

---

(8)

set OLD_CLASSPATH=%CLASSPATH%

set CLASSPATH=%TOMCAT_HOME%\lib\servlet-api.jar;%CLASSPATH%

cd src

javac -d ..\SiteWebTP\WEB-INF\classes AuthentificationServlet.java cd ..

set CLASSPATH=%OLD_CLASSPATH%

--- Architecture MVC

10°) Modifier la servlet AuthentificationServlet de sorte qu'elle appelle des pages JSP qui affichent les réponses ci dessus (authentification réussie et échec à l'authentification).

Conclusion

Vous avez bien construit une architecture MVC avec des servlets et des pages JSP, architecture de la forme :

Références

Documents relatifs

Verser ces cristaux dans une fiole jaugée de 50,0 mL (préalablement rincée à l’eau Ajouter un peu d’eau distillée, boucher et agiter jusqu’à dissolution totale des

Ce sont toutes des interactions à distance, ce qui signifie que les corps en interaction n’ont pas besoin d’être en contact pour que ces interactions

8.1 ) Réaliser un programme (non grafcet) permettant de réaliser l’ouverture et la fermeture de la porte intérieure (conformément au cahier des charges si dessus)

 : Avec le schéma (incomplet) des fonctions nécessaires et l’aide proposée dans le logiciel millenium 3 AC, réaliser le programme en langage FDB et tester celui-ci (imprimer

□ Avec cette solution les connexions sont possibles uniquement dans un réseau local connecté à Internet, car elles ont lieu entre deux clients et transitent par des serveurs

Pour permettre le contrôle d'installation domotique ou de surveillance vous allez étudier une borne de gestion sans fil et les capteurs associés. , commander un appareil,

Problématique :::: Dans une automobile, les lampes des phares sont alimentées par une batterie dont la tension est de 12V3. Le but de ce TP sera de déterminer quelle est la

Le principe d'un titrage est de faire réagir une solution titrante (de concentration connue) avec une solution titrée de concentration inconnue et que l'on cherche