应该是DataSource ds = (DataSource)initCtx.lookup("java:comp/env/jdbc/MySql_ResSys");
报出的异常,说明JNDI没有lookup到。
你的server8080.xml配置文件Context docBase="" path=""是否写对?不能有重复path等

解决方案 »

  1.   

    你要使用res-ref-name
    <resource-ref>
        <description>DB Connection</description>
        <res-ref-name>jdbc/TestDB</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
      </resource-ref>
    lookup("java:comp/env/jdbc/TestDB");
      

  2.   

    <?xml version="1.0" encoding="UTF-8"?>
    <Server debug="0" port="8081" shutdown="SHUTDOWN">
      <Service name="Tomcat-Standalone">
        <Connector acceptCount="10" className="org.apache.catalina.connector.http.HttpConnector" connectionTimeout="60000" debug="0" maxProcessors="75" minProcessors="5" port="8080"/>
        <Engine debug="0" defaultHost="localhost" name="Standalone">
          <Host appBase="E:\resSys\Tomcat\webapps" debug="0" name="localhost" unpackWARs="true">
            <Context debug="0" docBase="E:\resSys\resTest" path="/resTest" reloadable="true" >
            <Resource name="jdbc/MySql_ResSys" auth="Container" type="javax.sql.DataSource"/>
       <ResourceParams name="jdbc/MySql_ResSys">
      <parameter>
    <name>factory</name>
    <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
      </parameter>
    以上就是,我重新创建了一个web应用resTest,只修改了server8080.xml
    应该没什么问题呀!
    我实在看不出了!
    大虾再帮下忙!
      

  3.   

    to  jFresH_MaN
    我已经改成了
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app>
      <description>MySQL Test App</description>
      <resource-ref>
        <description>DB Connection</description>
        <res-ref-name>jdbc/MySql_ResSys</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
      </resource-ref>
    </web-app>
    还是不行呀!?怎么回事呢?!