Struts2 Action 的生命周期 问题我在项目中仅用了struts2 + java + jsp 
其它的 没有用。比如现在在LoginAction的对象中有一个Conntion 的属性,我想自己管理这个LoginAction的生命周期,因为只要我一执行完这个LoginAction,我要关闭这个链接。请问我该怎么做呢?我是自己写了一个构造函数public LoginAction(){...}, 然后再重载了Object 的finalize()方法。行是行得通,但是这样做不好,因为Action 默认是延迟关闭的,Conntion 不能及时关闭,别的用户用不了...

解决方案 »

  1.   

    客户请求的每个action都是一个实例,action不是单例的,在每个action里手动关闭数据库连接就行了,最好有个连接池
      

  2.   

    数据库连接是有的,但是要调用close()方法才能关闭链接呀,所以要在这个Action Destroy的时候close一下,这样才会关闭。经我测试,当另一个用户也调用该Action的时候,前一个Action才会关闭,这样如果没有其它的用户调用该Action,则这个链接就没有办法得到关闭,别的用户就不能从池里面取到Connection(如果池满的话).
      

  3.   

    有几点想说:
    1:Action主要是处理什么的?
    2:关闭数据库链接应该写在Action中吗?
    所以我觉得如果不在Action中写数据库操作就不会出现你以上说的问题了