数据源配置疑惑

IT孤儿 2009-12-26 02:55:02
Tomcat数据源配置中, 查资料都说要在WEB-INF/web.xml 加下面一段

……
<resource-ref>
<description> DB Connection </description>
<res-ref-name> jdbc/TestDB </res-ref-name>
<res-type> javax.sql.DataSource </res-type>
<res-auth> Container </res-auth>
</resource-ref>
……

可是我发现不加也可以,到底加不加有什么区别???
看网上只说最好是加上,但是没说为什么,谁帮我解答一下啊
...全文
178 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
IT孤儿 2009-12-27
  • 打赏
  • 举报
回复
。2.读取配置文件文件连接数据库
<resource-ref>
<description> DB Connection </description>
<res-ref-name> jdbc/TestDB </res-ref-name>
<res-type> javax.sql.DataSource </res-type>
<res-auth> Container </res-auth>
</resource-ref>
这正是第二种。
那么这个第二种方式具体是如何操作的呢。读取的配置文件时什么呢?这个文件写在哪里!

zl3450341 2009-12-26
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 jiahardstudy 的回复:]
连接数据库一共有三种方式,1.通过JNDI连接池直接在TOMCAT中配置。2.读取配置文件文件连接数据库 <resource-ref>
            <description> DB  Connection </description>
            <res-ref-name> jdbc/TestDB </res-ref-name>
            <res-type> javax.sql.DataSource </res-type>
            <res-auth> Container </res-auth>
    </resource-ref>
这正是第二种。3.通过写一个数据库访问类连接数据库。
如果你是通过读取配置文件来得到数据库连接那就一定要在WEB.XML中配置,如果你使用 的是第一种方法只需要在TOMCAT中配置就好了
[/Quote]
详细
crazylaa 2009-12-26
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 jiahardstudy 的回复:]
连接数据库一共有三种方式,1.通过JNDI连接池直接在TOMCAT中配置。2.读取配置文件文件连接数据库 <resource-ref>
            <description> DB  Connection </description>
            <res-ref-name> jdbc/TestDB </res-ref-name>
            <res-type> javax.sql.DataSource </res-type>
            <res-auth> Container </res-auth>
    </resource-ref>
这正是第二种。3.通过写一个数据库访问类连接数据库。
如果你是通过读取配置文件来得到数据库连接那就一定要在WEB.XML中配置,如果你使用 的是第一种方法只需要在TOMCAT中配置就好了
[/Quote]
jiahardstudy 2009-12-26
  • 打赏
  • 举报
回复
连接数据库一共有三种方式,1.通过JNDI连接池直接在TOMCAT中配置。2.读取配置文件文件连接数据库 <resource-ref>
<description> DB Connection </description>
<res-ref-name> jdbc/TestDB </res-ref-name>
<res-type> javax.sql.DataSource </res-type>
<res-auth> Container </res-auth>
</resource-ref>
这正是第二种。3.通过写一个数据库访问类连接数据库。
如果你是通过读取配置文件来得到数据库连接那就一定要在WEB.XML中配置,如果你使用 的是第一种方法只需要在TOMCAT中配置就好了
coveking 2009-12-26
  • 打赏
  • 举报
回复
你是在tomcat中配置连接池吗?

在tomcat中配置好了web.xml是不用再配的。

直接用就可以。

程序中取:
Context intitCtx = new InitialContext();
Context envCtx = (Context)intitCtx.lookup("java:comp/env");//从JNDI取出java环境上下文对象
DataSource ds = (DataSource)envCtx.lookup("jdbc/pro");//取数据源
Connection conn = ds.getConnection();//从连接池获取连接对象

下面是解释,网上找的。
resource-ref元素用于指定对外部资源的servlet引用的声明。
<!ELEMENT resource-ref (description?, res-ref-name,
res-type, res-auth, res-sharing-scope?)>
<!ELEMENT description (#PCDATA)>
<!ELEMENT res-ref-name (#PCDATA)>
<!ELEMENT res-type (#PCDATA)>
<!ELEMENT res-auth (#PCDATA)>
<!ELEMENT res-sharing-scope (#PCDATA)>
resource-ref子元素的描述如下:
● res-ref-name是资源工厂引用名的名称。该名称是一个与java:comp/env上下文相对应的JNDI名称,并且在整个Web应用中必须是惟一的。
● res-auth表明:servlet代码通过编程注册到资源管理器,或者是容器将代表servlet注册到资源管理器。该元素的值必须为Application或Container。
● res-sharing-scope表明:是否可以共享通过给定资源管理器连接工厂引用获得的连接。该元素的值必须为Shareable(默认值)或Unshareable。
sunwayMike 2009-12-26
  • 打赏
  • 举报
回复
同样关注,帮顶一下~
IT孤儿 2009-12-26
  • 打赏
  • 举报
回复
挺起!高手在线等!

67,516

社区成员

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

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