jndi配置mysql_配置tomcat5.5 jndi 各种配置方式 分析总结(mysql)

4f1150b881333f12a311ae9ef34da474.png4f1150b881333f12a311ae9ef34da474.png4f1150b881333f12a311ae9ef34da474.png    Context ctx=newInitialContext();      

4f1150b881333f12a311ae9ef34da474.png    String strLookup="java:comp/env/jdbc/test"; 

4f1150b881333f12a311ae9ef34da474.png    DataSource ds=(DataSource) ctx.lookup(strLookup);

4f1150b881333f12a311ae9ef34da474.png    Connection con=ds.getConnection();

1fa987a29c6482f53d401256f96355eb.png

ca75c07623e1b494fee67e8f316fc310.gifif(con!=null)9b8a8a44dd1c74ae49c20a7cd451974e.png{

d18c02628675d0a2c816449d98bda930.png        out.print("success");

1fa987a29c6482f53d401256f96355eb.png

ca75c07623e1b494fee67e8f316fc310.gif    }else9b8a8a44dd1c74ae49c20a7cd451974e.png{

d18c02628675d0a2c816449d98bda930.png        out.print("failure");

8f1ba5b45633e9678d1db480c16cae3f.png    }4f1150b881333f12a311ae9ef34da474.png%>

web.xml中加入

4f1150b881333f12a311ae9ef34da474.png4f1150b881333f12a311ae9ef34da474.pngjdbc/test4f1150b881333f12a311ae9ef34da474.pngjavax.sql.DataSource4f1150b881333f12a311ae9ef34da474.pngContainer4f1150b881333f12a311ae9ef34da474.pngShareable4f1150b881333f12a311ae9ef34da474.png

配置tomcat

这一步的目的就是告诉tomcat如何连接数据库

可以分为两种大的类型,每种类型又有很多种配置方式

配置类型一;

(直接配置的类型,这种方式最简单)

方法一:

直接在tomcat_home/conf/localhost/下建立一个xml文件,文件名是.xml

例如我的工程名叫jndi,对应的名字叫jdni.xml

内容如下:

4f1150b881333f12a311ae9ef34da474.png4f1150b881333f12a311ae9ef34da474.png

4f1150b881333f12a311ae9ef34da474.png          name="jdbc/test"4f1150b881333f12a311ae9ef34da474.png          type="javax.sql.DataSource"4f1150b881333f12a311ae9ef34da474.png          password="bb"4f1150b881333f12a311ae9ef34da474.png          driverClassName="com.mysql.jdbc.Driver"4f1150b881333f12a311ae9ef34da474.png          maxIdle="2"4f1150b881333f12a311ae9ef34da474.png          maxWait="50"4f1150b881333f12a311ae9ef34da474.png          username="root"4f1150b881333f12a311ae9ef34da474.png          url="jdbc:mysql://localhost:3306/test"4f1150b881333f12a311ae9ef34da474.png          maxActive="4"/>4f1150b881333f12a311ae9ef34da474.png

方法二:

只需在tomcat_home\webapps\myapps\META-INF\context.xml中增加:

4f1150b881333f12a311ae9ef34da474.png4f1150b881333f12a311ae9ef34da474.png

4f1150b881333f12a311ae9ef34da474.png          name="jdbc/test"4f1150b881333f12a311ae9ef34da474.png          type="javax.sql.DataSource"4f1150b881333f12a311ae9ef34da474.png          password="bb"4f1150b881333f12a311ae9ef34da474.png          driverClassName="com.mysql.jdbc.Driver"4f1150b881333f12a311ae9ef34da474.png          maxIdle="2"4f1150b881333f12a311ae9ef34da474.png          maxWait="50"4f1150b881333f12a311ae9ef34da474.png          username="root"4f1150b881333f12a311ae9ef34da474.png          url="jdbc:mysql://localhost:3306/test"4f1150b881333f12a311ae9ef34da474.png          maxActive="4"/>4f1150b881333f12a311ae9ef34da474.png

说明:这种配置需要告诉tomcat resource的内容,resource应用于什么地方

第一种方法通过文件名知道了app的name

第二种方式本身就在app内部,所以name肯定知道

两种方式都要放在context中

配置类型二:

(配置全局resource,然后通过resourcelink来映射)

步骤一:配置全局resource(这一步对于所有的配置都是一样的)

打开tomcat_home/conf/server.xml加入

4f1150b881333f12a311ae9ef34da474.png

4f1150b881333f12a311ae9ef34da474.png          name="jdbc/test"4f1150b881333f12a311ae9ef34da474.png          type="javax.sql.DataSource"4f1150b881333f12a311ae9ef34da474.png          password="bb"4f1150b881333f12a311ae9ef34da474.png          driverClassName="com.mysql.jdbc.Driver"4f1150b881333f12a311ae9ef34da474.png          maxIdle="2"4f1150b881333f12a311ae9ef34da474.png          maxWait="50"4f1150b881333f12a311ae9ef34da474.png          username="root"4f1150b881333f12a311ae9ef34da474.png          url="jdbc:mysql://localhost:3306/test"4f1150b881333f12a311ae9ef34da474.png          maxActive="4"/>

步骤二:映射

(映射可以配置在多个地方,也就有多个配置方法:)

方法一:(对比类型一的配置理解)

直接在tomcat_home/conf/localhost/下建立一个xml文件,文件名是.xml

例如我的工程名叫jndi,对应的名字叫jdni.xml加入如下内容

4f1150b881333f12a311ae9ef34da474.png4f1150b881333f12a311ae9ef34da474.png4f1150b881333f12a311ae9ef34da474.png

方法二:(对比类型一的配置理解)

在tomcat_home\webapps\myapps\META-INF\context.xml的Context中增加:

4f1150b881333f12a311ae9ef34da474.png4f1150b881333f12a311ae9ef34da474.png4f1150b881333f12a311ae9ef34da474.png

方法三:(上边两种方法都是把全局的resource 映射给jndi这个web应用,第三种方法就是把这个

全局的resource直接公开给所有的应用)

在tomcat_home/conf/context.xml的之间加入

运行测试:

打开ie,输入http://localhost:8080/jndi/index.jsp

看到success

常见错误:

1,Name jdbc is not bound in this Context

2,Cannot create JDBC driver of class '' for connect URL 'null' conf localhost

原因:

大多数是因为配置了全局的resource,但没有link造成的。

解决:

加入link就行了,link的方式见类型二的三种方法。

分析:

看到上边这么多方法,是否感觉眼花缭乱,其实不要死记配置,按照原理分析一下就好了。

你需要的是告诉tomcat哪个应用如何连接数据库。

类型一的方式对应一个应用单独使用这个配置的情况

就是直接告诉tomcat"应用名"  "连接数据库需要的参数"

类型二的方式对应多个应用共享一个配置的情况

这样先配置server.xml告诉tomcat全局范围的"连接数据库需要的参数"

然后映射,映射的时候

1,如果不知道"app name(应用名)"就只需要通过文件名来传递这个信息

2,如果"app name"都知道就只需要加入映射的内容

3,如果要配置成全局公用的,就不需要"app name",本身放在tomcat的context.xml中

最后再次提醒一下:所有的配置必须放在之间

posted on 2007-05-07 22:27 dreamstone 阅读(6639) 评论(2)  编辑  收藏 所属分类: 利器 、基础 、片段

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值