Tomcat 7配置JNDI的标准文档可以在http://127.0.0.1:8080/docs/jndi-resources-howto.html中直接找到。
其他版本的路径可能稍有不同,可以先访问http://127.0.0.1:8080/再根据组织目录找到。
下面以tomcat 7配置oracle数据库为例:
conf\context.xml
根
节点下添加
[html]view plaincopyprint?
WEB-INF\web.xml
根
节点下添加
[html]view plaincopyprint?
appDB
jdbc/appDB
javax.sql.DataSource
Container
appDB
jdbc/appDB
javax.sql.DataSource
Container
以上res-ref-name和Resource name保持一致;
Java代码:
[java]view plaincopyprint?
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup(java:comp/env);
// Look up our data source
DataSource ds = (DataSource) envCtx.lookup(appDB);
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup(java:comp/env);
// Look up our data source
DataSource ds = (DataSource) envCtx.lookup(appDB);
weblogic配置JNDI:
请参考 http://blog.sina.com.cn/s/blog_52118c2f0100b7mm.html
1. 启动weblogic 10 的 Weblogic Server Domain。
2. 进入Weblogic Server Adiministration Console,配置数据源。如下图所示:
[在weblogic] 10 中配置jndi数据源 在weblogic 10 中配置jndi数据源 src=http://s1.sinaimg.cn/middle/3e89aa14449517d34c540&000>
点击
左边数据源:
[在weblogic] 10 中配置jndi数据源 在weblogic 10 中配置jndi数据源 src=http://s1.sinaimg.cn/middle/3e89aa14449519be39e50&000>
在上图页面中可以看到右边框架中的新建按钮时灰色的,不能被使用的,所以此时应该点左上角的
[在weblogic] 10 中配置jndi数据源 在weblogic 10 中配置jndi数据源 src=http://s4.sinaimg.cn/middle/3e89aa14449519be3bdf3&000>按钮,如下图所示,
[在weblogic] 10 中配置jndi数据源 在weblogic 10 中配置jndi数据源 src=http://s8.sinaimg.cn/middle/3e89aa14449519be3e387&000>
点击
页面中的新建按钮,建立新的数据源,如下图,这里我们通过weblogic10来建立一个链接到oracle的数据源,如下图,
[在weblogic] 10 中配置jndi数据源 在weblogic 10 中配置jndi数据源 src=http://s14.sinaimg.cn/middle/3e89aa14449519be405bd&000>
[在weblogic] 10 中配置jndi数据源 在weblogic 10 中配置jndi数据源 src=http://s11.sinaimg.cn/middle/3e89aa14449519be4463a&000>
按照上图填写好相关的信息,点击下一步按钮,
[在weblogic] 10 中配置jndi数据源 在weblogic 10 中配置jndi数据源 src=http://s7.sinaimg.cn/middle/3e89aa14449519e67a436&000>
上述页面才采用默认即可,点击下一步,
[在weblogic] 10 中配置jndi数据源 在weblogic 10 中配置jndi数据源 src=http://s6.sinaimg.cn/middle/3e89aa14449519eb426d5&000>
按照上图填写相关的oracle信息,点击下一步,
[在weblogic] 10 中配置jndi数据源 在weblogic 10 中配置jndi数据源 src=http://s2.sinaimg.cn/middle/3e89aa14449519eb44861&000>
在上面页面中会根据之前的填写的信息自动生成此页面的信息,在这里我们可以测试数据库的连接是否正常,点击下一步,
[在weblogic] 10 中配置jndi数据源 在weblogic 10 中配置jndi数据源 src=http://s12.sinaimg.cn/middle/3e89aa14449519eb471bb&000>
选中服务器,然后点击完成按钮完成数据源的建立操作。此时的数据源还是不能被使用的,要使新建的数据源被使用,点击左上角的激活更改按钮,如下图。
[在weblogic] 10 中配置jndi数据源 在weblogic 10 中配置jndi数据源 src=http://s16.sinaimg.cn/middle/3e89aa14449519ec3e42f&000>
点击
[在weblogic] 10 中配置jndi数据源 在weblogic 10 中配置jndi数据源 src=http://s13.sinaimg.cn/middle/3e89aa14449519fc708dc&000>
按钮,可以看到页面右边会显示已激活所有更改,此时,我们新建的数据源就可以被使用了。
[在weblogic] 10 中配置jndi数据源 在weblogic 10 中配置jndi数据源 src=http://s11.sinaimg.cn/middle/3e89aa14449519fc730fa&000>
Java代码:
[java]view plaincopyprint?
Properties pros = new Properties();
pros.put(Context.PROVIDER_URL, t3://127.0.0.1:7001);
pros.put(Context.INITIAL_CONTEXT_FACTORY, weblogic.jndi.WLInitialContextFactory);
Context ctx = new InitialContext(pros);
DataSource ds = (DataSource) ctx.lookup(jndi/oramydb);
Properties pros = new Properties();
pros.put(Context.PROVIDER_URL, t3://127.0.0.1:7001);
pros.put(Context.INITIAL_CONTEXT_FACTORY, weblogic.jndi.WLInitialContextFactory);
Context ctx = new InitialContext(pros);
DataSource ds = (DataSource) ctx.lookup(jndi/oramydb);
注意:tomcat和weblogic的调用代码稍有不同。
该贴由koei转至本版2014-5-2 16:06:45