Tomcat5.5中定义JNDI数据源

我用的tomcat版本是5.5.2,JDK:1.5,工程是struts2+spring+hibernate3.3三层框架整合,数据库不oracle9i,在tomcat中配置JNDI数据源在我的环境下是比较容易实现的,简单的在tomcat_home\conf目录下server.xml文件中,<Host></Host>之间加入以下的代码即可。

<Context path="/DEV" docBase="DEV" debug="5" reloadable="false" crossContext="true">
  <Resource driverClassName="oracle.jdbc.driver.OracleDriver"
  url="jdbc:oracle:thin:@192.168.2.9:1521:oracle" username="DEV"
  password="password" name="jdbc/oracle" type="javax.sql.DataSource" auth="Container" maxActive="20" maxIdle="10" maxWait="5000" />
  </Context>

其中path配置自己应用的路径,即tomcat_home\webapps目录下的自己部署工程

    docBase: 应用的名称和上面相同;

    driverClassName: 应用所要的驱动名;
     url: 连接数据库的地址;
     username: 登陆数据库要使用的用户名;
     password: 登陆数据库要用的密码;
     name: 引用上下文(context)的JNDI名,自己随便设;
     type: 引用资源的类型;
     maxActive: 每次连接数据库的最大数;
     maxIdle: 每次连接数据库的等待数;
     maxWait: 每次阻塞的最大延迟时间(毫秒);

就这样设置即可可以用了,但是只有一个同事那却无法使用,解决办法是在开发工程的META-INF目录下面添加一个context.xml文件,文件名称必须为:context.xml,添加如下内容就可以解决问题。

<Context>
  <Resource driverClassName="oracle.jdbc.driver.OracleDriver"
  url="jdbc:oracle:thin:@192.168.2.9:1521:oracle" username="DEV"
  password="password" name="jdbc/oracle" type="javax.sql.DataSource" auth="Container" maxActive="20" maxIdle="10" maxWait="5000" />
  </Context>

 

另注意前一种方式要把oracle驱动程序放置在tomcat_home\common\lib目录下,我的oracle驱动程序见附件

你可能感兴趣的:(spring,oracle,tomcat,jdbc,SQL Server)