特定のパラメータでリクエストをフィルタリングするにはどうすればよいですか。たとえば、「csrf-token」パラメータ名でリクエストのみをフィルタリングします。フィルターは、要求に必要なパラメーター名があるかどうかを最初に確認し、必要なパラメーターのないものはバイパスします。
以下はweb.xmlファイルをセットアップする方法ですが、問題はすべてのリクエストがフィルタリングされることです:
<filter>
<filter-name>CSRFTest</filter-name>
<filter-class>org.example.CSRFFilter</filter-class>
<init-param>
<param-name>csrf_token</param-name>
<param-value>csrf</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CSRFTest</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>CrossSiteScriptStripper</filter-name>
<filter-class>CrossSiteScriptStripperFilter</filter-class>
</filter>
<!-- Apply the CrossSiteScriptStripper filter to all servlets and JSP pages. -->
<filter-mapping>
<filter-name>CrossSiteScriptStripper</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
pb2q によって与えられた回答はテスト プロジェクトで機能していますが、実際のプロジェクトに挿入するとエラーが発生します。2つのフィルターを使用することは可能ですか?