CONFIGURATION TOMCAT & MYSQL & SERVLET SOUS ECLIPSE & JSP. Réalisé par : H.zinsou

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

Connexion à SQL Server 2005 à partir du serveur d application SJSAS 9 Utilisation d une interface JDBC

Web Tier : déploiement de servlets

Tutoriel d installation de Hibernate avec Eclipse

Java DataBaseConnectivity

INSTALLATIONS. Vous adapterez l installation en fonction des nouvelles versions qui peuvent légèrement différer.

Introduction à JDBC. Accès aux bases de données en Java

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

TP Programmation Java / JDBC / Oracle

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

Introduction à Eclipse

Mise en place SSO. Mise en place SSO. 1. Installation de Tomcat sur le serveur OCR (Windows) 2. Ajout des librairies. by LegalBox

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

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

Groupe Eyrolles, 2005, ISBN :

TP Composants Java ME - Java EE. Le serveur GereCompteBancaireServlet

Module BD et sites WEB

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

BIRT (Business Intelligence and Reporting Tools)

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

Installation d un manuel numérique 2.0

Architecture Orientée Service, JSON et API REST

I. Instalation de l environnement JDK et JRE : II. Configuration outil Reporting : Pentaho... 4

Installation de SharePoint Foundation 2013 sur Windows 2012

Notice d installation du patch Lia 8.20

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.

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

Création d une application JEE

Etude de cas : PGE JEE V2

Installation et compilation de gnurbs sous Windows

Warren PAULUS. Android SDK et Android x86

Programmation d application Bases de données avec Java

Réf. : S2I-CIELL2-PI-1.0. Version : 1.0. Auteurs : S2I-TOULON

Utilisation de Jakarta Tomcat

TUTORIEL D INSTALLATION D ORACLE ET DE SQL DEVELOPPER TUTORIEL D INSTALLATION D ORACLE...1 ET DE SQL DEVELOPPER...1

Serveur d'archivage 2007 Installation et utilisation de la BD exist

Sage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP

Guide d installation de MySQL

JavaServer Pages (JSP)

Espace pro. Installation des composants avec Firefox. Pour. Windows XP Vista en 32 et 64 bits Windows 7 en 32 et 64 bits

Utilisation de GCM (Google Cloud Messaging) pour Android. Partie préliminaire éventuelle : Création d'un AVD lisant GCM

DECOUVRIR. Le portail La recherche Les présentations & documents

Classe ClInfoCGI. Fonctions membres principales. Gestion des erreurs

CONCOURS DE L AGRÉGATION INTERNE «ÉCONOMIE ET GESTION» SESSION 2015 SECONDE ÉPREUVE

Modélisation et Gestion des bases de données avec mysql workbench

L installation du module Webmail nécessite également quelques prérequis, à savoir :

VXPERT SYSTEMES. CITRIX NETSCALER 10.1 et SMS PASSCODE 6.2. Guide d installation et de configuration pour Xenapp 6.5 avec SMS PASSCODE 6.

Approche Contract First

Eclipse atelier Java

Application web de gestion de comptes en banques

Lancez le setup, après une phase de décompression, la fenêtre d installation des prérequis apparaît, il faut les installer :

La base de données dans ArtemiS SUITE

Application BdD et JDBC. Introduction 1/28. I Dans tout les cas, une seule problématique. I Quelques alternatives :

Accès aux bases de données

WDpStats Procédure d installation

OUAPI Guide d installation Outil d administration de parc informatique. Documentation d installation et de paramétrage

PHP 5. La base de données MySql. A. Belaïd 1

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Java et les bases de données

Service Déposant: Procédure d installation. Page 1. Service déposant. Procédure d installation Version 2.3

Fiche technique rue de Londres Paris Tél. : Mail : contact@omnikles.com

Les BASES de DONNEES dans WampServer

Projet Java EE Approfondi

Durée estimée :1 journée Date de la réalisation : Description Fournisseur Référence Nombre PU HT LM35CZ, LM35AZ LM35DZ

Procédure d'installation complète de Click&Decide sur un serveur

Oracle Developer Suite 10g. Guide de l installation. Vista & Seven

Flux de données Lecture/Ecriture Fichiers

Les cahiers pratiques de Anonymat.org. SocksCap32. Edition du 20 Octobre 2000

pas à pas prise en main du logiciel Le Cloud d Orange - Transfert de fichiers sur PC et MAC Le Cloud

Sommaire. I.1 : Alimentation à partir d un fichier Access (.mdb)...2

guide d utilisation de showtime

Tutoriel Drupal version 7 :

Bases Java - Eclipse / Netbeans

Signature électronique sécurisée. Manuel d installation

Documentation CAS à destination des éditeurs

Manuel d'installation de GESLAB Client Lourd

Manuel Viadeis CRM Connecteur intégration L100 étendue.

Aspects techniques : guide d interfaçage SSO

Installation SharePoint Foundation 2013 en mode Stand-Alone

Module d anonymisation

Copyright Arsys Internet E.U.R.L. Arsys Backup Online. Guide de l utilisateur

Construire une base de donnée pour bibliothèque

Installer Enterprise Miner 5.1 en SAS environnement Windows

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)

Raja Bases de données distribuées A Lire - Tutoriel

Guide d installation du logiciel Proteus V.8 Sous Windows Vista, 7, 8

Procédure d installation :

Connexions à un projet CVS via Eclipse en accès local et distant. 15 Mai 2007

Reporting Services - Administration

Installation Client (licence réseau) de IBM SPSS Modeler 14.2

Procédure d installation des logiciels EBP sous environnement ESU4. Serveur SCRIBE ou Windows

Rapport de stage. Création d un site web. Stage du 20/01/2013 au 21/02/2013

HMI target Visu / PLC HMI. Pour réaliser une interface homme machine avec PLC control

TP1 : Initiation à Java et Eclipse

Remarques préliminaires L installation a été testée sur XP, Vista et Windows 7.

Transcription:

CONFIGURATION TOMCAT & MYSQL & SERVLET SOUS ECLIPSE & JSP Réalisé par : H.zinsou Année : 2012

SOMMAIRE Sommaire... 2 PRE-REQUIS... 3 Déclaration de TOMCAT sous Eclipse... 3 Mise en place dans eclipse du connector... 7 TOMCAT & MYSQL... 10 MYSQL... 11 Servlets... 15 Servlets (sans JSP)... 15 Création d une servlet sous eclipse... 15 Lancement d une servlet... 18 Servlet : Insérer une image... 19 Servlet Connexion Base de données... 22 Servlet date dynamique-heure dynamique... 25 Servlet Formulaire... 26 Servlets (avec JSP)... 30 Page 2 sur 30

PRE-REQUIS - Tomcat 6.0 installé - Pilote MySql (mysql-connector) ou autres pilotes de base de données (oracle ) - Eclipse JEE. - WampServer 2.0 Lien de téléchargement de eclipse : http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/indigo/sr1/eclips e-jee-indigo-sr1- win32.zip&url=http://eclipse.ialto.com/technology/epp/downloads/release/indigo/sr1/eclipse-jee-indigo-sr1- win32.zip&mirror_id=514 Lien de téléchargement de MySql (pilote) : http://dev.mysql.com/get/downloads/connector-odbc/5.1/mysql-connector-odbc-noinstall-5.1.9- win32.zip/from/http://mirrors.ircam.fr/pub/mysql/ Lien de téléchargement Tomcat : http://mirror.ibcp.fr/pub/apache/tomcat/tomcat-6/v6.0.35/bin/apache-tomcat-6.0.35.exe Lien de téléchargement WampServer : http://sourceforge.net/projects/wampserver/files/wampserver%202/wampserver%202.2/wampserver2.2ap1-x32.exe/download Installer eclipse (dé-zip) à la racine. Puis WampServer. Ainsi que Tomcat. DECLARATION DE TOMCAT SOUS ECLIPSE Ouvrir Eclipse (c:\eclipse\eclispe.exe). Puis cliquez sur l onglet Window et sur Preferences. Page 3 sur 30

Développer Server à gauche de la fenêtre puis cliquez sur Runtime Environments et Cliquez sur Add Choisir la version de TOMCAT (ici 6) Page 4 sur 30

Cliquez sur le bouton Browse (on va cherche le répertoire de TOMCAT (C:\Program Files\Apache Software Foundation\Tomcat 6.0)). Puis finish. Résultat : Page 5 sur 30

Une dernière configuration reste à effectuer. C est la plus simple. Il suffit de choisir sous qu elle navigateur va se lancer les servlets. Pour cela cliquer sur Windows Web Browser Choix du navigateur Problème courant : L onglet Web Browser n apparait pas. Vérifier que sur votre droite dans eclipse que vous soyez sous Java EE et non Java ou autres Exemple : Cliquer sur >> Résultat : Choisissez Java EE Page 6 sur 30

MISE EN PLACE DANS ECLIPSE DU CONNECTOR L'opération étant effectuée il faut se rendre sur le logiciel eclipse. Créer un projet Java simple (File New Java Project). Ensuite Click droit sur le projet auquel nous voulons insérer le pilote. Puis Properties. Capture d écran : Page 7 sur 30

Cette Fenêtre doit apparaître : Cliquer sur Java Build Path. Sélectionner l onglet Librairies. Cliquer sur Add External JARs Page 8 sur 30

Choisir le fichier mysql-connector-java-5.1.18-bin.jar qui se trouve sur : (C:\Eclipse\mysql-connector-java-5.1.18\mysql-connector-java-5.1.18-bin.jar) Puis Cliquer sur Ouvrir Résultat : Le connector mysql est maintenant en fonctionnel pour qu une connexion à une base de données soit réalisée. Page 9 sur 30

TOMCAT & MYSQL Afin que TOMCAT ait connaissance de MYSQL il lui faut le déclarer. Pour cela se rendre dans le répertoire du mysql-connector et prendre le.jar (mysql-connector-java-5.1.18-bin.jar). Copier ce.jar et le coller dans (C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib) Page 10 sur 30

Redémarrer ECLIPSE. MYSQL Après l installation de WampServer il faut démarrer wampserver (C:\wamp\wampmanager.exe). Ensuite ouvrir le navigateur Web et saisir dans la barre url (http://127.0.0.1/phpmyadmin) Cliquer sur le premier onglet Base de données. Page 11 sur 30

Remplir le champ par le nom de la base puis Créer. Page 12 sur 30

Puis cliquer à gauche sur le nom de votre base.gestion_agenda Cliquer sur l onglet Importer et choisir le fichier agenda.sql. Page 13 sur 30

Résultat : Page 14 sur 30

SERVLETS SERVLETS (SANS JSP) Les servlets s exécute coté serveur alors que les applets coté client. Création d une servlet sous eclipse Cliquez sur File New Dynamic Web Project Choisir un nom de projet et cliquer sur Finish (A noter que le serveur Tomcat et choisit). Page 15 sur 30

Ensuite cliquer sur File New Servlet OU à la racine de votre projet et click Droit new servlet Ensuite donner à votre servlet un nom (Attention respecter les règles de nommage) puis Finish Page 16 sur 30

Projet dans lequel sera la servlet Nom de la servlet Page 17 sur 30

Résultat du code java sans les commentaires. import java.io.ioexception; import javax.servlet.servletexception; import javax.servlet.http.httpservlet; import javax.servlet.http.httpservletrequest; import javax.servlet.http.httpservletresponse; public class MaPremiereServlet extends HttpServlet { protected void doget(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { protected void dopost(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { Lancement d une servlet Clique droit sur le code java puis Run as Run on Server Cliquer sur Finish dans la fenêtre suivante. Ensuite la servlet se lance dans votre navigateur choisit auparavant. Problème connu : Une erreur disant que le serveur Tomcat et déjà lancé. Pour résoudre clique droit dans la barre de notification puis Stop service. Relancer le run as. Page 18 sur 30

Servlet : Insérer une image L image doit être sur le disque local. Créer une servlet puis insérer le code java. Code Java : import java.io.ioexception; import java.io.outputstream; import javax.servlet.servletexception; import javax.servlet.http.httpservlet; import javax.servlet.http.httpservletrequest; import javax.servlet.http.httpservletresponse; public class MaPremiereServlet extends HttpServlet { protected void doget(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { response.setcontenttype("image/jpeg"); OutputStream out = response.getoutputstream(); Page 19 sur 30

//Chemin du fichier local FileInputStream in = new FileInputStream("\\Image_De_Moi.jpg"); int size = in.available(); byte[] content = new byte[size]; in.read(content); out.write(content); in.close(); out.close(); protected void dopost(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { Résultat : Page 20 sur 30

Page 21 sur 30

Servlet Connexion Base de données Pour cela 7 étapes sont importantes : - Choix du pilote (ici mysql-connector) - Fournir l url du serveur - Etablir la connexion - Donner des instructions (SQL) - Exécuter des instructions (executequery (select) & executeupdate(insert, Delete, Update) - Analyser les résultats (ResultSet) - Fermeture de la transaction Code Java : import javax.servlet.*; import javax.servlet.http.httpservlet; import javax.servlet.http.httpservletrequest; import javax.servlet.http.httpservletresponse; import java.io.ioexception; import java.io.printwriter; import java.sql.connection; import java.sql.drivermanager; import java.sql.resultset; import java.sql.sqlexception; import java.sql.statement; public class Mysql extends HttpServlet { /*Définition de la servlet (nous allons répondre a la requete url) Cette fonction peut répondre a une exception*/ public void doget(httpservletrequest requeteclient, HttpServletResponse reponseserveur) throws ServletException, IOException { try { //Déclaration des variables utiles PrintWriter fluxensortie; String titre = "Voici ma première Servlet"; //Le type Mine : spécification de type de sortie (+ svt HTML) reponseserveur.setcontenttype("text/html"); //Si XML exemple reponseserveur.setcontenttype("text/xml"); //Ecriture de la réponse en sortie fluxensortie = reponseserveur.getwriter(); //VARIABLES Statement stmt = null; //Url Base de données String urldemabase = "jdbc:mysql://localhost/gestion_agenda"; Connection connectbdd = null; Page 22 sur 30

//PILOTE try { //Mise en place du Pilote Mysql Class.forName("com.mysql.jdbc.Driver"); //CONNEXION BDD //Connexion à la base de données (login : root mdp : ) connectbdd = DriverManager.getConnection(urlDeMaBase, "root", ""); //STATEMENT connectbdd //Création du Statement avec la variable stmt = connectbdd.createstatement(); //REQUETE SQL //Requete Sql mis dans une variable de type String String marequete = "SELECT * FROM adresse"; //Récupération des données de provenance de l'objet (executequery car SELECT) ResultSet resultat = stmt.executequery(marequete); fluxensortie.println("<table border='1' >"); fluxensortie.println("<tr>"); fluxensortie.println("<td>id</td>"); fluxensortie.println("<td>adresse Rue</td>"); fluxensortie.println("<td>code Postal</td>"); fluxensortie.println("<td>ville</td>"); fluxensortie.println("</tr>"); //Boucle sur chaque enregistrement jusqu'au dernier enregistrement + Affichage à l'écran while(resultat.next()) { fluxensortie.println("<tr><td> " + resultat.getstring(1)+ "</td><td> " + resultat.getstring(2)+ "</td><td> " + resultat.getstring(3)+ "</td><td> " + resultat.getstring(4)+"</td></tr>"); fluxensortie.println("</table>"); //FERMETURE CONNEXION connectbdd.close(); e.getmessage()); catch (SQLException e) { fluxensortie.println("erreur SQL : " + catch(classnotfoundexception e1) { Page 23 sur 30

fluxensortie.println("erreur PILOTE : " + e1.getmessage()); fluxensortie.close(); catch (IOException ex) { System.out.println("Erreur" + ex.getmessage()); Résultat sur le navigateur (ATTENTION LE SERVEUR WAMP DOIT ETRE DEMARRE) Page 24 sur 30

Servlet date dynamique-heure dynamique Code Java : import java.io.ioexception; import java.io.printwriter; import java.text.format; import java.text.simpledateformat; import java.util.date; import javax.servlet.servletexception; import javax.servlet.http.httpservlet; import javax.servlet.http.httpservletrequest; import javax.servlet.http.httpservletresponse; public class DateHeure extends HttpServlet { protected void doget(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { //DATE Date date = new Date(); //Mise en forme de la date Format formatdate = new SimpleDateFormat("dd-MM-yyyy - HH:mm:ss"); //Actualisation response.setheader("refresh", "1"); //Type MINE response.setcontenttype("text/html"); PrintWriter fluxensortie = response.getwriter(); fluxensortie.println(formatdate.format(date)); protected void dopost(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { Résultat navigateur : Page 25 sur 30

Servlet Formulaire Code JAVA : import java.io.ioexception; import java.io.printwriter; import java.sql.connection; import java.sql.drivermanager; import java.sql.resultset; import java.sql.sqlexception; import java.sql.statement; import javax.servlet.servletexception; import javax.servlet.servletoutputstream; import javax.servlet.http.httpservlet; import javax.servlet.http.httpservletrequest; import javax.servlet.http.httpservletresponse; public class Image extends HttpServlet { protected void doget(httpservletrequest req, HttpServletResponse reponseserveur)throws ServletException, IOException { //Type MINE reponseserveur.setcontenttype("text/html"); PrintWriter fluxensortie = reponseserveur.getwriter(); //HTML fluxensortie.println("<html>"); fluxensortie.println("<head>"); fluxensortie.println("</head>"); fluxensortie.println("<body>"); fluxensortie.println("<form method = 'post' action = 'Image'/>"); fluxensortie.println("<table>"); fluxensortie.println("<tr>"); fluxensortie.println("<td>nom :</td><td> <input type = 'text' style = 'text-transform:uppercase' name = \"Nom\" /></td>"); fluxensortie.println("</tr><br />"); fluxensortie.println("<tr><td>matiere :</td> <td><input type = 'text' style = 'text-transform:uppercase' name = \"Matiere\" /></td></tr>"); fluxensortie.println("<br />"); fluxensortie.println("<tr><td><input type = 'submit' name = 'Button' value = 'Validez' width = '150' /></td></tr>"); fluxensortie.println("</form>"); fluxensortie.println("</body>"); fluxensortie.println("</html>"); fluxensortie.close(); public void dopost(httpservletrequest requeteclient, HttpServletResponse reponseserveur) throws ServletException, IOException Page 26 sur 30

{ reponseserveur.setcontenttype("text/html"); PrintWriter fluxensortie = reponseserveur.getwriter(); try { //Déclaration des variables utiles //PrintWriter fluxensortie; String titre = "Voici mon premier Formulaire"; //Le type Mine : spécification de type de sortie (+ svt HTML) reponseserveur.setcontenttype("text/html"); //Si XML exemple reponseserveur.setcontenttype("text/xml"); //Ecriture de la réponse en sortie fluxensortie = reponseserveur.getwriter(); //VARIABLES Statement stmt = null; //Url Base de données String urldemabase = "jdbc:mysql://localhost/agenda"; Connection connectbdd = null; //PILOTE try { //Mise en place du Pilote Mysql Class.forName("com.mysql.jdbc.Driver"); //CONNEXION BDD //Connexion à la base de données (login : root mdp : ) connectbdd = DriverManager.getConnection(urlDeMaBase, "root", ""); //STATEMENT connectbdd //Création du Statement avec la variable stmt = connectbdd.createstatement(); //REQUETE SQL //Requete Sql mis dans une variable de type String //Récupération des données de provenance de l'objet (executequery car SELECT) //getparameter("nom") récupére la valeur du champs nom String marequete = "SELECT Res_date from resmatieres r, matieres m where r.fk_mat_cle = m.mat_cle and r.res_lastuser = '" + requeteclient.getparameter("nom") + "'and m.mat_libelle = '" + requeteclient.getparameter("matiere")+ "'"; ResultSet resultat = stmt.executequery(marequete); fluxensortie.println("<table><tr><td>date Réservation</td></tr>"); Page 27 sur 30

//Boucle sur chaque enregistrement jusqu'au dernier enregistrement + Affichage à l'écran int compteur=0; while(resultat.next()) { fluxensortie.println("<tr><td> " + resultat.getstring(1) + "</td></tr>"); compteur++; réservation</td></tr>"); if (compteur == 0) { fluxensortie.println("<tr><td>pas de fluxensortie.println("</table>"); //FERMETURE CONNEXION connectbdd.close(); e.getmessage()); e1.getmessage()); catch (SQLException e) { fluxensortie.println("erreur SQL : " + catch(classnotfoundexception e1) { fluxensortie.println("erreur PILOTE : " + fluxensortie.close(); catch (IOException ex) { System.out.println("Erreur" + ex.getmessage()); Page 28 sur 30

Résultat dans le navigateur : Après validation : S il y a des réservations Sinon Page 29 sur 30

SERVLETS (AVEC JSP) Pour créer un fichier JSP (à mettre à la racine du projet) pour cela clique droit sur le projet puis new et jsp file Donner un nom et insérer le code java suivant. Puis exécuter. Code JSP : <html> <head> <title>mon premier JSP</title> </head> <body> <h1>bonjour tout le monde</h1> Nous sommes le //Expression<%= new java.util.date().tostring() %> et tout va bien. <br /> //Scriplet<% String [] nom = {"toto","tata"; for (int i = 0; i < nom.length; i++){ %> //Expression<%= i %>ème nom est <%= nom[i]%> <% %> </body> </html> Navigateur web : Page 30 sur 30