0

jsp:include を介して jsp ページを含む jsp ページがあります。問題は、含まれている jsp の要求がフィルターを通過するかどうかです。以下は、web.xml でのフィルター マッピングです。

    <filter-mapping>
    <filter-name>XYZFilter</filter-name>
    <url-pattern>/*</url-pattern>
    <dispatcher>INCLUDE</dispatcher>
    <dispatcher>REQUEST</dispatcher>
</filter-mapping>

しかし、これはうまくいかないようです。フィルタは、含まれている jsp に対して呼び出されません。私は何が間違っているのですか、それともまったく可能ですか?

4

2 に答える 2

2

この<dispatcher>サポートはサーブレット2.4で導入されました。したがって、機能しない場合は、古いサーブレット2.3コンテナ(Tomcat 5.0など)でWebアプリケーションを実行しているか、web.xmlサーブレット2.3 DTDに従って宣言されているか、バージョン固有の宣言がまったくないことを意味している可能性があります。これにより、コンテナは互換性が最も低いモードにフォールバックします。

web.xmlターゲットランタイムでサポートされているサーブレットAPIの最大バージョンに準拠していると宣言されていることを確認してください。ターゲットランタイムがたとえばサーブレット2.5コンテナであるTomcat6.0の場合、web.xml準拠サーブレット2.5を宣言する必要があります。

<?xml version="1.0" encoding="UTF-8"?>
<web-app 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    id="WebApp_ID" version="2.5">

    <!-- Your config here -->
</web-app>
于 2011-06-13T13:15:32.157 に答える
0

これはうまくいくはずです。<dispatcher>INCLUDE</dispatcher>あなたのフィルターマッピングでは、ディスパッチを含めるためのフィルターも含めると言っています。

コードをデバッグしてください。他の場所で問題が発生しています。

于 2011-06-13T13:04:53.833 に答える