7
我下載了hibernate的工作示例(使用maven),並將它安裝在我的tomcat上,它工作。然後,我在MyEclipse中創建了一個新的Web項目,添加了hibernate支持,並將所有源文件(無jar)移動到這個新項目中,並在需要的地方固定包/路徑。我的servlet正確響應,但是當我在web.xml中添加「監聽器」時, tomcat在啓動時返回錯誤「Error ListenerStart」,並且我的應用程序無法啓動。
我仔細檢查了所有包,路徑和類,它們看起來不錯。錯誤消息也沒有告訴任何東西更多,除了這兩個詞 下面是完整的tomcat的啓動日誌:Tomcat /休眠問題「SEVERE:Error 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
我的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,並且問題得到解決。 – WSK 2010-06-17 17:00:06
歡迎將其發佈爲答案並接受它。 – 2010-06-17 20:09:50
在2.4版本和之前的版本中,web.xml中元素的排序確實非常驚人。在2.5中,元素的排序不太嚴格。順便說一下,tomcat將webapp特定的錯誤記錄到另一個以主機名作爲文件名前綴的日誌文件中。 – BalusC 2010-06-17 22:19:19