tomcat中配备JNDI的方式

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