在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實例
