jndi连接数据库配置过程总结

一、我们先找到tomcat安装目录中conf目录下的context.xml更改里面的内容:

<?xml version='1.0' encoding='utf-8'?>  
 <Context>  
 <WatchedResource>WEB-INF/web.xml</WatchedResource>  
    <Resource name="jdbc/mysqldb"      
      auth="Container"  
        type="javax.sql.DataSource"  
       driverClassName="com.mysql.jdbc.Driver"  
       url="jdbc:mysql://localhost:3306/test"  
       username="root"  
        password="123456"  
       maxActive="4"  
        maxIdle="2"  
        maxWait="-1"  />  
 <ResourceLink global="mysqldb" name="mysqldb" type="javax.sql.DataSource"/>  
 </Context> 
特别注意,把context.xml复制一份到eclipse项目工程中的WebRoot中的META-INF中。
修改server.xml中的内容
<GlobalNamingResources>

<Resource name="jdbc/mysql" auth="Container" type="javax.sql.DataSource"
factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/test"
username="root" password="123456"
maxActive="20" maxIdle="10" maxWait="-1" />


第二步,打开应用程序目录 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'" 。
存在一个问题:访问页面地址需要完整的项目路径:http://localhost:8080/项目工程名/jsp页面
原文地址:https://www.cnblogs.com/superroshan/p/4708681.html