struts2 两个action共用一个数据库连接吗?
我有一个listAction用来显示产品列表的页面,有另一个addAction用来新增产品。我需要首先在addAction中打开一个数据库连接Conn对象,执行新增产品操...
我有一个listAction用来显示产品列表的页面,有另一个addAction用来新增产品。我需要首先在addAction中打开一个数据库连接Conn对象,执行新增产品操作,addAction执行完后跳转(redirect)到listAction,使用同样的Conn对象来显示产品列表,最后才关闭数据库连接。因为为了节省数据库开销,我不想在addAction中先打开conn再关闭,然后到listAction又打开conn再关闭。不知道这种想法可行不?不要告诉我用session来保存conn哈,比较麻烦。最好能通过拦截器或者监听器类似的机制来实现,或者有什么类可以在所有action执行前后做控制的。谢谢大家。
展开
5个回答
展开全部
struts2
每次请求都会实例化action类,addAction使用的是action实例,listAction 用的是另一个action实例。
数据操作最好封装起来。connection从连接池获取
每次请求都会实例化action类,addAction使用的是action实例,listAction 用的是另一个action实例。
数据操作最好封装起来。connection从连接池获取
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
推荐用池连,在TomCat里配。
然后做一个池连的SQL封装Bean.
这里池连其实就是多线程管理数据库,默认最大连接数是4,缓冲2。
在Action里调用或其他地方调用池连的时候,要注意关闭,
比如在Action里实例化SqlBean,然后用实例化对象点出getcon.close方法关闭 否则刷新几次后你会发现控制台会报错 可能是500,这时候重启tomcat也许有用,更改线程数也只是杀鸡取卵,哪里开启就在哪里关闭。
注:线程数越大速度越慢
有什么问题可以Q我 61670844
然后做一个池连的SQL封装Bean.
这里池连其实就是多线程管理数据库,默认最大连接数是4,缓冲2。
在Action里调用或其他地方调用池连的时候,要注意关闭,
比如在Action里实例化SqlBean,然后用实例化对象点出getcon.close方法关闭 否则刷新几次后你会发现控制台会报错 可能是500,这时候重启tomcat也许有用,更改线程数也只是杀鸡取卵,哪里开启就在哪里关闭。
注:线程数越大速度越慢
有什么问题可以Q我 61670844
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你应该把数据库操作封装起来,Action里面调用封装的方法返回数据,然后前台调用。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
连接池
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询