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
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.
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.
D'une manière ou d'une autre, il vous manque le servlet-api.jar
. Il devrait être situé dans le dossier Tomcat\lib
.
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É!
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.
"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
.
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).
Mon cas utilisait (expressions lambda java 8) avec une version plus ancienne de Rest qui n'était pas basée sur Java 8.