一个Web Application中数据库连接的获取

lovelyfirefox 2004-11-23 08:43:49
刚开始学习J2EE时就读到数据库连接的建立是很耗时间的,于是我在写自己的代码时,先写了一个listener,程序一开始就建立好连接(contextInitialized里做),然后把它放入servletContext中,程序其它地方需要数据库时,先从servletContext中取出这个连接。不知这样做会不会引起其它意想不到的问题,如线程,安全性等等。

另外,我这样安排后,每个DAO对象从servletContext中取值时,我做的是:先extends HttpServlet,然后在构造函数里:_conn = (Connection) getServletContext().getAttribute("dbConnection");DAO继承HttpServlet会不会怪怪的。

我在看一个case study时,里面所做的是在每个DAO对象的构造函数里分别建立数据库连接。

所以我想知道,我的做法有什么不妥,大家都是怎么来处理这个问题的

谢谢
...全文
174 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
rabbitbug 2004-11-25
  • 打赏
  • 举报
回复
不太好吧
Servlet支持并发
可以多个用户同时访问
万一你有好多用户同时要数据库连接时你怎么办?
连接只有一个
而不是有多个备份

还是直接用现成的连接池
tom2005 2004-11-23
  • 打赏
  • 举报
回复
帮你UP
frhwxx 2004-11-23
  • 打赏
  • 举报
回复
没有这么做过!
drugon 2004-11-23
  • 打赏
  • 举报
回复
不清楚,没那么做过,帮你UP
langxiaofeng 2004-11-23
  • 打赏
  • 举报
回复
写连接池就更好了...
langxiaofeng 2004-11-23
  • 打赏
  • 举报
回复
不错,,,这样做我觉的有创意////访问速度还可以,,,,
林仪明 2004-11-23
  • 打赏
  • 举报
回复
不过,apache上有成熟的数据连接池实现,你自己学习就好了!用的话,还是用现成的吧
林仪明 2004-11-23
  • 打赏
  • 举报
回复
恩恩!写个连接池吧。
一个连接
http://blog.csdn.net/differ1/articles/134937.aspx

另外
你还可以把这个数据连接池做成一个服务。写成servlet。在web.xml中配置成web server启动时加载。
这样做和放在servletcontext中效果差不多。不过可以免去对象的装箱和拆箱操作。
福瑞德孟 2004-11-23
  • 打赏
  • 举报
回复
你这么做只有一个数据连接.
如果想实现你说的想法,做连接池就可以了.
初始化出来几个连接,DAO用的时候就来取.

lovelyfirefox 2004-11-23
  • 打赏
  • 举报
回复
那大家都是怎么处理数据库的连接呢,不会是在每个DAO里建立一个新连接吧

67,515

社区成员

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

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