2008-09-15 6 views
2

Quels sont les coupables les plus susceptibles de provoquer une erreur 404 resource not found lorsqu'une page d'un .WAR donné, créé automatiquement par J2EE deploytool de Sun, tente de charger une servlet dans le même fichier .WAR?
Par exemple:Erreurs Java Servlet 404

HTTP Status 404 -/myServlet/myServlet

Type Rapport d'état

un message/myServlet/myServlet

Description La ressource demandée (/ myServlet/myServlet) n'est pas disponible.


connexes: Parmi ceux-ci, combien vous attendez-vous à être précis serveur? par exemple: Sun Java Application Server par rapport à Tomcat & Catalina?

+0

Vous n'avez pas reçu de réponse de votre serveur local mais vous avez reçu tellement de réponses du serveur stackoverflow. – Acn

Répondre

5

Existe-t-il un < servlet-mapping > valable pour 'MyServlet' dans votre fichier web.xml? Cela a été mon coupable numéro un dans le passé

1

Une erreur 404 signifie que la ressource demandée n'a pas été trouvée. Comme le suggère le pkaeding, cela est probablement dû au fait que le mappage de servlet n'est pas correct (ou n'est pas présent) dans le fichier web.xml. Les servlets doivent être spécifiées dans le fichier web.xml, et pas seulement, mais elles doivent être mappées sur des chemins particuliers (un "mapping url"). Si le servlet "MyServlet" existe, mais n'est pas mappé sur un chemin pouvant être résolu avec "/ MyServlet/MyServlet" basé sur la racine du contexte de l'application, rien d'autre (ie un autre servlet, etc.) ne se résout avec ce chemin, le serveur d'application jettera un 404 indiquant que rien n'est mappé au chemin donné.

0

Je viens juste de passer une heure à me tirer les cheveux sur ce problème. Tomcat 5.5.27 sur OSX fonctionnait très bien jusqu'à ce que j'aie ajouté une autre servlet et mappage servlet à quel point tout retournait un 404. Je ne l'avais pas réalisé, mais quand j'avais ajouté une nouvelle servlet/servlet -mapping-mapping Je mettrais le mapping de servlet avant l'entrée de servlet. C'est une erreur facile à faire et, bien que le fait de couronner le tout de l'application sans donner quoi que ce soit qui ressemble à un message d'erreur sensé semble un peu extrême, cela prend tout son sens en rétrospective.

0

Le mappage de servlet est un problème courant. Mais si vous avez des ajusteurs dans votre web.xml, ceux-ci peuvent aussi être le coupable. Une chose à réaliser est que les filtres exécutent toujours le code avant le doFilter avant que les servlets ne commencent à s'exécuter. (Les filtres techniquement exécutent le code après le doFilter) Dans notre code nous avons créé des filtres qui retourneraient 404 dans certaines situations. Parfois, supprimer certains ou tous les filtres-mapping aidera à découvrir si elle est liée à des filtres-mappages.

Questions connexes