首先,讓我說我不是Java程序員,或者非常熟悉Tomcat,所以請耐心等待:)我正在與運行在Apache Tomcat 5.0.9上的SaaS應用程序。我無法訪問服務器配置文件,也無法添加.jsp文件。tomcat 5.0.9重寫404錯誤頁面聲明無需訪問服務器 - 需要自定義404消息
我在的情況是我有一個在Mozilla的犀牛環境中運行的腳本,我有機會獲得以下兩個對象:
org.apache.coyote.tomcat5.CoyoteRequestFacade org.apache。 coyote.tomcat5.CoyoteResponseFacade
我需要將狀態設置爲SC_NOT_FOUND(404)並提供自定義消息。問題是,不管我做什麼,如果狀態是404,我得到由供應商設置的「醜陋」404錯誤消息。我曾嘗試使用「sendError」,「setStatus」,我試圖讓調度員和重定向到另一個頁面,同時也設置狀態爲404,我試過一個包裝,但不知道我在做什麼,已經看到有關過濾器的信息,但不知道如何在這種情況下應用,或者即使這是正確的方法。
同樣,似乎只要設置了404,網絡服務器就會提供它自己的頁面。我假設這是一個「錯誤頁面聲明」,我不能重寫。我已經通讀這個問題How to get the message in a custom error page (Tomcat)?(以及其他許多人),但我不明白這足以將信息轉化爲我的特定情況。
那麼,是不是可以「覆蓋」錯誤頁聲明編程?或者,考慮到我所處環境的侷限性,如何返回404錯誤和自定義錯誤頁面?在這一點上,我只會以純文本的方式解決問題 - 不一定是花哨的。我只需要一些方法來使用404狀態和顯示「用戶友好」的消息。
任何幫助將不勝感激!
P.S.我應該提一下,這種方法的原因是相關頁面將被搜索引擎和人類消費(可能)。我需要404以便搜索引擎從其緩存中刪除頁面,並且我需要「漂亮」的消息告訴人類訪問者由於不再可用的頁面而需要採取的步驟。
謝謝你!我應該提到404會被機器和人們消費,這就是爲什麼我需要這兩者。我需要404這樣的機器從它的緩存中刪除頁面,但如果一個人讀取它,我需要一個「漂亮」的消息。我會更新我的問題。 – 2012-03-25 16:24:31
如果你不能修改web.xml,我不認爲你有什麼辦法可以替換標準的tomcat錯誤頁面 – 2012-03-25 16:26:54