tomcat数据源 和 JDBC连接

跑跑鱼 2010-11-25 10:33:08
最近看到 tomcat数据源,JDBC连接的概念。以前都没有配置tomcat 数据源,直接在程序里写jdbc连接,突然看到tomcat数据源这个词,都么不着头脑了。
在网上搜了一片文章,讲两者的不同http://www.soidc.net/discuss/1/081120/00/604705_1.html。看完了还是有点迷糊。
我自己的程序都是不用tomcat数据源的,直接部署就运行了。

请大家谈谈看法?
...全文
265 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaotugege 2010-12-02
  • 打赏
  • 举报
回复
说了半天还是没弄明白本地和jndi的区别。无奈。
跑跑鱼 2010-11-26
  • 打赏
  • 举报
回复
像hibernate这样的框架,他们提供连接池吧,这样就不用配置tomcat吧?
tanquanyuan 2010-11-25
  • 打赏
  • 举报
回复
长见识啦,谢谢
michaellufhl 2010-11-25
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 xiaotugege 的回复:]

tomcat那个严格意义上来说不能算是jndi数据源。不过是个玩具吧里。一般web应用最好使用本地数据源。除非你是分布式应用,否则完全没有这个必要
[/Quote]您说的"本地数据源"具体是指什么样的数据源?
yaojinlin20090608 2010-11-25
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 xiaotugege 的回复:]
tomcat那个严格意义上来说不能算是jndi数据源。不过是个玩具吧里。一般web应用最好使用本地数据源。除非你是分布式应用,否则完全没有这个必要
[/Quote]

对。毕竟lookup也是费油的
xiaotugege 2010-11-25
  • 打赏
  • 举报
回复
tomcat那个严格意义上来说不能算是jndi数据源。不过是个玩具吧里。一般web应用最好使用本地数据源。除非你是分布式应用,否则完全没有这个必要
xiaotugege 2010-11-25
  • 打赏
  • 举报
回复
楼猪是没弄明白本地数据源和jndi数据源吧?
这样理解吧,本地数据源相当于你自己写了一个connection的对象池,只不过你是用的第三方jar包罢了。
比如dbcp,c3p0,proxool等吧。
tomcat那个jndi数据源呢,你需要了解下j2ee的规范。简单点说。就是应用服务器上有颗树,上面挂着n多对象其中一个就是connection连接池。你既可以在本地访问,也可以远程通过Context.lookup访问。
duanningfeng520 2010-11-25
  • 打赏
  • 举报
回复
实际应用当然要用了,要不然你的主机会崩溃的。
michaellufhl 2010-11-25
  • 打赏
  • 举报
回复
几乎没有商用jee应用直接写jdbc连接。
1:JNDI DataSource提供了connection pool管理,提高了连接效率
2:JNDI DataSource提供了独立connection管理。也就是解耦合逻辑层,逻辑层不需要知道connection的管理。
3:Jee server提供了方便的DataSource管理和配置,在这里是tomcat提供了DataSource管理,包括pool的配置,timeout等属性。
4:可移植性。当移植应用或者移植数据库的时候,只需要配置DataSource,代码不需要动。
yaojinlin20090608 2010-11-25
  • 打赏
  • 举报
回复
好像是在server.xml文件中配置,再在web.xml中用resource-ref引用。
程序中用jini查找数据源就可以用了。这样做tomcat会建立和管理连接池,也可以设置连接数等。

网上很多入门文章,其实仅仅是演示而已。真正能用于生产的系统必须考虑连接池、事务。否则一点用也没有。
selaven 2010-11-25
  • 打赏
  • 举报
回复
lz自己抢自己的沙发
跑跑鱼 2010-11-25
  • 打赏
  • 举报
回复
网上的帖子都是配置 tomcat5 配数据源,很少有tomcat6的配置
zengjian2008c 2010-11-25
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 cgliuyu 的回复:]
XML code

<Resource
name="jdbc/xinda"
auth="Container"
type="javax.sql.DataSource"
maxActive="10"
maxIdle="5"
maxWait="10000"
driverCla……
[/Quote]
按照这个模板配置就行
cgliuyu 2010-11-25
  • 打赏
  • 举报
回复

<Resource
name="jdbc/xinda"
auth="Container"
type="javax.sql.DataSource"
maxActive="10"
maxIdle="5"
maxWait="10000"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@10.0.150.188:1521:orcl"
username="username"
password="123456"/>

81,092

社区成员

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

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