Déboguer les JSP ou servlets du Petstore avec Eclipse

Modérateurs : graffion, jmdouin, agoncal, mlebihan

graffion
Messages : 663
Inscription : 21 juin 2005 14:05

Déboguer les JSP ou servlets du Petstore avec Eclipse

Message par graffion » 04 déc. 2014 22:35

C'est possible!

Dans Eclipse, choisir la perspective JavaEE, créer un projet "Dynamic web project" vide de nom par exemple yapswtp8 (dans le workspace).

Peupler ensuite les répertoires "standards" src et WebContent avec les sources fournis :
cp -R $TP8/Yaps/src/java/* src
cp -R $TP8/Yaps/resources/* WebContent
cp -R $TP8/Yaps/WEB-INF WebContent

Rajouter les librairies externes nécessaires:
cp $TP8/lib/dom4j.jar WebContent/WEB-INF/lib
cp $TP8/lib/jaxen.jar WebContent/WEB-INF/lib

http://localhost:8080/yapswtp8 devrait afficher la page d'accueil de Yaps si Tomcat est démarré depuis Eclipse.

Pour débugger, il faut arrêter TOMCAT, (mettre un point d'arrêt) puis sélectionner une servlet (e.g. FindProductsServlet) et faire debug as -> debug on server dans Eclipse puis ouvrir dans votre navigateur la page
http://localhost:8080/yapswtp8/findprod ... ryId=BIRDS

(Tous les détails ici : http://www.coreservlets.com/Apache-Tomc ... lipse.html)

NNACHI
Messages : 8
Inscription : 04 nov. 2014 17:12

Re: Déboguer les JSP ou servlets du Petstore avec Eclipse

Message par NNACHI » 25 janv. 2015 3:01

Bonjour

Comment peut on activer RMI sur un Dynamic web project afin de pouvoir debugger ?

J'ai essayé de copier manuellement le stub et skeleton et lancer le rmiregistry mais sans succès

lorsque je lance le startServer.bat, il trouve pas le RegisterServices dans le projet

Merci de votre aide

graffion
Messages : 663
Inscription : 21 juin 2005 14:05

Re: Déboguer les JSP ou servlets du Petstore avec Eclipse

Message par graffion » 26 janv. 2015 12:49

Bonjour,

Pour les TPs 7 à 9, RMI a été débranché en utilisant le Factory design pattern (cf énoncé du TP7 http://deptinfo.cnam.fr/xwiki/bin/view/ ... in=colibri).
Plus besoin alors de lancer startServer comme au TP 5, ce qui permet de déboguer sur Eclipse directement.

Pour débrancher RMI pour le TP10, il suffit de modifier les implémentations des méthodes XXXDelegateFactory.createXXXDelegate() (comparer CustomerDelegateFactory.createCustomerDelegate() des TP 7 et 10).

Note : Pour le TP d'examen pratique, RMI sera aussi débranché.

NNACHI
Messages : 8
Inscription : 04 nov. 2014 17:12

Re: Déboguer les JSP ou servlets du Petstore avec Eclipse

Message par NNACHI » 28 janv. 2015 2:20

Bonjour

Merci pour votre retour

J'ai réussi à debugger les TP08 et TP10, par contre impossible de le faire pour le TP09

Lorsque je lance le serveur sur eclipse et je vais sur http://localhost:8080/TP09WEB/findprodu ... oryId=FISH par exemple
j'ai un message d'erreur de connexion à la DB :
Cannot get data from the database: Cannot create JDBC driver of class '' for connect URL 'null'
J'ai vérifié que le Driver JDBC était pas bien dans la lib de Tomcat

Note : si je le deploy sur tomcat via ant je n'ai pas de problème. Je peux naviguer sur les pages du site normalement

Est ce qu'il me manque quelque chose dans la config ?

Merci d'avance

Cordialement

graffion
Messages : 663
Inscription : 21 juin 2005 14:05

Re: Déboguer les JSP ou servlets du Petstore avec Eclipse

Message par graffion » 28 janv. 2015 11:49

Bonjour,

Une différence entre les TP 8 et 9 est l'introduction des DataSource (cf TP09/Yaps/src/java/com/yaps/petstore/server/util/persistence/AbstractDataAccessObject.java).

Par contre l'accès à la BD est identique dans les TP 9 et 10

2 pistes:
. vérifiez la présence du fichier META-INF/context.xml qui centralise toutes les propriétés de la source de données
. mettez un point d'arrêt dans le bloc statique de la classe AbstractDataAccessObject pour débugger vos TP 9 et TP 10.

Répondre