OVH Cloud OVH Cloud

Tomcat 5, pas de web.xml = erreur 404

3 réponses
Avatar
LR
Salut,

Je viens de passer de tomcat 3 à tomcat 5 et j'ai l'impression que quelque
chose à changé concernant une opération de base : publier une servlet. Je
m'explique, dans la version 3, si je compile mon fichier HelloWorld.java et
que je place le fichier HelloWorld.class dans le dossier
c:/tomcat/webapps/examples/WEB-INF/classes, je peux ensuite l'exécuter par
http://localhost:8080/examples/servlet/HelloWorld. Et cela sans modifier le
fichier web.xml.

Dans la version 5 ça ne fonctionne plus, il semblerait que je doive ajouter
la référence à ma servlet dans le fichier web.xml de l'application... Ce qui
n'est pas très pratique si l'on fait des tests.

Qu'en est-il, y a-t-il une solution ?
Merci d'avance
Lilian

3 réponses

Avatar
Damien Lecan
Je viens de passer de tomcat 3 à tomcat 5 et j'ai l'impression que quelque
chose à changé concernant une opération de base : publier une servlet. Je
m'explique, dans la version 3, si je compile mon fichier HelloWorld.java et
que je place le fichier HelloWorld.class dans le dossier
c:/tomcat/webapps/examples/WEB-INF/classes, je peux ensuite l'exécuter par
http://localhost:8080/examples/servlet/HelloWorld. Et cela sans modifier le
fichier web.xml.

Dans la version 5 ça ne fonctionne plus, il semblerait que je doive ajouter
la référence à ma servlet dans le fichier web.xml de l'application... Ce qui
n'est pas très pratique si l'on fait des tests.

Qu'en est-il, y a-t-il une solution ?
Revenir à Tomcat 3 ?

La spec des servlet oblige qu'une servlet soit déclarée dans le web.xml
pour pourvoir y accéder ...


Damien

Avatar
Franck Arnulfo
LR wrote:

Salut,

Je viens de passer de tomcat 3 à tomcat 5 et j'ai l'impression que quelque
chose à changé concernant une opération de base : publier une servlet. Je
m'explique, dans la version 3, si je compile mon fichier HelloWorld.java et
que je place le fichier HelloWorld.class dans le dossier
c:/tomcat/webapps/examples/WEB-INF/classes, je peux ensuite l'exécuter par
http://localhost:8080/examples/servlet/HelloWorld. Et cela sans modifier le
fichier web.xml.

Dans la version 5 ça ne fonctionne plus, il semblerait que je doive ajouter
la référence à ma servlet dans le fichier web.xml de l'application... Ce qui
n'est pas très pratique si l'on fait des tests.

Qu'en est-il, y a-t-il une solution ?
Merci d'avance
Lilian




Oui mais c'est pas secure, cf. la release note de tomcat:
------------------------
Enabling invoker servlet:
------------------------

Starting with Tomcat 4.1.12, the invoker servlet is no longer available by
default in all webapps. Enabling it for all webapps is possible by editing
$CATALINA_HOME/conf/web.xml to uncomment the "/servlet/*" servlet-mapping
definition.

Using the invoker servlet in a production environment is not recommended and
is unsupported.
-

Donc à ne faire qu'en dév et encore...

Avatar
Emmanuel Puybaret
Salut,

Je viens de passer de tomcat 3 à tomcat 5 et j'ai l'impression que quelque
chose à changé concernant une opération de base : publier une servlet. Je
m'explique, dans la version 3, si je compile mon fichier HelloWorld.java et
que je place le fichier HelloWorld.class dans le dossier
c:/tomcat/webapps/examples/WEB-INF/classes, je peux ensuite l'exécuter par
http://localhost:8080/examples/servlet/HelloWorld. Et cela sans modifier le
fichier web.xml.

Dans la version 5 ça ne fonctionne plus, il semblerait que je doive ajouter
la référence à ma servlet dans le fichier web.xml de l'application... Ce qui
n'est pas très pratique si l'on fait des tests.

Qu'en est-il, y a-t-il une solution ?


Je crois qu'il faut plutôt s'inspirer du web.xml du dossier examples qui
permet de tester toutes les servlets à la façon Tomcat 3.
Pour faire plus simple tu n'as qu'à recopier les fichiers .class de tes
servlets dans le dossier webapps/examples/WEB-INF/classes et tu y auras
accès par http://localhost:8080/examples/servlet/ServletTruc

Bye
--
Emmanuel PUYBARET
Email :
Web : http://www.eteks.com
Auteur du Cahier du programmeur Java [1] / Editions Eyrolles :
http://www.eteks.com/services/cahierjava1.html