【发布时间】:2013-04-17 20:23:22
【问题描述】:
我在 web.xml 中见过两种 Struts 2 过滤器。
org.apache.struts2.dispatcher.FilterDispatcherorg.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
请告诉我这两个过滤器的区别?
【问题讨论】:
-
如果您使用的 Struts 版本 >= 2.1.3,始终建议升级新的过滤器类——StrutsPrepareAndExecuteFilter (org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter)。见mkyong.com/struts2/…
-
我想从代码中提取原因,但不在家用计算机附近...无论如何,StrutsPrepareAndExecuteFilter 是两者中较新的。如果您签入同一个包,则还有一个准备和一个单独的执行过滤器。这让过滤器级别的其他组件可以更好地与 struts2 交互。我认为准备过滤器会加载执行操作所需的所有内容,但不会启动执行。这让第 3 方组件可以与 struts2 交互(我没有足够的创造力来考虑任何用例)。 StrutsPrepareAndExecuteFilter 只是将这两个文件管理器剪切并粘贴到
-
一节课。所以我很确定维护这个类更简单,这就是不推荐使用 FilterDispacher 的原因。