我正在尝试将Struts 2与Spring和Hibernate集成。在web.xml中有一些我不理解的东西:
具有以下值的Struts 2“filter-class”标记之间的区别是什么:
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter <br/>
或
org.apache.struts2.dispatcher.FilterDispatcher <br/><br/>
为什么我们为Struts使用Filter
并为Spring使用Listener
,而shat是它们之间的区别。
为什么在某些项目中我们可以省略hibernate过滤器,而在其他项目中我们可以使用它。
答案 0 :(得分:1)
它就像很多问题一样,这里只有很少的答案。
StrutsPrepareAndExecuteFilter
用于执行相同的工作,StrutsPrepareAndExecuteFilter
是FiterDispatcher
的最新版本,有很多改进,并牢记未来的需求。因此,简而言之FiterDispatcher
已被弃用。StrutsPrepareAndExecuteFilter
是S2的入口点,负责处理任何请求和响应。简而言之,Filter用于监视客户端对servlet的请求和响应,或者修改请求和响应,或者审计和记录。所以这给出了一个关于乳清我们使用S2的过滤器和Spring的监听器的简要概念,你可以做更多的谷歌搜索,以获得有关这些差异以及他们如何工作的更多信息。
Hibernate过滤器用于某些特定用途 - 例如,这样的用例是过滤搜索结果。有时需要只处理基础数据库表中的数据子集,并且hibernate过滤器可以有更多这样的用例,并且只有在需要时它们才会出现。