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个都能用,要怎么修改配置文件,还是新手,希望大家给点意见,多谢了

解决方案 »

  1.   

    你的OpenSessionInViewFilter是写在BehindFilter前面还是后面哦,把BehindFilter写在OpenSessionInViewFilter的前面
      

  2.   

    <filter> 
      <filter-name>OpenSessionInViewFilter</filter-name> 
      <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter                  </filter-class>   <init-param> 
        <param-name>singleSession</param-name> 
        <param-value>true</param-value> 
      </init-param> 
    </filter>延迟加载OpenSessionInViewFilter
      

  3.   

    这个我也有试过,但是写
    <filter>
      <filter-name>struts2</filter-name>
      <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
      </filter>的时候,Eclipse的WEB.XML好像报错,不过我会再试试看的,谢谢你的意见
      

  4.   

    写在后面的话
    <filter>
    <filter-name>struts2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>跟
    <filter>
            <filter-name>struts2</filter-name>
            <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
        </filter>有冲突
    后面那个<filter-name>struts2</filter-name>前面会报错,出现一个小红叉的
      

  5.   

    去掉
    <filter>
    <filter-name>struts2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>就是先不了拦截功能了
      

  6.   

    <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>试试看