0

/xxx/* にマッピングされたフィルター (およびサーブレット) を持つ tomcat サーバーを実行しています。//xxx/* を HTTP ヘッダーで uri として送信するクライアントがあります。その結果、サーブレットとフィルターが呼び出されません。/* にフィルターを配置して、リクエストをキャッチし、requestWrapper でラップし、getURI() および getServletPath() メソッドをオーバーライドしようとしました (呼び出し元に単一の / で URI を返すだけです)。動作するので、Tomcat がリクエストを受信すると、最初のフィルターに送信する前に、この uri に対してどのサーブレット/フィルターを評価する必要があるかを決定すると想定しています。これを解決する方法はありますか?フィルターごとにTomcatを再評価させることはできますか? 別の方法はありますか?

前もって感謝します

4

1 に答える 1

0

リクエスト ヘッダー内の URL が仕様に準拠していない場合、Tomcat はそれらを削除することで正しい処理を行っています。

これが問題である場合は、適切な絶対 URL を HTTP 要求に入れるようにクライアントを修正する必要があります。

Tomcat を「ハッキング」してゴミのリクエストを受け付けるようにするのは悪い考えです。プラットフォームをアップグレードしたり、さまざまなネットワーク環境に展開したりするためのオプションが制限されます。

于 2012-11-27T23:37:00.223 に答える