私のSpring MVCアプリにこれが見られますweb.xml:
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
なぜそこにあるのか、そしてそれが実際に必要かどうかを理解しようとしています。
私はこの説明をSpringドキュメントで見つけましたが、それは私がそれを理解するのに役立ちません:
このコンポーネントは、で定義されたサーブレットweb.xmlとSpringで定義されたコンポーネントの間の「接着剤」であることが示唆されているようapplicationContext.xmlです。
7.1 DelegatingFilterProxy
サーブレットフィルターを使用する場合は、明らかにそれらをで宣言する必要があります
web.xml。そうしないと、サーブレットコンテナーによって無視されます。Spring Securityでは、フィルタークラスはアプリケーションコンテキストで定義されたSpring Beanでもあるため、Springの豊富な依存性注入機能とライフサイクルインターフェースを利用できます。SpringはとアプリケーションコンテキストDelegatingFilterProxy間のリンクを提供しweb.xmlます。DelegatingFilterProxyを使用すると、
web.xmlファイルに次のようなものが表示されます。<filter> <filter-name>myFilter</filter-name> <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> </filter> <filter-mapping> <filter-name>myFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>フィルターは実際には
DelegatingFilterProxyであり、実際にフィルターのロジックを実装するクラスではないことに注意してください。どのようなDelegatingFilterProxy行いは、Springアプリケーションコンテキストから取得された豆を通過フィルタのメソッドを委譲です。これにより、BeanはSpring Webアプリケーションのコンテキストライフサイクルサポートと構成の柔軟性を活用できます。Beanは実装javax.servlet.Filterする必要があり、filter-name要素と同じ名前である必要があります。詳細については、DelegatingFilterProxyのJavadocを参照してください
それで、これをから取り出した場合web.xml、どうなりますか?サーブレットがSpringコンテナと通信できなくなりますか?**