JNDI在JAVA WEB工程中的配置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JNDI在JAVA WEB工程中的配置相关的知识,希望对你有一定的参考价值。

第一步:配置WEB工程的WEB.XML

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


第二步:配置Tomcat对应的server.xml(以下以ORACLE为例,其他DB同理)

<Context docBase="E:\dev\apps\apache-tomcat-7.0.42\webapps\Test" path="/Test" reloadable="true" source="org.eclipse.jst.jee.server:Test">
<Resource
      name="TEST_DATASOURCE"
      auth="Container"
      type="javax.sql.DataSource"
      driverClassName="oracle.jdbc.driver.OracleDriver"
      url="jdbc:oracle:thin:@IP:端口:数据库名称"
      username="用户名"
      password="密码"
      maxActive="20"
      maxIdle="2"
      maxWait="-1"/>
</Context>


第三步:贴上我工程JNDI部分示例代码

static DataSource getDataSource(String dsName) {
    DataSource ds = null;
    try {
      if (ServerDetector.isTomcat()) {
        dsName = "java:comp/env/" + dsName;
      }
      ds = (DataSource)JNDIUtil.getInitialContext().lookup(dsName);
    } catch (NamingException e) {
      throw new DataAccessException(e);
    }
    if (null == ds) {
      throw new DataAccessException("data source[" + dsName + "] is null");
    }
    return ds;
  }


注意事项:

1、上述的数据源名称TEST_DATASOURCE一定要一致!

2、server.xml中配置的内容,会在myeclipse执行clean操作的时候强制执行还原server.xml内容的操作,一定要记得重新配置!





本文出自 “你可以选择不平凡” 博客,请务必保留此出处http://ylcodes01.blog.51cto.com/5607366/1916643

以上是关于JNDI在JAVA WEB工程中的配置的主要内容,如果未能解决你的问题,请参考以下文章

JNDI(Java Naming and Directory Interface )

JNDI(Java Naming and Directory Interface )

JNDI在Tomcat中的配置

WebLogic配置JNDI数据源

Tomcat配置JNDI

JNDI数据源的配置步骤