进入weblogic管理控制台,此处是本地访问:http://127.0.0.1:7001/console

  点击左侧【 域结构】→【base domain】→【服务】【数据源】 然后点击右侧【新建】→【般数据源】,如下图所示:

  

  填写JDBC数据源的【名称】、【jndi名称】,选择数据库类型,如选择【oracle】,下一步

  

  选择Oracle数据库的驱动程序,如下图所示:

  

  这里选择【Oracle' s Driver (Thin)for Instance connections;Version:Any】,点击【下一步】按钮,进入下一个配置步骤:

  

  这里使用默认配置即可 ,点击【下一步】按钮,进入下一个配置步骤:如下图所示:

  填写数据库的连接信息:要连接的数据库,数据库的IP地址,连接数据库时使用的端口号,登录数据库时使用的用户名和密码

  

  点击【下一步】按钮,进入下一个配置步骤:如下图所示:

  

  连接测试结果如下:

  

  点击【下一步】按钮,进入下一个配置步骤:如下图所示:

  

  点击【完成】,这样WebLogic就会创建一个新的JDBC数据源,如下图所示:

  

  到此,在WebLogic新建针对Oracle数据库的JNDI数据源就算是全部完成了。数据源创建之后,我们就可以在应用程序中使用数据源了。

二、在WebLogic新建针对MySQL数据库的JNDI数据源

  上面我们已经配置好了一个针对Oracle数据库的JNDI数据源,这里我们在新建一个针对MySQL数据库的数据源,配置步骤和上述针对Oracle数据库创建的JDBC数据源大部分是一样的,针对不一样的地方给出如下的截图说明:

  

  

  

  

  

  

  到此,在WebLogic新建针对MySQL数据库的JNDI数据源就算是全部完成了。查看jndi树,可以看到JNDI树上面挂载了两个数据源,如下图所示:

  

三、在应用程序中使用WebLogic配置JNDI数据源

3.1、创建测试项目

  新建一个测试项目,如下图所示:

  

3.2、编写测试代码

  编写一个WebLogicJndiUtil工具类,用于从WebLogic的JNDI容器中取出数据源。

  WebLogicJndiUtil工具类代码如下:

 1 /**
 2  *
 3  */
 4 package me.gacl.util;
 5
 6 import java.sql.Connection;
 7 import java.sql.SQLException;
 8 import java.util.Properties;
 9
10 import javax.naming.Context;
11 import javax.naming.InitialContext;
12 import javax.sql.DataSource;
13
14 /**
15  * <p>ClassName: WebLogicJndiUtil<p>
16  * <p>Description: 获取WebLogic服务器中的JNDI数据源工具类<p>
17  * @author xudp
18  * @version 1.0 V
19  * @createTime 2015-1-4 下午03:54:39
20  */
21 public class WebLogicJndiUtil {
22
23     //初始化上下文需要用到的工厂类
24     private final static String INITIAL_CONTEXT_FACTORY="weblogic.jndi.WLInitialContextFactory";
25     //WebLogic服务器的访问地址
26     private final static String PROVIDER_URL="t3://192.168.1.144:7001";
27     //WebLogic服务器中的JNDI数据源名称
28     private final static String ORACLE_JNDI_NAME="JNDI/OracleDataSource";
29     private final static String MYSQL_JNDI_NAME="JNDI/MysqlDataSource";
30
31     //存储从JNDI容器中取出来的数据源
32     private static DataSource dsOracle = null;
33     private static DataSource dsMySQL = null;
34
35     static {
36         try {
37             //初始化WebLogic Server的JNDI上下文信息
38             Context context = getInitialContext();
39             //获取数据源对象
40             dsOracle = (DataSource) context.lookup(ORACLE_JNDI_NAME);
41             dsMySQL = (DataSource) context.lookup(MYSQL_JNDI_NAME);
42         } catch (Exception e) {
43             e.printStackTrace();
44         }
45     }
46
47     /**
48      * MethodName: getInitialContext
49      * Description: 获得WebLogic ServerJNDI初始上下文信息
50      * @author xudp
51      * @return
52      * @throws Exception
53      */
54     private static Context getInitialContext() throws Exception {
55         Properties properties = new Properties();
56         properties.put(Context.INITIAL_CONTEXT_FACTORY, INITIAL_CONTEXT_FACTORY);
57         properties.put(Context.PROVIDER_URL, PROVIDER_URL);
58         return new InitialContext(properties);
59     }
60
61     /**
62      * MethodName: getOracleConnection
63      * Description: 获取Oracle数据库连接
64      * @author xudp
65      * @return
66      * @throws SQLException
67      */
68     public static Connection getOracleConnection() throws SQLException {
69         return dsOracle.getConnection();
70     }
71
72     /**
73      * MethodName: getMySQLConnection
74      * Description: 获取MySQL数据库连接
75      * @author xudp
76      * @return
77      * @throws SQLException
78      */
79     public static Connection getMySQLConnection() throws SQLException {
80         return dsMySQL.getConnection();
81     }
82 }

  编写一个测试Servlet,JndiTestServlet的代码如下:

 1 package me.gacl.test;
 2
 3 import java.io.IOException;
 4 import java.sql.Connection;
 5 import java.sql.ResultSet;
 6 import java.sql.SQLException;
 7 import java.sql.Statement;
 8
 9 import javax.servlet.ServletException;
10 import javax.servlet.http.HttpServlet;
11 import javax.servlet.http.HttpServletRequest;
12 import javax.servlet.http.HttpServletResponse;
13
14 import me.gacl.util.WebLogicJndiUtil;
15
16 /**
17  * <p>ClassName: JndiTestServlet<p>
18  * <p>Description: <p>
19  * @author xudp
20  * @version 1.0 V
21  * @createTime 2015-1-4 下午03:37:53
22  */
23 public class JndiTestServlet extends HttpServlet {
24
25     public void doGet(HttpServletRequest request, HttpServletResponse response)
26             throws ServletException, IOException {
27         //Oracle数据库连接对象
28         Connection oracleConn = null;
29         //MySQL数据库连接对象
30         Connection mysqlConn = null;
31         Statement stmt = null;
32         ResultSet rs = null;
33         try {
34             String sqlOracle = "SELECT * FROM LEAD_OAMS_APPLICATIONS";
35             //获取数据库连接对象
36             oracleConn = WebLogicJndiUtil.getOracleConnection();
37             stmt = oracleConn.createStatement();
38             rs = stmt.executeQuery(sqlOracle);
39             while (rs.next()) {
40                 System.out.println(rs.getString("RESOURCEID")+"---"+rs.getString("APP_NAME"));
41             }
42             System.out.println("-----------------------------分割线-------------------------------------");
43
44             String sqlMySQL = "SELECT * FROM LEAD_OAMS_DBSOURCES";
45             //获取数据库连接对象
46             mysqlConn = WebLogicJndiUtil.getMySQLConnection();
47             stmt = mysqlConn.createStatement();
48             rs = stmt.executeQuery(sqlMySQL);
49             while (rs.next()) {
50                 System.out.println(rs.getString("RESOURCEID")+"---"+rs.getString("DBSOURCE_NAME"));
51             }
52         } catch (SQLException e) {
53             e.printStackTrace();
54         }finally{
55             try {
56                 rs.close();
57                 stmt.close();
58                 oracleConn.close();
59             } catch (SQLException e) {
60                 e.printStackTrace();
61             }
62         }
63     }
64
65     public void doPost(HttpServletRequest request, HttpServletResponse response)
66             throws ServletException, IOException {
67         doGet(request,response);
68     }
69 }

  在Web.xml文件中注册JndiTestServlet,如下:

1 <servlet>
2     <servlet-name>JndiTestServlet</servlet-name>
3     <servlet-class>me.gacl.test.JndiTestServlet</servlet-class>
4 </servlet>
5
6 <servlet-mapping>
7     <servlet-name>JndiTestServlet</servlet-name>
8     <url-pattern>/servlet/JndiTestServlet</url-pattern>
9 </servlet-mapping>

  将测试项目部署到WebLogic服务器中运行,如下图所示:

  

  输入JndiTestServlet的访问地址:http://localhost:7001/WebLogic_Jndi_Test/servlet/JndiTestServlet进行测试,如下图所示:

  

  访问JndiTestServlet的过程中没有出现任何错误,后台的控制台中输出了从数据库中取出来的数据,如下图所示:

  

  这就证明了我们已经成功地从WebLogic服务器中的JNDI树中取出了JDBC数据源,再通过数据源获取到了数据库连接,执行SQL从数据库中查询出数据。

  以上就是关于在WebLogic配置JNDI数据源以及如何在应用程序中使用配置好的JNDI数据源的全部内容。

WebLogic配置JNDI数据源相关推荐

  1. WebLogic 配置JNDI数据源

    WebLogic使用总结(三)--WebLogic配置JNDI数据源 一.在WebLogic新建针对Oracle数据库的JNDI数据源 进入weblogic管理控制台,此处是远程访问:http://1 ...

  2. 【WebLogic使用】3.WebLogic配置jndi数据源

    一.什么是jndi数据源 JNDI是Java命名与目录接口(Java Naming and Directory Interface),在J2EE规范中是重要的规范之一. 我们平时开发web程序的时候, ...

  3. jndi weblogic mysql_WebLogic配置JNDI数据源及在项目的使用方法

    一.在WebLogic新建针对Oracle数据库的JNDI数据源 点击左侧[ 域结构]→[base domain] → [服务] → [数据源] 然后点击右侧[ 新建] → [般数据源], 如下图所示 ...

  4. jndi weblogic mysql_WebLogic配置JNDI数据源

    一.什么是jndi数据源 JNDI是Java命名与目录接口(Java Naming and Directory Interface),在J2EE规范中是重要的规范之一. 我们平时开发web程序的时候, ...

  5. log4jdbc oracle,通过weblogic配置log4jdbc数据源,在项目中使用该数据源,输出sql

    通过weblogic配置log4jdbc数据源,在项目中使用该数据源,输出sql 通过weblogic配置log4jdbc数据源,在项目中使用该数据源,输出sql 说一下配置: 服务器weblogic ...

  6. 在Tomcat配置JNDI数据源的三种方式

    转载自   在Tomcat配置JNDI数据源的三种方式 在我过去工作的过程中,开发用服务器一般都是Tomcat,数据源的配置往往都是在applicationContext.xml中配置一个dataSo ...

  7. Tomcat下使用Druid配置JNDI数据源

    转:Tomcat下使用Druid配置JNDI数据源 http://blog.csdn.net/houbin0912/article/details/52535982

  8. tomcat中配置jndi数据源以便spring获取

    [0]README 0)intro to jndi, plase visit intro to jndi: 1)本文译自 Configuring Spring MVC JdbcTemplate wit ...

  9. Tomcat配置JNDI数据源

    经过3个多小时的努力,配置JNDI数据源(主要是通过DBCP连接池)终于搞定- 还是Tomcat官方的说明好,不过全是英文的,大概还看得懂. 百度上那么花花绿绿的太多了,一个也没成功!... 本例使用 ...

最新文章

  1. 美团提出基于隐式条件位置编码的Transformer,性能优于ViT和DeiT
  2. sqlite 0转换为bit_DA转换实例
  3. 美团今年应届生年薪 35w+?为什么互联网大厂校招的薪资一年比一年高?
  4. 软考程序员Java答题速成_软考程序员考试试题解答方法与技巧
  5. python程序的三种基本结构是_Python程序设计实验五- 综合运用三种基本结构进行程序设计...
  6. linux 类似winscp_mac上有什么类似winscp的软件?
  7. Boost:验证atomic <>不会在成员指针上提供算术运算
  8. 帝国cms数据库php调用tag,帝国CMS列表内容模板调用TAG的两种方法
  9. Python处理Excel文件(一)
  10. java代码演示经典哲学家就餐问题,以及解决方案
  11. 五险一金相关知识(转)
  12. java正则 连续数字,正则表达式实现匹配连续数字的方法
  13. Frequent values RMQ
  14. 绿之韵人民日报聚焦:加强企业管理,慢工才能出细活
  15. 希尔排序实现与复杂度、稳定性分析
  16. 使用共享收款码系统,打造微商模式经营门店是关键
  17. 大数据——HDFS的常用命令
  18. Python处理大学英语四级考试数据(Excel文件)案例一则
  19. 企业员工电脑监控软件哪款比较好用?
  20. 网络教育计算机统考成绩,考生如何查询网络教育统考成绩?

热门文章

  1. MySQL判断中文字符的方法(转)
  2. 《互联网理财一册通》一一第1章 做好互联网理财前的准备工作
  3. CI restful小试(二)
  4. Sql 列转行 三种方法对比
  5. RHEL6.2上使用 libvirt创建和管理KVM虚拟机
  6. 电脑重启 硬件问题引发的人品问题
  7. 谷歌修复已遭利用的 Chrome 0day
  8. 无法检测的新型 Linux 恶意软件利用 Dogecoin API 攻击 Docker 服务器
  9. 这个乐趣,使用芯片操作集成电路
  10. 从“No space left on device”到删除海量文件