TOMCAT配置JNDI

      没想到看上去挺简单的一件事情反而花了我半天时间,郁闷得要命。还是有必要把正确的整理清楚。
      我是在Eclipse3.1下调用Tomcat5.0,数据库是MS SqlServer2000 sp4,驱动程序是jtds1.1。  
      第一步,假设我现在的应用程序目录是Sample,把数据驱动程序jtds**.jar放到Tomcat安装目录的common\lib和应用程序目录webapps\Sample\WEB-INF\lib下。运行Tomcat,打开浏览器,进入Tomcat的管理界面,http://localhost:8080/admin,登陆后,选择Resource , DataSources,下拉菜单,Create New DataSource。
      JNDI名称:jdbc/mssql
      DataSource URL:jdbc:jtds:sqlserver://localhost/Northwind。(相应的修改IP和数据库名称)
      JDBC Driver Class:net.sourceforge.jtds.jdbc.Driver
      User Name:sa
      Password:*******(你的数据库密码)      
      其他按照默认。save,commit changes, log out,重启Tomcat。
      第二步,打开应用程序目录 webapps\Sample里面的WEB-INF\web.xml,在最后</web-app>前添加:
        <resource-ref>
            <description>MS SQL Server</description>
            <res-ref-name>jdbc/mssql</res-ref-name>
            <res-type>javax.sql.DataSource</res-type>
            <res-auth>Container</res-auth>
        </resource-ref>
      如果没有添加这一步,就会报这样的错误:Name jdbc is not bound in this Context 。
      第三步,打开Tomcat安装目录下的conf\Catalina\localhost,找到和你的应用程序同名的xml,例如Sample.xml。如果没有,就建一个。Sample.xml里面的内容是:
        <?xml version='1.0' encoding='utf-8'?>
         <Context displayName="This is a Sample" docBase="Sample" path="/Sample"       workDir="work\Catalina\localhost\Sample">
         <ResourceLink name="jdbc/mssql" global="jdbc/mssql" type="javax.sql.DataSource"/>
         </Context>
      要注意的是,文件名、docBase、path、workDir都不能错,要和你应用程序名称相对应。
      如果第二步正确了,但是还没有添加这一步,就会报这样的错误:Cannot create JDBC driver of class "for connect URL 'null'" 。

       到这里的话,就基本正确了。在网上找来找去,都很难找到准确的答案。总是做了第一步,错第二步。做了第二步,又错第三步。三步都对齐真的不容易。

原文地址:https://www.cnblogs.com/zjblue/p/709438.html