web-dev-qa-db-fra.com

Servlet: SEVERE: Allouer une exception pour le servlet

Le stacktrace suivant est ce que je reçois quand j'essaie d'accéder à un servlet, qui semble fonctionner correctement du gestionnaire Tomcat. 

11 Sep, 2012 11:50:12 AM org.Apache.catalina.core.ApplicationContext log
INFO: Marking servlet LoginServlet as unavailable
11 Sep, 2012 11:50:12 AM org.Apache.catalina.core.StandardWrapperValve invoke
SEVERE: Allocate exception for servlet LoginServlet
Java.lang.Error: Unresolved compilation problems: 
    The import javax.servlet cannot be resolved
    The import javax.servlet cannot be resolved
    The import javax.servlet cannot be resolved
    The import javax.servlet cannot be resolved
    The import javax.servlet cannot be resolved
    The import javax.servlet cannot be resolved
    HttpServlet cannot be resolved to a type
    ServletConfig cannot be resolved to a type
    ServletException cannot be resolved to a type
    HttpServlet cannot be resolved to a type
    ServletContext cannot be resolved to a type
    ServletException cannot be resolved to a type
    HttpServletRequest cannot be resolved to a type
    HttpServletResponse cannot be resolved to a type
    ServletException cannot be resolved to a type
    request cannot be resolved
    The method getLoggedin() from the type LoginHandler refers to the missing type ServletException
    The method destroy() of type LoginManager must override or implement a supertype method
    HttpServlet cannot be resolved to a type

    at com.login.servlets.LoginManager.<init>(LoginManager.Java:5)
    at Sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at Sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at Sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at Java.lang.reflect.Constructor.newInstance(Unknown Source)
    at Java.lang.Class.newInstance0(Unknown Source)
    at Java.lang.Class.newInstance(Unknown Source)
    at org.Apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.Java:1149)
    at org.Apache.catalina.core.StandardWrapper.allocate(StandardWrapper.Java:827)
    at org.Apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.Java:129)
    at org.Apache.catalina.core.StandardContextValve.invoke(StandardContextValve.Java:191)
    at org.Apache.catalina.core.StandardHostValve.invoke(StandardHostValve.Java:127)
    at org.Apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.Java:102)
    at org.Apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.Java:109)
    at org.Apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.Java:293)
    at org.Apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.Java:877)
    at org.Apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.Java:594)
    at org.Apache.Tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.Java:1675)
    at Java.lang.Thread.run(Unknown Source)
11 Sep, 2012 12:05:12 PM org.Apache.catalina.core.ApplicationContext log
INFO: Marking servlet Log4JInitServlet as unavailable
11 Sep, 2012 12:05:12 PM org.Apache.catalina.core.StandardContext loadOnStartup
SEVERE: Servlet /logintest threw load() exception
Java.lang.Error: Unresolved compilation problems: 
    The import javax.servlet cannot be resolved
    The import javax.servlet cannot be resolved
    The import javax.servlet cannot be resolved
    The import javax.servlet cannot be resolved
    The import org.Apache cannot be resolved
    The import org.Apache cannot be resolved
    HttpServlet cannot be resolved to a type
    ServletConfig cannot be resolved to a type
    ServletException cannot be resolved to a type
    ServletContext cannot be resolved to a type
    BasicConfigurator cannot be resolved
    PropertyConfigurator cannot be resolved
    BasicConfigurator cannot be resolved

    at com.logger.WebLogger.<init>(WebLogger.Java:5)
    at Sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at Sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at Sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at Java.lang.reflect.Constructor.newInstance(Unknown Source)
    at Java.lang.Class.newInstance0(Unknown Source)
    at Java.lang.Class.newInstance(Unknown Source)
    at org.Apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.Java:1149)
    at org.Apache.catalina.core.StandardWrapper.load(StandardWrapper.Java:1026)
    at org.Apache.catalina.core.StandardContext.loadOnStartup(StandardContext.Java:4421)
    at org.Apache.catalina.core.StandardContext.start(StandardContext.Java:4734)
    at org.Apache.catalina.core.StandardContext.reload(StandardContext.Java:3461)
    at org.Apache.catalina.manager.ManagerServlet.reload(ManagerServlet.Java:943)
    at org.Apache.catalina.manager.HTMLManagerServlet.reload(HTMLManagerServlet.Java:557)
    at org.Apache.catalina.manager.HTMLManagerServlet.doGet(HTMLManagerServlet.Java:121)
    at javax.servlet.http.HttpServlet.service(HttpServlet.Java:617)
    at javax.servlet.http.HttpServlet.service(HttpServlet.Java:717)
    at org.Apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.Java:290)
    at org.Apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.Java:206)
    at org.Apache.catalina.filters.CsrfPreventionFilter.doFilter(CsrfPreventionFilter.Java:186)
    at org.Apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.Java:235)
    at org.Apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.Java:206)
    at org.Apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.Java:233)
    at org.Apache.catalina.core.StandardContextValve.invoke(StandardContextValve.Java:191)
    at org.Apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.Java:563)
    at org.Apache.catalina.core.StandardHostValve.invoke(StandardHostValve.Java:127)
    at org.Apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.Java:102)
    at org.Apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.Java:109)
    at org.Apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.Java:293)
    at org.Apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.Java:877)
    at org.Apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.Java:594)
    at org.Apache.Tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.Java:1675)
    at Java.lang.Thread.run(Unknown Source)

Tous les fichiers jar utilisés dans le chemin de classes Eclipse sont disponibles dans le dossier Tomcat lib. L'application Web est en cours de déploiement avec tous les journaux d'erreur, mais lorsque j'essaie d'accéder à un servlet, cette exception se produit et elle est consignée dans les journaux Tomcat. Quelqu'un peut-il aider à cela?

The package names are proper inside 'classes', also, the web.xml is proper. 

Je ne sais pas alors pourquoi cela se produit. Il existe certaines autres applications Web qui utilisent presque les mêmes bibliothèques et fonctionnent correctement. Attendre que quelqu'un puisse m'aider avec ça ..

Merci

7
Kris

Enfin, j'ai eu mon erreur. C'était un problème causé par la construction Eclipse. Comme la construction n’était pas correcte, les fichiers de classe ont été corrompus. J'ai nettoyé tout le projet, pris une nouvelle construction, maintenant ça fonctionne bien. Merci pour vos réponses.

8
Kris

Après avoir examiné les Exceptions, voici où vous avez égaré les fichiers jar. 

(servlet-api.jar). Il devrait être dans votre dossier Project/WEB-INF/lib. Je pense que ça va 

fonctionne si vos fichiers jar sont dans le chemin spécifié ci-dessus.

4
Srinivas B

D'une manière ou d'une autre, il vous manque le servlet-api.jar. Il devrait être situé dans le dossier Tomcat\lib.

3
Tarlog

J'ai eu le même problème! J'ai passé 2 heures à chercher une solution! Et la voilà!

Contenu Web (sous Projet Web dynamique) -> WEB-INF -> lib (c'est vide - Tout droit) -> cliquez dessus avec le bouton droit (lib) -> Chemin de construction -> Utiliser comme source Dossier. 

TERMINÉ!

2
Vitali Kuzmin

Si vous obtenez cette erreur "SEVERE: exception d'allocation pour servlet" associée à une exception "Java.lang.InstantiationException", assurez-vous que votre classe de servlet possède un constructeur public sans argument car le conteneur de servlet doit pouvoir l'instancier.

Si votre classe de servlet n'a pas de constructeur explicite à argument non nul défini (ce qui est généralement le cas), le constructeur par défaut fourni par le compilateur suffira. 

2
ushah

"Java.lang.Error: Unresolved compilation problems:"

dit que l'application n'est pas compilée correctement. Veuillez placer le servlet-api.jar dans classpath, pas seulement dans le dossier lib du projet, mais attachez-le également à classpath.

Assurez-vous que ce même fichier est également disponible dans le dossier Tomcat/common/lib.

1
Ratnakar.class

J'ai également constaté cette exception dans laquelle l'annotation @Resource provoquait un conflit entre deux technologies qui se marchaient sur l'orteil (application de servlet Tomcat 3 et spring).

0
Kimball Robinson

Mon cas utilisait (expressions lambda java 8) avec une version plus ancienne de Rest qui n'était pas basée sur Java 8.

0
YouYou