2013-04-28 41 views
0

如何獲取tomcat生成的404錯誤列表?有沒有任何JMX或其他API來尋找Tomcat響應404的資源(URI)?如何以編程方式獲得Tomcat生成的404錯誤列表

ANSWER

作爲公認的答案提到的,我應該用在Tomcat中Valve功能。以下是我所做的:

  1. 擴展org.apache.catalina.valves.ErrorReportValve和優先report() method
  2. 將我的閥server.xml<Host>的元素:
    <Valve className="my.package.HttpErrorValve" />
+0

訪問日誌也許? – 2013-04-28 06:15:06

+0

更好地以編程方式找到它 – Mohsen 2013-04-28 06:16:08

+1

如果我錯了,我相信我會被糾正的,但我確信Tomcat不會保留任何失敗請求狀態。如果Tomcat將所有失敗請求的狀態保存在內存中,則DOS攻擊將變得微不足道,通常很容易找到在站點上返回404的鏈接,因此您可以快速填充內存。 – 2013-04-28 06:20:34

回答

0

正如約阿希姆說,你可以使用access log valve(%S,R,...)在運行時登錄404。如果你重寫它,你可以結合使用uri和date(也許是day)來防止記錄兩次或將其存儲到數據庫以便查詢。要檢查代碼中的死鏈接,可以使用Selenium測試。