11
votes

Eclipse n'ajoute pas automatiquement des servlets à web.xml?

J'avais l'habitude d'utiliser Eclipse Galileo, mais maintenant j'ai Helios. Galileo ajouté automatiquement mon servlets à web.xml , mais à Helios, je dois le faire moi-même.

Y a-t-il quelque chose que je peux configurer pour que cela soit à nouveau automatique?


0 commentaires

4 Réponses :


7
votes

Cela n'a pas été changé. Très probablement, vous avez utilisé nouveau> classe au lieu de nouveau> servlet pour créer le servlet.


8 commentaires

Je suis sûr que c'est un servlet. Je viens de l'essayer sur mon ordinateur portable et ça marche correctement, c'est donc une sorte de problème local que je suppose. Merci d'avoir répondu.


Veuillez noter que lorsque vous avez créé un projet Web dynamique avec servlet 3.0 Facet, mais n'a pas coché la case à cocher Generate de déploiement à la fin de l'assistant de création de projet, puis un web.xml Ne sera pas créé et les servlets obtiendront la @webservlet Annotation. Mais votre question n'a pas donné l'impression que le web.xml était physiquement absent.


Oui, web.xml est ici avec seulement . La chose étrange est que sur mon ordinateur portable quand un servlet fait un servlet ça marche, mais ce n'est pas dans web.xml. Si j'ajoute le servlet par moi-même, cela fonctionne à nouveau mais c'est tellement déroutant pour moi, comment cela peut fonctionner quand ce n'est pas dans web.xml. L'autre chose que j'ai changée est que j'ai migré de Tomcat 6 à 7 mais il n'a pas besoin d'être un problème ... je suppose.


Etant donné que Servlet 3.0, des servlets peuvent être mappés par l'annotation @webservlet au-dessus de la classe au lieu de web.xml . Tomcat 7 est un conteneur de servlet 3.0.


@Balusc - merci. Qu'est-ce que je dois avoir, outre tomcat 7 et Eclipse Java ee , pour utiliser des annotations telles que @webservlet ? Y a-t-il un annotations JAR comme nous avons dans hibernate ? Je n'ai pas encore essayé Tom 7. Toujours obligé d'utiliser Tom 6 depuis mon manuel l'utilise.


Peut-être utile pour clarifier les commentaires de Balusc pour dire que, au moins, vous pouvez avoir un web.xml (par défaut pour moi dans Eclipse Mars, il répertorie welcome-file s) < B> et Dont Eclipse Utilisez des annotations au lieu de pousser des mappages et des noms dans web.xml .


@Ballusc, cela pourrait valoir la peine 1.) Supprimer ce premier commentaire ("Veuillez noter ...") Si cela ne s'applique plus et 2.) Poussant les nouvelles informations dans la réponse. J'aime beaucoup votre réponse sur la question mieux, et merveille s'il ne vaut pas la peine de fermer Ce en tant que dupe maintenant. ??


@Ruffin: Merci de noter :)



4
votes

Vous devez modifier certains paramètres sur le projet:

  1. Créer un projet dynamique
  2. Cliquez sur le bouton droit de la souris sur le nom du projet dynamique
  3. Créer un nom de servlet et cliquez sur Suivant (pas `finition)
    • Le mappage d'URL montrera
    • Cliquez sur Ajouter et donnez-lui le nom utilisé dans web.xml (comme / mohan)
      • Par défaut, il sera le nom du servlet
      • Cliquez sur Supprimer
      • Supprimer le nom de mappage d'URL par défaut

        Maintenant, cela devrait fonctionner.


0 commentaires

6
votes

Ce message vous aidera ..

https://stackoverflow.com/a/14854907/1847899

"Tomcat 7 est un conteneur compatible Servlet 3.0. Depuis Servlet 3.0, les servlets peuvent être configurés par @websservlet Annotation sur la classe sans avoir besoin d'une entrée de configuration Web.xml."


0 commentaires

1
votes

Vous n'avez pas besoin de vous inquiéter de ce Tomcat 7 est un conteneur compatible Servlet 3.0. Depuis Servlet 3.0, les servlets peuvent être configurés par @websservlet Annotation sur la classe Il n'y a pas besoin d'une entrée de configuration Web.xml.Si vous êtes toujours confus, modifiez simplement la "version de module Web dynamique" à 2,5 au lieu de 3,0 à ce stade. ... Nouveau-> Projet Web dynamique. Ensuite, vous pouvez voir que vos servlets seront configurés dans web.xml automatiquement


0 commentaires