Mise en œuvre de serveurs d application TD n o 2



Documents pareils
Le langage C. Séance n 4

Introduction à Eclipse

Mise en œuvre des serveurs d application

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.

BIRT (Business Intelligence and Reporting Tools)

Création d un service web avec NetBeans 5.5 et SJAS 9

Optimiser pour les appareils mobiles

Approche Contract First

Créer et partager des fichiers

Rapports d activités et financiers par Internet. Manuel Utilisateur

< Atelier 1 /> Démarrer une application web

Consignes générales :

Tapez le titre de la page «BASTIA ville méditerranéenne», puis allez deux fois à la ligne à l aide de la touche Entrée.

1) Installation de Dev-C++ Téléchargez le fichier devcpp4990setup.exe dans un répertoire de votre PC, puis double-cliquez dessus :

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

Édu-groupe - Version 4.3

Utilisation de l éditeur.

Comment accéder à d Internet Explorer

IFT287 Exploitation de base de données relationnelles et orientées objet. Laboratoire Mon premier programme Java en Eclipse

Guide d utilisation 2012

Optimiser moteur recherche

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

les Formulaires / Sous-Formulaires Présentation Créer un formulaire à partir d une table...3

CREER ET ANIMER SON ESPACE DE TRAVAIL COLLABORATIF

Gestion des documents avec ALFRESCO

AGASC / BUREAU INFORMATION JEUNESSE Saint Laurent du Var - E mail : bij@agasc.fr / Tel : CONSIGNE N 1 :

L accès à distance du serveur

Web Tier : déploiement de servlets

ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A.

HAYLEM Technologies Inc.

Projet Java EE Approfondi

Notes pour l utilisation d Expression Web

Application Web et J2EE

Réglages du portail de P&WC

Création d un site Internet

Services bancaires par Internet aux entreprises. Guide pratique pour : Rapports de solde Version

Styler un document sous OpenOffice 4.0

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7

GUIDE D INSTALLATION INTERNET haute vitesse

PROCEDURE D EXPORT-IMPORT DU CERTIFICAT InVS INTERNET EXPLORER

26 Centre de Sécurité et de

Guide d installation de MySQL

Disque Dur Internet «Découverte» Guide d utilisation du service

Publier un Carnet Blanc

Publier dans la Base Documentaire

Ouvrir le compte UQÀM

HTML. Notions générales

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

1 - Se connecter au Cartable en ligne

Bernard Lecomte. Débuter avec HTML

Zotero est une extension du navigateur Firefox. Il est possible de télécharger Firefox gratuitement sur le site:

COURS WINDEV NUMERO 3

Groupe Eyrolles, 2005, ISBN :

Groupe Eyrolles, 2003, ISBN : X

Formation. Module WEB 4.1. Support de cours

Tutoriel d installation de Hibernate avec Eclipse

Le logiciel de création de site internet IZISPOT est un outil très puissant et qui est assez simple après quelques temps d utilisation.

Utilisation avancée de SugarCRM Version Professional 6.5

La base de données XML exist. A. Belaïd

0.1 Mail & News : Thunderbird

Guide d installation CLX.PayMaker Office (3PC)

Gestion des certificats en Internet Explorer

Ecran principal à l ouverture du logiciel

Votre site Internet avec FrontPage Express en 1 heure chrono

Manuel BlueFolder ADMINISTRATION

Utiliser le portail d accès distant Pour les personnels de l université LYON1

Contrôleur de communications réseau. Guide de configuration rapide DN

Utilisation de la Plateforme Office365 et d Oultlook Web App

Notice d installation et d utilisation du blog nomade avec un nouveau blog

HTTP Commander. Table des matières. 1-Présentation de HTTP Commander

Soon_AdvancedCache. Module Magento SOON. Rédacteur. Relecture & validation technique. Historique des révisions

Le serveur web Windows Home Server 2011

Utilisation de Jakarta Tomcat

Manuel d utilisation du module Liste de cadeaux PRO par Alize Web

La base de données dans ArtemiS SUITE

Services bancaires par Internet aux entreprises. Guide pratique pour : Transfert de fichiers Version

Formation en Logiciels Libres. Fiche d inscription

Guide pour les chercheurs. Version 1.0

Tenrox. Guide d intégration Tenrox-Salesforce. Janvier Tenrox. Tous droits réservés.

PRISE EN MAIN D UN TABLEUR. Version OPEN OFFICE

La Clé informatique. Formation Excel XP Aide-mémoire

TP 5 Les CMS, la forme et le fond Internet et Outils (IO2)

WinTask x64 Le Planificateur de tâches sous Windows 7 64 bits, Windows 8/ bits, Windows 2008 R2 et Windows bits

Initiation à Mendeley AUT2012

Construire des plug-ins pour SAS Management Console SAS 9.1

Manuel d utilisation du web mail Zimbra 7.1

Formation Word/Excel. Présentateur: Christian Desrochers Baccalauréat en informatique Clé Informatique, 15 février 2007

Procédure d installation détaillée

Atelier Découverte de Windows. janvier 2012

Document d accompagnement pour l utilisation du Cartable en ligne Lycée des Métiers Fernand LÉGER 2013/2014

Administration du site (Back Office)

Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs.

1. Introduction Création d'une requête...2

:...2 I.6. :... 2 I.7. :... 2 I.8. :...3 I.9. :... 3 I.10. :... 3 II. 4 II.1.

Tutoriel de formation SurveyMonkey

Installation-Lancement

WebSpy Analyzer Giga 2.1 Guide de démarrage

C. SCIT Le 9 juillet 2003

Mes documents Sauvegardés

Transcription:

Master IST-IE 2007 08 UE 203d Mise en œuvre de serveurs d application TD n o 2 1 Introduction Dans ce TD, vous regarderez le contenu d une application J2EE. Ensuite, vous utiliserez les pages JSP pour créer une petite interface web pour une bibliothèque imaginaire. 2 Contenu d une application La semaine dernière vous avez installé une application sur le serveur. Cela s est fait automatiquement quand vous avez cliqué sur l icône pour publier. En pratique, eclipse s est contenté de rassembler l application dans un fichier.ear et de copier ce fichier dans le répertoire deploy de la configuration default. 1. À l aide du navigateur graphique, allez dans le répertoire /home_pc/burel/ jboss-4.2.2.ga/server/default/deploy/. 2. Double-cliquez sur votre application (a priori TD1_votre_login.ear). Quelle application s ouvre-t-elle? Les fichiers.ear sont en fait simplement des fichiers compressés de type.zip, mais avec un contenu particulier. 3. Décompressez le contenu de l application dans un nouveau répertoire de votre dossier personnel. Normalement, le contenu est le suivant : un répertoire META-INF et un fichier TD1_votre_loginWeb.war. Le répertoire META-INF contient deux fichiers : application.xml est un fichier XML qui décrit votre application. Son contenu devrait être similaire à ce qui suit : <application xsi:schemalocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_5.xsd" id="application_id" version="5"> <module> <web> 1

<web-uri>td1_votre_loginweb.war</web-uri> <context-root>td1_votre_loginweb</context-root> </web> </module> </application> Cela veut dire que votre application contient uniquement un module, qui est de type conteneur web, contenu dans le fichier TD1_votre_loginWeb.war et disponible à l adresse TD1_votre_loginWeb. L application aurait également pu contenir des modules de type conteneur EJB (<ebj>...</ejb>), de type connecteur vers des ressources non J2EE (<connector>...</connector>) ou encore de type application cliente (<java>...</java>). MANIFEST.MF contient quant à lui des informations concernant la création de l application. 4. Ouvrez le fichier TD1_votre_loginWeb.war. Une fois encore, on s aperçoit qu il s agit d un fichier compressé. Celui-ci contient trois éléments : le fichier index.html que vous aviez créé ; un répertoire META-INF avec un fichier MANIFEST.MF dedans ; un répertoire WEB-INF avec un fichier web.xml dedans. Ouvrez ce dernier. Il devrait ressembler à ceci : <web-app xsi:schemalocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="webapp_id" version="2.5"> <display-name>td1_votre_loginweb</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> </web-app> Cela dit que votre module web s appelle TD1_votre_loginWeb et que la page affichée par défaut est recherchée dans la liste index.html, index.htm, index. jsp, default.html, default.htm et default.jsp. Quand nous aurons créé un module de type conteneur EJB, vous pourrez également regarder son contenu de cette façon. 3 Suppression d une application De la même façon que pour ajouter une application sur le serveur il suffit de la copier dans le répertoire deploy, pour la retirer il suffit de la supprimer dans le répertoire. 2

Néanmoins, si vous faites ainsi, eclipse ne sera pas au courant que vous avez retiré l application, et il la remettra à nouveau lors la prochaine publication. Pour empêcher cela, il vaut mieux dire à eclipse de retirer l application du serveur : 1. Dans l onglet Servers, développez le serveur JBOSS le cas échéant. 2. Cliquez droit sur TD1_votre_login, puis sur Remove. 3. Répondez Ok. 4. Sélectionnez le serveur JBOSS, et cliquez sur la cinquième icône pour publier. Eclipse supprime le fichier TD1_votre_login.ear du répertoire deploy. Comme vous n avez pas beaucoup de place sur votre compte, il vous sera conseillé de faire ainsi avec les TDs dont vous n aurez plus besoin, d autant plus qu en cas de dépassement de quota, vous ne penserez pas forcément aux fichiers qui ne se trouvent pas dans votre répertoire personnel. 4 Création de pages JSP Dans la suite, vous allez réutiliser le projet de la semaine dernière. Comme vous venez de le retirer du serveur, il faut que vous le remettiez : 1. Cliquez droit sur le serveur JBOSS. Choisissez Add and Remove Projects. 2. Cliquez sur votre projet, puis sur Add >. 3. Cliquez sur Finish. 4.1 Première page Nous allons maintenant remplacer la page par défaut statique index.html en une page dynamique index.jsp : 1. Dans le Project Explorer à gauche, retrouvez le fichier index.html. Cliquez droit dessus, choisissez Delete. Répondez Yes. 2. Toujours dans le Project Explorer, cliquez droit sur TD1_votre_loginWeb. 3. Choisissez New JSP. 4. Dans File name entrez index.jsp. Cliquez sur Next. 5. Choisissez le template New JSP File (xhtml). Cliquez sur Finish. Remarquez la ligne <%@ page language="java" contenttype="text/html; charset=iso-8859-1" pageencoding="iso-8859-1"%> Nous avons bien affaire à une page JSP pour le langage java. 6. Remplacez Insert title here par Ma première page dynamique. 7. Après <body>, ajoutez <p>le contenu de cette page est malgré tout statique.</p> 8. Enregistrez (icône disquette). 9. Publiez (5 e icône de l onglet Servers). 10. Allez dans firefox et visitez l adresse http://localhost:8080/td1_votre_loginweb/. 3

4.2 Ajout d instructions java Nous allons rajouter quelques instructions java dans notre page : 1. Supprimez <p>le contenu de cette page est malgré tout statique.</p> 2. À la place, inscrivez le texte suivant : <h2>création d une variable et affichage</h2> <% int x = 2; %> <p><var>x</var> vaut initialement <%= x %>.</p> <h2>modification</h2> <% x = x + 1; %> <p><var>x</var> vaut maintenant <%= x %>.</p> 3. Enregistrez, publiez, vérifiez dans firefox. 4.3 Inclusion de page Nous allons rajouter un entête et un pied de page qui seront communs à toutes les pages du site. Comme on veut améliorer la maintenance du site, on ne veut pas avoir à modifier chaque page du site sitôt que l on veut modifier l entête. Par conséquent, on va écrire ces entête et pied de page dans des fichiers séparés, et on les inclura dans les pages avec JSP. 1. Dans le Project Explorer, cliquez droit sur TD1_votre_loginWeb, créez un nouveau fichier JSP. 2. Appelez ce fichier entete.jspf. Le f indique qu il s agit uniquement d un fragment de page. Cliquez sur Finish pour le créer. 3. Supprimez le contenu de <!DOCTYPE à </html>. 4. À la place, entrez <h1>site de la bibliothèque imaginaire</h1> 5. Sauvegardez. 6. Créez un nouveau fichier JSP nommé pieddepage.jspf. 7. Supprimez le contenu de <!DOCTYPE à </html>. 8. Entrez à la place : <%@page import="java.util.date"%> <hr/> <p>nous sommes le <% Date d = new Date(); out.print(d.tolocalestring()); %> </p> Quelques commentaires sur ces lignes : La première sert à importer des classes java existantes, ici la classe standard Date qui représente une date. On ajoute ensuite une barre horizontale, puis un paragraphe. Dans le code JSP entre <%... %>, on crée d abord un nouvel objet de la classe Date, qui est initialisé à la date courante. 4

Puis on affiche (out.print) une version en français (tolocalestring()) de la date. 9. Enregistrez et revenez dans le fichier index.jsp. 10. Juste après <body>, ajoutez <%@ include file="entete.jspf" %> Juste avant </body>, ajoutez <%@ include file="pieddepage.jspf" %> 11. Enregistrez tout, republiez, puis regardez le résultat dans firefox. Remarquez que vous avez vraiment une page dynamique : si vous rafraîchissez la page, la date change. 4.4 Interaction avec l utilisateur Nous allons rajouter la possibilité à l utilisateur de demander la liste des livres qu il a empruntés, en entrant son nom. 1. Dans index.jsp, supprimez le contenu entre <h2>création et le dernier </p>. 2. Ajoutez le code suivant : <h2>consultation des livres empruntés</h2> <form action="emprunts.jsp"> <p>nom de l utilisateur <input name="utilisateur"/></p> <button>rechercher</button> </form> Nous créons donc un formulaire qui demande d entrer un nom d utilisateur puis qui appelle la page emprunts.jsp avec ce nom en paramètre. Il nous faut donc créer cette page. 3. Créer une nouvelle page JSP nommée emprunts.jsp. Donnez lui un titre adéquat. 4. Juste après <body>, ajoutez <%@ include file="entete.jspf" %> Juste avant </body>, ajoutez <%@ include file="pieddepage.jspf" %> 5. Il nous faut récupérer le paramètre utilisateur. Pour cela, il faut utiliser le code java request.getparameter("utilisateur"). Ajoutez le code <h2>livres empruntés par <%=request.getparameter("utilisateur")%></h2> 6. Enregistrez, republiez. Testez en entrant comme nom d utilisateur personne. Si tout va bien, la page http://localhost:8080/td1_votre_loginweb/emprunts. jsp?utilisateur=personne est affichée. 4.5 Affichage conditionnel 1. Essayez d afficher la page http://localhost:8080/td1_votre_loginweb/emprunts. jsp, c est-à-dire sans passer de paramètre utilisateur. Ce n est pas exactement la page que nous souhaitons. Au lieu de cela, nous devrions afficher autre chose quand le nom de l utilisateur n est pas donné. 2. Remplacer la ligne <h2>... </h2> par le code 5

<% String util = request.getparameter("utilisateur"); if (util == null) { %> <!-- Partie affichée quand l utilisateur n est pas donné --> <p> Veuillez entrer un nom d utilisateur. </p> <% } else { %> <!-- Partie affichée quand l utilisateur est donné --> <h2>livres empruntés par <%=util%></h2> <% }; // fin du if %> On remarque qu on utilise le if de java pour distinguer les parties à afficher. 3. Enregistrez, publiez, testez sous firefox. En particulier, afficher les pages http://localhost:8080/td1_votre_loginweb/emprunts.jsp http://localhost:8080/td1_votre_loginweb/emprunts.jsp?utilisateur= http://localhost:8080/td1_votre_loginweb/emprunts.jsp?utilisateur= personne 4.6 Inclusion et forwarding Plutôt que d afficher uniquement «Veuillez entrer un nom d utilisateur.», on aimerait plutôt afficher le formulaire de la page d accueil. 1. Remplacez <p> Veuillez entrer un nom d utilisateur. </p> par <%@ include file="index.jsp" %>. 2. Enregistrer, publiez, affichez la page http://localhost:8080/td1_votre_loginweb/ emprunts.jsp. C est n est pas tout à fait ce que nous espérions, car le contenu entier de la page d accueil a été inséré. Une solution serait de mettre dans un fichier JSP à part le formulaire, et d inclure ce fichier à la fois dans index.jsp et emprunts.jsp. Toutefois, le mieux est de forwarder la page des emprunts sur la page d accueil quand celle-ci est appelée sans utilisateur. 3. Remplacez <%@ include file="index.jsp" %> par <jsp:forward page="index.jsp"/> 4. Enregistrer, publiez, affichez la page http://localhost:8080/td1_votre_loginweb/ emprunts.jsp. On retombe sur la page d accueil. 4.7 Tableau créé dynamiquement Nous allons rajouter un tableau dans emprunts.jsp qui sera créé dynamiquement en fonction du contenu de la liste de livres empruntés. Cette liste sera en fait créée par la partie métier de l application, que nous n avons pas écrite pour l instant. Nous ajouterons donc une liste créée à la main en attendant. 1. Tout d abord, nous allons avoir besoin de classes java Vector et Iterator du package java.util. Il faut donc les importer dans la page, par exemple en ajoutant <%@page import="java.util.*"%> après <!DOCTYPE....dtd"> 2. Après </h2>, rajoutez 6

<% // Vecteur de livres créés a la main Vector livres = new Vector (); livres.add("les Frères Karamazov"); livres.add("fondation"); livres.add("du côté de chez Swann"); %> <table> <tr> <th> Titre </th> </tr> <% // on crée un itérateur sur les livres Iterator iterator = livres.iterator(); // on affiche chaque élément dans un ligne while (iterator.hasnext()) { Object livre = iterator.next(); %> <tr> <td> <%=livre %> </td> </tr> <% }; // fin du while %> </table> 3. Enregistrer, publiez, testez. 4. On va rajouter une deuxième colonne, contenant la date de retour (qui est indisponible pour l instant et sera fournie par la couche métier), ainsi qu une troisième contenant un lien pour rendre le livre. (a) Après <th> Titre </th> rajoutez <th> Date de retour </th> (b) Après <td> <%=livre %> </td> rajoutez <td> Inconnue </td> <td> <a href="retour.jsp?livre=<%=livre%>"> Retour </a> </td> 5. Créez la page JSP retour.jsp. Elle devra contenir l entête et le pied de page, et devra afficher «Le livre TITRE a bien été rendu.» avec le vrai titre à la place de «TITRE». Indice : pour récupérer le titre du livre passé en argument, il faut utiliser le code java request.getparameter("livre") Quand nous aurons écrit la logique métier, cette page devra bien entendu appeler la requête de la partie métier pour le retour du livre et afficher un résultat en conséquence. 6. Enregistrer, publiez, testez. S il vous reste du temps, vous pouvez rajoutez dans la page d accueil un deuxième formulaire qui permet de faire une recherche sur le titre des ouvrages. La page de résultat affichera un tableau avec le titre du livre, la date de retour s il est déjà emprunté ou un formulaire pour l emprunter dans le cas contraire. Vous pourrez vous inspirer de l application disponible à l adresse http://localhost:8080/td1_burel0091web/. (Les utilisateurs disponibles pour faire des tests dans cette application sont Guillaume, Noelle et Herve.) 7