4

Web アプリケーションのルート (「/」) にマップしたいアプリケーション コンテキストで構成されたインターセプターがあります。

<mvc:interceptors>
    <bean class="com.example.SslInterceptor" />
    <mvc:interceptor>
        <mvc:mapping path="/" />
        <mvc:mapping path="/login" />
        <bean class="com.example.SslInterceptor" />
    </mvc:interceptor>
</mvc:interceptors>

ただし、インターセプターは「/login」に対して呼び出されますが、「/」に対しては呼び出されません。助けてください

4

2 に答える 2

3

次のように、サーブレット構成 xml ファイルのインターセプター構成を変更してください。

<mvc:annotation-driven/>
<mvc:default-servlet-handler/>

<mvc:interceptors>
  <mvc:interceptor>
    <mvc:mapping path="/**"/>
    <bean class="de.scrappy.web.TestInterceptor"/>
  </mvc:interceptor>
</mvc:interceptors>
于 2012-12-11T08:52:53.147 に答える
0

本当にルート パスのみをマップしますか?それとも '/*' を意味しますか? とにかく、次の構成はSpring 3.1.1を使用して機能します.DispatcherServletはweb.xmlのルート(「/」)にマップされています:

<mvc:annotation-driven/>
<mvc:default-servlet-handler/>

<mvc:interceptors>
  <mvc:interceptor>
    <mvc:mapping path="/"/>
    <bean class="de.scrappy.web.TestInterceptor"/>
  </mvc:interceptor>
</mvc:interceptors>

Spring のどのバージョンを使用していますか?Spring の DispatcherServlet はどのようにマッピングされていますか? そして、TestInterceptorimplementsが異なる方法で処理されるHandlerInterceptorかどうかはわかりません。WebRequestInterceptors

于 2012-08-30T10:40:08.410 に答える