web-dev-qa-db-fra.com

ECHEC - Impossible de démarrer l'application sur le chemin du contexte/Bonjour

J'essaie de déployer une nouvelle application Web dans Tomcat 6.0, mais chaque fois que je clique sur le bouton Démarrer, je reçois à plusieurs reprises FAIL - L'application sur le chemin du contexte/Bonjour ne peut pas être démarrée. Autre application déployée fonctionnant correctement, chaque fois que je clique sur le bouton Démarrer. Mais pourquoi pas cette application?

web-xml:

 <web-app xmlns="http://Java.Sun.com/xml/ns/j2ee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://Java.Sun.com/xml/ns/j2ee http://Java.Sun.com/xml/ns/j2ee/web-app_2_4.xsd"
         version="2.4">

<servlet>
<servlet-name>j_security_check</servlet-name>
<servlet-class>EmailHander</servlet-class>
</servlet>

<login-config>
<auth-method>FORM</auth-method>
<form-login-config>
<form-login-page>/login.jsp</form-login-page>
<form-error-page>/fail_login.html</form-error-page>
</form-login-config>
</login-config>
<web-app>

Voici ce que j'obtiens dans le fichier journal catalina:

Jan 23, 2010 6:49:31 PM org.Apache.catalina.startup.ContextConfig applicationWebConfig
SEVERE: Parse error in application web.xml file at jndi:/localhost/Hello/WEB-INF/web.xml
org.xml.sax.SAXParseException: XML document structures must start and end within the same entity.
    at com.Sun.org.Apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.Java:1231)
    at com.Sun.org.Apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.Java:522)
    at org.Apache.Tomcat.util.digester.Digester.parse(Digester.Java:1644)
    at org.Apache.catalina.startup.ContextConfig.applicationWebConfig(ContextConfig.Java:365)
    at org.Apache.catalina.startup.ContextConfig.start(ContextConfig.Java:1066)
    at org.Apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.Java:261)
    at org.Apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.Java:119)
    at org.Apache.catalina.core.StandardContext.start(StandardContext.Java:4339)
    at org.Apache.catalina.manager.ManagerServlet.start(ManagerServlet.Java:1249)
    at org.Apache.catalina.manager.HTMLManagerServlet.start(HTMLManagerServlet.Java:612)
    at org.Apache.catalina.manager.HTMLManagerServlet.doGet(HTMLManagerServlet.Java:136)
    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.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:525)
    at org.Apache.catalina.core.StandardHostValve.invoke(StandardHostValve.Java:128)
    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.Http11Processor.process(Http11Processor.Java:849)
    at org.Apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.Java:583)
    at org.Apache.Tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.Java:454)
    at Java.lang.Thread.run(Thread.Java:619)

Quelle est la raison de cette erreur dans le fichier web-xml?

12
Dusk

Votre web.xml se termine par <web-app>, mais doit se terminer par </web-app>

Ce qui en passant est presque littéralement ce que l'exception vous dit.

23
Bozho

Vous devez fermer le XML avec </web-app>, pas avec <web-app>.

7
BalusC

EmailHandler est-il vraiment le nom complet de votre classe de servlet, c’est-à-dire qu’il ne se trouve pas dans un package comme com.something.EmailHandler? Il doit être pleinement qualifié en web.xml.

2
skaffman

J'ai eu le même problème, il manquait une barre oblique dans l'URL du servlet dans web.xml

remplacer

<servlet-mapping>
    <servlet-name>jsonservice</servlet-name>
    <url-pattern>jsonservice</url-pattern>
</servlet-mapping>

avec

<servlet-mapping>
    <servlet-name>jsonservice</servlet-name>
    <url-pattern>/jsonservice</url-pattern>
</servlet-mapping>
1
alexey

vérifier le fichier web.xml peut-être que servletContextlistener ne va pas bien . dans mon cas, j’ai ajouté servletContextlistener et le laissais vide et me donnait la même erreur, j’essayais de le supprimer des fichiers du projet mais toujours dans le fichier web.xml Je le supprime du fichier web.xml et enregistre le fichier. exécuter le projet et il a déclaré avec succès

0
Redhwan Alobaidi

1st Reason pourrait être la balise de fin du fichier web.xml de votre application, qui n'aurait pas pu être fermée correctement.

le fichier web.xml peut se terminer par <web-app>, mais doit se terminer par </web-app>.

2nd Reason qui a fonctionné dans mon cas pourrait être le dossier lib de votre Tomcat doit contenir le fichier JAR de votre base.

ojdbc pour Oracle ou sqljdbc pour SqlServer 

0
Dheeraj Moudgil