轉自: http://1985wanggang.blog.163.com/blog/static/7763833200942611050436/web
近日瀏覽論壇,發現好多人提問,都說在運行web程序時,服務器報出Error listenerStart的嚴重錯誤,致使頁面沒法正常訪問或其餘問題出現。spring
這類問題一般都是由於在web.xml裏面添加了apache
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>tomcat
而致使的。看到有人回帖說把org.springframework.web.context.ContextLoaderListener替換爲org.springframework.web.context.ContextLoaderServlet,服務器就不會報出Error listenerStart的錯誤了,其實否則,即便錯誤不會報出了,但做用出現了誤差。究其緣由,ContextLoaderListener是在服務器剛啓動時即執行的一個監聽器,用來監測jar包或者配置文件信息是否完整正確的,因此,若是服務器中報出Error listenerStart的異常,引起的緣由可能有不少,由於是服務器內部出現了問題,因此很差調試,也很差用某種固定的方法解決。服務器
以個人經驗,最好的解決方法是查看tomcat的日誌信息,經過日誌的顯示,便可以很是清楚的肯定由於問題的緣由,從而快速的解決問題。session
以Tomcat5.5爲例,tomcat5.5在默認狀況下,並不會自動記錄日誌信息,須要人爲配置。app
一、在tomcat安裝目錄的common/classes中創建一個屬性文件log4j.propertiesspa
二、在文件中寫入日誌的信息及日誌記錄的等級:調試
log4j.rootLogger=info,Console,R日誌
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
#log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
log4j.appender.Console.layout.ConversionPattern=%d{yy-MM-dd HH:mm:ss} %5p %c{1}:%L - %m%n
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.File=${catalina.home}/logs/tomcat.log
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d{yyyy.MM.dd HH:mm:ss} %5p %c{1}(%L):? %m%n
log4j.logger.org.apache=info, R
log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost]=DEBUG, R
log4j.logger.org.apache.catalina.core=info, R
log4j.logger.org.apache.catalina.session=info, R
若是不會寫,直接將個人拷貝便可
三、將log4j.jar和commons-logging.jar添加到tomcat目錄下的common/lib目錄中
四、完成
注意:日誌的記錄會消耗磁盤空間,定時將日誌文件進行清除,不然會積存過多的日誌文件致使磁盤空間不足。