在運行web程序時,服務器報出
Error
listenerStart
的嚴重錯誤,導致頁面無法正常訪問或其他問題出現。
這類問題通常都是因為在web.xml里面添加了
Java代碼
-
<listener> ??
-
???<listener-
class
> ??
-
???org.springframework.web.context.ContextLoaderListener ??
-
???</listener-
class
> ??
-
</listener>??
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
而導致的。
究其原因,ContextLoaderListener是在服務器剛啟動時即執行的一個監聽器,用來監測jar包或者配置文件信息是否完整正確的,所以,如果服務器中報出
Error
listenerStart
的異常,引發的原因可能有很多,因為是服務器內部出現了問題,所以不好調試,也不好用某種固定的方法解決。
最好的解決方法是查看
tomcat
的日志信息,通過日志的顯示,即可以非常清楚的確定因為問題的原因,從而快速的解決問題。
以Tomcat5.5為例,tomcat5.5在默認情況下,并不會自動記錄日志信息,需要人為配置。
1、在
tomcat
安裝目錄的common/classes中建立一個屬性文件log4j.properties
2、在文件中寫入日志的信息及日志記錄的等級:
Java代碼
-
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.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
如果不會寫,直接將我的拷貝即可
3、將log4j.jar和commons-logging.jar添加到
tomcat
目錄下的common/lib目錄中
4、完成
注意:日志的記錄會消耗磁盤空間,定時將日志文件進行清除,否則會積存過多的日志文件導致磁盤空間不足。