SSH整合之-OpenSessionInViewFilter为何无效?
2014-01-15 10:14 _cha1R 阅读(379) 评论(0) 编辑 收藏 举报今天从新搭建了一下SSH整合架构,在使用多对一时发现在JSP上用多方获取一方时,报出了 session is closed的错误。但是我在web.xml明明有配OpenSessionInViewFilter,那为什么会出现这个情况呢?
研究了一下,我犯了两个错误。
第一个错误,在OpenSessionInViewFilter的<fileter-mapping>里,应该排在struts2前面,至于为什么会这样?估计是加载顺序的问题,WEB.XML里谁排在前面,谁就先执行。
第二个错误,<url-pattern>里,我把路径配成*.action了。很明显,要后缀名为.action的URL才会被这个拦截器过滤。因为配置代码我是拷贝以前的练习项目的,为什么会加*.action呢?原因是以前只配*的话,过滤器会所有URL都过滤掉,包括图片什么的。比较浪费性能。还有一点就是以前的练习项目比较规范,所有action后缀名都加上.action,所以没出现这个错误。而现在我暂时把它改成了/*。这就暂时解决了。