J'ai téléchargé l'exemple de travail d'hibernate (avec maven) et l'ai installé sur mon tomcat, cela a fonctionné. Ensuite, j'ai créé un nouveau projet Web dans MyEclipse, ajouté le support d'hibernation et déplacé tous les fichiers source (pas de jar) à ce nouveau projet et fixe package/chemins où nécessaire. Mes servlets répondent correctement mais quand j'ajoute "Listener" dans web.xml, tomcat renvoie l'erreur "Error ListenerStart" au démarrage et mon application ne démarre pas.
J'ai soigneusement vérifié tous les paquets, chemins et classes, ils ont l'air bien. Message d'erreur est également ne dit rien de plus, sauf ces deux mots Voici le démarrage complet tomcat:Tomcat/Hibernate Problème "SEVERE: Erreur listenerStart"
17-Jun-2010 12:13:37 PM org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-8810
17-Jun-2010 12:13:37 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 293 ms
17-Jun-2010 12:13:37 PM org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
17-Jun-2010 12:13:37 PM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.20
17-Jun-2010 12:13:37 PM org.apache.catalina.core.StandardContext start
SEVERE: Error listenerStart
17-Jun-2010 12:13:37 PM org.apache.catalina.core.StandardContext start
SEVERE: Context [/addressbook] startup failed due to previous errors
17-Jun-2010 12:13:37 PM org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8810
17-Jun-2010 12:13:37 PM org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
17-Jun-2010 12:13:37 PM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/22 config=null
17-Jun-2010 12:13:37 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 446 ms
Mon web.xml est:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
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">
<listener>
<listener-class>addressbook.util.SessionFactoryInitializer</listener-class>
</listener>
<filter>
<filter-name>Session Interceptor</filter-name>
<filter-class>addressbook.util.SessionInterceptor</filter-class>
</filter>
<filter-mapping>
<filter-name>Session Interceptor</filter-name>
<servlet-name>Country Manager</servlet-name>
</filter-mapping>
<servlet>
<servlet-name>Country Manager</servlet-name>
<servlet-class>addressbook.managers.CountryManagerServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Country Manager</servlet-name>
<url-pattern>/countrymanager</url-pattern>
</servlet-mapping>
</web-app>
Quelqu'un peut-il soit me aider à comprendre ce que je suis mal faire? ou pointer vers une ressource où je peux obtenir une solution précise de mon problème?
Problème résolu: La séquence du filtre et servlet dans web.xml était erronée. J'ai déplacé servlet avant le filtre et le problème est réparé – WSK
N'hésitez pas à poster ceci comme réponse et acceptez-le. –
La commande des éléments dans web.xml est en effet très stricte en 2.4 et avant. En 2.5, l'ordre des éléments est moins strict. En passant, tomcat enregistre les erreurs spécifiques à la webapp dans un autre fichier journal avec le nom d'hôte comme préfixe de nom de fichier. – BalusC