OVH Cloud OVH Cloud

Tomcat est il censé compiler les servlets ?

2 réponses
Avatar
Arnaud
Bonjour,
Je viens d'installer Tomcat (4.1.31) pour tester les exemples d'un livre.
Après moult péripéties, il semble fonctionner et me compile les pages JSP si
elles sont modifiées ou simplement ajoutées dans un répertoire. Mais une
question me taraude, devrait-il en être de même si je modifie un servlet
(.java) ? Dans mon livre, il est fait usage de javac (cela fonctionne, et je
vois mes servlets), mais sur le net j'ai vu des exemples où il me semblait
qu'il était seulement question de déposer le fichier source dans le
répertoire de Tomcat. Ai-je mal compris, ou y a-t-il une subtilité dans la
configuration (sur mon P.C. Tomcat se désintéresse des fichiers sources des
servlets) ? Car il me parait étrange que Tomcat soit capable de le faire
pour les fichiers .jsp et pas pour les .java.
Merci pour vos éventuels éclaircissements, car bien qu'ayant mis Google à
contribution, je n'ai pas trouvé de piste...

2 réponses

Avatar
Miguel Moquillon
Le Mon, 06 Dec 2004 04:16:41 +0100, Arnaud a écrit :

Bonjour,
Je viens d'installer Tomcat (4.1.31) pour tester les exemples d'un livre.
Après moult péripéties, il semble fonctionner et me compile les pages JSP si
elles sont modifiées ou simplement ajoutées dans un répertoire. Mais une
question me taraude, devrait-il en être de même si je modifie un servlet
(.java) ? Dans mon livre, il est fait usage de javac (cela fonctionne, et je
vois mes servlets), mais sur le net j'ai vu des exemples où il me semblait
qu'il était seulement question de déposer le fichier source dans le
répertoire de Tomcat. Ai-je mal compris, ou y a-t-il une subtilité dans la
configuration (sur mon P.C. Tomcat se désintéresse des fichiers sources des
servlets) ? Car il me parait étrange que Tomcat soit capable de le faire
pour les fichiers .jsp et pas pour les .java.


Le code source Java sont des fichiers .java
Une fois compilés, ils donnent des .class contenant du bytecode.
Tomcat est un conteneur de servlets/JSP, pas un environnement de
développement. A ce titre, il charge le bytecode des classes Java des
application web, instancie les servlets et prepare un pool de threads pour
les connexions entrantes.
Les JSP sont des pages HTML/XHTML avec du code Java dedans. Lorsque l'on
dit qu'il compile les JSP, il les transforme en fait en servlets par
interprétation ! Ceci fait partie des spécifications d'un conteneur de
servlets/JSP dans J2EE.

Miguel

Avatar
Arnaud
Merci pour cette réponse rapide et détaillée.
J'en conclus que Tomcat est bien configuré sur mon P.C.
Il me semble que j'avais bien compris (JSP et servlet sont les sujets du
livre en question) comment un .jsp, est d'abord converti en .java puis en
.class par Tomcat (en utilisant javac), ce .class étant un servlet. Mais je
ne vois pas bien pourquoi il ne compile pas non plus en utilisant javac les
.java des servlets lorsqu'ils sont ajoutés ou modifiés. Ce serait juste une
question de spécifications ? Il y a sans doute une bonne raison, peut-être
me sautera-t-elle aux yeux durant la lecture de mon livre.
Bye...

P.S. : Etrange, neuf a envoyé trois fois mon message, bien qu'il m'ait
signifié qu'il ne pouvait pas se connecter aux news. Désolé pour ces
redites...


"Miguel Moquillon" a écrit dans le message
de news:

Le code source Java sont des fichiers .java
Une fois compilés, ils donnent des .class contenant du bytecode.
Tomcat est un conteneur de servlets/JSP, pas un environnement de
développement. A ce titre, il charge le bytecode des classes Java des
application web, instancie les servlets et prepare un pool de threads pour
les connexions entrantes.
Les JSP sont des pages HTML/XHTML avec du code Java dedans. Lorsque l'on
dit qu'il compile les JSP, il les transforme en fait en servlets par
interprétation ! Ceci fait partie des spécifications d'un conteneur de
servlets/JSP dans J2EE.

Miguel