本篇介绍在Weblogic和Tomct 中配置数据源, 并演示使用Java JNDI获取数据库连接的代码示例。
WebLogic 的配置与使用WebLogic 控制台可以配置数据源。
- 左侧导航栏 Services > Data Sources
- 点击New 按钮 Generic Data Source, 输入名字, 数据库类型, 驱动, 数据库地址, 用户名, 密码等等信息完成创建。
在代码中,获取数据源的代码如下:
Context initCtx = new InitialContext();
DataSource ds = (DataSource) initCtx.lookup("myds");
- 返回的DataSource 类型是WebLogic本身的数据源实现类(具备池的功能)。
这里使用 Tomcat 10 + Oracle 12 环境进行配置。
示例演示步骤:
- 在Eeclipse 创建Dynamic Web Project, 项目名称: jndi_demo
- 将 ojdbc6-11.2.0.3.jar 复制到项目的WEB-INF/lib 目录下
- 在 项目的WebContent/meta-INF 创建文件content.xml, 内容如下:
- 在WEB-INF创建web.xml ,内容如下:
JNDI Tomcat Demo Oracle DB Connection jdbc/myoracle javax.sql.DataSource Container
- 在WebContent 下建立index.jsp 文件, 内容如下:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ page import="java.sql.*,javax.sql.*,javax.naming.*"%>JNDI Datasource Demo <% Context ctx = new InitialContext(); Context envContext = (Context)ctx.lookup("java:/comp/env"); DataSource ds = (DataSource)envContext.lookup("jdbc/myoracle"); Connection conn = ds.getConnection(); out.println(conn); conn.close(); %>
在Eclipse中右键单击项目, 选择Run As --> Run on Server 就可以测试验证了。
以上是在项目中配置的, 如果所有应用都需要这个数据源, 则可以进行全局配置。
方式是把
注意: 如果使用如上方式在Eclipse中启动, 则修改Tomcat 服务器配置之后需要删除服务器重新添加。
总结:
- 全局配置 项目的 WebContent/meta-INF/context.xml, 全局配置需要将驱动复制到 tomcat 的lib 目录。
- 单个应用配置 conf/context.xml
- 参考: http://tomcat.apache.org/tomcat-10.0-doc/jndi-datasource-examples-howto.html



