解决方案 »

  1.   

    就用第一种方法,  不要直接调用dao, 调用service, 一般项目中service层会切入事务,会开启session.不然就加个OpenSessionInViewFilter 具体作用自己百度一下, 加在你这拦截filter之前.
      

  2.   

    spring不是监听器的时候初始化容器么,报这种错误应该是没加事务吧,楼上说的对,用service,一般事务都加在service层了
      

  3.   

    非常感谢,使用你的方法,确实解决了问题,但是加了opensessionInView后,性能有所降低。但也没有办法,先暂时这样吧。
    非常感谢
      

  4.   

    你filter的init方法就会去操作数据库?
      

  5.   


    我没有在init方法中去做,我在doFilter中操作的。
      

  6.   


    我没有在init方法中去做,我在doFilter中操作的。doFilter的话和你服务器启动加载有什么关系?
      

  7.   


    我没有在init方法中去做,我在doFilter中操作的。doFilter的话和你服务器启动加载有什么关系?
    你的意思是,执行doFilter方法的时候,Spring的bean已经加载了吗?
    执行doFilter的时候,bean确实加载了,但是在加载Filter的时候,bean还没有加载啊,有一个先来后到的问题。这个网上关于这个的说明很多。
      

  8.   


    我没有在init方法中去做,我在doFilter中操作的。doFilter的话和你服务器启动加载有什么关系?
    你的意思是,执行doFilter方法的时候,Spring的bean已经加载了吗?
    执行doFilter的时候,bean确实加载了,但是在加载Filter的时候,bean还没有加载啊,有一个先来后到的问题。这个网上关于这个的说明很多。是的~你可以用Interceptor来做
      

  9.   


    我没有在init方法中去做,我在doFilter中操作的。doFilter的话和你服务器启动加载有什么关系?
    你的意思是,执行doFilter方法的时候,Spring的bean已经加载了吗?
    执行doFilter的时候,bean确实加载了,但是在加载Filter的时候,bean还没有加载啊,有一个先来后到的问题。这个网上关于这个的说明很多。是的~你可以用Interceptor来做
    哦,我没有用过这个,我试一下
      

  10.   


    我没有在init方法中去做,我在doFilter中操作的。doFilter的话和你服务器启动加载有什么关系?
    你的意思是,执行doFilter方法的时候,Spring的bean已经加载了吗?
    执行doFilter的时候,bean确实加载了,但是在加载Filter的时候,bean还没有加载啊,有一个先来后到的问题。这个网上关于这个的说明很多。是的~你可以用Interceptor来做
    拦截器实现不了这种方式吧?拦截器只能拦截action,我这里需要获取用户所有的点击内容,不管是action还是jsp。有可能是我对拦截器了解不深吧,其实之前我也想用它,但是想到action很多,而且要实现的话,代码量比使用filter大。
      

  11.   


    我没有在init方法中去做,我在doFilter中操作的。doFilter的话和你服务器启动加载有什么关系?
    你的意思是,执行doFilter方法的时候,Spring的bean已经加载了吗?
    执行doFilter的时候,bean确实加载了,但是在加载Filter的时候,bean还没有加载啊,有一个先来后到的问题。这个网上关于这个的说明很多。是的~你可以用Interceptor来做
    拦截器实现不了这种方式吧?拦截器只能拦截action,我这里需要获取用户所有的点击内容,不管是action还是jsp。有可能是我对拦截器了解不深吧,其实之前我也想用它,但是想到action很多,而且要实现的话,代码量比使用filter大。当然可以,你jsp的调用不是在action里吗?
    代码量怎么会变大?和你的action多少有什么关系?
      

  12.   

    jsp的调用不一定都在action里面,比如首页index.jsp。