2011-10-31 5 views
2

Mon application Web fonctionne correctement avec Eclipse & Tomcat sur mon ordinateur de bureau. Lorsque j'ai téléchargé le fichier war sur le serveur réel, je n'ai pas pu accéder à toutes les servlets avec le message d'erreur suivant. D'autres fichiers JSP et HTML n'ont eu aucun problème.Tomcat 404 Erreur introuvable

The requested URL /HelloWorld/TryingServlet was not found on this server. 

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request. 

Comment cela est-il causé et comment puis-je résoudre ce problème?

+1

tout d'abord, il semble que vous avez un httpd apache fronting tomcat. Je reçois cela de votre erreur ErrorDocument. Êtes-vous sûr d'essayer d'accéder à l'URL correcte? – cherouvim

+1

De quel genre d'hôte s'agit-il? Godaddy ou quelque chose? Sur certains hôtes, les servlets spécifiques à webapp ne sont disponibles que par un préfixe supplémentaire spécifique dans l'URL, quelque chose comme '/ servlets'. Fondamentalement, vous devez lire son FAQ/guide développeur ou contacter le support de l'hébergement pour plus de détails. – BalusC

Répondre

1

Essayez cette url:

http://YOUR_IP:8080/HelloWorld.war/TryingServlet 

Remplacer HelloWorld.war avec le nom réel de votre fichier de guerre ...

1

Votre problème est que dans votre environnement de production tomcat est entouré par un httpd apache qui fait pas transférer les requêtes à tomcat pour les URL du formulaire /foobar (sans extension). Apache ne sait pas comment gérer ces URL et essaie de les servir de fichiers statiques à partir du disque. Les fichiers ne sont pas là donc il essaie d'exécuter la règle 404 qui est mal configurée (le fichier 404 configuré est lui aussi manquant - mais c'est un autre problème).

Solutions:

  • attribuer une extension à tous vos servlets et préciser que apache. Par exemple .do (comme le fait Struts) pour que votre servlet devienne /foobar.do. Vous devrez ensuite demander à votre administrateur système de spécifier que *.do va à tomcat.
  • Demandez à votre administrateur système de configurer apache pour envoyer toutes les requêtes à Tomcat, à l'exception de celles pour les fichiers statiques. *.jpg par exemple, *.png, *.css, *.js etc
+0

sauvé ma journée :) – James

Questions connexes