在Struts2的開發時,很多人會問為什麼有些聲明篩檢程式類是 “FilterDispatcher“; 而有一些又是“StrutsPrepareAndExecuteFilter“? 但兩者都可以正常使用,並有什麼區別?
1. FilterDispatcher 示例
... <filter> <filter-name>struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.FilterDispatcher </filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> ...
2. StrutsPrepareAndExecuteFilter 示例
... <filter> <filter-name>struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter </filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> ...
回答:
The FilterDispatcher (org.apache.struts2.dispatcher.FilterDispatcher) 被用在早期的Struts2開發,並且在 Struts 2.1.3中它就被廢棄了。
如果使用Struts版本 >= 2.1.3, 它總是建議升級到新的篩檢程式類 –StrutsPrepareAndExecuteFilter (org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter).
參考
上一篇:
Struts2+Log4j集成
下一篇:
Struts2獲取HttpServletRequest實例