web-dev-qa-db-fra.com

Où est javax.servlet?

J'ai jdk1.6.0_13 installé, mais quand j'essaie de trouver un javax.servlet package ou appuyez sur Ctrl+Space dans Eclipse après Servlet je ne peux rien obtenir. Où puis-je télécharger ce package et pourquoi il n'est pas inclus dans la distribution standard pour les développeurs?

54
egaga

javax.servlet est un package qui fait partie de Java EE (Java Enterprise Edition). Vous disposez du JDK pour Java SE (Java Standard Edition).

Vous pouvez utiliser le Java EE SDK par exemple.

De simples conteneurs de servlets tels que Apache Tomcat sont également livrés avec cette API (recherchez servlet-api.jar).

85
Joachim Sauer

Un peu plus en détail à la réponse de Joachim Sauer:

Sur Ubuntu au moins, le métapaquet Tomcat6 Dépend du métapaquet Tomcat6-common (Et autres), qui dépend du métapaquet libtomcat6-Java, Qui dépend du paquet libservlet2.5-Java (et autres). Il contient, entre autres, les fichiers /usr/share/Java/servlet-api-2.5.jar Et /usr/share/Java/jsp-api-2.1.jar, Qui sont les bibliothèques de servlet et JSP dont vous avez besoin. Donc, si vous avez installé Tomcat 6 via apt-get ou le Centre logiciel Ubuntu, vous avez déjà les bibliothèques. tout ce qui reste à faire est de demander à Tomcat de les utiliser dans votre projet.

Placez les bibliothèques /usr/share/Java/servlet-api-2.5.jar Et /usr/share/Java/jsp-api-2.1.jar Sur le chemin de classe comme ceci:

  • Pour tous les projets, en configurant Eclipse en sélectionnant Fenêtre -> Préférences -> Java -> JRE installés, puis en choisissant le JRE utilisé, en appuyant sur Edition, puis en sélectionnant Ajouter des fichiers JAR externes, puis en sélectionnant les fichiers aux emplacements indiqués ci-dessus.

  • Pour un seul projet, cliquez avec le bouton droit de la souris sur le projet dans le volet de l’explorateur de projets, puis sélectionnez Propriétés -> Java), puis appuyez sur Ajouter des fichiers JAR externes, puis sélectionnez les fichiers dans les emplacements indiqués ci-dessus.

Remarque complémentaire 1: il s'agit des versions correctes de ces bibliothèques à utiliser avec Tomcat 6; Pour les autres versions de Tomcat, reportez-vous au tableau de la page http://Tomcat.Apache.org/whichversion.html , même si je suppose que chaque version de Tomcat inclut les versions de ces bibliothèques appropriées. .

Remarque complémentaire 2: La description du package libservlet2.5-Java (dpkg-query -s libservlet2.5-Java) Indique: "Apache Tomcat implémente le servlet Java et les pages JSP (JavaServer Pages) spécifications de Sun Microsystems et fournit un environnement de serveur Web HTTP "pur Java" pour Java à exécuter. Ce paquet contient le Java = Servlet et bibliothèque JSP. '

20
Teemu Leisti

Avez-vous installé le J2EE ? Si vous avez simplement installé le standard (J2SE), il ne le trouvera pas.

8
Decio Lira

La procédure normale avec Eclipse et Java EE applications Web consiste à installer un conteneur de servlets (Tomcat, Jetty, etc.) ou un serveur d’applications (Glassfish (fourni avec le logiciel "Sun Java EE "télécharger), JBoss AS, WebSphere, Weblogic, etc.) et l'intégrer à Eclipse à l'aide d'un plugin (intégré) dans les serveurs vue.

Au cours de l'assistant de création d'un nouveau projet Web dynamique , vous pouvez ensuite sélectionner le serveur intégré dans la liste. Si vous avez un projet Web dynamique existant sans serveur ou si vous souhaitez modifier le projet associé, vous devez le modifier dans le Rutimes ciblés section des propriétés du projet.

Quoi qu'il en soit, Eclipse placera automatiquement les bibliothèques spécifiques au serveur nécessaires dans le chemin de classe du projet (chemin de construction).

Vous devez absolument dans absolument pas extraire et copier vous-même les bibliothèques spécifiques au serveur dans /WEB-INF/lib Ou même pire JRE/lib Pour "corriger" les erreurs de compilation dans Eclipse. Cela rendrait votre application Web liée à un serveur spécifique et donc totalement imputable.

4
BalusC

Si vous avez le Java EE JDK avec Glassfish, il se trouve dans glassfish3/glassfish/modules/javax.servlet-api.jar.

2
fundead

ces classes font généralement partie de servlet.jar
http://www.Java2s.com/Code/Jar/wsit/Downloadservletjar.htm

0
KingInk