Context envCtx = (Context) initCtx.lookup("java:comp/env");
修改成
Context envCtx = (Context) initCtx.lookup("java:/comp/env");

解决方案 »

  1.   

    修改jsp页面后还是抛出同样的错误。我看了我重新安装后的server.xml文件中的host节点下面,没有context子节点。我怀疑我最后的部署方法(在/webapps下面建立一个子目录car,然后将文件全部考入)有问题。
    谢谢大家的帮助
      

  2.   

    把你的SERVER。XML帖一下吧,应该不是CONTEXT接点的问题。
    一般来说TOMCAT配连接池要分成两步。
      

  3.   

    我用的是Tomcat5.0.28版本,以下是安装完成后,自动生成的server.xml.我把其中的注释都删除了。
    <Server port="8005" shutdown="SHUTDOWN" debug="0">
      <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"
                debug="0"/>
      <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"
                debug="0"/>
      <!-- Global JNDI resources -->
      <GlobalNamingResources>
        <!-- Test entry for demonstration purposes -->
        <Environment name="simpleValue" type="java.lang.Integer" value="30"/>
        <Resource name="UserDatabase" auth="Container"
                  type="org.apache.catalina.UserDatabase"
           description="User database that can be updated and saved">
        </Resource>
        <ResourceParams name="UserDatabase">
          <parameter>
            <name>factory</name>
            <value>org.apache.catalina.users.MemoryUserDatabaseFactory</value>
          </parameter>
          <parameter>
            <name>pathname</name>
            <value>conf/tomcat-users.xml</value>
          </parameter>
        </ResourceParams>  </GlobalNamingResources>
      <!-- Define the Tomcat Stand-Alone Service -->
      <Service name="Catalina">    <Connector 
    port="8080"               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
                   enableLookups="false" redirectPort="8443" acceptCount="100"
                   debug="0" connectionTimeout="20000" 
                   disableUploadTimeout="true" />
        
        <Connector port="8009" 
                   enableLookups="false" redirectPort="8443" debug="0"
                   protocol="AJP/1.3" />    
        <Engine name="Catalina" defaultHost="localhost" debug="0"> 
          <Logger className="org.apache.catalina.logger.FileLogger"
                  prefix="catalina_log." suffix=".txt"
                  timestamp="true"/>     
          <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
                     debug="0" resourceName="UserDatabase"/>      
          <Host name="localhost" debug="0" appBase="webapps"
           unpackWARs="true" autoDeploy="true"
           xmlValidation="false" xmlNamespaceAware="false">        
            <Logger className="org.apache.catalina.logger.FileLogger"
                     directory="logs"  prefix="localhost_log." suffix=".txt"
                timestamp="true"/>
          </Host>
        </Engine>
      </Service>
    </Server>
    谢谢了。
      

  4.   

    先在http://localhost:8080里面配连接池,然后还要手动写:)
      

  5.   

    我重新使用了Tomcat中的admin 界面,建立了datasource.
    server.xml中的 <GlobalNamingResources>节点中增加了
    <Resource name="jdbc/gc" type="javax.sql.DataSource"/> 
    <ResourceParams name="jdbc/gc"> 
    <parameter> 
    <name>url</name> 
    <value>jdbc:oracle:thin:@192.100.10.245:1521:gcrc</value> 
    </parameter> 
    ....... 使用http://localhost:8080/manager/resources?type=javax.sql.DataSource 命令得到了Resource 中有jdbc/gc. 
    但是仍然是同样的报错。
      

  6.   

    日志文件中的内容
    2005-03-30 17:37:22 NamingContextListener[/Catalina/localhost/car]:   Resource parameters for jdbc/gc = ResourceParams[name=jdbc/gc, parameters={url=jdbc:oracle:thin:@192.168.10.245:1521:gcrc, validationQuery=select * from login, maxIdle=30, maxActive=10, driverClassName=oracle.jdbc.driver.OracleDriver, maxWait=10000, username=gc, factory=org.apache.commons.dbcp.BasicDataSourceFactory, password=gc}]
    2005-03-30 17:37:22 NamingContextListener[/Catalina/localhost/car]:   Adding resource ref jdbc/gc
    2005-03-30 17:37:22 NamingContextListener[/Catalina/localhost/car]:   ResourceRef[className=javax.sql.DataSource,factoryClassLocation=null,factoryClassName=org.apache.naming.factory.ResourceFactory,{type=scope,content=Shareable},{type=url,content=jdbc:oracle:thin:@192.168.10.245:1521:gcrc},{type=validationQuery,content=select * from login},{type=maxIdle,content=30},{type=maxActive,content=10},{type=driverClassName,content=oracle.jdbc.driver.OracleDriver},{type=maxWait,content=10000},{type=username,content=gc},{type=factory,content=org.apache.commons.dbcp.BasicDataSourceFactory},{type=password,content=gc}]
    2005-03-30 17:37:22 NamingContextListener[/Catalina/localhost/car]:   Resource parameters for UserTransaction = null
    2005-03-30 17:37:22 StandardContext[/car]action: Loading application resources from resource ApplicationResources
    2005-03-30 17:37:22 StandardContext[/car]action: Initializing configuration from resource path /WEB-INF/struts-config.xml
    factoryClassLocation=null 是说明我的oracle jdbc驱动文件不正确吗?我已经将在$TOMCAT_HOME/common/lib. 下copy Oracle9的jdbc驱动程序classes12.jar classes111.jar谢谢!各位高手指点。
      

  7.   

    如果你选择这样配置连接池的话,需要在$TOMCAT_HOME/conf/Catalina/localhost/下面再加一个和你的jsp一样名字的xml文件。
      

  8.   

    还是提示javax.naming.NameNotFoundException: Name java:comp is not bound in this Context 
    不过谢谢大家的帮助