使用struts 2 spring 3和hibernate解释Java EE项目的web.xml的差异

时间:2012-02-28 10:01:04

标签: spring hibernate struts2

我正在尝试将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过滤器,而在其他项目中我们可以使用它。

1 个答案:

答案 0 :(得分:1)

它就像很多问题一样,这里只有很少的答案。

  • 过滤器调度程序和StrutsPrepareAndExecuteFilter用于执行相同的工作,StrutsPrepareAndExecuteFilterFiterDispatcher的最新版本,有很多改进,并牢记未来的需求。因此,简而言之FiterDispatcher已被弃用。
  • StrutsPrepareAndExecuteFilter是S2的入口点,负责处理任何请求和响应。简而言之,Filter用于监视客户端对servlet的请求和响应,或者修改请求和响应,或者审计和记录。
  • 侦听器用于侦听Web容器中的事件,例如创建会话或在会话中放置属性时。

所以这给出了一个关于乳清我们使用S2的过滤器和Spring的监听器的简要概念,你可以做更多的谷歌搜索,以获得有关这些差异以及他们如何工作的更多信息。

Hibernate过滤器用于某些特定用途 - 例如,这样的用例是过滤搜索结果。有时需要只处理基础数据库表中的数据子集,并且hibernate过滤器可以有更多这样的用例,并且只有在需要时它们才会出现。