JDBC 与 JNDI 的区别,概念我看的太多了,希望大侠们给我一个通俗易懂的解释,谢谢。

JDBC 与 JNDI 的区别,概念我看的太多了,希望大侠们给我一个通俗易懂的解释,谢谢。,第1张

jdbc是java去找数据库驱动,jndi是通过你的服务器配置(如Tomcat)的配置文件context来找数据库驱动~

再有JDBC连接能承受的同时请求数太低了,JNDI连接池连接与之相比会好很多~

学习愉快O(∩_∩)O~

你这是TOMCAT的写法,WAS的JNDI不是这样的:java:/comp/env/jdbc/cib_ds

如下编写就可以了:

Hashtable env = new Hashtable();

envput(ContextINITIAL_CONTEXT_FACTORY,

"comibmWebspherenamingWsnInitialContextFactory");

InitialContext ctx = new InitialContext(env);

DataSource ds = (DataSource) ctxlookup("jdbc/cib_ds");

myeclipse中用tomcat服务器配置jndi的方法:

1、配置D:\Tomcat 55\conf\serverxml在serverxml中的中添加如下配置信息:

type="javaxsqlDataSource"

driverClassName="commysqljdbcDriver"

password="yang"

maxIdle="2"

maxWait="5000"

username="root"

url="jdbc:mysql://localhost:3306/math"

maxActive="4"/>

注:name是连接池的名字可任取,type,是数据源的类型,driverClassName是驱动程序的类名好像得这么写,url是数据库的路径math为数据库名。

2、配置D:\Tomcat 55\webapps\DBtest\WEB-INF\webxml在中加入如入信息

DB Connection

Test

javaxsqlDataSource

Container

注:其中的res-ref-name必须和前面的连接池名相同。

3、配置D:\Tomcat 55\webapps\DBtest\META-INF\contextxml全部内容如下

debug="5"

reloadable="true"

crossContext="true">

注:path是工作区的路径,ResourceLink name和global好像都得和前面的连接池的名字相同。

  1、上下文其实是一个抽象的概念。常见的上下文有Servlet中的pageContext,访问JNDI时候用的Context。其实真正的作用就是承上启下。

  2、比如说pageContext他的上层是WEB容器,下层是写的那个Servlet类,pageContext作为中间的通道让Servlet 和Web容器进行交互。

  3、再比如访问JNDI的Context,他的上层是JNDI服务器(可能是远程的),下层是应用程序,他的作用也是建立一个通道让能访问JNDI服务器,同时也让JNDI服务器接受请求,同样起到交互作用。

1JDBC-ODBC桥的方式。但这种方式不适合程序的重用与维护,不推荐使用。需要数据库的ODBC驱动。

2JDBC+厂商Database

Connection

Server+DataBase的形式。

这种方法就是在JAVA

DATABASE之间价起了一台专门用与数据库连接的服务器(一般由数据库厂商提供)。他的好处在于能优化连接。

3纯JDBC+DATABASE的连接方式。APPLICATION与数据库分开,开发者只需关心内部逻辑的实现而不需注重数据库连接的具体实现。在这其中有两种连接的方式:

1)硬编码方式,就是在程序中硬性编入数据库连接的所须参数。

2)JNDI

DataSource方式。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » JDBC 与 JNDI 的区别,概念我看的太多了,希望大侠们给我一个通俗易懂的解释,谢谢。

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情