"Java:comp/env/"讲解与JNDI

  • 时间:
  • 浏览:1

              url="jdbc:mysql://127.0.0.1/test" 

              username="root" 

              password="root" 

!!!Tomcat的全局JNDI资源非要直接访问,需用有java:comp/env/前缀!!!!!! 

              maxActive="20" 

那末 就可不并能直接在程序运行中通过context.lookup("java:comp/env/jdbc/test")访问了 

              maxWait="-1"/> 

<?xml version="1.0" encoding="UTF-8"?> 

              type="javax.sql.DataSource" 

              maxIdle="10" 

              username="root" 

    全局的JNDI配置在server.xml上端的<GlobalNamingResources>标签上端去掉 如下配置: 

!!!首先让你说明的是Tomcat的配置不需用修改web.xml上端的任何内容!!!!! 

      auth="Container" 

那末 你才可不并能在你的程序运行上端通过context.lookup("java:comp/env/jdbc/adsl")访问到这种数据源。 

              username="root" 

              url="jdbc:mysql://127.0.0.1/test" 

              type="javax.sql.DataSource" 

              type="javax.sql.DataSource" 

因此研究tomcat6以前发现,tomcat可不并能配置 全局JNDI 和私有JNDI(注意这里说的Tomcat6): 

              type="javax.sql.DataSource" 

那末 就可不并能直接在程序运行中通过context.lookup("java:comp/env/jdbc/test")访问了 

      3、还可不并能在项目的WebRoot下面的META-INF文件夹下面创建context.xml文件,再在context.xml文件上端写上 

这种是weblogic.xml的官方帮助文档:http://edocs.weblogicfans.net/wls/docs92/webapp/weblogic_xml.html 

              maxActive="20" 

</Context> 

              driverClassName="com.mysql.jdbc.Driver" 

     <Resource name="jdbc/test" 

    <ResourceLink name="jdbc/test" global="jdbc/test" type="javax.sql.DataSource"/> 

我就发现的是:以上的Tomcat6中的配置不管是全局还是局部,都那末修改项目的web.xml文件,因此仍然建议在web.xml中进行引用,主就是 为了项目的迁移,可能性有的服务器需用在web.xml中进行声明! 

              driverClassName="com.mysql.jdbc.Driver" 

二:可能性都是使用weblogic,可参见这篇文章:http://blog.csdn.net/lovingprince/article/details/6577920 

              maxIdle="10" 

              maxActive="20" 

    <Resource name="jdbc/test" 

<Context> 

      1、可不并能直接在server.xml上端的<Host>节点下去掉 如下配置: 

              password="root" 

              url="jdbc:mysql://127.0.0.1/test" 

<?xml version="1.0" encoding="UTF-8"?> 

              maxActive="20" 

      auth="Container" 

    私有的JNDI有这种生活最好的土方式可不并能配置: 

    因此某一个多项目让你引用这种全局的JNDI,就需用在项目的META-INF下面建立context.xml文件,在上端写上: 

</Context> 

<Resource name="jdbc/test" 

     2、 也可不并能在conf/context.xml上端增加如下配置: 

              url="jdbc:mysql://127.0.0.1/test" 

</Context> 

              maxWait="-1"/> 

<Context> 

那末 就可不并能在程序运行上端通过context.lookup("java:comp/env/jdbc/test")进行访问了。 

              maxWait="-1"/> 

  auth="Container" 

我我其实各种不同的J2EE容器,都用不同的配置最好的土方式,以我目前的测试来看,weblogic似乎非要配置“私有的JNDI资源”,就是 非要配置当事人项目单独的JNDI资源(这就是 我的观点,我目前没发现如何会会会么会在weblogic上端配置私有JNDI资源) 

              driverClassName="com.mysql.jdbc.Driver" 

    <Resource name="jdbc/test" 

<Context path="/test_tomcat6_jndi"> 

  auth="Container" 

那末 就可不并能直接在程序运行中通过context.lookup("java:comp/env/jdbc/test")访问了,需用注意的是path="/test_tomcat6_jndi",这种名字需用和你的项目名称相同,因此非要少了那个斜杠,因此你的项目是通过拷贝文件夹到webapps下面的最好的土方式进行的部署。 

              driverClassName="com.mysql.jdbc.Driver" 

总之:各种服务器有以前我我其实有比较大的出入,怪怪的是感觉J2EE中类似于<resource-ref>那末 的因此 标签仍然都是很理解。 

              password="root" 

              maxWait="-1"/> 

              password="root" 

              maxIdle="10" 

              maxIdle="10" 

              username="root"