我的應用程序正在使用spring applicationContext.xml。我有一個自定義過濾器類(CustomFilter implements Filter),我想在我的應用程序中使用它。執行此操作的正確方法是在applicationContext.xml中創建<bean...
註冊?或者簡單的放在web.xml裏面?我想放在applicationContext.xml裏面。但我不知道如何指定將觸發此過濾器的「路徑」。示例myapp/testcustomfilter
將觸發此過濾器。在applicationcontext.xml中添加自定義過濾器類
回答
FilterToBeanProxy類代理請求彈出託管的bean。您必須在web.xml中定義此過濾器,並將targetBean參數指向您的託管bean。還請檢查FilterChainProxy以定義過濾器鏈。
您的過濾器類可以駐留在applicationContext.xml
中,並且可以像其他任何Spring bean一樣對待。但是,您需要添加一些內容到web.xml
以允許服務器容器獲取它的句柄。
這是春天的DelegatingFilterProxy
進來從javadoc:
代理爲標準的Servlet 2.3過濾器,委託給一個實現Filter接口Spring管理的bean。在web.xml中支持「targetBeanName」過濾器init-param,在Spring應用程序上下文中指定目標bean的名稱。
web.xml通常會包含一個DelegatingFilterProxy定義,其中指定的filter-name對應於Spring的根應用程序上下文中的一個bean名稱。所有對過濾器代理的調用都將在Spring上下文中委託給該bean,這是實現標準Servlet 2.3過濾器接口所必需的。
此方法對於具有複雜設置需求的過濾器實現特別有用,允許將完整的Spring bean定義機制應用於過濾器實例。
最簡單的設置是在web.xml
定義DelegatingFilterProxy
濾波器具有相同的名稱作爲applicationContext.xml
濾波器豆。 DelegatingFilterProxy
將照顧其餘。
只需註冊您的Filter
在web.xml
工程就好了。在我們的應用程序中,我們有非Spring和Spring過濾器的混合體(非Spring過濾器是傳統代碼),它們都很好地一起玩。它還使得維護更容易,因爲您只需要查看一個位置以查看連接的方式,因爲根據定義,web.xml
中的順序是執行順序。
- 1. 添加自定義過濾器
- 2. 自定義過濾器添加分頁
- 3. 在spring security 3.0中添加自定義過濾器
- 4. 在GAE 1.6.0中添加一個自定義的Jinja2過濾器
- 5. Magento在左側過濾器中添加自定義選項
- 6. 如何在自定義過濾器中添加多個參數?
- 7. 如何在JBoss Seam中添加自定義過濾器
- 8. 添加過濾器添加類在WordPress
- 9. 自定義ArrayAdapter自定義過濾器
- 10. 添加自定義過濾器到Drupal 7中的視圖
- 11. 在金字塔下向jinja2添加自定義過濾器
- 12. Infragistics iggrid:在渲染後添加自定義過濾器
- 13. 在GAE上爲jinja2添加一個自定義過濾器
- 14. 添加過濾器到自定義控制器Dunglas API
- 15. Solr不加載自定義過濾器
- 16. 在Solr中自定義KStem過濾器
- 17. 添加類別過濾器
- 18. RadGrid自定義過濾器
- 19. 自定義ActiveAdmin過濾器
- 20. 角自定義過濾器
- 21. Cobertura自定義過濾器
- 22. PrestaShop自定義過濾器
- 23. SlickGrid自定義過濾器
- 24. QueryBuilder自定義過濾器
- 25. 如何添加過濾器定製metabox的WordPress的自定義後類型?
- 26. 如何使用@WebMvcTest並在我自己的自定義過濾器中添加?
- 27. 將自定義過濾器字段添加到jQuery Datatable
- 28. 「java.lang.IllegalStateException:此對象尚未建成」添加自定義過濾器
- 29. the_content過濾器將自定義字段添加到JSON響應
- 30. Elasticsearch自定義排序/添加過濾器子句分數