Struts2 Action 的生命周期 问题

sugarTan 2011-03-13 10:50:48
Struts2 Action 的生命周期 问题

我在项目中仅用了struts2 + java + jsp
其它的 没有用。

比如现在在LoginAction的对象中有一个Conntion 的属性,我想自己管理这个LoginAction的生命周期,因为只要我一执行完这个LoginAction,我要关闭这个链接。请问我该怎么做呢?

我是自己写了一个构造函数public LoginAction(){...}, 然后再重载了Object 的finalize()方法。行是行得通,但是这样做不好,因为Action 默认是延迟关闭的,Conntion 不能及时关闭,别的用户用不了...
...全文
446 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
sugarTan 2011-03-13
  • 打赏
  • 举报
回复
楼上说得是!让我思路清晰了很多!
NickCheng 2011-03-13
  • 打赏
  • 举报
回复
有几点想说:
1:Action主要是处理什么的?
2:关闭数据库链接应该写在Action中吗?
所以我觉得如果不在Action中写数据库操作就不会出现你以上说的问题了
sugarTan 2011-03-13
  • 打赏
  • 举报
回复
数据库连接是有的,但是要调用close()方法才能关闭链接呀,所以要在这个Action Destroy的时候close一下,这样才会关闭。

经我测试,当另一个用户也调用该Action的时候,前一个Action才会关闭,这样如果没有其它的用户调用该Action,则这个链接就没有办法得到关闭,别的用户就不能从池里面取到Connection(如果池满的话).
wyang1991 2011-03-13
  • 打赏
  • 举报
回复
客户请求的每个action都是一个实例,action不是单例的,在每个action里手动关闭数据库连接就行了,最好有个连接池
ituuz 2011-03-13
  • 打赏
  • 举报
回复
将业务和数据的持久化分开

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧