Développer pour le web avec eclipse, hsql et Jetty

Nous proposons ici une configuration simplifiée pour pouvoir développer des applications web en java sans trop dépendre d'eclipse (et en particulier sans dépendre de fichiers créés automatiquement). On utilisera pour cela le serveur de servlets Jetty, qui a l'avantage d'être très facile à configurer.

Pour développer à l'IUT on peut démarrer avec le squelette d'application JSP JSPBASE

Pour travailler chez soi, on installera la version Web Tools Project d'eclipse, et on téléchargera aussi les fichiers nécessaires pour le serveur Jetty

Création d'une application web.

  1. Décompresser JSPBase, et créez une application java normale à cet endroit (create from existing source).
  2. Pour travailler en dehors de l'IUT : décompressez Jetty.tgz et modifiez le fichier build.xml de JSPBase pour qu'il pointe sur votre installation de Jetty et non sur /home/srosmord/Libjava/Jetty.
  3. Le projet est maintenant utilisable avec ant. Essayez de lancer les cibles "compile" puis "Jetty". Vous pouvez vous connecter à
  4. http://localhost:8080/appli/simple et à http://localhost:8080/appli/simple.jsp pour vérifier que ça marche.
  5. Utilisation dans eclipse: pour pouvoir travailler correctement dans eclipse, il faut :
    1. Spécifier le répertoire correct pour les fichiers .class : Configure build path/source puis changer le "default output folder" (en bas) pour pointer sur WebContent/WEB-INF/classes.
    2. Ajouter les bibliothèques : build path/add libraries/user library, puis créez la "library" (bibliothèque en bon français) jetty, dans la quelle vous ajouterez (add jars) l'intégralité des contenus des répertoires /home/Profs/srosmord/Libjava/Jetty/lib et /home/Profs/srosmord/Libjava/Jetty/ext. Notez que cette bibliothèque est globale à votre installation d'éclipse. Vous n'aurez pas à la redéfinir pour les autres projets.
Quelques détails pratiques : Jetty dispose d'une interface web, qui permet d'arrêter et relancer les applications plus vite. L'url est http://localhost:8081/, et dans la version de développement, le mot de passe et le login sont "admin". Quand on crée une JSP, elle est détectée automatiquement. Il est par contre nécessaire de redémarrer l'application web pour prendre en compte des modifications dans les servlets.

Lancement de Jetty comme une application eclipse.

Pour pouvoir débugger votre programme dans eclipse, il est intéressant de lancer Jetty, non comme une tâche ant, mais comme une application java. Pour cela, ajouter au path de l'application le fichier start.jar qui se trouve dans /home/srosmord/Libjava/Jetty. Pour pouvoir compiler les jsp, ajoutez aussi /usr/local/jdk1.5/lib/tools.jar.

Pour lancer l'application, sélectionnez Main.class dans start.jar, puis "start as java application" (ou debug as...)