日期:2014-05-19  浏览次数:20678 次

关于OpenSessionInViewFilter,StrutsPrepareAndExecuteFilter的问题,请教各位!!!
WEB.XML
中如果写成
<filter>
  <filter-name>struts2</filter-name>
  <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
  </filter>
<filter>
<filter-name>OpenSessionInViewFilter</filter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>OpenSessionInViewFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
可以实行懒加载的效果

但是我过滤的功能
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter>
<filter-name>BehindFilter</filter-name>
<filter-class>com.bzu.Filter.BehindFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>BehindFilter</filter-name>
<url-pattern>/jsp/behind/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
BehindFilter类就没有办法用了

要么去掉OpenSessionInViewFilter,这样过滤类就能其作用了,但是不能实现懒加载了,请问有什么好的方法没有,2个都能用,要怎么修改配置文件,还是新手,希望大家给点意见,多谢了

------解决方案--------------------
<filter>
<filter-name>BehindFilter</filter-name>
<filter-class>com.bzu.Filter.BehindFilter</filter-class>
</filter>

  
<filter-mapping>
<filter-name>BehindFilter</filter-name>
<url-pattern>/jsp/behind/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter>
<filter-name>OpenSessionInViewFilter</filter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>OpenSessionInViewFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

试试看