struts2 两个action共用一个数据库连接吗?

我有一个listAction用来显示产品列表的页面,有另一个addAction用来新增产品。我需要首先在addAction中打开一个数据库连接Conn对象,执行新增产品操... 我有一个listAction用来显示产品列表的页面,有另一个addAction用来新增产品。我需要首先在addAction中打开一个数据库连接Conn对象,执行新增产品操作,addAction执行完后跳转(redirect)到listAction,使用同样的Conn对象来显示产品列表,最后才关闭数据库连接。因为为了节省数据库开销,我不想在addAction中先打开conn再关闭,然后到listAction又打开conn再关闭。不知道这种想法可行不?不要告诉我用session来保存conn哈,比较麻烦。最好能通过拦截器或者监听器类似的机制来实现,或者有什么类可以在所有action执行前后做控制的。谢谢大家。 展开
 我来答
summeriswind
2012-10-16 · 超过16用户采纳过TA的回答
知道答主
回答量:117
采纳率:0%
帮助的人:32.2万
展开全部
我建议是可以写一个方法封装对数据库的连接,但是其实很多时候都是不会每次要用到数据库的时候就去连接,这样也是不合理的。就像你说的“不想在addAction中先打开conn再关闭,然后到listAction又打开conn再关闭”,我认为简单点可以写个数据库的连接池,还有就是如果可以的话可以把项目整合进hibernate和spring中,这样操作数据库会更加简洁(一般不推荐,不必为了个数据库的连接这个功能而去添加这些支持)
百度网友dfb61d1b0
2012-10-16 · TA获得超过404个赞
知道小有建树答主
回答量:385
采纳率:66%
帮助的人:151万
展开全部
struts2

每次请求都会实例化action类,addAction使用的是action实例,listAction 用的是另一个action实例。
数据操作最好封装起来。connection从连接池获取
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
BurgessaWang
2012-10-18 · TA获得超过467个赞
知道小有建树答主
回答量:322
采纳率:0%
帮助的人:236万
展开全部
推荐用池连,在TomCat里配。
然后做一个池连的SQL封装Bean.
这里池连其实就是多线程管理数据库,默认最大连接数是4,缓冲2。

在Action里调用或其他地方调用池连的时候,要注意关闭,
比如在Action里实例化SqlBean,然后用实例化对象点出getcon.close方法关闭 否则刷新几次后你会发现控制台会报错 可能是500,这时候重启tomcat也许有用,更改线程数也只是杀鸡取卵,哪里开启就在哪里关闭。
注:线程数越大速度越慢

有什么问题可以Q我 61670844
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
andygulin
2012-10-16 · TA获得超过1678个赞
知道小有建树答主
回答量:1362
采纳率:0%
帮助的人:1110万
展开全部
你应该把数据库操作封装起来,Action里面调用封装的方法返回数据,然后前台调用。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mmyy89934266
2012-10-16 · TA获得超过221个赞
知道答主
回答量:32
采纳率:50%
帮助的人:11.9万
展开全部
连接池
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式