初学jsp,生成一个数据库连接后,如何在别的页面也能够调用这个连接?还有其他几个相关问题

magicsnake 2004-12-14 04:30:43
Class.forName("COM.ibm.db2.jdbc.app.DB2Driver").newInstance();
myconn = DriverManager.getConnection(url,user,password);
stmt=myconn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

用session可以么?,具体怎么用法?

如果是传递变量的话,是传递myconn好还是传递stmt

如果当所有页面都可以使用这个连接后,我应该在什么时候关闭这个连接才能保证数据库能够正常释放.

所有页面使用同一个连接好还是每个需要数据库操作的页面自己建立各自连接?
...全文
245 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
styq2000 2004-12-17
  • 打赏
  • 举报
回复
最好就是做一个bean了,在调用其生成的类就可以了!
drugon 2004-12-17
  • 打赏
  • 举报
回复
<jsp:useBean name="DB" class="***.***" scope="session"/>

这样有一定的好处,可是如果一个WEB有几十个页面,到最后的话,那几个页面可能就连接不上了,因为一个Connection用了之后会产生很多东西,到最后还不好另外新建一人,我们一般是一个页面一个Connection,用完之后马上关掉。
不徻写代码 2004-12-17
  • 打赏
  • 举报
回复
学习!
liukai_yx 2004-12-17
  • 打赏
  • 举报
回复
同意jFresH_MaN()(AbsolutelyFresh)(java欣人)的说法。

Ivanwxr 2004-12-17
  • 打赏
  • 举报
回复
同意drugon(personal)的方法
应该考虑大型网站的情况
wjr1982et 2004-12-17
  • 打赏
  • 举报
回复
用一个连接就可以了吧,建立连接是很费内存的啊
MYLiao 2004-12-14
  • 打赏
  • 举报
回复
我同意楼上说法
jFresH_MaN 2004-12-14
  • 打赏
  • 举报
回复
我觉得应该是同一个连接,那样的效率高
<jsp:useBean name="DB" class="***.***" scope="session"/>一直用同一个name
这样定义的bean就是一直用同一个对象的引用,也就是实例化一次
magicsnake 2004-12-14
  • 打赏
  • 举报
回复
to jFresH_MaN()(AbsolutelyFresh)(java欣人)
bean我还没有学过,不大会用,不过看你的说法,我想bean应该是一个类吧,那么每次使用这个bean是不是都要实例化,或者只用实例化一次就可以通过session进行调用?

to wangwd(coffee I love)
每个页面都要建立连接会不会加重服务器的负担?
123xxx 2004-12-14
  • 打赏
  • 举报
回复
我也觉得每个页面应该用一个自己的连接
ipv 2004-12-14
  • 打赏
  • 举报
回复
include这个页面就好了
不过楼上说的正确
wangwd 2004-12-14
  • 打赏
  • 举报
回复
每个数据库操作页面建立自己的连接比较好,不要用一个连接,否则很难控制
jFresH_MaN 2004-12-14
  • 打赏
  • 举报
回复
一般做法是写一个数据库连接的bean,然后这个bean实现HttpSessionBindingListener接口
每个页面都使用这个bean,我们把name属性都取成同一个,这样每次使用的都是同一个对象的引用
而数据库连接是写在这个bean的构造函数里面,查询的时候只要把sql语句作为参数传进去
当session销毁的时候调用关闭数据库连接

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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