异常处理:SSH整合中OpenSessionInViewFilter不生效问题的解决

来源:互联网 发布:豆瓣fm推荐算法 编辑:程序博客网 时间:2024/06/05 04:24

SSH整合中各版本为:Struts2、Hibernate4、Spring4

整合中在web.xml中加入了OpenSessionInViewFilter的过滤器,具体如下:

<!-- 配置Struts2的过滤器 --><filter>        <filter-name>struts2</filter-name>        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>    </filter>    <filter-mapping>        <filter-name>struts2</filter-name>        <url-pattern>/*</url-pattern>    </filter-mapping><!-- 配置OpenSessionInViewFilter过滤器 -->    <filter>        <filter-name>OpenSessionInViewFilter</filter-name>        <filter-class>org.springframework.orm.hibernate4.support.OpenSessionInViewFilter</filter-class></filter><filter-mapping>        <filter-name>OpenSessionInViewFilter</filter-name>        <url-pattern>/*</url-pattern></filter-mapping>

但是该过滤器未生效,仍然会报No Session的异常。


无意摆弄了一下代码,将OpenSessionInViewFilter放到Struts2过滤器的前面,问题就得到了解决。

具体如下:

<!-- 配置OpenSessionInViewFilter过滤器 -->    <filter>        <filter-name>OpenSessionInViewFilter</filter-name>        <filter-class>org.springframework.orm.hibernate4.support.OpenSessionInViewFilter</filter-class></filter><filter-mapping>        <filter-name>OpenSessionInViewFilter</filter-name>        <url-pattern>/*</url-pattern></filter-mapping><!-- 配置Struts2的过滤器 --><filter>        <filter-name>struts2</filter-name>        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>    </filter>    <filter-mapping>        <filter-name>struts2</filter-name>        <url-pattern>/*</url-pattern>    </filter-mapping>

看来过滤器的顺序也是很重要的啊!!!

0 0
原创粉丝点击