1、Spring 3.0 のドキュメントでは、mvc:annotation-drivenについて:
「このタグは、Spring MVC がリクエストを @Controllers にディスパッチするために必要な DefaultAnnotationHandlerMapping および AnnotationMethodHandlerAdapter Bean を登録します。」
しかし、私はこのタグを春の構成ファイルに挿入していません。私はそれを確信しています。
では、なぜ私のアプリはそれなしで @Controllers にリクエストをディスパッチできるのでしょうか?
2.静的リソースを処理するためにmvc:default-servlet-handlerをアプリに挿入した後、すべてのコントローラーが機能しません。Web ページで 404 not found エラーが発生しますが、静的リソースは問題ありません。
おそらくmvc:annotation-driven Lostであることがわかりました。
残念ながら、カスタマイズされたインターセプターは、mvc:annotation-drivenが追加された後に機能しなくなります。インターセプターの定義は次のとおりです。
<bean id="currentMemberInterceptor" class="com.skill.common.CurrentMemberInjectionInterceptor" />
<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
<property name="interceptors">
<list>
<ref bean="currentMemberInterceptor" />
</list>
</property>
</bean>
インターセプター定義が次のような mvc タグに変更された場合、インターセプターは機能します。
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/" />
<bean class="com.skill.common.CurrentMemberInjectionInterceptor" />
</mvc:interceptor>
</mvc:interceptors>
春のリファレンスを読んだ後、これらのタグと関係を理解できません。
助けてください、ありがとう!