L’import javax.servlet ne peut pas être résolu

J’essaie d’utiliser eclipse pour Java EE pour développer des applications Web.

Je dois utiliser Tomcat comme serveur . J’ai téléchargé Tomcat et il est en cours d’exécution. Mais mon programme ne comstack pas.

Je reçois l’erreur suivante:

Le fichier import javax.servlet ne peut pas être résolu.

Qu’est-ce que je dois faire?

Vous devez append l’API Servlet à votre classpath. Dans Tomcat 6.0, il s’agit d’un servlet-api.jar JAR appelé servlet-api.jar dans le dossier lib de Tomcat. Vous pouvez soit append une référence à ce fichier JAR au classpath du projet, soit placer une copie du fichier JAR dans votre projet Eclipse et l’append au chemin de classe à partir de là.

Si vous souhaitez laisser le fichier JAR dans le dossier lib de Tomcat:

  • Cliquez avec le bouton droit sur le projet, cliquez sur Propriétés .
  • Choisissez Java Build Path .
  • Cliquez sur Ajouter des fichiers JAR externes …
  • Recherchez servlet-api.jar et sélectionnez-le.
  • Cliquez sur OK pour mettre à jour le chemin de génération.

Ou, si vous copiez le JAR dans votre projet:

  • Cliquez avec le bouton droit sur le projet, cliquez sur Propriétés .
  • Choisissez Java Build Path .
  • Cliquez sur Ajouter des fichiers JAR …
  • Recherchez servlet-api.jar dans votre projet et sélectionnez-le.
  • Cliquez sur OK pour mettre à jour le chemin de génération.

Si ce n’est pas encore fait, vous devez intégrer Tomcat dans votre vue Servers . Cliquez avec le bouton droit de la souris et choisissez Nouveau> Serveur . Sélectionnez la version Tomcat appropriée dans la liste et complétez l’assistant.

Lorsque vous créez un nouveau projet Web dynamic , vous devez sélectionner le serveur intégré dans la liste en tant qu’exécution cible au cours de la première étape de l’assistant.

Ou, lorsque vous avez un projet Web dynamic existant, vous pouvez le définir / modifier dans l’entrée Runtimes ciblés dans les propriétés du projet. Eclipse appenda alors automatiquement toutes ses bibliothèques au chemin de compilation (sans en avoir une copie dans le projet!).

Vous devez définir l’étendue de la dépendance à «fournie» dans votre POM.

http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Dependency_Scope

  javax.servlet servlet-api 2.4 provided  

Alors tout ira bien.

Ajoutez le servlet-api.jar à votre classpath. Vous pouvez le prendre à partir du dossier lib de tomcat.

J’ai eu le même problème parce que mon “projet Web dynamic” n’avait aucune référence au serveur installé que je voulais utiliser et n’avait donc aucune référence à l’API Servlet fournie par le serveur.

Les étapes suivantes ont résolu le problème sans append d’API Servlet supplémentaire au chemin de génération Java ( version Eclipse: Luna ):

  • Faites un clic droit sur votre “projet Web dynamic”
  • Sélectionnez les propriétés
  • Sélectionnez les facettes de projet dans la liste située à gauche de l’assistant “Propriétés”.
  • Sur le côté droit de l’assistant, vous devriez voir un onglet nommé Runtimes . Sélectionnez l’onglet Runtime et vérifiez le serveur sur lequel vous souhaitez exécuter le servlet.

Edit: si aucun serveur n’est répertorié, vous pouvez en créer un nouveau dans l’onglet Runtimes

Ajouter à pom.xml

  javax.servlet javax.servlet-api 3.1.0  

Si vous obtenez cette erreur de compilation, cela signifie que vous n’avez pas inclus le fichier JAR dans le classpath. La manière correcte d’inclure ce fichier jar consiste à append le fichier jar Server Runtime à votre projet eclipse. Vous devez suivre les étapes ci-dessous pour résoudre ce problème: Vous pouvez télécharger le fichier servlet-api.jar ici http://www.java2s.com/Code/Jar/s/Downloadservletapijar.htm

 Save it in directory. Right click on project -> go to properties->Buildpath and follow the steps. 

A eu le même problème dans Eclipse. Pour une raison quelconque, je n’avais pas le fichier servlet.jar dans mon chemin de compilation. Ce que je finis par faire, c’est de copier un dossier “lib” d’un autre projet du mien dans le projet sur lequel je travaillais, puis de le placer manuellement dans ce dossier et d’append le fichier servlet.jar au chemin de construction (l’option apparaît cliquez sur le fichier dans l’explorateur de projet).