tomcat中配置JNDI的方式
?
tomcat配置jndi分全局和局部两种方式
?
全局的JNDI配置在server.xml里面的<GlobalNamingResources>标签里面添加如下配置:?
? ? <Resource name="jdbc/test"?
? auth="Container"?
? ? ? ? ? ? ? type="javax.sql.DataSource"?
? ? ? ? ? ? ? driverClassName="com.mysql.jdbc.Driver"?
? ? ? ? ? ? ? url="jdbc:mysql://127.0.0.1/test"?
? ? ? ? ? ? ? username="root"?
? ? ? ? ? ? ? password="root"?
? ? ? ? ? ? ? maxActive="20"?
? ? ? ? ? ? ? maxIdle="10"?
? ? ? ? ? ? ? maxWait="-1"/>?
?
? ? 然后某一个项目想要引用这个全局的JNDI,就需要在项目的META-INF下面建立context.xml文件,在里面写上:?
<?xml version="1.0" encoding="UTF-8"?>?
<Context>?
? ? <ResourceLink name="jdbc/test" global="jdbc/test" type="javax.sql.DataSource"/>?
</Context>?
这样就可以在程序里面通过context.lookup("java:comp/env/jdbc/test")进行访问了。?
?
私有的JNDI有三种方式可以配置:?
? ? ? 1、可以直接在server.xml里面的<Host>节点下添加如下配置:?
<Context path="/test_tomcat6_jndi">?
<Resource name="jdbc/test"?
? ? ? auth="Container"?
? ? ? ? ? ? ? type="javax.sql.DataSource"?
? ? ? ? ? ? ? driverClassName="com.mysql.jdbc.Driver"?
? ? ? ? ? ? ? url="jdbc:mysql://127.0.0.1/test"?
? ? ? ? ? ? ? username="root"?
? ? ? ? ? ? ? password="root"?
? ? ? ? ? ? ? maxActive="20"?
? ? ? ? ? ? ? maxIdle="10"?
? ? ? ? ? ? ? maxWait="-1"/>?
</Context>?
这样就可以直接在程序中通过context.lookup("java:comp/env/jdbc/test")访问了,需要注意的是path="/test_tomcat6_jndi",这个名字必须和你的项目名称相同,而且不能少了那个斜杠,而且你的项目是通过拷贝文件夹到webapps下面的方式进行的部署。?
?
? ? ?2、 也可以在conf/context.xml里面增加如下配置:?
? ? ?<Resource name="jdbc/test"?
? ? ? auth="Container"?
? ? ? ? ? ? ? type="javax.sql.DataSource"?
? ? ? ? ? ? ? driverClassName="com.mysql.jdbc.Driver"?
? ? ? ? ? ? ? url="jdbc:mysql://127.0.0.1/test"?
? ? ? ? ? ? ? username="root"?
? ? ? ? ? ? ? password="root"?
? ? ? ? ? ? ? maxActive="20"?
? ? ? ? ? ? ? maxIdle="10"?
? ? ? ? ? ? ? maxWait="-1"/>?
这样就可以直接在程序中通过context.lookup("java:comp/env/jdbc/test")访问了?
?
? ? ? 3、还可以在项目的WebRoot下面的META-INF文件夹下面创建context.xml文件,再在context.xml文件里面写上?
<?xml version="1.0" encoding="UTF-8"?>?
<Context>?
? ? <Resource name="jdbc/test"?
? auth="Container"?
? ? ? ? ? ? ? type="javax.sql.DataSource"?
? ? ? ? ? ? ? driverClassName="com.mysql.jdbc.Driver"?
? ? ? ? ? ? ? url="jdbc:mysql://127.0.0.1/test"?
? ? ? ? ? ? ? username="root"?
? ? ? ? ? ? ? password="root"?
? ? ? ? ? ? ? maxActive="20"?
? ? ? ? ? ? ? maxIdle="10"?
? ? ? ? ? ? ? maxWait="-1"/>?
</Context>?
这样就可以直接在程序中通过context.lookup("java:comp/env/jdbc/test")访问了?
?
原文排版颜色不好看,另外还有一些其它一些不需要的介绍,为了简洁,故自己摘抄一遍。
原文链接:http://f543711700.iteye.com/blog/1173618