JNDI的专业解释,大家自行去网络搜索吧,这里就不啰嗦了。

单纯从使用角度看,可以简称把它看成一个key-value的“哈希资源”容器。给定一个string类型的key,可以把任何类型的value,放入这个容器(通过bind/rebind方法);其它地方需要使用该资源时,根据key就能取出该资源(通过lookup方法)

JNDI使用示例:

package jmyang.weblogic;

/**

*

Title:JNDI示例(WebLogic环境)

*

Description:

*

Copyright: Copyright (c) 2012

*

Company:cnblogs

* @菩提下的杨过

* @version 1.0

*/

import javax.naming.*;

import java.util.Hashtable;

public class JNDITest {

static Context ctx = null;

public static void test() {

String key = "jmyang";

//先绑定

bind(key, "杨俊明");

//再取出来

String value = (String) lookUp(key);

System.out.print(key + "=" + value);

}

/*

*绑定

*/

public static void bind(String name, String object) {

Hashtable ht = new Hashtable();

ht.put(Context.INITIAL_CONTEXT_FACTORY,

"weblogic.jndi.WLInitialContextFactory");

ht.put(Context.PROVIDER_URL, "t3://localhost:7001");

try {

ctx = new InitialContext(ht);

ctx.rebind(name, object);

} catch (NamingException e) {

e.printStackTrace();

} finally {

try {

ctx.close();

} catch (Exception e) {

e.printStackTrace();

}

}

}

/*

*

*/

public static Object lookUp(String name) {

Hashtable ht = new Hashtable();

ht.put(Context.INITIAL_CONTEXT_FACTORY,

"weblogic.jndi.WLInitialContextFactory");

ht.put(Context.PROVIDER_URL, "t3://localhost:7001");

try {

ctx = new InitialContext(ht);

Object object = ctx.lookup(name);

return object;

} catch (Exception e) {} finally {

try {

ctx.close();

} catch (Exception e) {

e.printStackTrace();

}

}

return null;

}

}

上述代码执行完以后,也可能通过weblogic控制台,查看jndi树来验证:

JDBC数据源,实际上,也是使用JNDI服务来访问的,下面是JDBC示例代码:(必须先在weblogic中创建数据源)

package jmyang.weblogic;

/**

*

Title:JDBC示例(WebLogic环境)

*

Description:

*

Copyright: Copyright (c) 2012

*

Company:cnblogs

* @菩提下的杨过

* @version 1.0

*/

import java.sql.*;

import javax.naming.*;

import javax.sql.*;

import java.util.Hashtable;

public class JDBCTest {

static final String webLogicServer = "t3://localhost:7001"; //weblogic服务器地址

static final String webLogicINDIStr =

"weblogic.jndi.WLInitialContextFactory";

public static void test() {

Connection myConn = null;

DataSource ds = null;

Context ctx = null;

Hashtable ht = new Hashtable();

ht.put(Context.INITIAL_CONTEXT_FACTORY, webLogicINDIStr);

ht.put(Context.PROVIDER_URL, webLogicServer);

try {

ctx = new InitialContext(ht);

ds = (javax.sql.DataSource) ctx.lookup("infoskysso"); //取得名为infoskysso的数据源(注:infoskysso要在weblogic中设置数据源)

} catch (NamingException e) {

e.printStackTrace();

}

Statement myStatement = null;

ResultSet myResultSet = null;

try {

myConn = ds.getConnection();//建立连接

myStatement = myConn.createStatement();

myResultSet = myStatement.executeQuery(

"Select DEPTNO From DEPT where rownum<=10");

while (myResultSet.next()) {

System.out.println("DEPTNO=" + myResultSet.getInt("DEPTNO"));

}

myResultSet.close();

} catch (SQLException e) {

System.out.println("Error code = " + e.getErrorCode());

System.out.println("Error message = " + e.getMessage());

} finally {

//关闭查询

if (myStatement != null) {

try {

myStatement.close();

} catch (SQLException e) {

System.out.println("Error code = " + e.getErrorCode());

System.out.println("Error message = " + e.getMessage());

}

}

//关闭连接

if (myConn != null) {

try {

myConn.close();

} catch (SQLException e) {

System.out.println("Error code = " + e.getErrorCode());

System.out.println("Error message = " + e.getMessage());

}

}

}

}

}

附: weblogic中创建jdbc数据源的方法

java连接weblogic_java学习:weblogic下JNDI及JDBC连接测试(weblogic环境)相关推荐

  1. Java新手入门200例124之用JDBC连接Mysql数据库

    文章目录 作者简介 引言 导航 热门专栏推荐 一.创建web项目 二.加入Mysql驱动 三.编写查询代码 四.测试查询代码 五.编写插入代码 六.编写修改代码 七.编写删除代码 小结 导航 热门专栏 ...

  2. Java完美实现access库_Java之纯JDBC连接Access(值得收藏)

    在Java中,解析Access一般来说有2种方式,第一种用JDBC-ODBC桥接的方式解析,第二种用纯JDBC的方式解析. 关于用JDBC-ODBC这种方式的解析,散仙在这里就不在演示了,网上搜一下, ...

  3. navicat连接mysql mac_Mac OS下,使用Navicat连接MySQL出现的问题

    问题1:安装了最新版本的MySQL(mysql-8.0.12-macos10.13-x86_64),但是Navicat版本过低,导致连接MySQL一直报"Can't connect to M ...

  4. xp计算机无法远程桌面连接,XP sp3系统下远程桌面不能连接到指定计算机的解决方案...

    在使用电脑的过程中,我们常常会使用系统中的远程功能.然而在XP sp3系统中,有的小伙伴使用远程桌面软件时,电脑却弹出远程桌面无法连接到指定计算机的提示.那么遇到这种情况该怎么解决呢?下面想就给大家介 ...

  5. Java大数据学习第一天---DOS命令、jdk安装及环境配置、入门程序

    达内慕课网 网址:www.tmooc.cn 账号:qq邮箱 密码:身份证后四位+手机后四位 计算机功能键及快捷键 功能 指令 屏幕截图 PrtSc QQ截图 CTRL+ALT+A 全选 CTRL+A ...

  6. mysql 全表连接_MySQL学习—多表查询(内连接,外链接,全连接)

    一个项目中肯定会有多张数据表,而数据表之间会存在各种各样的关系.这时我们需要的数据,可能不会直接通过一张表全部获取到,这时就需要同时查询多张数据表,得到最后想要的数据. 下面以具体的实例来进行相关知识 ...

  7. linux用命令连接wifi密码,Linux下如何通过命令连接wifi

    项目需求:用户在web端输入wifi名称和密码,客户端可以通过服务端下发的信息进行连接 技术调研:之前提到过nmcli指令,这次他又来了 连接:nmcli device wifi connect wi ...

  8. lamp中php怎么连接mysql_LAMP分离安装环境下,php无法连接mysql的问题

    LAMP 三台主机 php5.6.11 mysql 5.6.35 apache2.4 $link_id=mysql_connect("192.168.1.144","my ...

  9. jdbc连接mysql8的一些坑_mysql8.0 jdbc连接注意事项

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 url增加参数useSSL 和时区 : jdbc:mysql://localhost:3306/mydb?useSSL=false&serverT ...

最新文章

  1. 小程序webview不全屏_有赞微信商城和有赞微信小程序什么不一样
  2. 微型计算机48MHz辐射超,2012职称计算机考试题理论题库
  3. 香农定理和奈奎斯特定理区别_这一切都从指数函数开始(4)——采样定理
  4. Android—Binder+AIDL
  5. 条码管理系统mysql_银行通用固定资产条码管理系统
  6. Maven学习(四)————Eclipse 中的 Maven 工程
  7. Virtual.Lab模拟钢板冲击声
  8. 谁说我们没有美国富---中国公款消费一年X掉9个航母战斗群
  9. ethercat如何编程 台达50mc_台达可编程控制器DVP-50MC系列产品介绍
  10. Anaconda——conda换源可以直接通过conda命令来实现
  11. 用jk触发器构成二分频电路_模拟电路,电子电路,二极管,放大电路
  12. 轻度体验威马Living Pilot智行辅助系统:前期刺激,后期依赖
  13. docker入门、docker基本命令
  14. 解决方案-电子签章:金格科技
  15. 卡1有信号 卡2无服务器,为什么卡1无服务卡2有
  16. leetcode第21天格雷编码
  17. HSB/HSL 滤镜
  18. pycharm调试服务器代码
  19. 华为防火墙查看日志命令_华为防火墙常用命令.doc
  20. android 获取通话记录不准确(为上次记录)

热门文章

  1. oracle 服务器硬盘满了,【案例】Oracle服务器diag进程占据了12g的磁盘空间分析解决办法...
  2. oracle flashback table 参数,Oracle10g中FLASHBACK TABLE语句恢复DML误操作
  3. ps怎么更改背景图层大小_PS软件零基础抠图教程,教你PS滤镜抠图技巧和方法
  4. Spring Cloud 2021.0.1 发布
  5. Spring Boot 实现扫码登录,这种方式太香了!!
  6. Redis面试突击专用
  7. Spring Boot 配置文件的加载优先级
  8. sweet+alert+ajax,Ajax相关
  9. 上下定高 中间自适应_联合首发|医药供应链平台一块医药获新一轮融资,赋能产业上下游提质增效...
  10. paddleocr 训练自己的数据