まず、Javaプログラマではない、あるいはTomcatに非常に精通していると言わせてください。 Apache Tomcat 5.0.9で動作するSaaSアプリケーションです。私はサーバー構成ファイルへのアクセス権がなく、.jspファイルも追加できません。私は午前tomcat 5.0.9サーバにアクセスできない404エラーページの宣言 - カスタム404メッセージが必要
状況です私は、Mozilla Rhinoの環境で実行されているスクリプトを持っていると私は、次の2つのオブジェクトへのアクセスがあります。
org.apache.coyote.tomcat5.CoyoteRequestFacade org.apacheを。 coyote.tomcat5.CoyoteResponseFacade
ステータスをSC_NOT_FOUND(404)に設定し、カスタムメッセージを提供する必要があります。問題は、私が何をしていてもステータスが404なら、ベンダーが設定した "醜い" 404エラーメッセージが出ます。私は "sendError"、 "setStatus"を使用しようとしましたが、ディスパッチャを取得して別のページにリダイレクトしようとしましたが、ステータスを404に設定している間にラッパーを試しましたが、フィルタについての情報を見たことがありますが、この状況でそれをどのように適用するか、それが正しいアプローチであるかどうかはわかりません。
また、404が設定されるとすぐに、Webサーバーは自身のページを提供するように見えます。私はこれをオーバーライドできない "エラーページの宣言"であると仮定しています。私はこの質問How to get the message in a custom error page (Tomcat)?(と他の多くの)を読んだが、私はこれを私の特定の状況に翻訳するのに十分理解していない。
したがって、エラーページの宣言をプログラムで「オーバーライド」することは可能ですか?または、404エラーとを返すにはどうすればよいですか?私は、この時点で、平易なテキストのために解決するだろう - それは空想的である必要はありません。 404ステータスを使用するには何らかの方法が必要ですとは「使いやすい」メッセージを表示します。
ご協力いただければ幸いです!
P.S.このアプローチの理由は、問題のページが検索エンジンと人間の両方によって(潜在的に)消費されるということです。検索エンジンがキャッシュからページを削除するように404が必要なので、利用可能なページがなくなったために必要なステップを人間の知事に伝えるためには、「きれいな」メッセージが必要です。
ありがとうございました!私は404が機械と人の両方によって消費されることに言及すべきでした。私は両方が必要なのです。私はマシンがキャッシュからページを削除するように404が必要ですが、人間がそれを読んだら「かなり」のメッセージが必要です。私は私の質問を更新します。 –
web.xmlを修正できない場合は、標準のtomcatエラーページを置き換える方法はないと思います –