Tomcat/Hibernate 问题“严重:错误 listenerStart”
Posted
技术标签:
【中文标题】Tomcat/Hibernate 问题“严重:错误 listenerStart”【英文标题】:Tomcat/Hibernate Problem "SEVERE: Error listenerStart" 【发布时间】:2011-03-05 01:37:49 【问题描述】:我下载了hibernate的工作示例(使用maven)并将其安装在我的tomcat上,它可以工作。然后我在 MyEclipse 中创建了一个新的 web 项目,添加了 hibernate 支持和 将所有源文件(无 jar)移动到这个新项目,并在需要的地方修复包/路径。我的 servlet 响应正确,但是当我在 web.xml 中添加“Listener”时, tomcat 在启动时返回错误“Error ListenerStart”并且我的应用程序没有启动。 我已经仔细检查了所有包、路径和类,它们看起来不错。除了这两个词之外,错误消息也没有告诉任何其他内容 这是完整的tomcat启动日志:
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
我的 web.xml 是:
<?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>
有人可以帮我弄清楚我做错了什么吗?或指向一些资源,我可以在其中得到一些精确的问题解决方案?
【问题讨论】:
问题已修复:web.xml 中的过滤器和 servlet 顺序错误。我在过滤器之前移动了 servlet,问题已解决 欢迎将此作为答案发布并接受。 web.xml 中元素的顺序在 2.4 及之前的版本中确实非常严格。在 2.5 中,元素的顺序不太严格。顺便说一句,tomcat 将特定于 webapp 的错误记录到另一个以主机名作为文件名前缀的日志文件中。 是的 BalusC,你是对的。我明白了 【参考方案1】:web.xml 中过滤器和 servlet 的顺序错误。我在过滤器之前移动了 servlet,问题已解决
【讨论】:
以上是关于Tomcat/Hibernate 问题“严重:错误 listenerStart”的主要内容,如果未能解决你的问题,请参考以下文章