框架搭建好后,沒有詳細的錯誤信息,主頁無法訪問.用tomcat去調試,沒有詳細log..
這兩天在搭建struts2+spring+hibernate框架的過程中遇到如題的錯誤,在百度和谷歌上查了兩天,以致快到了崩潰的邊緣。最后還是解決了。這個問題的出現,原因有很多,在這總結如下,以供分享:
框架搭建好后,啟動服務器出現如下的信息:
log4j:WARN No appenders could be found for logger (org.apache.commons.digester.Digester).
log4j:WARN Please initialize the log4j system properly.
2009-11-6 21:39:17 org.apache.catalina.core.StandardContext start
嚴重: Error listenerStart
2009-11-6 21:39:17 org.apache.catalina.core.StandardContext start
嚴重: Context startup failed due to previous errors
2009-11-6 21:39:17 org.apache.catalina.core.StandardHostDeployer install
信息: Installing web application at context path /tomcat-docs from URL file:D:/server/Tomcat 5.0/webapps/tomcat-docs
2009-11-6 21:39:17 org.apache.catalina.core.StandardHostDeployer install
信息: Installing web application at context path /webdav from URL file:D:/server/Tomcat 5.0/webapps/webdav
。。。。
可能出錯的地方:
1.web.xml文件 web應用部署描述符,里面的部署的xml文件或者類,如果這些找不到就會發生startup failed due to previous errors錯誤。
2.如果在應用spring的話,在配置文件applicationContext.xml中定義的類、xml文件找不到也會報這個錯誤。
3.在web.xml,struts.xml,applicationContext.xml文件中自身有任何一點錯誤都可能引起上面的這個問題,而不僅僅是附帶的文件錯誤導致。
4.如果使用ibatis的話,在SqlMapConfig.xml中定義的xml文件找不到也會報這個錯誤。(hibernate的配置在整合spring的時候使用spring的配置文件)
5.JDK的版本問題,最好使用JDK5.0 或者更高的版本。
6.Eclipse和tomcat的版本兼容問題
7.框架整合的過程中在導入到lib下的jar包沖突也可能產生該錯誤。
8.jar包的缺少以及jar包的版本也可產生該錯誤。
9.其他的原因
解決該問題的途徑:
由于上面問題可能已經是web服務器內部產生了錯誤,而且IDE中的Log信息較少,問題的解決很難入手。
而該問題的產生經常會導致頁面跳轉尋找不到文件的 Http 404 錯誤。。。。。
可以通過在tomcat中添加log文件來讓log信息提示的更精確一些,即設置log輸出的等級。
1.tomcat的安裝路徑下tomcat home下的common文件夾下的classes文件夾中創建log4j.properties文件,即
。。。Apache Software Foundation/Tomcat 5.5/common/classes
log4j.properties配置如下(配置是轉載):
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
2.將log4j-1.2.15.jar和commons-logging.jar包拷貝到。。。Apache Software Foundation/Tomcat 5.5/common/lib下即可。
做好上面兩步,啟動服務器的時候,會在tomcat的安裝路徑下的。。Apache Software Foundation/Tomcat 5.5/logs下自動的
生成tomcat.log文件以記錄日志信息。
注:tomcat.log文件中的日志信息會記載很多,如果過大就可能產生磁盤空間不足的問題,建議定時的清除日志信息。
通過上面的日志文件信息可以定位到比較具體的問題根源,在仔細的查看問題一一攻破即可解決。
我在搭建框架之后,在web.xml文件中配置的歡迎頁面顯示的時候報404的錯誤,通過上面的途徑找到了兩個錯誤,雖然花了兩天的時間,最終還是解決了。
posted on 2012-11-08 16:19 youngturk 閱讀(669) 評論(0) 編輯 收藏 所屬分類: 數據庫方面 、新認識筆記 、Struts 、Java基礎 、struts2 、服務器環境部署 、servlet 、java連接數據庫解析