Vous êtes sur la page 1sur 24

Rapport TP J2EE

Rapport de Tp 1 J2EE
Ralis par : AHIDI Asmaa Propos par : Mr. NAYA

Ralise par : AHIDI Asmaa

Rapport TP J2EE

1. Prsentation JEE 1.1. Dfinition de J2EE/Java EE 1.2. Dfinition dune Servlet 2. Apache Tomcat 2.1. Dfinition
2.2 Installation de Apache Tomcat 2.3. Interface du serveur Apache Tomcat 3 .Netbeans 3.1. Dfinition 4. Servlet 4.1. Excuter une Servlet 4.2. Test du Servlet 5. Le fichier web.xml 6. Structure et contenu
Ralise par : AHIDI Asmaa

Rapport TP J2EE

1. Prsentation JEE 1.1 Dfinition de J2EE/Java EE


Ralise par : AHIDI Asmaa

Rapport TP J2EE
De nombreuses possibilits existent pour raliser des applications Internet depuis plusieurs annes. Des langages ont t crs, des architectures et des environnements de travail ont t conus pour rpondre aux besoins et faciliter la tche des dveloppeurs. Sun (le concepteur de Java) a donc mis en place un ensemble de technologies pour raliser des applications Web. Ces technologies sont regroupes sous le nom de J2EE (Java 2 Entreprise Edition) dsormais Java EE. La plateforme Java EE sappuie entirement sur le langage Java. Java EE est donc une norme, qui permet des dveloppeurs entreprises et SSII de dvelopper leur propre application qui implmente en totalit ou partiellement les spcifications de SUN. En simplifiant, il est possible de prsenter Java EE comme un ensemble de spcifications dAPI, une architecture, une mthode de packaging et de dploiement dapplications et des gestions dapplications dploye sur un serveur compatible avec Java. Java 2 Entreprise Edition est destine aux gros systmes dentreprises. Les librairies utilises fonctionnent difficilement sur un simple PC.

1.2. Dfinition dune Servlet


Une servlet est une classe Java qui permet de crer dynamiquement des donnes au sein d'un serveur HTTP. Ces
Ralise par : AHIDI Asmaa

Rapport TP J2EE
donnes sont le plus gnralement prsentes 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'excute dynamiquement sur le serveur web et permet l'extension des fonctions de ce dernier, typiquement : accs des bases de donnes, transactions d'e-commerce, etc. Une servlet peut tre charge automatiquement lors du dmarrage du serveur web ou lors de la premire requte du client. Une fois charges, les servlets restent actives dans l'attente d'autres requtes du client. L'utilisation de servlets se fait par le biais d'un conteneur de servlets (framework) ct serveur. Celui-ci constitue l'environnement d'excution de la servlet et lui permet de persister entre les requtes des clients. L'API dfinit les relations entre le conteneur et la servlet. Le conteneur reoit la requte du client, et slectionne la servlet qui aura la traiter. Le conteneur fournit galement tout un ensemble de services standards pour simplifier la gestion des requtes et des sessions. Une ou plusieurs servlets constituent les applications web Java, leur principe de fonctionnement (architecture, fonctionnalits, configuration, dploiement) est dcrit suivant une spcification officielle, mene 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
Ralise par : AHIDI Asmaa

Rapport TP J2EE

2.1. Dfinition
Apache Tomcat est un conteneur libre de servlets et JSP Java EE. Issu du projet Jakarta, c'est un projet principal de lApache Software Foundation. Il implmente les spcifications des servlets et des JSP du Java Community Process1, est paramtrable par des fichiers XML et de proprits, et inclut des outils pour la configuration et la gestion. Il comporte galement un serveur HTTP.

2.2 Installation de Apache Tomcat


Une 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 tlcharg et excut, vous aurez ceci l'cran :


Ralise par : AHIDI Asmaa

Rapport TP J2EE

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

Ralise par : AHIDI Asmaa

Rapport TP J2EE
Choisissez "Custom(Personnalis)" comme type d'installation et slectionnez ceci : - Service : permet d'installer automatiquement le service Windows. - Native : permet d'utiliser certaines librairies natives dpendantes de la plateforme, conseille si vous tes en environnement de production. Puis, vous pouvez galement cocher "Examples", vous aurez des exemples d'applications webs pr-installes. Je vous le conseille si vous tes dbutant. Enfin, aprs avoir cliqu sur le bouton "Next" et choisi votre rpertoire d'installation, vous verrez ceci :

Ralise par : AHIDI Asmaa

Rapport TP J2EE
Ici, Apache Tomcat vous propose un numro de port pour son serveur local, je vous conseille de conserver le port 8080 et de ne pas choisir le port 80 qui est rserv au port HTTP. Puis, vous devrez entrer un nom d'utilisateur (administrateur) ainsi qu'un mot de passe. Vous aurez ensuite ceci :

Ici, slectionnez votre JRE (Java Runtime Environment) si ce n'est pas dj fait, la version 5.0 ou suprieur est conseille. Sachez que, dans le cas o vous possdez une version antrieure la 5.0, un package de compatibilit est ncessaire. Enfin, cliquez sur "Installer" pour enfin obtenir ceci :

Ralise par : AHIDI Asmaa

Rapport TP J2EE

Conservez uniquement l'option "Run Apache Tomcat" coche puis cliquez sur "Finish". Le service va alors dmarrer immdiatement :

2.3. Interface du serveur Apache Tomcat


Pour accder l'interface du serveur Apache Tomcat, ouvrez votre navigateur prfr et rendez vous l'url suivante : http://localhost:8080/ (par exemple). Si l'installation et le dmarrage du service a bien russi, vous devez voir apparaitre ceci :
Ralise par : AHIDI Asmaa

Rapport TP J2EE

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 fentre d'authentification. Vous devez entrer le nom d'utilisateur et le mot de passe que vous avez spfici lors de l'installation :

Ralise par : AHIDI Asmaa

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 flche l'indique...

Ralise par : AHIDI Asmaa

Rapport TP J2EE

Vous pourrez visualiser les applications Webs installes, les dmarrer, et en dployer des nouvelles :

Ralise par : AHIDI Asmaa

Rapport TP J2EE

Puis, une dernire chose, sachez qu'en ralisant un clic droit sur l'icne de Tomcat situe dans la barre des tches, vous pourrez le configurer, l'arrter, le dmarrer, ou bien le fermer.

Ralise par : AHIDI Asmaa

Rapport TP J2EE 3 .Netbeans 3.1. Dfinition


NetBeans est un environnement de dveloppement intgr (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 diffrents autres langages, comme Python, C, C++, JavaScript, XML, Ruby, PHP et HTML. Il comprend toutes les caractristiques d'un IDE moderne (diteur en couleur, projets multi-langage, refactoring, diteur graphique d'interfaces et de pages Web). Conu en Java, NetBeans est disponible sous Windows, Linux, Solaris (sur x86 et SPARC), Mac OS X ou sous une version indpendante des systmes d'exploitation (requrant une machine virtuelle Java). Un environnement Java Development Kit JDK est requis pour les dveloppements en Java. NetBeans constitue par ailleurs une plate forme qui permet le dveloppement d'applications spcifiques (bibliothque Swing (Java)). L'IDENetBeans s'appuie sur cette plate forme. L'IDE Netbeans s'enrichit l'aide de plugins.

Ralise par : AHIDI Asmaa

Rapport TP J2EE 4. Servlet 4.1. Excuter une Servlet


Crez un nouveau projet Java, de type TomCat :

Ralise par : AHIDI Asmaa

Rapport TP J2EE

Ralise par : AHIDI Asmaa

Rapport TP J2EE
La structure suivante a t cre par l'assistant :

Crons maintenant la classe suivante package com.developpez.tomcat et qui tend HttpServlet :

dans

le

Ralise par : AHIDI Asmaa

Rapport TP J2EE
Nous devons maintenant surcharger la mthode doGet. La mthode la plus simple est de faire un clic droit sur la classe HttpServlet, de slectionner l'option Source/Implmenter les mthodes et de slectionner doGet dans la liste. Le code est gnr automatiquement, les imports ajouts et cela sans risque d'erreur. De plus, cela vite de devoir taper le code.

Ralise par : AHIDI Asmaa

Rapport TP J2EE
Modifions le code.
surcharge de doGet Slectionnez

package com.developpez.tomcat; import java.io.IOException; import java.io.PrintWriter; import import import import javax.servlet.ServletException; javax.servlet.http.HttpServlet; javax.servlet.http.HttpServletRequest; 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 scurit, permet d'avoir une URL lisible et correspond qui doit se faire pour une mise en production.

ce

Dans le projet, sous Eclipse crez un fichier web.xml dans le rpertoire WEB-INF.
WEB-INF\web.xml Slectionnez

<?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> <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>

Ralise par : AHIDI Asmaa

Rapport TP J2EE
Dmarrons TomCat et entrons l'URL suivante dans un navigateur : http://localhost:8080/TestTomCat/Test Doit Nous apparatre pouvons la mme que l'URL chose est que nettement prcdemment plus lisible.

constater

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

Nous pouvons aussi surcharger la mthode doPost, de faon rpondre indiffremment suivant le mode d'interrogation du navigateur.
surcharge de la mthode doPost Slectionnez

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

Ralise par : AHIDI Asmaa

Rapport TP J2EE
doGet(arg0, arg1); }

5. Le fichier web.xml
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 utilise pour dployer une application web sur un serveur d'application.

6. Structure et contenu
Un fichier WAR peut tre sign numriquement de la mme faon qu'un fichier JAR, ce qui permet d'assurer la scurit du code. Ces fichiers doivent obligatoirement contenir certains rpertoires et fichiers :

Le rpertoire WEB-INF contient le fichier web.xml qui dfinit la structure et le paramtrage de l'application web. Si l'application est fonde uniquement sur des fichiers JSP, alors web.xmlpeut tre omis. Si l'application est fonde sur des servlets, alors web.xml indique quelles sont les URL associes chaque servlet. Le fichier est aussi utilis pour dfinir des variables et pour dfinir des dpendances prendre en compte pour le dploiement.

Un des dsavantages de cette mthode, dans des environnements trs dynamiques, est que le moindre changement apporter ne peut tre fait sans la regnration et le redploiement du WAR. Exemple de web.xml spcifiant une servlet (HelloServlet) avec la classe java et l'URL associe :
<?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>

Ralise par : AHIDI Asmaa

Rapport TP J2EE
<servlet-class>mypackage.HelloServlet</servlet-class> </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 rpertoire WEB-INF/classes est prvu pour contenir les fichiers .class, et est automatiquement inclus dans le classpath. De la mme faon, le rpertoire WEB-INF/lib est prvu pour contenir les bibliothques Java.

7. Conclusion
Le Java Framework (Java 2 Platform) est compos de trois ditions, destines des usages diffrents : J2ME : Java 2 Micro Edition est prvu pour le dveloppement d'applications embarques, notamment sur des assistants personnels et terminaux mobiles ; J2SE : Java 2 Standard Edition est destin au dveloppement d'applications pour ordinateurs personnels ; J2EE : Java 2 Enterprise Edition, destin un usage professionnel avec la mise en oeuvre de serveurs. Chaque dition propose un environnement complet pour le dveloppement et l'excution d'applications bases sur Java et comprend notamment une machine virtuelle Java (Java virtual machine) ainsi qu'un ensemble de classes.
Ralise par : AHIDI Asmaa

Rapport TP J2EE

Ralise par : AHIDI Asmaa