Rapport de Tp 1 J2EE

34
Rapport TP J2EE Rapport de Tp 1 J2EE Réalisé par : Réalisée par : AHIDI Asmaa

Transcript of Rapport de Tp 1 J2EE

Page 1: Rapport de Tp 1 J2EE

Rapport TP J2EE

Rapport de Tp 1 J2EERéalisé par :

AHIDI Asmaa

Proposé par :

Réalisée par : AHIDI Asmaa

Page 2: Rapport de Tp 1 J2EE

Rapport TP J2EE

Mr. NAYA

1.Présentation JEE1.1. Définition de J2EE/Java EE1.2. Définition d’une Servlet

2. Apache Tomcat

2.1. Définition 2.2 Installation de Apache Tomcat 2.3. Interface du serveur Apache Tomcat

3 .Netbeans

Réalisée par : AHIDI Asmaa

Page 3: Rapport de Tp 1 J2EE

Rapport TP J2EE

3.1. Définition

4. Servlet

4.1. Exécuter une Servlet

4.2. Test du Servlet

5. Le fichier web.xml

6. Structure et contenu

Réalisée par : AHIDI Asmaa

Page 4: Rapport de Tp 1 J2EE

Rapport TP J2EE

1.Présentation JEE1.1 Définition de J2EE/Java EE De nombreuses possibilités existent pour réaliser des applications Internet depuis plusieurs années. Des langages ont été créés, des architectures et des environnements de travail ont été conçus pour répondre aux besoins et faciliter la tâche des développeurs. Sun (le concepteur de Java) a donc mis en place un ensemble de technologies pour réaliser des applications Web. Ces technologies sont regroupées sous le nom de J2EE (Java 2 Entreprise Edition) désormais Java EE.

La plateforme Java EE s’appuie entièrement sur le langage Java. Java EE est donc une norme, qui permet à des développeurs entreprises et SSII de développer leur propre application qui

Réalisée par : AHIDI Asmaa

Page 5: Rapport de Tp 1 J2EE

Rapport TP J2EE

implémente en totalité ou partiellement les spécifications de SUN. En simplifiant, il est possible de présenter Java EE comme un ensemble de spécifications d’API, une architecture, une méthode de packaging et de déploiement d’applications et des gestions d’applications déployée sur un serveur compatible avec Java.

Java 2 Entreprise Edition est destinée aux gros systèmes d’entreprises. Les librairies utilisées fonctionnent difficilement sur un simple PC.

1.2. Définition d’une Servlet Une servlet est une classe Java qui permet de créer dynamiquement des données au sein d'un serveur HTTP. Ces données sont le plus généralement présentées au format HTML, mais elles peuvent également l'être au format XML ou tout autre format destiné aux navigateurs web. Les servlets utilisent l'API Java Servlet (package javax.servlet).

Une servlet s'exécute dynamiquement sur le serveur web et permet l'extension des fonctions de ce dernier, typiquement : accès à des bases de données, transactions d'e-commerce, etc. Une servlet peut être chargée automatiquement lors du démarrage du serveur web ou

Réalisée par : AHIDI Asmaa

Page 6: Rapport de Tp 1 J2EE

Rapport TP J2EE

lors de la première requête du client. Une fois chargées, les servlets restent actives dans l'attente d'autres requêtes du client.

L'utilisation de servlets se fait par le biais d'un conteneur de servlets (framework) côté serveur. Celui-ci constitue l'environnement d'exécution de la servlet et lui permet de persister entre les requêtes des clients. L'API définit les relations entre le conteneur et la servlet. Le conteneur reçoit la requête du client, et sélectionne la servlet qui aura à la traiter. Le conteneur fournit également tout un ensemble de services standards pour simplifier la gestion des requêtes et des sessions.

Une ou plusieurs servlets constituent les applications web Java, leur principe de fonctionnement (architecture, fonctionnalités, configuration, déploiement) est décrit suivant une spécification officielle, menée par Sun Microsystems et à laquelle toute personne peut contribuer par le biais des Java Specification Requests (Java Community Process). Il existe plusieurs conteneurs de servlets, dont Apache Tomcat ou encore Jetty. Le serveur d'application JBoss Application Server utilise Apache Tomcat.

2. Apache Tomcat

2.1. Définition Apache Tomcat est un conteneur libre de servlets et JSP Java EE. Issu du projet Jakarta, c'est un projet principal de l’Apache Software Foundation. Il implémente les spécifications des servlets et des JSP

Réalisée par : AHIDI Asmaa

Page 7: Rapport de Tp 1 J2EE

Rapport TP J2EE

du Java Community Process 1 , est paramétrable par des fichiers XML et de propriétés, et inclut des outils pour la configuration et la gestion. Il comporte également un serveur HTTP.

2.2 Installation de Apache TomcatUne fois que vous vous êtes rendu sur le site officiel dans la rubrique concernant "Tomcat 6.x", choisissez "Windows Service Installer" comme ceci :

Une fois téléchargé et exécuté, vous aurez ceci à l'écran :

Réalisée par : AHIDI Asmaa

Page 8: Rapport de Tp 1 J2EE

Rapport TP J2EE

Cliquez sur "Next(Suivant)" puis acceptez la license afin d'avoir ceci :

Réalisée par : AHIDI Asmaa

Page 9: Rapport de Tp 1 J2EE

Rapport TP J2EE

Choisissez "Custom(Personnalisé)" comme type d'installation et sélectionnez ceci :

- Service : permet d'installer automatiquement le service Windows.

- Native : permet d'utiliser certaines librairies natives dépendantes de la plateforme, conseillée si vous êtes en environnement de production.

Puis, vous pouvez également cocher "Examples", vous aurez des exemples d'applications webs pré-installées. Je vous le conseille si vous êtes débutant.

Enfin, après avoir cliqué sur le bouton "Next" et choisi votre répertoire d'installation, vous verrez ceci :

Réalisée par : AHIDI Asmaa

Page 10: Rapport de Tp 1 J2EE

Rapport TP J2EE

Ici, Apache Tomcat vous propose un numéro de port pour son serveur local, je vous conseille de conserver le port 8080 et de ne pas choisir le port 80 qui est réservé au port HTTP. Puis, vous devrez entrer un nom d'utilisateur (administrateur) ainsi qu'un mot de passe.

Vous aurez ensuite ceci :

Réalisée par : AHIDI Asmaa

Page 11: Rapport de Tp 1 J2EE

Rapport TP J2EE

Ici, sélectionnez votre JRE (Java Runtime Environment) si ce n'est pas déjà fait, la version 5.0 ou supérieur est conseillée. Sachez que, dans le cas où vous possédez une version antérieure à la 5.0, un package de compatibilité est nécessaire.

Enfin, cliquez sur "Installer" pour enfin obtenir ceci :

Réalisée par : AHIDI Asmaa

Page 12: Rapport de Tp 1 J2EE

Rapport TP J2EE

Conservez uniquement l'option "Run Apache Tomcat" cochée puis cliquez sur "Finish". Le service va alors démarrer immédiatement :

2.3. Interface du serveur Apache Tomcat

Réalisée par : AHIDI Asmaa

Page 13: Rapport de Tp 1 J2EE

Rapport TP J2EE

Pour accèder à l'interface du serveur Apache Tomcat, ouvrez votre navigateur préféré et rendez vous à l'url suivante : http://localhost:8080/ (par exemple). Si l'installation et le démarrage du service a bien réussi, vous devez voir apparaitre ceci :

Maintenant, pour visualiser l'état du serveur Tomcat, vous pouvez cliquer sur le lien nommé "Status" dans la partie "Administration" en haut à gauche de l'interface, vous aurez une fenêtre d'authentification. Vous devez entrer le nom d'utilisateur et le mot de passe que vous avez spéficié lors de l'installation :

Réalisée par : AHIDI Asmaa

Page 14: Rapport de Tp 1 J2EE

Rapport TP J2EE

On peut y trouver diverses informations comme par exemple la version de notre serveur Apache Tomcat, la version de la JVM, l'OS etc..Pour terminer, en cliquant sur "List Applications" comme la flèche l'indique...

Réalisée par : AHIDI Asmaa

Page 15: Rapport de Tp 1 J2EE

Rapport TP J2EE

Vous pourrez visualiser les applications Webs installées, les démarrer, et en déployer des nouvelles :

Réalisée par : AHIDI Asmaa

Page 16: Rapport de Tp 1 J2EE

Rapport TP J2EE

Puis, une dernière chose, sachez qu'en réalisant un clic droit sur l'icône de Tomcat située dans la barre des tâches, vous pourrez le configurer, l'arrêter, le démarrer, ou bien le fermer.

Réalisée par : AHIDI Asmaa

Page 17: Rapport de Tp 1 J2EE

Rapport TP J2EE

3 .Netbeans

3.1. Définition

NetBeans est un environnement de développement intégré (EDI), placé en open source par Sun en juin 2000 sous licence CDDL et GPLv2 (Common Development and Distribution License). En plus de Java, NetBeans permet également de supporter différents autres langages, comme Python, C, C++, JavaScript, XML, Ruby, PHP et HTML. Il comprend toutes les caractéristiques d'un IDE moderne (éditeur en couleur, projets multi-langage, refactoring, éditeur graphique d'interfaces et de pages Web).

Conçu en Java, NetBeans est disponible sous Windows, Linux, Solaris (sur x86 et SPARC), Mac OS X ou sous une version indépendante des systèmes d'exploitation (requérant une machine virtuelle Java). Un environnement Java Development Kit JDK est requis pour les développements en Java.

Réalisée par : AHIDI Asmaa

Page 18: Rapport de Tp 1 J2EE

Rapport TP J2EE

NetBeans constitue par ailleurs une plate forme qui permet le développement d'applications spécifiques (bibliothèque Swing (Java)). L'IDENetBeans s'appuie sur cette plate forme.

L'IDE Netbeans s'enrichit à l'aide de plugins.

4. Servlet

4.1. Exécuter une Servlet

Créez un nouveau projet Java, de type TomCat :

Réalisée par : AHIDI Asmaa

Page 19: Rapport de Tp 1 J2EE

Rapport TP J2EE

Réalisée par : AHIDI Asmaa

Page 20: Rapport de Tp 1 J2EE

Rapport TP J2EE

La structure suivante a été créée par l'assistant :

Réalisée par : AHIDI Asmaa

Page 21: Rapport de Tp 1 J2EE

Rapport TP J2EE

Créons maintenant la classe suivante dans le package com.developpez.tomcat et qui étend HttpServlet :

Réalisée par : AHIDI Asmaa

Page 22: Rapport de Tp 1 J2EE

Rapport TP J2EE

Nous devons maintenant surcharger la méthode doGet. La méthode la plus simple est de faire un clic droit sur la classe HttpServlet, de sélectionner l'option Source/Implémenter les méthodes et de sélectionner doGet dans la liste.Le code est généré automatiquement, les imports ajoutés et cela sans risque d'erreur. De plus, cela évite de devoir taper le code.

Réalisée par : AHIDI Asmaa

Page 23: Rapport de Tp 1 J2EE

Rapport TP J2EE

Réalisée par : AHIDI Asmaa

Page 24: Rapport de Tp 1 J2EE

Rapport TP J2EE

Modifions le code.

surcharge de doGetSélectionnez

package com.developpez.tomcat;

import java.io.IOException;import java.io.PrintWriter;

import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;

public class Test extends HttpServlet {

protected void doGet(HttpServletRequest req, HttpServletResponse res)

throws ServletException, IOException {PrintWriter writer = res.getWriter();

writer.println("Hello World !!!");}

}

4.2. Test du Servlet Notre servlet est écrite, TomCat est installé et configuré, il nous reste maintenant à tester.

permet de garantir une certaine sécurité, permet d'avoir une URL lisible et correspond à ce qui doit se faire pour une mise en production.

Dans le projet, sous Eclipse créez un fichier web.xml dans le répertoire WEB-INF.

WEB-INF\web.xmlSélectionnez<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app>

<display-name>TestTomcat</display-name> <servlet>

Réalisée par : AHIDI Asmaa

Page 25: Rapport de Tp 1 J2EE

Rapport TP J2EE

<servlet-name>Test</servlet-name> <servlet-class>com.developpez.tomcat.Test</servlet-class>

</servlet> <servlet-mapping>

<servlet-name>Test</servlet-name> <url-pattern>/Test</url-pattern>

</servlet-mapping> </web-app>

Démarrons TomCat et entrons l'URL suivante dans un navigateur : http://localhost:8080/TestTomCat/Test

Doit apparaître la même chose que précédemment

Nous pouvons constater que l'URL est nettement plus lisible.

Si nous effectuons maintenant une modification au code de la servlet et que nous la sauvegardons, nous pouvons constater que TomCat prends automatiquementen compte cette modification

Réalisée par : AHIDI Asmaa

Page 26: Rapport de Tp 1 J2EE

Rapport TP J2EE

Nous pouvons aussi surcharger la méthode doPost, de façon à répondre indifféremment suivant le mode d'interrogation du navigateur.

surcharge de la méthode doPostSélectionnez

protected void doPost(HttpServletRequest arg0, HttpServletResponse arg1)throws ServletException, IOException {

doGet(arg0, arg1);}

5. Le fichier web.xml

Réalisée par : AHIDI Asmaa

Page 27: Rapport de Tp 1 J2EE

Rapport TP J2EE

En informatique, un fichier WAR (pour Web Application ARchive) est un fichier JAR utilisé pour contenir un ensemble de JavaServer Pages, servlets, classes Java, fichiers XML, et des pages web statiques (HTML, JavaScript…), le tout constituant une application web. Cette archive est utilisée pour déployer une application web sur un serveur d'application.

6. Structure et contenuUn fichier WAR peut être signé numériquement de la même façon qu'un fichier JAR, ce qui permet d'assurer la sécurité du code.

Ces fichiers doivent obligatoirement contenir certains répertoires et fichiers :

Le répertoire WEB-INF contient le fichier web.xml qui définit la structure et le paramétrage de l'application web. Si l'application est fondée uniquement sur des fichiers JSP, alors web.xmlpeut être omis. Si l'application est fondée sur des servlets, alors web.xml indique quelles sont les URL associées à chaque servlet. Le fichier est aussi utilisé pour définir des variables et pour définir des dépendances à prendre en compte pour le déploiement.

Un des désavantages de cette méthode, dans des environnements très dynamiques, est que le moindre changement à apporter ne peut être fait sans la regénération et le redéploiement du WAR.

Exemple de web.xml spécifiant une servlet (HelloServlet) avec la classe java et l'URL associée : <?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app

PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"

"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">

<web-app>

<servlet>

<servlet-name>HelloServlet</servlet-name>

<servlet-class>mypackage.HelloServlet</servlet-class>

Réalisée par : AHIDI Asmaa

Page 28: Rapport de Tp 1 J2EE

Rapport TP J2EE

</servlet>

<servlet-mapping>

<servlet-name>HelloServlet</servlet-name>

<url-pattern>/HelloServlet</url-pattern>

</servlet-mapping>

<resource-ref>

<description>

Resource reference to a factory for javax.mail.Session

instances that may be used for sending electronic mail

messages,

preconfigured to connect to the appropriate SMTP server.

</description>

<res-ref-name>mail/Session</res-ref-name>

<res-type>javax.mail.Session</res-type>

<res-auth>Container</res-auth>

</resource-ref>

</web-app>

Le répertoire WEB-INF/classes est prévu pour contenir les fichiers .class, et est automatiquement inclus dans le classpath. De la même façon, le répertoire WEB-INF/lib est prévu pour contenir les bibliothèques Java.

7. ConclusionLe «Java Framework» (Java 2 Platform) est composé de trois éditions, destinées à des usages différents : J2ME : Java 2 Micro Edition est prévu pour le développement d'applications

embarquées, notamment sur des assistants personnels et terminaux mobiles ;

J2SE : Java 2 Standard Edition est destiné au développement d'applications pour ordinateurs personnels ;

Réalisée par : AHIDI Asmaa

Page 29: Rapport de Tp 1 J2EE

Rapport TP J2EE

J2EE : Java 2 Enterprise Edition, destiné à un usage professionnel avec la mise en oeuvre de serveurs.

Chaque édition propose un environnement complet pour le développement et l'exécution d'applications basées sur Java et comprend notamment une machine virtuelle Java (Java virtual machine) ainsi qu'un ensemble de classes.

Réalisée par : AHIDI Asmaa